Phase 8: the pack's own JEI pages for every drop source
Adrian, 2026-11-02/03: every item that can drop gets a JEI page naming its sources, alongside the Cobblemon Info add-on (which shows drops and biomes, not zones). The companion mod's JEI plugin (jei/DropSourcesJei.kt) adds: - Pokemon drops on the island: 794 species of lines that live on the island, with chances, amounts and the zones they spawn in (or where their line lives); spawns with their own drops (Beheeyem in the End). The Drop Synthesizer core is the catalyst. - Guardians and the End boss; Sacrifice Altar tiers and specials; Rebirth Chamber; zone ore veins with regrow times; Cobblebase pasture finds per skill and zone. JEI runs on the client, so the pages read assets/cobblesurvival/jei/ drop_sources.json inside the mod, written by tools/jei_sources.py from the pack's files. Self-tests drop_sources_match_the_server (file vs live server: drops, zones, own-drop spawns, guardians, End boss, altar) and jei_pages_build (every page builds, every item exists). The ore a vein gives moved into world/zones.json (ores -> item), shared with the quest book. JEI's API (19.64.0.455) is a compile-only dependency from JEI's own Maven. Self-tests and the island check pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c5d1cf93f4
commit
72965caedf
13 files changed
+19637
-49
No files matched your search
+21
-21
@@ -7,27 +7,27 @@
|
||||
"wanderers": {"grace_levels": 10},
|
||||
"ore_defaults": {"fill": 0.7, "node_fill": 0.8, "attempts": 1, "jitter": 0.1},
|
||||
"ores": {
|
||||
"coal": {"zone": "button_isle", "stone": "minecraft:coal_ore", "deepslate": "minecraft:deepslate_coal_ore", "regen_minutes": 20, "nodes": {"chance": 0.5, "radius": [0, 1]}, "veins": {"radius": [2, 4], "y": [-32, 100], "spacing": 6, "attempts": 2}},
|
||||
"copper": {"zone": "southwold", "stone": "minecraft:copper_ore", "deepslate": "minecraft:deepslate_copper_ore", "regen_minutes": 30, "nodes": {"chance": 0.2, "radius": [0, 1]}, "veins": {"radius": [2, 4], "y": [-32, 100], "spacing": 8, "attempts": 2}},
|
||||
"iron": {"zone": "westmarch", "stone": "minecraft:iron_ore", "deepslate": "minecraft:deepslate_iron_ore", "regen_minutes": 40, "nodes": {"chance": 0.2, "radius": [0, 1]}, "veins": {"radius": [2, 4], "y": [-48, 90], "spacing": 8, "attempts": 2}},
|
||||
"redstone": {"zone": "jungle", "stone": "minecraft:redstone_ore", "deepslate": "minecraft:deepslate_redstone_ore", "regen_minutes": 45, "nodes": {"chance": 0.2, "radius": [0, 1]}, "veins": {"radius": [2, 3], "y": [-56, 60], "spacing": 9, "attempts": 1}},
|
||||
"lapis": {"zone": "highlands", "stone": "minecraft:lapis_ore", "deepslate": "minecraft:deepslate_lapis_ore", "regen_minutes": 45, "nodes": {"chance": 0.15, "radius": [0, 1]}, "veins": {"radius": [2, 3], "y": [-56, 80], "spacing": 9, "attempts": 1}},
|
||||
"gold": {"zone": "sunscorch", "stone": "minecraft:gold_ore", "deepslate": "minecraft:deepslate_gold_ore", "regen_minutes": 60, "nodes": {"chance": 0.3, "radius": [0, 1]}, "veins": {"radius": [2, 3], "y": [-48, 120], "spacing": 7, "attempts": 2}},
|
||||
"emerald": {"zone": "frostpeak", "stone": "minecraft:emerald_ore", "deepslate": "minecraft:deepslate_emerald_ore", "regen_minutes": 75, "nodes": {"chance": 0.15, "radius": [0, 1]}, "veins": {"radius": [1, 2], "y": [-16, 320], "spacing": 8, "attempts": 2}},
|
||||
"amethyst": {"zone": "dripstone", "blocks": [["minecraft:amethyst_block", 3], ["minecraft:budding_amethyst", 1]], "regen_minutes": 120, "nodes": {"chance": 0.5, "tries": 8, "radius": [1, 1], "y": [0, 40]}},
|
||||
"diamond": {"zone": "deep_dark", "deepslate": "minecraft:deepslate_diamond_ore", "regen_minutes": 90, "nodes": {"chance": 0.15, "tries": 8, "radius": [1, 1], "y": [-64, -24]}},
|
||||
"quartz": {"zone": "basalt", "blocks": [["minecraft:nether_quartz_ore", 1]], "regen_minutes": 60, "nodes": {"chance": 0.5, "tries": 8, "radius": [1, 1], "y": [-64, 40]}},
|
||||
"netherite": {"zone": "basalt", "blocks": [["minecraft:ancient_debris", 1]], "regen_minutes": 180, "nodes": {"chance": 0.06, "tries": 8, "radius": [0, 0], "y": [-64, 40]}},
|
||||
"thunder_stone": {"zone": "westmarch", "stone": "cobblemon:thunder_stone_ore", "deepslate": "cobblemon:deepslate_thunder_stone_ore", "regen_minutes": 60, "nodes": {"chance": 0.03, "radius": [0, 0]}, "veins": {"radius": [1, 2], "y": [-48, 100], "spacing": 11, "attempts": 1}},
|
||||
"shiny_stone": {"zone": "lush_caves", "stone": "cobblemon:shiny_stone_ore", "deepslate": "cobblemon:deepslate_shiny_stone_ore", "regen_minutes": 60, "nodes": {"chance": 0.15, "tries": 8, "radius": [0, 1], "y": [-16, 40]}},
|
||||
"leaf_stone": {"zone": "jungle", "stone": "cobblemon:leaf_stone_ore", "deepslate": "cobblemon:deepslate_leaf_stone_ore", "regen_minutes": 60, "nodes": {"chance": 0.04, "radius": [0, 0]}, "veins": {"radius": [1, 2], "y": [-48, 100], "spacing": 11, "attempts": 1}},
|
||||
"water_stone": {"zone": "mire", "stone": "cobblemon:water_stone_ore", "deepslate": "cobblemon:deepslate_water_stone_ore", "regen_minutes": 60, "nodes": {"chance": 0.04, "radius": [0, 0]}, "veins": {"radius": [1, 2], "y": [-48, 100], "spacing": 11, "attempts": 1}},
|
||||
"moon_stone": {"zone": "dripstone", "blocks": [["cobblemon:dripstone_moon_stone_ore", 1], ["cobblemon:moon_stone_ore", 1], ["cobblemon:deepslate_moon_stone_ore", 1]], "regen_minutes": 60, "nodes": {"chance": 0.25, "tries": 8, "radius": [0, 1], "y": [0, 40]}},
|
||||
"sun_stone": {"zone": "highlands", "stone": "cobblemon:sun_stone_ore", "deepslate": "cobblemon:deepslate_sun_stone_ore", "regen_minutes": 60, "nodes": {"chance": 0.02, "radius": [0, 0]}, "veins": {"radius": [1, 2], "y": [-48, 100], "spacing": 11, "attempts": 1}},
|
||||
"fire_stone": {"zone": "sunscorch", "stone": "cobblemon:fire_stone_ore", "deepslate": "cobblemon:deepslate_fire_stone_ore", "regen_minutes": 60, "nodes": {"chance": 0.08, "radius": [0, 0]}, "veins": {"radius": [1, 2], "y": [-48, 120], "spacing": 9, "attempts": 2}},
|
||||
"ice_stone": {"zone": "frostpeak", "stone": "cobblemon:ice_stone_ore", "deepslate": "cobblemon:deepslate_ice_stone_ore", "regen_minutes": 60, "nodes": {"chance": 0.06, "radius": [0, 0]}, "veins": {"radius": [1, 2], "y": [-16, 320], "spacing": 9, "attempts": 2}},
|
||||
"dawn_stone": {"zone": "frostpeak", "stone": "cobblemon:dawn_stone_ore", "deepslate": "cobblemon:deepslate_dawn_stone_ore", "regen_minutes": 75, "nodes": {"chance": 0.04, "radius": [0, 0]}, "veins": {"radius": [1, 2], "y": [-16, 320], "spacing": 10, "attempts": 2}},
|
||||
"dusk_stone": {"zone": "deep_dark", "deepslate": "cobblemon:deepslate_dusk_stone_ore", "regen_minutes": 75, "nodes": {"chance": 0.1, "tries": 8, "radius": [0, 1], "y": [-64, -24]}}
|
||||
"coal": {"zone": "button_isle", "item": "minecraft:coal", "stone": "minecraft:coal_ore", "deepslate": "minecraft:deepslate_coal_ore", "regen_minutes": 20, "nodes": {"chance": 0.5, "radius": [0, 1]}, "veins": {"radius": [2, 4], "y": [-32, 100], "spacing": 6, "attempts": 2}},
|
||||
"copper": {"zone": "southwold", "item": "minecraft:raw_copper", "stone": "minecraft:copper_ore", "deepslate": "minecraft:deepslate_copper_ore", "regen_minutes": 30, "nodes": {"chance": 0.2, "radius": [0, 1]}, "veins": {"radius": [2, 4], "y": [-32, 100], "spacing": 8, "attempts": 2}},
|
||||
"iron": {"zone": "westmarch", "item": "minecraft:raw_iron", "stone": "minecraft:iron_ore", "deepslate": "minecraft:deepslate_iron_ore", "regen_minutes": 40, "nodes": {"chance": 0.2, "radius": [0, 1]}, "veins": {"radius": [2, 4], "y": [-48, 90], "spacing": 8, "attempts": 2}},
|
||||
"redstone": {"zone": "jungle", "item": "minecraft:redstone", "stone": "minecraft:redstone_ore", "deepslate": "minecraft:deepslate_redstone_ore", "regen_minutes": 45, "nodes": {"chance": 0.2, "radius": [0, 1]}, "veins": {"radius": [2, 3], "y": [-56, 60], "spacing": 9, "attempts": 1}},
|
||||
"lapis": {"zone": "highlands", "item": "minecraft:lapis_lazuli", "stone": "minecraft:lapis_ore", "deepslate": "minecraft:deepslate_lapis_ore", "regen_minutes": 45, "nodes": {"chance": 0.15, "radius": [0, 1]}, "veins": {"radius": [2, 3], "y": [-56, 80], "spacing": 9, "attempts": 1}},
|
||||
"gold": {"zone": "sunscorch", "item": "minecraft:raw_gold", "stone": "minecraft:gold_ore", "deepslate": "minecraft:deepslate_gold_ore", "regen_minutes": 60, "nodes": {"chance": 0.3, "radius": [0, 1]}, "veins": {"radius": [2, 3], "y": [-48, 120], "spacing": 7, "attempts": 2}},
|
||||
"emerald": {"zone": "frostpeak", "item": "minecraft:emerald", "stone": "minecraft:emerald_ore", "deepslate": "minecraft:deepslate_emerald_ore", "regen_minutes": 75, "nodes": {"chance": 0.15, "radius": [0, 1]}, "veins": {"radius": [1, 2], "y": [-16, 320], "spacing": 8, "attempts": 2}},
|
||||
"amethyst": {"zone": "dripstone", "item": "minecraft:amethyst_shard", "blocks": [["minecraft:amethyst_block", 3], ["minecraft:budding_amethyst", 1]], "regen_minutes": 120, "nodes": {"chance": 0.5, "tries": 8, "radius": [1, 1], "y": [0, 40]}},
|
||||
"diamond": {"zone": "deep_dark", "item": "minecraft:diamond", "deepslate": "minecraft:deepslate_diamond_ore", "regen_minutes": 90, "nodes": {"chance": 0.15, "tries": 8, "radius": [1, 1], "y": [-64, -24]}},
|
||||
"quartz": {"zone": "basalt", "item": "minecraft:quartz", "blocks": [["minecraft:nether_quartz_ore", 1]], "regen_minutes": 60, "nodes": {"chance": 0.5, "tries": 8, "radius": [1, 1], "y": [-64, 40]}},
|
||||
"netherite": {"zone": "basalt", "item": "minecraft:ancient_debris", "blocks": [["minecraft:ancient_debris", 1]], "regen_minutes": 180, "nodes": {"chance": 0.06, "tries": 8, "radius": [0, 0], "y": [-64, 40]}},
|
||||
"thunder_stone": {"zone": "westmarch", "item": "cobblemon:thunder_stone", "stone": "cobblemon:thunder_stone_ore", "deepslate": "cobblemon:deepslate_thunder_stone_ore", "regen_minutes": 60, "nodes": {"chance": 0.03, "radius": [0, 0]}, "veins": {"radius": [1, 2], "y": [-48, 100], "spacing": 11, "attempts": 1}},
|
||||
"shiny_stone": {"zone": "lush_caves", "item": "cobblemon:shiny_stone", "stone": "cobblemon:shiny_stone_ore", "deepslate": "cobblemon:deepslate_shiny_stone_ore", "regen_minutes": 60, "nodes": {"chance": 0.15, "tries": 8, "radius": [0, 1], "y": [-16, 40]}},
|
||||
"leaf_stone": {"zone": "jungle", "item": "cobblemon:leaf_stone", "stone": "cobblemon:leaf_stone_ore", "deepslate": "cobblemon:deepslate_leaf_stone_ore", "regen_minutes": 60, "nodes": {"chance": 0.04, "radius": [0, 0]}, "veins": {"radius": [1, 2], "y": [-48, 100], "spacing": 11, "attempts": 1}},
|
||||
"water_stone": {"zone": "mire", "item": "cobblemon:water_stone", "stone": "cobblemon:water_stone_ore", "deepslate": "cobblemon:deepslate_water_stone_ore", "regen_minutes": 60, "nodes": {"chance": 0.04, "radius": [0, 0]}, "veins": {"radius": [1, 2], "y": [-48, 100], "spacing": 11, "attempts": 1}},
|
||||
"moon_stone": {"zone": "dripstone", "item": "cobblemon:moon_stone", "blocks": [["cobblemon:dripstone_moon_stone_ore", 1], ["cobblemon:moon_stone_ore", 1], ["cobblemon:deepslate_moon_stone_ore", 1]], "regen_minutes": 60, "nodes": {"chance": 0.25, "tries": 8, "radius": [0, 1], "y": [0, 40]}},
|
||||
"sun_stone": {"zone": "highlands", "item": "cobblemon:sun_stone", "stone": "cobblemon:sun_stone_ore", "deepslate": "cobblemon:deepslate_sun_stone_ore", "regen_minutes": 60, "nodes": {"chance": 0.02, "radius": [0, 0]}, "veins": {"radius": [1, 2], "y": [-48, 100], "spacing": 11, "attempts": 1}},
|
||||
"fire_stone": {"zone": "sunscorch", "item": "cobblemon:fire_stone", "stone": "cobblemon:fire_stone_ore", "deepslate": "cobblemon:deepslate_fire_stone_ore", "regen_minutes": 60, "nodes": {"chance": 0.08, "radius": [0, 0]}, "veins": {"radius": [1, 2], "y": [-48, 120], "spacing": 9, "attempts": 2}},
|
||||
"ice_stone": {"zone": "frostpeak", "item": "cobblemon:ice_stone", "stone": "cobblemon:ice_stone_ore", "deepslate": "cobblemon:deepslate_ice_stone_ore", "regen_minutes": 60, "nodes": {"chance": 0.06, "radius": [0, 0]}, "veins": {"radius": [1, 2], "y": [-16, 320], "spacing": 9, "attempts": 2}},
|
||||
"dawn_stone": {"zone": "frostpeak", "item": "cobblemon:dawn_stone", "stone": "cobblemon:dawn_stone_ore", "deepslate": "cobblemon:deepslate_dawn_stone_ore", "regen_minutes": 75, "nodes": {"chance": 0.04, "radius": [0, 0]}, "veins": {"radius": [1, 2], "y": [-16, 320], "spacing": 10, "attempts": 2}},
|
||||
"dusk_stone": {"zone": "deep_dark", "item": "cobblemon:dusk_stone", "deepslate": "cobblemon:deepslate_dusk_stone_ore", "regen_minutes": 75, "nodes": {"chance": 0.1, "tries": 8, "radius": [0, 1], "y": [-64, -24]}}
|
||||
},
|
||||
"species": {"durant": "basalt", "torkoal": "basalt", "heatmor": "basalt",
|
||||
"ditto": {"zone": "deep_dark", "all_entries": true}},
|
||||
|
||||
Reference in new issue
Block a user