Repository navigation
Description
Summary: The 4.0 progression assumes a generous starter island and a large nether "Ark" body that the bundled schematics do not provide in sufficient quantity, and it leans on island-level tier gates that three uncapped ore blocks (diamond/emerald/netherite) let players trivially break by stacking. This issue tracks rebuilding both schematics and adding the missing ore-block caps, with a nether block-scoring re-audit so the Ark's stock lands the tier gates as designed.
Why this blocks 4.0
The redesign moves island level from a wealth metric to a variety/progression gate: tier unlocks now require concrete island levels (Tier1→2 level 20, Tier2→3 level 50, Tier3→4 level 100, up through level 1000 for Tier8→9 — design draft lines 48-56), enforced by ranks that require islandLevel-type challenges in challenges.yml (e.g. requiredLevel: 20 line 385, requiredLevel: 50 line 1745). Those gates only hold if no single block can be stacked to skip them, but DIAMOND_BLOCK, EMERALD_BLOCK, and NETHERITE_BLOCK currently carry only a score and no cap — a player who stacks them clears the level thresholds without building the breadth the tiers intend. Separately, several Tier-1+ challenges and the nether tiers assume the starter island and nether body hand the player specific seed materials (oak, sand, grass, starter chest; netherrack/quartz/glowstone/soul-sand/nether-wart). The shipped schematics already contain these materials but only in token quantities — the nether body is an 8×20×9 platform with 78 netherrack, 8 glowstone, and a single soul sand / nether wart / quartz ore / gravel each, far below the challenge requirements, and the starter chest ships empty. Until both schematics and the ore caps land, the published tier gates are bypassable and several early challenges have no usable in-world stock.
Current state (on feature/immutable-challenge-catalog)
DIAMOND_BLOCKhasscore: 5000.0and nolimit/diminishingReturns/negativeReturns—uSkyBlock-Core/src/main/resources/levelConfig.ymllines 398-399.EMERALD_BLOCKhasscore: 1000.0and no cap — same file lines 432-433.NETHERITE_BLOCKhasscore: 5000.0and no cap — same file lines 649-650.GOLD_BLOCKalready has a cap (diminishingReturns: 100) — same file lines 481-483, so the pattern to follow already exists in-file.- The scoring engine already supports all three cap fields:
BlockLevelConfigdeclareslimit/diminishingReturns/negativeReturns(uSkyBlock-Core/src/main/java/us/talabrek/ultimateskyblock/island/level/BlockLevelConfig.javalines 21/26/32) and applies them incalculateScore(same file lines 50-60). They are parsed per-block inLevelConfigYmlReader(uSkyBlock-Core/src/main/java/us/talabrek/ultimateskyblock/island/level/yml/LevelConfigYmlReader.javalines 50, 54, 58). No engine change is required — this is a config-only edit tolevelConfig.yml. - The default scheme points at
default.schematic(overworld) anduSkyBlockNether.schem(nether) —uSkyBlock-Core/src/main/resources/config.ymllines 375 and 378. Both blobs are small (456 and 448 bytes gzipped respectively): the overworld body is 9×17×9 and the nether body is 8×20×9, so small starter/Ark bodies, not the designed ones. - The overworld starter schematic already has a grass-block top (44 grass), an oak tree (6 log + 37 leaves), and a few sand blocks (3), plus an empty chest and a sign. The default scheme's
extraItemsis also empty (config.ymlline ~396), so any starter-chest contents must be added to the schematic chest or the scheme'sextraItems. - The design draft flags both schematics as open pre-launch verification items: the nether island template should include a nether-wart area, netherrack, and soul sand for
nethermining(draft line 934); the starter chest should containlava_bucket:1, ice:2, melon_slice:1, pumpkin_seeds:1, sugar_cane:1, cactus:1and the island should provide an oak tree, dirt platform, and sand (draft line 935). - The current nether body's palette already includes
netherrack(78),glowstone(8),obsidian(12),soul_sand(1),nether_wart(1),nether_quartz_ore(1), andgravel(1), plus the spawn portal — i.e. the right block types but nowhere near the quantities the nether tiers consume. - Nether-tier challenges consume large netherrack quantities (e.g. 256 netherrack at draft lines 426/432, plus quartz/glowstone/soul-sand at line 386), which is what the Ark is meant to stock. Relevant nether block scores today:
NETHERRACKlimit: 10000(levelConfig.yml lines 651-652),ANCIENT_DEBRISscore: 500.0no cap (lines 47-48),QUARTZ_BLOCKscore: 100.0diminishingReturns: 5000(lines 876-882),GLOWSTONEscore: 20.0no cap (lines 477-478),NETHER_QUARTZ_OREscore: 50.0no cap (lines 645-646).
Scope
Starter-island schematic (default.schematic)
- Verify (and expand where needed) the overworld starter schematic so it provides a grass-block top, an oak tree, and several sand blocks, per the design draft (line 935). The current schematic already has these in small amounts.
- Seed the currently-empty starter chest with the designed progression-bootstrap contents (
lava_bucket:1, ice:2, melon_slice:1, pumpkin_seeds:1, sugar_cane:1, cactus:1— draft line 935) so the items that branch into farming/cobblegen chains are present from spawn. Confirm whether these ride in the schematic chest or the scheme'sextraItems. - Verify the rebuilt island's starting island level does not by itself clear any tier gate.
Nether "Ark" schematic (uSkyBlockNether.schem)
- Replace the small nether body with an "Ark": a large netherrack mass with a nether-wart growing area, soul sand, lava, and glowstone clusters, sufficient to feed the nether-tier challenge requirements (netherrack/quartz/glowstone/soul-sand — draft lines 386, 426, 432, 934). The current body has these block types but only token amounts (e.g. one soul sand, one nether wart, one quartz ore).
- Include the designed hidden bonus layer (ancient-debris / quartz) without letting it over-shoot the level gates (see ore caps below).
- Confirm the Ark provides enough nether wart that
nethermininghas a usable in-world source (the current schematic has a single nether-wart block; draft notes nether wart comes from the nether schematic, line 388).
levelConfig ore-cap + nether re-audit
- Add caps to
DIAMOND_BLOCK,EMERALD_BLOCK, andNETHERITE_BLOCKinlevelConfig.yml(usinglimit/diminishingReturns/negativeReturns, following the existingGOLD_BLOCKpattern) so stacking them cannot bypass the island-level tier gates. - Re-audit nether block scores (netherrack, quartz, glowstone, soul sand, ancient debris) against the Ark's stock so a freshly generated nether body neither over- nor under-shoots the published tier thresholds.
- Verify chosen caps against the tier thresholds (level 20/50/100/200/400/600/1000 — draft lines 48-56) with a representative built island.
References
- Related: 4.0 gameplay changes: level progression, scoring, and challenges #128 (4.0 gameplay changes: level progression & scoring), LevelConfig: AdditionalBlocks and block names in /is info #6 (LevelConfig AdditionalBlocks / block names).
- Design draft:
docs/challenge-redesign/uskyblock-v2-challenge-redesign.md(currently untracked / do-not-commit) — scoring rationale lines 17-20, tier thresholds lines 48-56, pre-launch schematic/starter-chest items lines 934-935. - Key files:
uSkyBlock-Core/src/main/resources/levelConfig.yml(ore entries 398-399, 432-433, 649-650;GOLD_BLOCKpattern 481-483),uSkyBlock-Core/src/main/resources/config.yml(default scheme schematic refs 375/378),uSkyBlock-Core/src/main/resources/schematics/default.schematicand.../uSkyBlockNether.schem,uSkyBlock-Core/src/main/java/us/talabrek/ultimateskyblock/island/level/BlockLevelConfig.java,uSkyBlock-Core/src/main/java/us/talabrek/ultimateskyblock/island/level/yml/LevelConfigYmlReader.java.
Category: content-data · Effort: medium · Source: 4.0 readiness survey.
Activity