Skip to content

Author the 4.0 challenges.yml (95 challenges / 11 tiers) at schemaVersion 1 #148

Description

@minoneer

Summary: Author the bundled challenges.yml to implement the finalized 4.0 design draft — the full 95-challenge / 11-tier progression — as a schemaVersion: 1 catalog. The engine is ready; this content is the largest remaining 4.0 deliverable and the #1 ship blocker.

Why this blocks 4.0

The 4.0 challenge engine on feature/immutable-challenge-catalog is complete and parses schemaVersion: 1 catalogs (ChallengeCatalogYamlParser, SUPPORTED_SCHEMA_VERSION = 1). What is missing is the content: the bundled challenges.yml does not yet match the redesign. Until it is authored to the finalized design draft, players will not get the 4.0 progression. This is the single largest content deliverable for the release.

Source of truth

  • The design draft (currently untracked / do-not-commit): docs/challenge-redesign/uskyblock-v2-challenge-redesign.md — defines the full progression: 95 challenges across 11 tiers (main-path Tiers 1–8, plus side branches Biome Explorer I, Biome Explorer II, and World Kitchen).
  • Every requirement and reward in the draft is prose (e.g. "64 cobblestone (+4/repeat)", "first = tier × 10, repeat = half") and must be normalized into exact catalog spec.
  • Precondition: freeze the draft before authoring — close out its open design work (World Kitchen finalization, non-renewable resource recalculation, repeatable diamond source, currency/XP value assignment) so the catalog is authored against a stable spec.

Engine authoring surface (reference)

  • Bundle as schemaVersion: 1; the file is a ranks: tree where each rank carries display, lockedDisplayItem, unlock, challengeDefaults, and challenges (ChallengeCatalogYamlParser.java).
  • Reward action types: item, economy (Vault currency), experience (XP), permission, biome, command (ChallengeRewards.java; parser dispatch ChallengeCatalogYamlParser.java:267-275).
  • Completion requirement types: inventory-items, island-blocks, entity-presence; unlock requirement types: completed-challenges, completed-rank, permission, island-level.
  • Item/block matchers accept an exact id, a data-pack tag (#minecraft:beds), or an any-of list; amounts scale per repeat via operator + increment (ChallengeRequirements.java).

Scope

  • Freeze the design draft (docs/challenge-redesign/) before authoring begins.
  • Author uSkyBlock-Core/src/main/resources/challenges.yml to implement the full draft: all 95 challenges across the 11 tiers (main-path Tiers 1–8 + Biome Explorer I/II + World Kitchen), as schemaVersion: 1.
  • Normalize every prose requirement into exact spec: item/block ids and amounts, operator/increment progression where the draft scales per repeat, #tag matchers and any-of groups where the draft allows alternatives, and item component syntax where needed.
  • Normalize every prose reward into typed reward actions: item (with probability where intended), economy, experience, and biome, applying the draft's per-tier currency/XP scaling.
  • Encode tier gating in each rank's unlock block per the draft (island-level thresholds, prerequisite challenges, the n-of-9 completion gates, and the tier convergence), and set rank display / lockedDisplayItem and per-challenge text.
  • Bundle the result as schemaVersion: 1 so admins see the new schema directly; reserve the first-boot LegacyChallengeCatalogImporter for upgrading existing servers' legacy files.
  • Verify the authored file loads through ChallengeCatalogYamlParser with zero error-level diagnostics, and add/extend a test that parses the bundled default.

References

Category: content-data · Effort: large · 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