Phase 9: reproducible builds, balance from the server, spark check, play feedback

Build: every tool pinned (JDK, packwiz, Gradle plugins, Python packages), exports
normalised, tools/check_reproducible.py proves two clean builds are byte-identical.

Server-side balance: a server can load config/cobblesurvival/datapack.zip in place of
the jar's data, /reload applies it, tools/server_update.py packages it and refuses
when a client change is needed. JEI drop pages are sent by the server. Code-held
balance numbers moved to tuning/server.json.

Performance: spark in the pack (server only), tools/perf_test.py with fake players
whose chunks really are active, docs/performance.md.

Adrian's feedback: default keys R, U, J, §; drop pages link to Cobblemon Info and show
real chances; bosses only hurt in battles; battle XP halved; channels between the
islands low level; temperature ×3 with insulation doubled; hazards start at once; no
item dots on the map; a wild attack starts a battle; the starter only faints; quest
book on join with a basics page and an HMs page; regional forms obtainable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
claudeandClaude Opus 5.5 committed 2026-11-09 16:26:30 +01:00
1 parent 0741c84077
commit 4083791944
133 files changed
+8350 -3273

No files matched your search

+41 -24
View File
@@ -6,15 +6,15 @@ hash = "5cf75685938ffd7771c204ee1603214319f33dd2a40df99cedc8d92c76304854"
[[files]]
file = "config/cobblemon/main.json"
hash = "95777507e9ca8aecb024db1cf25688592914b6e7c75b48d52d41893d5bfc821a"
hash = "7ab2350905d11f7d03204159ab5a17c11d902168f8b633299b1f735fe317dba1"
[[files]]
file = "config/coldsweat/item.toml"
hash = "59f8eecb7209098c08ee73e811cc185ebf027f9b52898e63d05f900a82c8af92"
hash = "7c400318f03d8d9db08176c872ed1f70d34f7ee4dd9eb5025ef8dbde7480bbc8"
[[files]]
file = "config/coldsweat/main.toml"
hash = "4cc39db96807a4714dd5417d2f065ee6784bc60349fd3c0dc92bcd8fe737b6ea"
hash = "8ee6371ee5f4212899f08efba6e2f7760d44df2e0a5328ecbde468e2f05af943"
[[files]]
file = "config/coldsweat/world.toml"
@@ -26,7 +26,7 @@ hash = "3866233ba2035bd6ffe6e06cf74c7b1f16869184c274276ca0bd546f1e8bf003"
[[files]]
file = "config/defaultoptions/keybindings.txt"
hash = "236b4b59f48947317c50215ff7ad4e707d727594498eabd8cc805ec1998ee92e"
hash = "515362c7a71b203b8ba3ea9d125c6b8cafc2abdb480df5936b9af6a3632d865b"
[[files]]
file = "config/fightorflight.json5"
@@ -38,79 +38,83 @@ hash = "e57d8311aec9f524911ed1313cabf138bb7fa5a2d3ba985a00a2a267ff35ef78"
[[files]]
file = "config/ftbquests/quests/chapters/basalt.snbt"
hash = "8a7eab2ca30f47109add6cfbf4eeb4717e3704bc85902ee8f4c5307b2b2eeb3c"
hash = "8512f3134b0ec73b5732f28be63daadae5104871e038daf59f2fc84ab4b3bef2"
[[files]]
file = "config/ftbquests/quests/chapters/base.snbt"
hash = "555564da7dd44e375664b94a51b2334c636d7c5d72db164b03c6fe9196d06de0"
hash = "1a450cd4303cb834b43c8df30b07d59bbaa8e2e0c590497cf998ba3264d018fd"
[[files]]
file = "config/ftbquests/quests/chapters/button_isle.snbt"
hash = "ce24fccd748e805ec617f7b571263c1af91377644a3fc17146bf38963e8b54ab"
hash = "73bcbcacc9df9b445912857a97983a31e7ee1e858d794c36d1f52f577c334da3"
[[files]]
file = "config/ftbquests/quests/chapters/deep_dark.snbt"
hash = "7208cd9166e11beed91086cd0a897f49cf31ecadd65acaa3b798169c86b0ae34"
hash = "f5527a20dbc9b3ab1ab78d50cb37b95142d39fce1f2f7d7a64f94d00307da3a1"
[[files]]
file = "config/ftbquests/quests/chapters/deep_sea.snbt"
hash = "bd87d38b3ec40b408e1710d641ac9ce57824e2ebfd7cf3674a166521482acb76"
hash = "25222720545d502779d409898de568d96d52e200b6eca4920a81c30ee6c3ef2c"
[[files]]
file = "config/ftbquests/quests/chapters/dripstone.snbt"
hash = "56886a1f390e9379672bde9190a0823cffdb3bb42cde043b4c772a1d0fa54e47"
hash = "851c5514d74e3c88f28cb02f3f0dce2ca68986e99de26dbde4c5b097e82a985f"
[[files]]
file = "config/ftbquests/quests/chapters/frostpeak.snbt"
hash = "150e60db7c18fbdb3c882cadc894813e3bc951c8adbfe42a30c38fc657c79a70"
hash = "314b8c10c1179cefb7b3b17d0c5354b21939423a08ccdc91f25eef018908a8f1"
[[files]]
file = "config/ftbquests/quests/chapters/getting_started.snbt"
hash = "829aa67db8a39f6f43aa6076090c0040e4324be70abe0b30e0edcce48d924ab9"
hash = "408f1fc46e46edef88e1b1f86bd72789d7e9a7d1e1fb1e623d1856bb0051be96"
[[files]]
file = "config/ftbquests/quests/chapters/highlands.snbt"
hash = "3724fa8a038561cc8965e6dfe5bc62718872d04f385bb636e984988762046670"
hash = "d98f934be41c10efe0031af1cb387e856600db161fe16d2860f3a7b21f4df75a"
[[files]]
file = "config/ftbquests/quests/chapters/hms.snbt"
hash = "a2843ac93232699b771ad0d6075089d843a875227e7b0be048c04101963f95c6"
[[files]]
file = "config/ftbquests/quests/chapters/jungle.snbt"
hash = "5afa0885dbd853ea973fb61881a14b97a98af4d0dd26b66d837541ba1b09c8c8"
hash = "77b87b15cf25f406e520c8f7f4e262ae7387ff096c16ea0fe476c4094f6ace2d"
[[files]]
file = "config/ftbquests/quests/chapters/legends.snbt"
hash = "faed84fa13b7ea26305e2c07e23d6be0d4198cbee177042279776864387c4d97"
hash = "d9b802768540907ff80f4e48fcfe0e7f1dd0486d4490bd902e81c714a226b51a"
[[files]]
file = "config/ftbquests/quests/chapters/lush_caves.snbt"
hash = "bd5734f9df4e1dc1caa989c32b5dac797f5104a4c6c0987801d3650e12d1e491"
hash = "6a5c517410bce3d986999bb308d918eff32bae092000ff1a2c6db125ba251eab"
[[files]]
file = "config/ftbquests/quests/chapters/machines.snbt"
hash = "f747805848fc39fa30293baebc3bce75742663c5f30a6439b0318ac4cf9657f0"
hash = "a9fa3e034e86942e6aba2fde08d09592c6c9a81b2740ffda64c99d209ffe8f01"
[[files]]
file = "config/ftbquests/quests/chapters/mire.snbt"
hash = "c540889e8fe5432723f16c8cd8dbe63117e2b3b5523793b9872902d1837b4459"
hash = "97415b060f9fe611d9a58015e16e926d7ef4f2aa80ef12f486d84ea9520e40db"
[[files]]
file = "config/ftbquests/quests/chapters/shallows.snbt"
hash = "1f3829f5f40e853673645d7ea250e646f97bbd79b3235bc6f2b119defb573423"
hash = "ccb4c5c9bc33ea741aa820937fe6820bb05529109c90884765585b51e615e987"
[[files]]
file = "config/ftbquests/quests/chapters/southwold.snbt"
hash = "b3efaa514904c55f711c6c2565825bdd4866ce291e4810d975d1afc31d167f97"
hash = "a3e4f9446c94e415c5d9c02b5d2bd0d00bff42b6565b44d49cd26ad37edc2e37"
[[files]]
file = "config/ftbquests/quests/chapters/sunscorch.snbt"
hash = "f936a44de913816a869f29797f82f43c65f57e3f8b78cbe1d69aa1e98b76d136"
hash = "59a029a71dc6aa522cdfe60edaee9454656b46d1db42c91c1e0b159bf903ed61"
[[files]]
file = "config/ftbquests/quests/chapters/the_end.snbt"
hash = "4a3aa5f1e3bed52e6c844284dec549367af01d4341aeefa460cdc135e2fba660"
hash = "6bda6a06b81c15ed441fe0a02b024d70346a9c64cc92154dac74d299ca9fbb8c"
[[files]]
file = "config/ftbquests/quests/chapters/westmarch.snbt"
hash = "8d9922fce0f84d0a3192eefb6924a17849c875a52144f6f032951e2d1137b4b5"
hash = "7fb9777ca66f93688606fdc51aab7cc5e402078e6fce84b7de3e197bd8b8c23a"
[[files]]
file = "config/ftbquests/quests/data.snbt"
@@ -118,7 +122,7 @@ hash = "35b6760d4c56b02f2ff77dd5ba2f0e634c7f68238ce2809cddb22d9c61c6f943"
[[files]]
file = "config/ftbquests/quests/lang/en_us.snbt"
hash = "f06c0b3fd853aed231d9d72b0634da737b930f4a51db3eb17bf29c14ef548a35"
hash = "aa487a7deeac4d0d693804c6efc5f0a09ea3dad0081c88cf932f142e9f1bf6c3"
[[files]]
file = "config/lootr-common.toml"
@@ -156,6 +160,10 @@ hash = "73cfb1e126bf49dc6c9fa52fb137e8fe9bfb945535701fd542639202ed24704f"
file = "config/worldgen_editor/worldgen_editor.json"
hash = "ff92c8b83a303441c81835a1ab22dfc42599fd58d43a920452257bb1c6b39d9d"
[[files]]
file = "config/xaero/minimap/default_radar_categories_client.json"
hash = "e0a234797b1063dd91a6fec8ebdd3828b93dc39ee4c134d11175aa6d1f26fc20"
[[files]]
file = "defaultconfigs/cobblehardcoremon/server.toml"
hash = "5e68c4bc93fcc06f85cabc6c587c1b70cb2a22da01ad9653d678ac9131c0003b"
@@ -184,6 +192,10 @@ hash = "6b1b127b16a87b846a5abdbdb442edb8cbd9386562081309a3808eed1325ed1e"
file = "kubejs/server_scripts/insulation.js"
hash = "026dc5ab98cb13c906d5b6974ea7624014e804c58141f01ec57e077e1e8bb339"
[[files]]
file = "kubejs/server_scripts/quest_book_on_join.js"
hash = "14e6edaaa36267bcd449027110a07b1d883de5bbfd25b193a8ceed0c35208204"
[[files]]
file = "kubejs/server_scripts/revival_charm.js"
hash = "68c23da4ab4daa0687f0c367c4cf837a9c26c18c4034bd3fbdedbcc6d3b716f6"
@@ -391,6 +403,11 @@ file = "mods/sodium.pw.toml"
hash = "85b08670f3768dbb22477f04339fdda9907769bc1c875cc45352f82c4dece324"
metafile = true
[[files]]
file = "mods/spark.pw.toml"
hash = "0602d8dec45b4af9b6e4d829ea7183894c0a06244f2f455bef64e0491c63519d"
metafile = true
[[files]]
file = "mods/worldgen-editor.pw.toml"
hash = "311a5bebcb7bd0b2b98cc6c4a8c344befaa69d0c958c3bf2ce8048f0b958faf1"