From dcd137de0013c949582123e896386a72da3c823b Mon Sep 17 00:00:00 2001 From: Victoria Fischer Date: Mon, 21 Apr 2025 18:01:56 +0200 Subject: [PATCH] create: balance it with the grist system --- index.toml | 22 ++-- kubejs/server_scripts/grist/agricultural.js | 16 +-- kubejs/server_scripts/grist/build.js | 116 ++++++++------------ kubejs/server_scripts/grist/energetic.js | 4 +- kubejs/server_scripts/grist/intelligent.js | 2 +- kubejs/server_scripts/grist/primordeal.js | 44 +++++++- kubejs/server_scripts/mods/croptopia.js | 13 ++- kubejs/server_scripts/ore-processing.js | 4 +- pack.toml | 2 +- 9 files changed, 124 insertions(+), 99 deletions(-) diff --git a/index.toml b/index.toml index c168394..5664351 100644 --- a/index.toml +++ b/index.toml @@ -10,7 +10,7 @@ hash = "a60442351eb4a2fb2c74d4a7c62fd25d32faca43c0f192a1c261c13db9a71551" [[files]] file = "config/almostunified/unify.json" -hash = "b7860c23ca059bd7c89f1ef2f2eb2debc99a6267d107283b52fd366b72d2273f" +hash = "516f15c2da102c38d83bf941548dafd228a10996d85fec6fdfcf129134c0cccf" [[files]] file = "config/apotheosis/adventure.cfg" @@ -419,7 +419,7 @@ hash = "756a69bb0d78276da1aa757a7f10a1597df9795076e153f34b13b6e8180fe5dc" [[files]] file = "kubejs/data/kubejs/recipes/gristdex.json" -hash = "064a67114995e9a4cd28541aa4f9d9b073d0c88f0d7064528b38a044875a4678" +hash = "404056efbb3fe6310afb5c9d7c3f881942e4bf8a63a50d82c4a405c65c1fb896" [[files]] file = "kubejs/data/miapi/materials/ars/source_gem.json" @@ -575,23 +575,23 @@ hash = "a5e02c71fd92029ea204f96d071c6b25f59d03b59f65199cb24f96a1858b3ed0" [[files]] file = "kubejs/server_scripts/grist/agricultural.js" -hash = "624635c36aaf676596e9418aed0a926f31b5bf4969ca0390c44cf32545eaea90" +hash = "cdf7287193272cb56683c68fd2a6e70ba9afc858e3a2cabafbdecdefddd37245" [[files]] file = "kubejs/server_scripts/grist/build.js" -hash = "34da8425c1761cca0b72e40736c03928473b6768a30c9ecbda218eae14eae1fc" +hash = "fb0b2aae3ef5e7c77eb03392f92c043a33df894e7e986cab4b045900d970fa81" [[files]] file = "kubejs/server_scripts/grist/energetic.js" -hash = "9b3ba54bf33f4b92baa9cd2e0ab9d9869bc98c3ede6cfb4d34784d04e64551e3" +hash = "5ab83de41e89b9d25acfabb4d26bd6e53579f274c9e8e8abf738d8674b24feb3" [[files]] file = "kubejs/server_scripts/grist/intelligent.js" -hash = "b61335760dea47ca0ec5f895c115c9ff2babe72d0b90f40650670dc6e7c23253" +hash = "f922fd6e0bba21f3bb42929d83b4c977178a8421a176adc8e738291c877a27d7" [[files]] file = "kubejs/server_scripts/grist/primordeal.js" -hash = "037475b30ce8890c52a1236ad18fc2b699d7af1b07aaaaba7b844ac463ac9e10" +hash = "5f2b0d94e58e00bc22e486d6c0694c02620aadce02664d2b7137bda712a7169f" [[files]] file = "kubejs/server_scripts/grist/tags.js" @@ -637,9 +637,13 @@ hash = "09039a31850243a7e37e163a9cc732bf383780f8de9ee42030b4fda5f16876b1" file = "kubejs/server_scripts/mods/cookingforblockheads.js" hash = "4717847a6d54f56ed6919a1e2c3591fc73780973708e818a563753132bc7c15e" +[[files]] +file = "kubejs/server_scripts/mods/create.js" +hash = "486f66ec396a69941590ae3679579e748f46d79c719627ebf4150cd8827cdb86" + [[files]] file = "kubejs/server_scripts/mods/croptopia.js" -hash = "99156025f8d8d31e1fd39238bf22db0b353269374018a901600345ed3e32a084" +hash = "e26329b4528cfa187e27acf924039157bf7ecc3c31c745a338490bde8d81695d" [[files]] file = "kubejs/server_scripts/mods/darkutils.js" @@ -743,7 +747,7 @@ hash = "a43a56736738975b6189dfa09863db43f9cbefb37c215f78fadc053c21a31305" [[files]] file = "kubejs/server_scripts/ore-processing.js" -hash = "c03b1ad2486616d33092b2084676f1ee083c6f4fd7a863c11f83a39b58255cc9" +hash = "6251775a7906079009c103dbb6c823a583fd4d002d78316552213e519b36cf7f" [[files]] file = "kubejs/server_scripts/progression/report.js" diff --git a/kubejs/server_scripts/grist/agricultural.js b/kubejs/server_scripts/grist/agricultural.js index 94be574..81e4aef 100755 --- a/kubejs/server_scripts/grist/agricultural.js +++ b/kubejs/server_scripts/grist/agricultural.js @@ -4,8 +4,8 @@ ServerEvents.recipes(event => { none -> basic: plant some wheat, make dough, cook with veggies and meat -> unlock early mob farming, botany pots, kitchen parts basic grist comes from flour + primordeal grist + veggies cooked in a pot with a block of basic primordeal after you get basic grist, you can smelt basic grist with dough..? - basic grist comes from basic grist + block of primordeal + dough + yeast - your first basic grist comes from chutney + primordeal + meat + dough + yeast + basic grist comes from basic grist + block of primordeal + dough + sugar + your first basic grist comes from chutney + primordeal + meat + dough + sugar chutney comes from primordeal grist + sugar + fruit + caupona vinegar + chives */ event.custom({ @@ -20,7 +20,7 @@ ServerEvents.recipes(event => { {tag: 'forge:fruits'}, {item: 'caupona:chives_spice_jar'}, ], - result: {item: 'kubejs:grist_chutney'} + result: {item: 'kubejs:grist_chutney', count: 2} }); event.custom({ type: 'farmersdelight:cooking', @@ -30,10 +30,10 @@ ServerEvents.recipes(event => { {item: 'kubejs:grist_primordeal_basic_block'}, {item: 'kubejs:grist_chutney'}, {tag: 'forge:foods/meat/cooked'}, - {tag: 'forge:doughs'}, - {item: 'bakery:yeast'} + {tag: 'forge:dough'}, + {item: 'minecraft:gunpowder'} ], - result: {item: 'kubejs:grist_agricultural_basic', count: 2} + result: {item: 'kubejs:grist_agricultural_basic', count: 16} }); event.custom({ type: 'farmersdelight:cooking', @@ -42,8 +42,8 @@ ServerEvents.recipes(event => { ingredients: [ {item: 'kubejs:grist_primordeal_basic_block'}, {tag: 'kubejs:grist/agricultural/basic'}, - {tag: 'forge:doughs'}, - {item: 'bakery:yeast'} + {tag: 'forge:dough'}, + {item: 'minecraft:gunpowder'} ], result: {item: 'kubejs:grist_agricultural_basic', count: 2} }); diff --git a/kubejs/server_scripts/grist/build.js b/kubejs/server_scripts/grist/build.js index 4c5820a..e2bbaf4 100755 --- a/kubejs/server_scripts/grist/build.js +++ b/kubejs/server_scripts/grist/build.js @@ -16,12 +16,25 @@ ServerEvents.recipes(event => { 2x Basic build grist comes from smelting build grist with primordeal Your first build grist comes from smelting refined aggregate refined aggregate comes from pulverizing reduced aggregate, which comes from coarse aggregate - coarse aggregate comes from combining sand, clay, gravel, primordeal with an ore hammer + coarse aggregate comes from combining sand, clay, gravel, primordeal with an ore hammer. + + Instead of an ore hammer, you can use a heated mixer with create */ event.recipes.thermal.smelter( '2x kubejs:grist_build_basic', ['#kubejs:grist/build/basic', 'kubejs:grist_primordeal_basic_block'] ); + event.custom({ + type: 'create:mixing', + ingredients: [ + '#kubejs:grist/build/basic', + 'kubejs:grist_primordeal_basic_block', + ], + heatRequirement: "heated", + results: [ + '2x kubejs:grist_build_basic' + ] + }); event.smelting('16x kubejs:grist_build_basic', 'kubejs:refined_grist_aggregate'); event.recipes.shapeless( 'kubejs:coarse_grist_aggregate', [ @@ -30,98 +43,59 @@ ServerEvents.recipes(event => { '3x #forge:gravel', '#alltheores:ore_hammers', 'kubejs:grist_primordeal_basic_block' - ]); - event.recipes.custom( - { - type: 'create:crushing', - ingredients: [ - '3x #forge:sand', - 'minecraft:clay_ball', - '3x #forge:gravel', - 'kubejs:grist_primordeal_basic_block' - ], - results: [ - 'kubejs:coarse_grist_aggregate' - ] - } - ); + ]).id('kubejs:coarse_grist_aggregate_manual_only'); + event.custom({ + type: 'create:mixing', + ingredients: [ + '3x #forge:sand', + 'minecraft:clay_ball', + '3x #forge:gravel', + 'kubejs:grist_primordeal_basic_block' + ], + heatRequirement: "heated", + results: [ + 'kubejs:coarse_grist_aggregate' + ] + }); event.recipes.shapeless( 'kubejs:reduced_grist_aggregate', [ '#alltheores:ore_hammers', 'minecraft:granite', 'kubejs:grist_primordeal_basic', '6x kubejs:coarse_grist_aggregate' - ]); - event.recipes.custom( - { - type: 'create:crushing', - ingredients: [ - 'minecraft:granite', - 'kubejs:grist_primordeal_basic', - '6x kubejs:coarse_grist_aggregate' - ], - results: [ - 'kubejs:reduced_grist_aggregate' - ] - } - ); + ]).id('kubejs:reduced_grist_aggregate_manual_only'); + event.custom({ + type: 'create:mixing', + ingredients: [ + 'minecraft:granite', + 'kubejs:grist_primordeal_basic', + '6x kubejs:coarse_grist_aggregate' + ], + heatRequirement: "heated", + results: [ + 'kubejs:reduced_grist_aggregate' + ] + }); event.recipes.shapeless( '2x kubejs:refined_grist_aggregate', [ '#alltheores:ore_hammers', 'kubejs:grist_primordeal_basic', '5x kubejs:reduced_grist_aggregate' - ]); - event.recipes.custom( + ]).id('kubejs:refined_grist_aggregate_manual_only'); + event.custom( { - type: 'create:crushing', + type: 'create:mixing', ingredients: [ 'kubejs:grist_primordeal_basic', '5x kubejs:reduced_grist_aggregate' ], + heatRequirement: "heated", results: [ 'kubejs:refined_grist_aggregate' ] } ); - event.custom( - { - type: "thermal:pulverizer", - ingredients: [ - {item: "kubejs:coarse_grist_aggregate"}, - ], - result: [ - { - item: "kubejs:reduced_grist_aggregate", - chance: 0.9 - }, - { - item: "kubejs:refined_grist_aggregate", - chance: 0.1 - } - ] - } - ); - - event.custom( - { - type: "thermal:pulverizer", - ingredients: [ - {item: "kubejs:reduced_grist_aggregate"}, - ], - result: [ - { - item: "kubejs:reduced_grist_aggregate", - chance: 0.3 - }, - { - item: "kubejs:refined_grist_aggregate", - chance: 0.5 - } - ] - } - ); - /* improved grist comes from crystalizing clay + improved + primordeal liquid your first improved comes from crystalizing 32 reinforced grist ingots with improved primordeal liquid diff --git a/kubejs/server_scripts/grist/energetic.js b/kubejs/server_scripts/grist/energetic.js index 2746851..0ab6a7b 100755 --- a/kubejs/server_scripts/grist/energetic.js +++ b/kubejs/server_scripts/grist/energetic.js @@ -26,8 +26,8 @@ ServerEvents.recipes(event => { your first energetic comes from smelting grist paste grist paste comes from redstone, obsidian, and primordeal grist */ - event.smelting('kubejs:grist_energetic_basic', 'kubejs:grist_paste'); - event.shaped('18x kubejs:grist_paste', [ + event.smelting('16x kubejs:grist_energetic_basic', 'kubejs:grist_paste'); + event.shaped('2x kubejs:grist_paste', [ 'ADA', 'BCB', 'AAA' diff --git a/kubejs/server_scripts/grist/intelligent.js b/kubejs/server_scripts/grist/intelligent.js index dff075b..ee8433c 100755 --- a/kubejs/server_scripts/grist/intelligent.js +++ b/kubejs/server_scripts/grist/intelligent.js @@ -32,7 +32,7 @@ ServerEvents.recipes(event => { quanta: 25, arcana: -1 }, - result: Item.of('kubejs:grist_intelligent_basic', 9).toJson() + result: Item.of('kubejs:grist_intelligent_basic', 16).toJson() }); event.shaped('kubejs:sacred_flesh', [ diff --git a/kubejs/server_scripts/grist/primordeal.js b/kubejs/server_scripts/grist/primordeal.js index 99c0f46..ffdd245 100755 --- a/kubejs/server_scripts/grist/primordeal.js +++ b/kubejs/server_scripts/grist/primordeal.js @@ -7,6 +7,17 @@ ServerEvents.recipes(event => { ], { 'A': '#forge:cobblestone', 'B': '#forge:gravel' + }).id('kubejs:grist_primordeal_basic_manual_only'); + event.custom({ + type: 'create:mixing', + ingredients: [ + '8x #forge:cobblestone', + '#forge:gravel', + ], + heatRequirement: "heated", + results: [ + '2x kubejs:grist_primordeal_basic' + ] }); event.shaped('2x kubejs:grist_primordeal_basic_block', [ 'AAA', @@ -15,6 +26,17 @@ ServerEvents.recipes(event => { ], { 'A': '#forge:cobblestone', 'B': 'kubejs:grist_essence' + }).id('kubejs:grist_primordeal_basic_block_manual_only'); + event.custom({ + type: 'create:mixing', + ingredients: [ + '8x #forge:cobblestone', + 'kubejs:grist_essence', + ], + heatRequirement: "heated", + results: [ + '2x kubejs:grist_primordeal_basic_block' + ] }); // Conversions between fluids and items global.Grist.forEach(grist => { @@ -66,7 +88,7 @@ ServerEvents.recipes(event => { 'C': `kubejs:grist_energetic_${upgrade.from}`, 'D': `kubejs:grist_intelligent_${upgrade.from}`, 'E': `kubejs:grist_primordeal_${upgrade.from}`, - }); + }).id(`kubejs:grist_primordeal_${upgrade.to}_manual_only`); // After you've unlocked the next tier, you can use the elements of this tier plus one lower primordeal to make more primordeal event.shaped(`8x kubejs:grist_primordeal_${upgrade.to}_block`, [ @@ -79,7 +101,7 @@ ServerEvents.recipes(event => { 'C': `kubejs:grist_energetic_${upgrade.to}`, 'D': `kubejs:grist_intelligent_${upgrade.to}`, 'E': `kubejs:grist_primordeal_${upgrade.from}`, - }); + }).id(`kubejs:grist_primordeal_${upgrade.to}_block_manual_only`); // Universal grist is cobble surrounded by lower tier universal and primordeal event.shaped(`kubejs:grist_universal_${upgrade.to}`, [ @@ -90,7 +112,7 @@ ServerEvents.recipes(event => { 'A': `kubejs:grist_universal_${upgrade.from}`, 'B': `kubejs:grist_primordeal_${upgrade.from}`, 'C': '#forge:cobblestone' - }); + }).id(`kubejs:grist_universal_${upgrade.to}_manual_only`); }) // Basic primordeal gets a special case.. @@ -104,6 +126,20 @@ ServerEvents.recipes(event => { 'C': `kubejs:grist_energetic_basic`, 'D': `kubejs:grist_intelligent_basic`, 'E': '#forge:cobblestone', + }).id('kubejs:grist_primordeal_basic_block_manual_only'); + event.custom({ + type: 'create:mixing', + ingredients: [ + '2x kubejs:grist_agricultural_basic', + '2x kubejs:grist_build_basic', + '2x kubejs:grist_energetic_basic', + '2x kubejs:grist_intelligent_basic', + '#forge:cobblestone', + ], + heatRequirement: "heated", + results: [ + '4x kubejs:grist_primordeal_basic_block' + ] }); // Finally, start creative-tier grist @@ -117,5 +153,5 @@ ServerEvents.recipes(event => { 'C': '#kubejs:grist/energetic/radiant', 'D': '#kubejs:grist/intelligent/radiant', 'E': '#kubejs:grist/primordeal/radiant' - }) + }).id('kubejs:grist_universal_basic_block_manual_only'); }); \ No newline at end of file diff --git a/kubejs/server_scripts/mods/croptopia.js b/kubejs/server_scripts/mods/croptopia.js index 5cd05c5..9eb3b47 100755 --- a/kubejs/server_scripts/mods/croptopia.js +++ b/kubejs/server_scripts/mods/croptopia.js @@ -1,5 +1,10 @@ ServerEvents.recipes(event => { - event.recipes.thermal.pulverizer("3x croptopia:flour", ['minecraft:wheat']); + event.recipes.thermal.pulverizer("4x croptopia:flour", ['minecraft:wheat']); + event.custom({ + type: 'create:crushing', + ingredients: ['minecraft:wheat'], + results: ['3x croptopia:flour'] + }); event.shapeless('2x croptopia:flour', ['minecraft:wheat', '#alltheores:ore_hammers']); let jamFruits = ['apricot', 'blackberry', 'blueberry', 'cherry', 'elderberry', 'grape', 'peach', 'raspberry', 'straberry']; @@ -37,4 +42,10 @@ ServerEvents.recipes(event => { '#forge:tomato_sauces' ); }); + + event.custom({ + type: 'create:mixing', + ingredients: ['#forge:flour', {fluid: 'minecraft:water', amount: 50}], + results: ['4x croptopia:dough'] + }) }); \ No newline at end of file diff --git a/kubejs/server_scripts/ore-processing.js b/kubejs/server_scripts/ore-processing.js index aa45690..0f5d50c 100755 --- a/kubejs/server_scripts/ore-processing.js +++ b/kubejs/server_scripts/ore-processing.js @@ -97,7 +97,7 @@ ServerEvents.recipes(event => { event.custom({ type: "create:crushing", ingredients: [ - {tag: `forge:raw_materials/${metal}`} + {tag: `forge:storage_blocks/${metal}`} ], results: [ {item: dustType.id, count: 9, chance: 1.05}, @@ -178,7 +178,7 @@ ServerEvents.recipes(event => { {let _ = ['copper', 'iron', 'tin', 'nickel', 'zinc', 'lead', 'aluminum', 'gold'].forEach(ore => { console.log(`Setting up ${ore} hammering...`); let dustType = metalForm(ore, 'dusts', 'dust'); - event.shapeless(dustType.withCount(2), [`#forge:raw_materials/${ore}`, '#alltheores:ore_hammers']).id(`kubejs:ore_crushing_${ore}_manual_only`); + event.shapeless(dustType.withCount(2), [`#forge:raw_materials/${ore}`, '#alltheores:ore_hammers']).id(`kubejs:ore_crushing_2_${ore}_manual_only`); event.shapeless(dustType.withCount(2 * 9), [`#forge:storage_blocks/raw_${ore}`, '#alltheores:ore_hammers']).id(`kubejs:ore_block_crushing_${ore}_manual_only`); });} diff --git a/pack.toml b/pack.toml index 68fd67f..a5ea92b 100644 --- a/pack.toml +++ b/pack.toml @@ -6,7 +6,7 @@ pack-format = "packwiz:1.1.0" [index] file = "index.toml" hash-format = "sha256" -hash = "fe34c74a2a15022e9b6a3a80dbfba0edeed19e16f3d36a477ca3287e54e62683" +hash = "31ed109a56413f90a4896f6e80cdbfc5991127d0b8b024643e00ed9a39cd683c" [versions] forge = "47.4.0"