Skip to content

Build load-bearing schematics (starter island + nether "Ark") and cap ore-block island level #150

Description

@minoneer

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_BLOCK has score: 5000.0 and no limit / diminishingReturns / negativeReturnsuSkyBlock-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: NETHERRACK limit: 10000 (levelConfig.yml lines 651-652), ANCIENT_DEBRIS score: 500.0 no cap (lines 47-48), QUARTZ_BLOCK score: 100.0 diminishingReturns: 5000 (lines 876-882), GLOWSTONE score: 20.0 no cap (lines 477-478), NETHER_QUARTZ_ORE score: 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.

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_BLOCK pattern 481-483), uSkyBlock-Core/src/main/resources/config.yml (default scheme schematic refs 375/378), uSkyBlock-Core/src/main/resources/schematics/default.schematic and .../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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    4.0Targeted for the 4.0 release (challenge system rework)enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions