You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 requireislandLevel-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_BLOCK has score: 5000.0 and nolimit / diminishingReturns / negativeReturns — uSkyBlock-Core/src/main/resources/levelConfig.yml lines 398-399.
EMERALD_BLOCK has score: 1000.0 and no cap — same file lines 432-433.
NETHERITE_BLOCK has score: 5000.0 and no cap — same file lines 649-650.
GOLD_BLOCK already 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: BlockLevelConfig declares limit/diminishingReturns/negativeReturns (uSkyBlock-Core/src/main/java/us/talabrek/ultimateskyblock/island/level/BlockLevelConfig.java lines 21/26/32) and applies them in calculateScore (same file lines 50-60). They are parsed per-block in LevelConfigYmlReader (uSkyBlock-Core/src/main/java/us/talabrek/ultimateskyblock/island/level/yml/LevelConfigYmlReader.java lines 50, 54, 58). No engine change is required — this is a config-only edit to levelConfig.yml.
The default scheme points at default.schematic (overworld) and uSkyBlockNether.schem (nether) — uSkyBlock-Core/src/main/resources/config.yml lines 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 extraItems is also empty (config.yml line ~396), so any starter-chest contents must be added to the schematic chest or the scheme's extraItems.
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 contain lava_bucket:1, ice:2, melon_slice:1, pumpkin_seeds:1, sugar_cane:1, cactus:1 and 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), and gravel (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.0 no cap (lines 47-48), QUARTZ_BLOCKscore: 100.0diminishingReturns: 5000 (lines 876-882), GLOWSTONEscore: 20.0 no cap (lines 477-478), NETHER_QUARTZ_OREscore: 50.0 no 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's extraItems.
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 nethermining has 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, and NETHERITE_BLOCK in levelConfig.yml (using limit / diminishingReturns / negativeReturns, following the existing GOLD_BLOCK pattern) 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.
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
requireislandLevel-type challenges inchallenges.yml(e.g.requiredLevel: 20line 385,requiredLevel: 50line 1745). Those gates only hold if no single block can be stacked to skip them, butDIAMOND_BLOCK,EMERALD_BLOCK, andNETHERITE_BLOCKcurrently carry only ascoreand 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.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.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.extraItemsis also empty (config.ymlline ~396), so any starter-chest contents must be added to the schematic chest or the scheme'sextraItems.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).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.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)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.Nether "Ark" schematic (
uSkyBlockNether.schem)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
DIAMOND_BLOCK,EMERALD_BLOCK, andNETHERITE_BLOCKinlevelConfig.yml(usinglimit/diminishingReturns/negativeReturns, following the existingGOLD_BLOCKpattern) so stacking them cannot bypass the island-level tier gates.References
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.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.