Skip to content

Implement Flint-to-Diamond progression - #49

Merged
xefensor merged 11 commits into
masterfrom
agent/implement-ore-tool-progression
Aug 12, 2026
Merged

Implement Flint-to-Diamond progression#49
xefensor merged 11 commits into
masterfrom
agent/implement-ore-tool-progression

Conversation

@xefensor

@xefensor xefensor commented Aug 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • implement the Flint-to-Diamond survival progression with supplemental Stick drops, hand-harvest protection for logs, the Flint Multi-tool, and revised mining boundaries
  • retain the Flint Multi-tool harvest baseline: axe/shovel blocks, normal Copper Ore, Sandstone variants, Tuff, and Calcite, while denying Stone and Deepslate Copper Ore
  • scale Stick supplies by vegetation: leaves can drop 1–2 extra Sticks, Dead Bushes drop 2–4, and living bushes occasionally drop one
  • reduce ordinary and Dripstone Copper placement attempts from 16 to 6 per chunk while preserving vanilla vein sizes and height distributions
  • add the Campfire → Brick Furnace → Furnace → Blast Furnace station path, including fuel-free Campfire crafting, unlit placement, bare-Flint ignition, Clay firing, early Copper/Charcoal processing, and Iron-to-Steel blasting
  • add the full Steel tool and armor tier and complete the Spear ladder with Flint and Steel Spears; their provisional models reuse the Stone and Iron Spear visuals
  • retain the provisional Steel balance as the working baseline: 750 tool durability, 7.0 mining speed, 25× armor durability, 3/7/6/3 defense, and 1 toughness
  • hard-gate natural and constructed Deepslate-family blocks, every Deepslate ore, and normal Diamond Ore behind Steel or better; pre-Steel tools receive no drops
  • retain vanilla's Smithing Table and Netherite Upgrade Smithing Template workflow for the current Netherite tier
  • replace progression-skipping chest loot: bonus chests provide one Flint Multi-tool, while village smith chests cap equipment at Copper and at most two Iron Ingots
  • scale Armorer, Toolsmith, and Weaponsmith equipment with villager mastery: Copper at Apprentice, Iron at Expert, and costly Diamond at Master; enchanted Diamond offers are rarer
  • retain the Wandering Trader's rare enchanted Iron Pickaxe alternative at an approximately 48-Emerald live price
  • remove Mending from newly generated random loot and trades while preserving registered Mending, existing items, Creative access, commands, and its effect
  • make all twelve enchantable Diamond items deliberately fragile while restoring full durability whenever enchanted—including by a curse alone—and include newly durable Diamond Horse and Nautilus Armor
  • allow Wolf Armor and every Horse and Nautilus Armor material to use the Chestplate enchantment set with material-matched enchantability
  • apply Protection-family enchantments to Wolf Armor damage absorption and verify equipped-animal enchantment behavior
  • document the implemented behavior, fixed single-player/multiplayer rules, remaining compatibility and balance risks, and verification status

Why

This turns the approved ore/tool design into a playable early- and mid-game progression instead of allowing vanilla Wooden and Stone equipment, chest loot, or ordinary villager trades to bypass it cheaply. The acquisition rules are global and server-owned, so single-player and multiplayer use the same progression rather than storing separate per-player stages.

The Campfire placement flicker was caused by vanilla creating a lit placement state before a server placement event corrected it. A narrow common placement-state hook now returns the unlit state immediately on both logical sides.

Vanilla animal armor lacks the enchantability component and enchantment-family membership used by player Chestplates. Retold supplies both through a named component policy and data-driven item tags. Wolf Armor also absorbs most hits directly into durability before the ordinary LivingEntity protection calculation runs, so a narrow incoming-damage bridge applies the vanilla enchantment calculation before that special absorption path. Bypassing damage is excluded to avoid duplicate mitigation. Vanilla Horse and Nautilus Armor has no durability; Retold gives the Diamond variants a 528-point body-armor maximum and server-owned wear from non-bypassing hits so they can participate in the same Diamond and durability-enchantment rules.

Player impact

Players begin with vegetation-supplied Sticks and Flint, move through Copper, Iron, and Steel, and then reach fragile-until-enchanted Diamond equipment. Spears follow the same main material ladder. Gold remains a fast, fragile, highly enchantable post-Iron sidegrade and cannot bypass Steel's geology gate. Both normal and Deepslate Diamond Ore require Steel or better. Steel's current stats remain the working baseline until natural playtesting provides evidence for tuning. Campfires and furnace stations form part of the material progression. The Blast Furnace keeps its vanilla recipe, preserving the Furnace and Smooth Stone prerequisites. Netherite continues upgrading Diamond gear through the vanilla Smithing Table and upgrade template for now. Copper is substantially less visually dense in newly generated chunks.

Alternative acquisition remains possible, but its rewards scale with location danger or villager mastery and Emerald cost. Ordinary village smith loot no longer grants ready Iron/Diamond equipment, and Master Diamond trades cost 48–64 Emeralds before normal live trade adjustments.

Mending continues to function on existing and command-created items but is absent from Retold's default random-loot and tradeable enchantment pools. Datapacks—including optional experimental vanilla packs—can replace these tags or add direct Mending entries, so compatibility remains data-pack dependent.

Curses intentionally count as enchantments for Diamond durability, including when a curse is the only enchantment. This remains a balance watchpoint: revisit it if curse acquisition ever makes the full-durability unlock substantially cheaper than ordinary enchanting.

All twelve vanilla animal armors—Wolf Armor, six Horse Armor variants, and five Nautilus Armor variants—can receive compatible Chestplate enchantments. Protection enchantments work while equipped; on Wolf Armor they reduce absorbed durability damage. Fire Protection reduces matching damage and burning duration, but does not make animals visually fireproof. Diamond Horse and Nautilus Armor have 96 durability while unenchanted and 528 after any enchantment; non-Diamond variants retain vanilla's indestructible behavior.

This PR is intentionally a draft because progression economy and the provisional reused Spear visuals still need natural survival balancing and client/multiplayer verification. Existing villagers keep already-generated offers rather than being forcibly rerolled.

Validation

  • ./gradlew build
  • focused GameTests:
    • retold:tool_progression_alternative_acquisition_respects_tiers
    • retold:tool_progression_recipes_enforce_opening_loop
    • retold:tool_progression_harvest_rules_enforce_material_ladder
    • retold:tool_progression_leaves_supply_sticks
    • retold:tool_progression_campfires_require_ignition
    • retold:tool_progression_copper_generation_is_reduced
    • retold:tool_progression_all_diamond_items_require_enchanting_for_durability
    • retold:animal_armor_supports_chestplate_enchantments
    • retold:animal_armor_enchantments_affect_equipped_animals
  • JSON resources parsed with jq empty
  • git diff --check

The acquisition GameTest samples bonus/village chest loot, reads live villager trade registries and price bands, checks rarer enchanted Master offers and the Wandering Trader price distribution, and verifies that Mending is still registered but absent from the default acquisition tags. The harvest-ladder test verifies Flint, Wooden, Stone, Gold, Copper, and Iron cannot harvest Deepslate, Iron cannot harvest either Diamond Ore variant, Steel can harvest both variants, and Diamond retains the unlocked paths. It also proves that a Vanishing Curse by itself restores full Diamond durability. Other progression tests cover vegetation Stick yields, Spear recipes/tags/durability, all twelve enchantable Diamond items, real Diamond Horse/Nautilus Armor wear, Protection families, Fire Protection burn duration, Thorns, Unbreaking, Mending effect processing, Binding, and Vanishing.

Not yet manually verified in a graphical client, dedicated-server multiplayer, existing worlds, multiple natural fresh-world seeds, or through natural survival balancing with every trade, enchantment, and animal-armor material.

AI assistance

Codex assisted with design translation, implementation, documentation, automated tests, and validation. The developer retains final review, visual, economy, and balance decisions.

@xefensor xefensor changed the title Implement ore and tool progression Implement Flint-to-Diamond progression Aug 11, 2026
@xefensor
xefensor marked this pull request as ready for review August 12, 2026 20:43
@xefensor
xefensor merged commit 3a874ca into master Aug 12, 2026
2 checks passed
@xefensor
xefensor deleted the agent/implement-ore-tool-progression branch August 12, 2026 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant