From ca7f66fa8f2e24a3d1d17e9b5a1e5894e1e94164 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 22 Apr 2025 18:44:48 +0100 Subject: [PATCH] ice and sea ice can't be picked up with a saw any more, added a bunch of recipes around ice and snow for making packed ice in primitive age --- .../quests/chapters/queststfc_tips.snbt | 2 +- kubejs/assets/gtceu/lang/en_us.json | 3 + kubejs/assets/tfg/lang/en_us.json | 15 ++-- kubejs/server_scripts/minecraft/tags.js | 3 + kubejs/server_scripts/tfc/loot.js | 18 +++++ kubejs/server_scripts/tfc/tags.js | 5 ++ .../tfg/recipes.miscellaneous.js | 80 +++++++++++++++++++ 7 files changed, 120 insertions(+), 6 deletions(-) diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index 862e05861..855826efa 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -3912,7 +3912,7 @@ } { id: "75FC7712CD89CAD7" - item: "minecraft:ice" + item: "minecraft:packed_ice" type: "item" } ] diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index c7b598c79..cfce3d307 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -51,8 +51,11 @@ "item.gtceu.iron_quadruple_cable": "4x Cast Iron Cable", "item.gtceu.iron_octal_cable": "8x Cast Iron Cable", "item.gtceu.iron_hex_cable": "16x Cast Iron Cable", + "item.gtceu.ice_bucket": "Ice Water Bucket", + "material.gtceu.ice": "Ice Water", "metaitem.dust.tooltip.purify": "Drop in Water to get Clean Dust", "metaitem.crushed.tooltip.purify": "Drop in Water to get Purified Ore", + "item.gtceu.tool.behavior.silk_ice": "Silk Harvests Packed Ice", "tagprefix.sword_head": "%s Sword Head", "tagprefix.pickaxe_head": "%s Pickaxe Head", "tagprefix.shovel_head": "%s Shovel Head", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index b71208b98..f07cb814a 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -203,9 +203,6 @@ "material.gtceu.hardwood": "Hardwood", "tfg.disabled_portal": "Portal magic seems to be blocked by an unknown force, try reaching another dimension by going down or up", "item.treetap.tap": "Deprecated Item, Craft to Upgrade", - "tfc.jei.flint_knapping": "Flint Knapping", - "tfc.recipe.barrel.tfg.barrel.soak_hardwood_strip": "Soaking Hardwood Strips", - "tfc.recipe.barrel.tfc.barrel.treated_wood_planks": "Treating Wood Planks", "item.gtceu.zinc_ingot": "Deprecated Item, Craft to Upgrade", "item.gtceu.brass_ingot": "Deprecated Item, Craft to Upgrade", "item.gtceu.vanadium_ingot": "Deprecated Item, Craft to Upgrade", @@ -374,6 +371,7 @@ "quests..st": "", "quests..d1": "", "quests..t1": "", + "tfc.jei.flint_knapping": "Flint Knapping", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Dyeing", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.gray": "Dyeing", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.light_gray": "Dyeing", @@ -422,7 +420,14 @@ "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_orange_block": "Dyeing", "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_red_block": "Dyeing", "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block": "Dyeing", - "tfg.grapplemod.repair": "Repair recipe, keeps your upgrades. §lNEVER combine two grapples or you'll loose ALL your upgrades!§r", + "tfc.recipe.barrel.tfg.barrel.soak_hardwood_strip": "Soaking Hardwood Strips", + "tfc.recipe.barrel.tfc.barrel.treated_wood_planks": "Treating Wood Planks", + "tfc.recipe.barrel.tfg.barrel.packed_ice": "Freezing Ice", + "tfc.recipe.barrel.tfg.barrel.cooling_water_1": "Cooling Water", + "tfc.recipe.barrel.tfg.barrel.cooling_water_2": "Cooling Water", + "tfc.recipe.barrel.tfg.barrel.cooling_water_3": "Cooling Water", + "tfc.recipe.barrel.tfg.barrel.cooling_water_4": "Cooling Water", + "tfg.grapplemod.repair": "Repair recipe, keeps your upgrades. §lNEVER combine two grapples or you'll lose ALL your upgrades!§r", "tfg.grapplemod.upgrades.maxlen": "Increases §lMax Length§r by 20, up to 200.", "tfg.grapplemod.downgrades.maxlen": "Decreases §lMax Length§r by 20, down to 20. (Jute Rope is Returned).", "tfg.grapplemod.upgrades.motor.lv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1\n§lMotorAcceleration§r set to 0.125", @@ -1805,7 +1810,7 @@ "quests.tfg_tips.beneath_prep.desc": "The Beneath is a very, VERY hostile environment, due to it being very deep underground the average temperature is always above 15°C, going higher as you go deeper. Not to mention the amount of hostile creatures overall.\nThe quests below this one provide basic preparations for your adventure.", "quests.tfg_tips.beneath_temp_management.title": "Temperature Management: Active", "quests.tfg_tips.beneath_temp_management.subtitle": "Things to cool off quickly", - "quests.tfg_tips.beneath_temp_management.desc": "In the beneath, while the temperature is relatively high, its not high enough to immediatly evaporate nearby sources of Water. As such, you should bring some Water to cool off on demand, or some Ice.\n\nYou can harvest Ice using a regular Saw.", + "quests.tfg_tips.beneath_temp_management.desc": "In the beneath, while the temperature is relatively high, its not high enough to immediatly evaporate nearby sources of Water. As such, you should bring some Water to cool off on demand, or some Packed Ice.\n\nYou can harvest Packed Ice using a Saw, or obtain it by cooling water down in a barrel.", "quests.tfg_tips.beneath_clothes.title": "Temperature Management: Passive", "quests.tfg_tips.beneath_clothes.subtitle": "Things to passively cool off", "quests.tfg_tips.beneath_clothes.desc": "Clothes can also play an important role to cool off. The easiest cloth type to craft before going to the Beneath are Burlap Clothes.\n\nSilk Clothes require String, which can be found inside a Beneath Biome called the Webbed Lair.\n\nThere is a better alternative if you have access to Blue Steel however.", diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 298790c65..39b506db5 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -64,6 +64,9 @@ const registerMinecraftBlockTags = (event) => { event.removeAllTagsFrom(item) }) + // Stops saws from being able to pick up ice + event.remove('minecraft:ice', 'minecraft:ice') + // Теперь обсидиан сторадж блок event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') diff --git a/kubejs/server_scripts/tfc/loot.js b/kubejs/server_scripts/tfc/loot.js index 8e27b403d..dbb7c8c77 100644 --- a/kubejs/server_scripts/tfc/loot.js +++ b/kubejs/server_scripts/tfc/loot.js @@ -58,4 +58,22 @@ function registerTFCLoots(event) event.addEntityLootModifier('tfc:crocodile') .addWeightedLoot([5,10], ['tfc:food/bluegill', 'tfc:food/crappie', 'tfc:food/lake_trout', 'tfc:food/rainbow_trout', 'tfc:food/frog_legs']) .addSequenceLoot(LootEntry.of('tfc:metal/fish_hook/copper').when(c => c.randomChance(0.2))) + + + event.addBlockLootModifier('minecraft:ice') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot('firmalife:ice_shavings') + + event.addBlockLootModifier('minecraft:packed_ice') + .not(n => n.matchMainHand("#forge:tools/saws")) + .addWeightedLoot([4,6], ['firmalife:ice_shavings']) + + event.addBlockLootModifier('minecraft:blue_ice') + .not(n => n.matchMainHand("#forge:tools/saws")) + .addWeightedLoot([8,12], ['firmalife:ice_shavings']) + + event.addBlockLootModifier('tfc:sea_ice') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot('firmalife:ice_shavings') + .addSequenceLoot(LootEntry.of('tfc:powder/salt').when(c => c.randomChance(0.2))) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 6f70a8a7a..a978d589d 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -445,6 +445,11 @@ const registerTFCFluidTags = (event) => { event.add('tfc:usable_in_red_steel_bucket', 'gtceu:creosote') event.add('tfc:usable_in_blue_steel_bucket', 'gtceu:creosote') + event.add('tfc:usable_in_barrel', 'gtceu:ice') + event.add('tfc:usable_in_pot', 'gtceu:ice') + event.add('tfc:usable_in_wooden_bucket', 'gtceu:ice') + event.add('tfc:usable_in_red_steel_bucket', 'gtceu:ice') + event.add('tfc:ingredients', 'tfc:spring_water') event.add('tfc:usable_in_barrel', 'tfc:spring_water') event.add('tfc:usable_in_wooden_bucket', 'tfc:spring_water') diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index ccb690ef0..d8655c616 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -233,4 +233,84 @@ function registerTFGMiscellaneousRecipes(event) { B: '#forge:rods/wooden', C: 'tfg:fletching' }).id('tfg:shaped/arrow') + + // Ice + event.remove({id: 'gtceu:compressor/ice_from_dust' }) + event.remove({id: 'gtceu:compressor/ice_from_snow' }) + + event.shapeless('#forge:dusts/ice', ['#forge:tools/mortars', '4x firmalife:ice_shavings']) + .id('tfg:shaped/ice_shavings') + + event.recipes.tfc.quern('#forge:small_dusts/ice', 'firmalife:ice_shavings') + .id('tfg:quern/ice_dust') + + event.recipes.gtceu.macerator('tfg:macerating_ice_shavings') + .itemInputs('4x firmalife:ice_shavings') + .itemOutputs('#forge:dusts/ice') + .duration(40) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.macerator('tfg:macerating_ice_shavings_reverse') + .itemInputs('#forge:dusts/ice') + .itemOutputs('4x firmalife:ice_shavings') + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + + event.shapeless('4x firmalife:ice_shavings', ['#forge:dusts/ice', '#forge:tools/hammers']) + + // Cooling water + event.recipes.tfc.barrel_sealed(1000) + .inputItem('1x #forge:dusts/ice') + .inputFluid(Fluid.of('minecraft:water', 144)) + .outputFluid(Fluid.of('gtceu:ice', 144)) + .id('tfg:barrel/cooling_water_1') + + event.recipes.tfc.barrel_sealed(1000) + .inputItem('16x minecraft:snowball') + .inputFluid(Fluid.of('minecraft:water', 144)) + .outputFluid(Fluid.of('gtceu:ice', 144)) + .id('tfg:barrel/cooling_water_2') + + event.recipes.tfc.barrel_sealed(2000) + .inputItem('1x #forge:dusts/ice') + .inputFluid(Fluid.of('tfc:salt_water', 144)) + .outputFluid(Fluid.of('gtceu:ice', 144)) + .id('tfg:barrel/cooling_water_3') + + event.recipes.tfc.barrel_sealed(2000) + .inputItem('16x minecraft:snowball') + .inputFluid(Fluid.of('tfc:salt_water', 144)) + .outputFluid(Fluid.of('gtceu:ice', 144)) + .id('tfg:barrel/cooling_water_4') + + // Freezing it + event.recipes.tfc.barrel_sealed(3000) + .inputItem('9x #forge:dusts/ice') + .inputFluid(Fluid.of('gtceu:ice', 144)) + .outputItem('minecraft:packed_ice') + .id('tfg:barrel/packed_ice') + + // Heating it back up + event.recipes.tfc.pot([], Fluid.of('gtceu:ice', 144), 300, 100) + .fluidOutput(Fluid.of('minecraft:water', 144)) + + event.recipes.firmalife.vat() + .inputFluid(Fluid.of('gtceu:ice', 144)) + .outputFluid(Fluid.of('minecraft:water', 144)) + .length(300) + .temperature(100) + + // Snow + event.recipes.firmalife.stomping('minecraft:snow', 'minecraft:snowball', + 'minecraft:block/snow', 'minecraft:block/snow', 'minecraft:block.snow.place') + .id('tfg:stomping/snow_layer') + + event.shapeless('minecraft:snow_block', ['8x minecraft:snow']) + .id('tfg:shapeless/snow_block') + + event.shapeless('8x minecraft:snowball', ['minecraft:snow_block']) + .id('tfg:shapeless/snowball') + + event.shapeless('8x minecraft:snow', ['minecraft:snow_block', '#forge:tools/saws']) + .id('tfg:shapeless/snow') } \ No newline at end of file