Cobblemon Survival Pack: phases 0-2 and Phase 3 zones and hazards
Free NeoForge 1.21.1 modpack on Cobblemon 1.8.4 built with packwiz, plus the Kotlin companion mod (cobblesurvival) and its built-in data pack. - Phase 0: packwiz pack with Modrinth/CurseForge cross-links, build and export tooling, Prism instance sync, test server with smoke checks. - Phase 1: Poke Ball shaped island (WorldGen Editor preset, seed isle-26), Adrian's biome list, no natural ore, structures without ore or vanilla mobs, no Nether portals, world template builder and world report. - Phase 2: permadeath (CobbleHardcoreMon plus the companion mod's gap fixes), Revival Charm, expensive Healing Machine, Lootr refreshing loot, in-game self-tests on Minecraft's GameTest framework. - Phase 3 so far: 14 zones with their own spawn pools and level bands (tools/zone_layout.py, tools/zone_spawns.py, "zone" spawn condition), Cold Sweat heat and cold as gates with boss-drop insulation recipes, spawn survey and hazard self-tests in tools/quick_check.py. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
commit
398301f0be
232 files changed
+72665
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 222 B |
@@ -0,0 +1,16 @@
|
||||
// Phase 2, healing friction: the Healing Machine costs more than Cobblemon's recipe (3 copper, 4 iron,
|
||||
// a Max Revive and redstone). Placeholder cost (docs/balance.md). The slower recharge is in
|
||||
// config/cobblemon/main.json (secondsToChargeHealingMachine).
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ id: 'cobblemon:healing_machine' })
|
||||
event.shaped('cobblemon:healing_machine', [
|
||||
'GGG',
|
||||
'IMI',
|
||||
'IDI'
|
||||
], {
|
||||
G: 'minecraft:gold_ingot',
|
||||
I: 'minecraft:iron_ingot',
|
||||
M: 'cobblemon:max_revive',
|
||||
D: 'minecraft:diamond'
|
||||
}).id('cobblesurvival:healing_machine')
|
||||
})
|
||||
@@ -0,0 +1,27 @@
|
||||
// Phase 3, hazards as gates: Cold Sweat's insulating armour comes from boss drops of the zone before
|
||||
// (docs/design.md, "What helps with a zone drops from the boss fight of the zone before it"). Hoglins,
|
||||
// goats and chameleons don't live on the island, so their hides become craftable instead:
|
||||
// - Goat Fur (cold insulation, Frostpeak): wool and a Heat Rock, which Sunscorch's guardian drops;
|
||||
// - Hoglin Hide (heat insulation, Sunscorch): leather and an Icy Rock, which the guardians of the
|
||||
// Mangrove Mire and Highland Meadows drop.
|
||||
// Cold Sweat's own armour recipes then turn these into the fur and hide sets. Placeholder amounts
|
||||
// (docs/balance.md).
|
||||
ServerEvents.recipes(event => {
|
||||
event.shaped('4x cold_sweat:goat_fur', [
|
||||
'WWW',
|
||||
'WHW',
|
||||
'WWW'
|
||||
], {
|
||||
W: '#minecraft:wool',
|
||||
H: 'cobblemon:heat_rock'
|
||||
}).id('cobblesurvival:goat_fur')
|
||||
|
||||
event.shaped('4x cold_sweat:hoglin_hide', [
|
||||
'LLL',
|
||||
'LIL',
|
||||
'LLL'
|
||||
], {
|
||||
L: 'minecraft:leather',
|
||||
I: 'cobblemon:icy_rock'
|
||||
}).id('cobblesurvival:hoglin_hide')
|
||||
})
|
||||
@@ -0,0 +1,12 @@
|
||||
// Phase 2: Revival Charm recipe. Placeholder cost (docs/balance.md): meant to be expensive.
|
||||
ServerEvents.recipes(event => {
|
||||
event.shaped('cobblesurvival:revival_charm', [
|
||||
' G ',
|
||||
'RMR',
|
||||
' G '
|
||||
], {
|
||||
G: 'minecraft:gold_ingot',
|
||||
R: 'cobblemon:revive',
|
||||
M: 'cobblemon:max_revive'
|
||||
}).id('cobblesurvival:revival_charm')
|
||||
})
|
||||
@@ -0,0 +1,10 @@
|
||||
// Phase 2: the permadeath safety net. A Pokémon holding this when it faints is saved once and the
|
||||
// charm is used up: CobbleHardcoreMon in battles (defaultconfigs/cobblehardcoremon/server.toml → totemItemId),
|
||||
// the companion mod everywhere else (item tag #cobblesurvival:revival_charms in datapacks/core).
|
||||
StartupEvents.registry('item', event => {
|
||||
event.create('cobblesurvival:revival_charm')
|
||||
.displayName('Revival Charm')
|
||||
.maxStackSize(1)
|
||||
.rarity('rare')
|
||||
.tooltip('Held by a Pokémon: saves it once when it faints, then crumbles.')
|
||||
})
|
||||
Reference in new issue
Block a user