From c65068d77b0b69af4a73370be06b3c1df6b28bfe Mon Sep 17 00:00:00 2001 From: Redeix Date: Wed, 7 May 2025 01:26:45 -0500 Subject: [PATCH 01/13] - Fixed hide duping recipes. - Added quest book and field guide instances for fishing nets. - Fixed rebar support recipe crash. - Fixed red steel flask dupe. - Fixed red alloy recipe inconsistency. --- CHANGELOG.md | 5 + .../quests/chapters/queststfc_tips.snbt | 21 ++++ kubejs/assets/create/lang/en_us.json | 1 + .../en_us/entries/mechanics/fishing_nets.json | 20 ++++ kubejs/assets/tfg/lang/en_us.json | 6 +- .../gregtech/recipes.tfcmetals.js | 8 ++ kubejs/server_scripts/tfc/recipes.js | 110 ++++++++++-------- kubejs/server_scripts/tfc/recipes.metals.js | 5 + kubejs/server_scripts/tfg/recipes.supports.js | 3 +- 9 files changed, 127 insertions(+), 52 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/fishing_nets.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 30edb6545..d74642458 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ ## [Unreleased] ### Changes +- Fixed hide duping recipes. (Redeix) +- Added quest book and field guide instances for fishing nets. (Redeix) +- Fixed rebar support recipe crash. (Redeix) +- Fixed red steel flask dupe. (Redeix) +- Fixed red alloy recipe inconsistency. (Redeix) ## [0.9.4] - 06.05.2025 ### Changes diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index 53dc8c926..bccc50293 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -3343,6 +3343,27 @@ x: 1.5d y: 6.0d } + { + dependencies: ["150B7C5CD152E1BA"] + description: ["{quests.tfg_tips.fishing_net.desc}"] + id: "75C6BF1C9405B4BF" + subtitle: "{quests.tfg_tips.fishing_net.subtitle}" + tasks: [{ + id: "37DD99D32072ADBF" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:tools/fishing_nets)" + } + } + title: "{quests.tfg_tips.fishing_net.task}" + type: "item" + }] + title: "{quests.tfg_tips.fishing_net.title}" + x: -1.5d + y: 6.0d + } { dependencies: ["5C01BDDA66249D7B"] description: ["{quests.tfg_tips.sleeping_bags.desc}"] diff --git a/kubejs/assets/create/lang/en_us.json b/kubejs/assets/create/lang/en_us.json index 6ce3acd87..6eb84c763 100644 --- a/kubejs/assets/create/lang/en_us.json +++ b/kubejs/assets/create/lang/en_us.json @@ -68,6 +68,7 @@ "block.create.small_granite_brick_wall": "Small Chert Brick Wall", "block.create.layered_granite": "Layered Chert", "block.create.granite_pillar": "Chert Pillar", + "block.create.netherite_backtank": "Blue Steel Backtank", "item.create.netherite_diving_helmet.tooltip.summary": "Together with a _Blue Steel Backtank_, this can protect you from _extreme heat_. To be effective, _Legs and Feet_ have to be covered in a _Blue Steel Diving Equipment_, too.", "item.create.netherite_backtank": "Blue Steel Backtank", "item.create.netherite_diving_helmet": "Blue Steel Diving Helmet", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/fishing_nets.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/fishing_nets.json new file mode 100644 index 000000000..305f16de0 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/fishing_nets.json @@ -0,0 +1,20 @@ +{ + "name": "Fishing Nets", + "icon": "tfg:fishing_net/brass", + "category": "tfc:mechanics", + "priority": true, + "pages": [ + { + "type": "patchouli:spotlight", + "title": "Fishing Nets", + "item": { "tag": "forge:tools/fishing_nets" }, + "text": "Tired of hunting down fish with spears? Or loosing a floppy catch while $(l:mechanics/fishing)fishing$()? Craft a $(thing)Fishing Net$() to scoop up your dinner.$(br)To use a fishing net; right click on a fish entity to capture the fish into your inventory. Different tier fshing nets all act the same, but have different durability." + }, + { + "type": "patchouli:crafting", + "title": "Wood Fishing Net", + "recipe": "tfc:kjs/damage/shaped/fishing_net/wood", + "text": "A basic $(item)Wood Fishing Net$()." + } + ] +} diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 8574bf2a6..8575d9581 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2226,5 +2226,9 @@ "quests.tfg_tips.fuck_go_back.desc": "To escape &4The Beneath&r, you need to reach the upper levels of the cave system, near the &dBedrock Ceiling.&r Staying still for a couple of seconds near the roof will transport you back to the &bOverworld&r, right where you stood on to get in.", "quests.tfg_tips.piglin_bartering.title": "Piglin Bartering", "quests.tfg_tips.piglin_bartering.subtitle": "We are not alone apparently", - "quests.tfg_tips.piglin_bartering.desc": "The curious inhabitants of &4The Beneath&r have items to offer... Trade gold with them to get some useful resource, such as small amounts of &aMetals&r or &aLeather.&r\nCheck out the &2Field Guide&r for details about barter trades." + "quests.tfg_tips.piglin_bartering.desc": "The curious inhabitants of &4The Beneath&r have items to offer... Trade gold with them to get some useful resource, such as small amounts of &aMetals&r or &aLeather.&r\nCheck out the &2Field Guide&r for details about barter trades.", + "quests.tfg_tips.fishing_net.title": "Fishing Nets", + "quests.tfg_tips.fishing_net.subtitle": "Not the socks, sorry.", + "quests.tfg_tips.fishing_net.desc": "Fish have never been so easy to catch. A right-click away from a hearty meal.", + "quests.tfg_tips.fishing_net.task": "Any #forge:tools/fishing_nets" } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.tfcmetals.js b/kubejs/server_scripts/gregtech/recipes.tfcmetals.js index b0912e4f7..5ce01f049 100644 --- a/kubejs/server_scripts/gregtech/recipes.tfcmetals.js +++ b/kubejs/server_scripts/gregtech/recipes.tfcmetals.js @@ -59,6 +59,14 @@ function registerGTCEuTFCMetalsRecipes(event) // red alloy, because crucible always makes 4+1=5 + event.remove({ id: 'gtceu:alloy_blast_smelter/red_alloy' }) + event.recipes.gtceu.alloy_blast_smelter('tfg:red_alloy_mixer') + .itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone') + .outputFluids(Fluid.of('gtceu:red_alloy', 720)) + .circuit(5) + .duration(75) + .EUt(GTValues.VA[GTValues.LV]) + event.remove({ id: 'gtceu:mixer/red_alloy' }) event.recipes.gtceu.mixer('tfg:red_alloy_mixer') .itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone') diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 274f75e06..5f2c122ac 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -259,57 +259,69 @@ const registerTFCRecipes = (event) => { 'prepared', 'sheepskin' ]; - - const sizes = [ - 'small', - 'medium', - 'large' - ]; - - stages.forEach((stage) => { - sizes.forEach((size, index) => { - // Find the next larger size. - const nextLarger = sizes[index + 1]; - - // If a larger size exists, sew the hides together. - if (nextLarger) { - event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless(`1x tfc:${nextLarger}_${stage}_hide`, [ - `2x tfc:${size}_${stage}_hide`, - '#tfc:sewing_needles', - '#forge:string', - 'tfc:glue' - ]).id(`tfg:tfc/${size}_to_${nextLarger}_${stage}_hide`) - ) - event.recipes.gtceu.assembler(`tfg:gtceu/assembler/${size}_to_${nextLarger}_${stage}_hide`) - .inputFluids(Fluid.of('gtceu:glue', 25)) - .itemOutputs(`1x tfc:${nextLarger}_${stage}_hide`) - .itemInputs(`2x tfc:${size}_${stage}_hide`) - .duration(60) - .circuit(7) - .EUt(GTValues.VA[GTValues.ULV]) - } + stages.forEach(stage => { + //Combining + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless(`1x tfc:medium_${stage}_hide`, [ + `2x tfc:small_${stage}_hide`, + '#tfc:sewing_needles', + '#forge:string', + 'tfc:glue' + ]).id(`tfg:tfc/small_to_medium_${stage}_hide`) + ) + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless(`1x tfc:large_${stage}_hide`, [ + `3x tfc:small_${stage}_hide`, + '#tfc:sewing_needles', + '#forge:string', + 'tfc:glue' + ]).id(`tfg:tfc/small_to_large_${stage}_hide`) + ) - // Find the next smaller size. - const nextSmaller = sizes[index - 1]; - - // If a smaller size exists, cut the hide. - if (nextSmaller) { - event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless(`2x tfc:${nextSmaller}_${stage}_hide`, [ - `1x tfc:${size}_${stage}_hide`, - '#forge:shears' - ]).id(`tfg:tfc/${size}_to_${nextSmaller}_${stage}_hide`) - ) + event.recipes.gtceu.assembler(`tfg:gtceu/assembler/small_to_medium_${stage}_hide`) + .inputFluids(Fluid.of('gtceu:glue', 25)) + .itemOutputs(`1x tfc:medium_${stage}_hide`) + .itemInputs(`2x tfc:small_${stage}_hide`) + .duration(60) + .circuit(7) + .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.assembler(`tfg:gtceu/assembler/${size}_to_${nextSmaller}_${stage}_hide`) - .itemOutputs(`2x tfc:${nextSmaller}_${stage}_hide`) - .itemInputs(`1x tfc:${size}_${stage}_hide`) - .duration(60) - .circuit(4) - .EUt(GTValues.VA[GTValues.ULV]) - } - }); + event.recipes.gtceu.assembler(`tfg:gtceu/assembler/small_to_large_${stage}_hide`) + .inputFluids(Fluid.of('gtceu:glue', 25)) + .itemOutputs(`1x tfc:large_${stage}_hide`) + .itemInputs(`3x tfc:small_${stage}_hide`) + .duration(60) + .circuit(9) + .EUt(GTValues.VA[GTValues.ULV]) + + //Cutting + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless(`2x tfc:small_${stage}_hide`, [ + `1x tfc:medium_${stage}_hide`, + '#forge:shears' + ]).id(`tfg:tfc/medium_to_small_${stage}_hide`) + ) + + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless(`3x tfc:small_${stage}_hide`, [ + `1x tfc:large_${stage}_hide`, + '#forge:shears' + ]).id(`tfg:tfc/large_to_small_${stage}_hide`) + ) + + event.recipes.gtceu.assembler(`tfg:gtceu/assembler/medium_to_small_${stage}_hide`) + .itemOutputs(`2x tfc:small_${stage}_hide`) + .itemInputs(`1x tfc:medium_${stage}_hide`) + .duration(60) + .circuit(4) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.assembler(`tfg:gtceu/assembler/large_to_small_${stage}_hide`) + .itemOutputs(`3x tfc:small_${stage}_hide`) + .itemInputs(`1x tfc:large_${stage}_hide`) + .duration(60) + .circuit(6) + .EUt(GTValues.VA[GTValues.ULV]) }); } diff --git a/kubejs/server_scripts/tfc/recipes.metals.js b/kubejs/server_scripts/tfc/recipes.metals.js index 70d220efe..a463c7633 100644 --- a/kubejs/server_scripts/tfc/recipes.metals.js +++ b/kubejs/server_scripts/tfc/recipes.metals.js @@ -330,4 +330,9 @@ function registerTFCMetalsRecipes(event) { .EUt(GTValues.VA[GTValues.LV]) })}) //#endregion + event.remove({id: 'waterflasks:heating/red_steel_unfinished_red_steel_flask'}) + + event.recipes.tfc.heating('waterflasks:unfinished_red_steel_flask', 1500) + .resultFluid(Fluid.of('tfc:metal/red_steel', 144)) + .id('waterflasks:tfc/heating/unfinished_red_steel_flask') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.supports.js b/kubejs/server_scripts/tfg/recipes.supports.js index 4d1cfd342..e600035d0 100644 --- a/kubejs/server_scripts/tfg/recipes.supports.js +++ b/kubejs/server_scripts/tfg/recipes.supports.js @@ -168,7 +168,6 @@ function registerTFGSupportRecipes(event) { .EUt(GTValues.VA[GTValues.ULV]) // Metal Supports - event.recipes.tfc.damage_inputs_shaped_crafting( event.shaped('8x tfg:rebar_support', [ 'BA ', 'AC ' @@ -176,7 +175,7 @@ function registerTFGSupportRecipes(event) { A: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 1), B: ChemicalHelper.get(TagPrefix.wireFine, GTMaterials.Steel, 1), C: '#forge:tools/wire_cutters' - }).id('tfg:shaped/rebar_support')) + }).id('tfg:shaped/rebar_support') event.recipes.gtceu.assembler('tfg:gtceu/assembler/rebar_support') .circuit(4) From eacc8710e58b1646eeff0d3c11d2b221afee977d Mon Sep 17 00:00:00 2001 From: Redeix Date: Wed, 7 May 2025 01:29:07 -0500 Subject: [PATCH 02/13] - Fixed blue steel backpack block lang --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d74642458..0daf74a6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Fixed rebar support recipe crash. (Redeix) - Fixed red steel flask dupe. (Redeix) - Fixed red alloy recipe inconsistency. (Redeix) +- Fixed blue steel backpack block lang. (Redeix) ## [0.9.4] - 06.05.2025 ### Changes From 17b43915423f8b27d8af4a2a6807d6c54a5fd6e4 Mon Sep 17 00:00:00 2001 From: Redeix Date: Wed, 7 May 2025 01:43:35 -0500 Subject: [PATCH 03/13] - Added max vessel fluid warning to small vessels. --- CHANGELOG.md | 1 + kubejs/client_scripts/tooltips.js | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0daf74a6f..f99215153 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - Fixed red steel flask dupe. (Redeix) - Fixed red alloy recipe inconsistency. (Redeix) - Fixed blue steel backpack block lang. (Redeix) +- Added max vessel fluid warning to small vessels. (Redeix) ## [0.9.4] - 06.05.2025 ### Changes diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 99ca84c42..1e7f4678e 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -86,4 +86,8 @@ const registerTooltips = (event) => text.add(1, text.of('9 x 5 x 9')) }) }) + + event.addAdvanced(['#tfg:colorized_fired_vessels'], (item, advanced, text) => { + text.add(1, text.of('§cMax: 3024mb')) + }) } \ No newline at end of file From f7831ef436834c8bbfa5d564c5d85a266f48ed09 Mon Sep 17 00:00:00 2001 From: Redeix Date: Wed, 7 May 2025 01:57:38 -0500 Subject: [PATCH 04/13] - Moved red steel flask recipe --- kubejs/server_scripts/tfc/recipes.metals.js | 5 ----- kubejs/server_scripts/water_flasks/recipes.js | 6 ++++++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/kubejs/server_scripts/tfc/recipes.metals.js b/kubejs/server_scripts/tfc/recipes.metals.js index a463c7633..70d220efe 100644 --- a/kubejs/server_scripts/tfc/recipes.metals.js +++ b/kubejs/server_scripts/tfc/recipes.metals.js @@ -330,9 +330,4 @@ function registerTFCMetalsRecipes(event) { .EUt(GTValues.VA[GTValues.LV]) })}) //#endregion - event.remove({id: 'waterflasks:heating/red_steel_unfinished_red_steel_flask'}) - - event.recipes.tfc.heating('waterflasks:unfinished_red_steel_flask', 1500) - .resultFluid(Fluid.of('tfc:metal/red_steel', 144)) - .id('waterflasks:tfc/heating/unfinished_red_steel_flask') } \ No newline at end of file diff --git a/kubejs/server_scripts/water_flasks/recipes.js b/kubejs/server_scripts/water_flasks/recipes.js index 7e60fa1fd..3e80468ea 100644 --- a/kubejs/server_scripts/water_flasks/recipes.js +++ b/kubejs/server_scripts/water_flasks/recipes.js @@ -24,6 +24,12 @@ const registerWaterFlasksRecipes = (event) => { .useDurability(true) .id(`waterflasks:heating/red_steel_flask`) + event.remove({id: 'waterflasks:heating/red_steel_unfinished_red_steel_flask'}) + event.recipes.tfc.heating('waterflasks:unfinished_red_steel_flask', 1535) + .resultFluid(Fluid.of('tfc:metal/red_steel', 144)) + .useDurability(true) + .id('waterflasks:tfc/heating/unfinished_red_steel_flask') + //#region Кожанная фласка event.recipes.gtceu.assembler('tfg:water_flasks/leather_flask') From e47e591c02cd3c655acfc04b0ccf57f523e282d9 Mon Sep 17 00:00:00 2001 From: Redeix Date: Sun, 11 May 2025 21:14:36 -0500 Subject: [PATCH 05/13] - Fixed fishing nets event function --- CHANGELOG.md | 1 + kubejs/server_scripts/tfg/events.js | 102 ++++++++++++++++------------ 2 files changed, 59 insertions(+), 44 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f378d34c5..0d4913e01 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ - Fixed assembler clay recipes so they output the correct amount (Pyritie) - Quest fixes/tweaks (Pyritie) - Added aluminium, stainless steel, and titanium millstones (Pyritie) +- Fixed fishing nets behavior (Redeix) ## [0.9.5] - 08.05.2025 ### Changes diff --git a/kubejs/server_scripts/tfg/events.js b/kubejs/server_scripts/tfg/events.js index 064d12767..390efad28 100644 --- a/kubejs/server_scripts/tfg/events.js +++ b/kubejs/server_scripts/tfg/events.js @@ -153,16 +153,70 @@ function getTFGPersistentDataRoot(player) 'crayfish' ]; + //tags wont work here (or at least I couldnt get it to work) so we need to manually declare each net tier. + const tiers = [ + 'wood', + 'brass', + 'rose_gold', + 'sterling_silver', + 'invar', + 'tin_alloy', + 'cupronickel', + 'magnalium' + ]; + //Event detects if fish is right clicked with fishing net and then teleports the mob into the void, plays some actions and gives the player the proper item. - fish.forEach(fish => { - ItemEvents.entityInteracted('#forge:tools/fishing_nets', event => { + tiers.forEach(tier => { + fish.forEach(fish => { + ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => { + const {item, player, server, target} = event; + + if (target.type != `tfc:${fish}`) return + server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`) + server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`) + server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`) + event.player.give(`tfc:food/${fish}`) + player.swing() + if (player.isCreative() == false){ + item.damageValue++ + if (item.damageValue >= item.maxDamage) { + server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`) + item.count-- + } + } + }) + }) + + //Shellfish Exception + shellfish.forEach(shellfish => { + ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => { + const {item, player, server, target} = event; + + if (target.type != `tfc:${shellfish}`) return + server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`) + server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`) + server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`) + event.player.give('tfc:food/shellfish') + player.swing() + if (player.isCreative() == false){ + item.damageValue++ + if (item.damageValue >= item.maxDamage) { + server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`) + item.count-- + } + } + }) + }) + + //Pufferfish Exception + ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => { const {item, player, server, target} = event; - if (target.type != `tfc:${fish}`) return + if (target.type != 'tfc:pufferfish') return server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`) server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`) server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`) - event.player.give(`tfc:food/${fish}`) + event.player.give('minecraft:pufferfish') player.swing() if (player.isCreative() == false){ item.damageValue++ @@ -173,44 +227,4 @@ function getTFGPersistentDataRoot(player) } }) }) - - //Shellfish Exception - shellfish.forEach(shellfish => { - ItemEvents.entityInteracted('#forge:tools/fishing_nets', event => { - const {item, player, server, target} = event; - - if (target.type != `tfc:${shellfish}`) return - server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`) - server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`) - server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`) - event.player.give('tfc:food/shellfish') - player.swing() - if (player.isCreative() == false){ - item.damageValue++ - if (item.damageValue >= item.maxDamage) { - server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`) - item.count-- - } - } - }) - }) - - //Pufferfish Exception - ItemEvents.entityInteracted('#forge:tools/fishing_nets', event => { - const {item, player, server, target} = event; - - if (target.type != 'tfc:pufferfish') return - server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`) - server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`) - server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`) - event.player.give('minecraft:pufferfish') - player.swing() - if (player.isCreative() == false){ - item.damageValue++ - if (item.damageValue >= item.maxDamage) { - server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`) - item.count-- - } - } - }) //#endregion \ No newline at end of file From afdbc82416686934d52a954d3311cd925c77c934 Mon Sep 17 00:00:00 2001 From: Redeix <59435925+Redeix@users.noreply.github.com> Date: Sun, 11 May 2025 21:21:45 -0500 Subject: [PATCH 06/13] Update queststfc_tips.snbt Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com> --- .../quests/chapters/queststfc_tips.snbt | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index d6e499034..228a39cb5 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -3383,27 +3383,6 @@ x: -1.5d y: 6.0d } - { - dependencies: ["150B7C5CD152E1BA"] - description: ["{quests.tfg_tips.fishing_net.desc}"] - id: "75C6BF1C9405B4BF" - subtitle: "{quests.tfg_tips.fishing_net.subtitle}" - tasks: [{ - id: "37DD99D32072ADBF" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:tools/fishing_nets)" - } - } - title: "{quests.tfg_tips.fishing_net.task}" - type: "item" - }] - title: "{quests.tfg_tips.fishing_net.title}" - x: -1.5d - y: 6.0d - } { dependencies: ["5C01BDDA66249D7B"] description: ["{quests.tfg_tips.sleeping_bags.desc}"] From 80d2acac57b438a56b121da33279d63fdaf727b5 Mon Sep 17 00:00:00 2001 From: Redeix <59435925+Redeix@users.noreply.github.com> Date: Sun, 11 May 2025 21:23:34 -0500 Subject: [PATCH 07/13] Update en_us.json Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com> --- kubejs/assets/create/lang/en_us.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kubejs/assets/create/lang/en_us.json b/kubejs/assets/create/lang/en_us.json index 68b93a267..a45af984a 100644 --- a/kubejs/assets/create/lang/en_us.json +++ b/kubejs/assets/create/lang/en_us.json @@ -1,6 +1,5 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "block.create.netherite_backtank": "Blue Steel Backtank", "block.create.dark_oak_window": "Hickory Window", "block.create.dark_oak_window_pane": "Hickory Window Pane", "block.create.andesite_bars": "Metal Bars", @@ -90,4 +89,4 @@ "create.ponder.brass_funnel.text_1": "Metal Funnels can only ever extract single items.", "create.ponder.cogwheel_casing.text_1": "Brass or Metal Casing can be used to decorate Cogwheels", "create.ponder.shaft_casing.text_1": "Brass or Metal Casing can be used to decorate Shafts" -} \ No newline at end of file +} From 9564090c1b2e7921e045b1b8b6c51c2f78139cba Mon Sep 17 00:00:00 2001 From: Redeix Date: Sun, 11 May 2025 22:15:31 -0500 Subject: [PATCH 08/13] - Added item to summon armor stands with arms --- CHANGELOG.md | 1 + .../tfg/textures/item/armor_stand_arms.png | Bin 0 -> 520 bytes kubejs/server_scripts/tfg/events.js | 15 ++++++++++++++- .../server_scripts/tfg/recipes.miscellaneous.js | 8 ++++++++ kubejs/startup_scripts/tfg/items.js | 3 +++ 5 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 kubejs/assets/tfg/textures/item/armor_stand_arms.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d4913e01..6f0aa767e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ - Quest fixes/tweaks (Pyritie) - Added aluminium, stainless steel, and titanium millstones (Pyritie) - Fixed fishing nets behavior (Redeix) +- Added item to summon armor stands with arms. (Redeix) ## [0.9.5] - 08.05.2025 ### Changes diff --git a/kubejs/assets/tfg/textures/item/armor_stand_arms.png b/kubejs/assets/tfg/textures/item/armor_stand_arms.png new file mode 100644 index 0000000000000000000000000000000000000000..0f5f8408405d782b4e4e13e13bd1be4b828c855f GIT binary patch literal 520 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7mo-U3d7QMZb4`vAminQ&&Tw*wRCeM{jalt5!pjjMQZ@pMzIWDD@>6P64$XU~t zclQTF*Mhq{Gj?wlxx*nUz9>`Rh+0CX_PL}rtw(NfoRbmvRlPi$rG7_uwZ;GP^OoP^ zLZ)6W4ND9#YufvB)v1n$uU^$HU9)}N)E$QAnUktb1QsyuOXvU0q_B5sH;4DsNnLY} ztc#hoD9rkW+)|tRoyzIavTyI|gnCuwC(b+k%y3_N@s(dk?;fp`3OwUe*rb2IPFsOF z+9PD8yP^N}dzU+s=B=q)Aa`_4uGtEAL*>P3$7g!zO+Q>7v+TTe&u+f1N7i~yUGH~f zB%L#6zTooFR{G+UjZX8pUB&Nj_IH@)d+GTqKcMg7fGBbykR3Z#Yo2Bo!AV$sQ+z0?l%}{tX^dlwn0Gf)m^Vc3ET8l zKbst0u*Pu*kHhY}YV*%0-!_};$9{TK#g;z}*RR@2atH|Ko%7Y4pcyR?)VTK5zK`Pn am~IwtU3u%>p@j?#3=E#GelF{r5}E)fBjvUL literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/tfg/events.js b/kubejs/server_scripts/tfg/events.js index 390efad28..d22db8044 100644 --- a/kubejs/server_scripts/tfg/events.js +++ b/kubejs/server_scripts/tfg/events.js @@ -117,6 +117,20 @@ BlockEvents.rightClicked(event => { if (block.id != 'tfg:decorative_vase') {return}{ server.runCommandSilent(`playsound tfc:block.quern.drag block ${username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`) }}); +//#endregion + +BlockEvents.rightClicked(event=>{ + let item = event.item + if(item.id != 'tfg:armor_stand_arms') return + let mob = event.block[event.facing].createEntity('minecraft:armor_stand') + mob.mergeNbt('{ShowArms:1b}') + mob.setPos(mob.x + 0.5, mob.y, mob.z + 0.5) + mob.setYaw(event.player.yaw + 180) + mob.spawn() + if (event.player.isCreative() == false){ + item.shrink(1) + } +}) /** * @@ -131,7 +145,6 @@ function getTFGPersistentDataRoot(player) } return player.persistentData.getCompound("tfg:custom_data") } -//#endregion //#region Fishing Net const fish = [ diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 3c1ce08b0..5234d345b 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -389,4 +389,12 @@ function registerTFGMiscellaneousRecipes(event) { .dimension('minecraft:the_nether') .duration(200) .EUt(16) + + event.shapeless('1x tfg:armor_stand_arms', [ + 'minecraft:armor_stand' + ]).id(`tfg:shapeless/armor_stand_arms`) + + event.shapeless('1x minecraft:armor_stand', [ + 'tfg:armor_stand_arms' + ]).id(`tfg:shapeless/armor_stand`) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index d665f28a6..b3ee53518 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -161,6 +161,9 @@ const registerTFGItems = (event) => { event.create('tfg:fletching') .translationKey('item.tfg.fletching') + event.create('tfg:armor_stand_arms') + .translationKey('item.tfg.armor_stand_arms') + event.create('tfg:fishing_net/wood') .translationKey('item.tfg.fishing_net.wood') .parentModel('tfg:item/fishing_nets/wood_fishing_net') From 7176adfc8d42ebe7b3b09f9b4cd34a806ae6ba25 Mon Sep 17 00:00:00 2001 From: Redeix Date: Sun, 11 May 2025 22:49:16 -0500 Subject: [PATCH 09/13] - Added recipes to empty vessels and molds --- CHANGELOG.md | 3 ++- kubejs/server_scripts/tfg/recipes.molds.js | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f0aa767e..f7dc3cad3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,8 +16,9 @@ - Fixed assembler clay recipes so they output the correct amount (Pyritie) - Quest fixes/tweaks (Pyritie) - Added aluminium, stainless steel, and titanium millstones (Pyritie) -- Fixed fishing nets behavior (Redeix) +- Fixed fishing nets behavior. (Redeix) - Added item to summon armor stands with arms. (Redeix) +- Added recipes for emptying vessels and molds. (Redeix) ## [0.9.5] - 08.05.2025 ### Changes diff --git a/kubejs/server_scripts/tfg/recipes.molds.js b/kubejs/server_scripts/tfg/recipes.molds.js index a1c16a114..f387a16da 100644 --- a/kubejs/server_scripts/tfg/recipes.molds.js +++ b/kubejs/server_scripts/tfg/recipes.molds.js @@ -273,4 +273,20 @@ function registerTFGMoldRecipes(event) { .duration(120) .EUt(GTValues.VA[GTValues.LV]) }) + + //craft mold to scrub nbt + const molds = Ingredient.of('#tfc:fired_molds').itemIds; + + molds.forEach(mold => { + event.shapeless(Item.of(mold), [mold]) + .id(`tfg:shapeless/mold_cleaning/${mold.replace(":", "/")}`); + }); + + //craft vessel to scrub nbt + const vessels = Ingredient.of('#tfc:fired_vessels').itemIds; + + vessels.forEach(vessel => { + event.shapeless(Item.of(vessel), [vessel]) + .id(`tfg:shapeless/vessel_cleaning/${vessel.replace(":", "/")}`); + }); } \ No newline at end of file From 0d96bc775ae3bcabfdc5a85cc61d7f348abf7bcc Mon Sep 17 00:00:00 2001 From: Redeix Date: Sun, 11 May 2025 23:22:30 -0500 Subject: [PATCH 10/13] - Added recipes for extracting/ forming magma blocks. --- kubejs/server_scripts/tfg/recipes.rocks.js | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/recipes.rocks.js index 59d288ffe..ad1920c2b 100644 --- a/kubejs/server_scripts/tfg/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/recipes.rocks.js @@ -256,4 +256,38 @@ function registerTFGRockRecipes(event) { }) // #endregion + + //#region Magma Blocks + event.remove({id: 'gtceu:compressor/magma_block'}) + event.remove({id: 'greate:splashing/obsidian'}) + + //magma block + stone group + const magma_blocks = [ + {magma: 'minecraft:magma_block', rock: 'minecraft:blackstone'}, + {magma: 'tfc:rock/magma/granite', rock: 'tfc:rock/raw/granite'}, + {magma: 'tfc:rock/magma/diorite', rock: 'tfc:rock/raw/diorite'}, + {magma: 'tfc:rock/magma/gabbro', rock: 'tfc:rock/raw/gabbro'}, + {magma: 'tfc:rock/magma/rhyolite', rock: 'tfc:rock/raw/rhyolite'}, + {magma: 'tfc:rock/magma/basalt', rock: 'tfc:rock/raw/basalt'}, + {magma: 'tfc:rock/magma/andesite', rock: 'tfc:rock/raw/andesite'}, + {magma: 'tfc:rock/magma/dacite', rock: 'tfc:rock/raw/dacite'} + ]; + + magma_blocks.forEach(block => { + + event.recipes.gtceu.fluid_solidifier(`tfg:gtceu/fluid_solidifier/${block.magma}`.replace(/:/g, '/')) + .itemInputs(`1x ${block.rock}`) + .inputFluids(Fluid.of('minecraft:lava', 250)) + .itemOutputs(`1x ${block.magma}`) + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.extractor(`tfg:gtceu/extractor/${block.magma}`.replace(/:/g, "/")) + .itemInputs(`1x ${block.magma}`) + .outputFluids(Fluid.of('minecraft:lava', 250)) + .itemOutputs(`1x ${block.rock}`) + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + }) + //#endregion } \ No newline at end of file From f2d98359de752dc1532b39d911d42e1cd1ae8f10 Mon Sep 17 00:00:00 2001 From: Redeix Date: Sun, 11 May 2025 23:22:38 -0500 Subject: [PATCH 11/13] - Added recipes for extracting/ forming magma blocks. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7dc3cad3..c765ed515 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - Fixed fishing nets behavior. (Redeix) - Added item to summon armor stands with arms. (Redeix) - Added recipes for emptying vessels and molds. (Redeix) +- Added recipes for extracting/ forming magma blocks. (Redeix) ## [0.9.5] - 08.05.2025 ### Changes From 1b3e4c98db263b0112c4ff6f9df0226761a3ef44 Mon Sep 17 00:00:00 2001 From: Redeix Date: Sun, 11 May 2025 23:33:00 -0500 Subject: [PATCH 12/13] - Nerfed steel support recipe output. --- CHANGELOG.md | 1 + kubejs/server_scripts/tfg/recipes.supports.js | 16 ++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c765ed515..a5e865ee0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - Added item to summon armor stands with arms. (Redeix) - Added recipes for emptying vessels and molds. (Redeix) - Added recipes for extracting/ forming magma blocks. (Redeix) +- Nerfed steel support recipe output. (Redeix) ## [0.9.5] - 08.05.2025 ### Changes diff --git a/kubejs/server_scripts/tfg/recipes.supports.js b/kubejs/server_scripts/tfg/recipes.supports.js index e600035d0..fc7bd1873 100644 --- a/kubejs/server_scripts/tfg/recipes.supports.js +++ b/kubejs/server_scripts/tfg/recipes.supports.js @@ -185,7 +185,7 @@ function registerTFGSupportRecipes(event) { .EUt(GTValues.VA[GTValues.ULV]) event.recipes.tfc.anvil( - '4x tfg:steel_support', + '1x tfg:steel_support', '#forge:double_ingots/steel', [ 'upset_last', @@ -196,7 +196,7 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.assembler('tfg:gtceu/assembler/steel_support') .circuit(4) - .itemOutputs('8x tfg:steel_support') + .itemOutputs('4x tfg:steel_support') .itemInputs('2x #forge:double_ingots/steel') .duration(100) .EUt(GTValues.VA[GTValues.ULV]) @@ -204,25 +204,25 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.macerator('tfg:macerator/recycling/steel_support') .itemInputs('tfg:steel_support') .itemOutputs( - ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Steel, 1) + ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Steel, 2) ) - .duration(GTMaterials.Steel.getMass() * 1) + .duration(GTMaterials.Steel.getMass() * 2) .category(GTRecipeCategories.MACERATOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/steel_support') .itemInputs('tfg:steel_support') .itemOutputs( - ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Steel, 2) + ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Steel, 4) ) - .duration(GTMaterials.Steel.getMass() * 1) + .duration(GTMaterials.Steel.getMass() * 4) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.extractor('tfg:extractor/recycling/steel_support') .itemInputs('tfg:steel_support') - .outputFluids(Fluid.of('gtceu:steel', 36)) - .duration(GTMaterials.Steel.getMass() * 1) + .outputFluids(Fluid.of('gtceu:steel', 64)) + .duration(GTMaterials.Steel.getMass() * 2) .category(GTRecipeCategories.EXTRACTOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]) } \ No newline at end of file From a2ed5209c21a5751f005db78b0c9a5a51a3b1fad Mon Sep 17 00:00:00 2001 From: Redeix Date: Tue, 13 May 2025 01:19:09 -0500 Subject: [PATCH 13/13] - Revert mold changes from #987 --- CHANGELOG.md | 1 - kubejs/server_scripts/tfg/recipes.molds.js | 25 +++++++++++----------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a5e865ee0..904dcac3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,6 @@ - Added aluminium, stainless steel, and titanium millstones (Pyritie) - Fixed fishing nets behavior. (Redeix) - Added item to summon armor stands with arms. (Redeix) -- Added recipes for emptying vessels and molds. (Redeix) - Added recipes for extracting/ forming magma blocks. (Redeix) - Nerfed steel support recipe output. (Redeix) diff --git a/kubejs/server_scripts/tfg/recipes.molds.js b/kubejs/server_scripts/tfg/recipes.molds.js index f387a16da..efe7da6f0 100644 --- a/kubejs/server_scripts/tfg/recipes.molds.js +++ b/kubejs/server_scripts/tfg/recipes.molds.js @@ -274,19 +274,20 @@ function registerTFGMoldRecipes(event) { .EUt(GTValues.VA[GTValues.LV]) }) - //craft mold to scrub nbt - const molds = Ingredient.of('#tfc:fired_molds').itemIds; + //TODO: Fix this code to respect full molds + // //craft mold to scrub nbt + // const molds = Ingredient.of('#tfc:fired_molds').itemIds; - molds.forEach(mold => { - event.shapeless(Item.of(mold), [mold]) - .id(`tfg:shapeless/mold_cleaning/${mold.replace(":", "/")}`); - }); + // molds.forEach(mold => { + // event.shapeless(Item.of(mold), [mold]) + // .id(`tfg:shapeless/mold_cleaning/${mold.replace(":", "/")}`); + // }); - //craft vessel to scrub nbt - const vessels = Ingredient.of('#tfc:fired_vessels').itemIds; + // //craft vessel to scrub nbt + // const vessels = Ingredient.of('#tfc:fired_vessels').itemIds; - vessels.forEach(vessel => { - event.shapeless(Item.of(vessel), [vessel]) - .id(`tfg:shapeless/vessel_cleaning/${vessel.replace(":", "/")}`); - }); + // vessels.forEach(vessel => { + // event.shapeless(Item.of(vessel), [vessel]) + // .id(`tfg:shapeless/vessel_cleaning/${vessel.replace(":", "/")}`); + // }); } \ No newline at end of file