From fb87520e22c480522376bd97c9dc92f9f13f29a7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 13:11:12 +0000 Subject: [PATCH] fix concrete dupe #2948, fix other stone recycling recipes --- CHANGELOG.md | 1 + .../gregtech/recipes.removes.js | 51 ++++++++----------- .../tfg/natural_blocks/recipes.concrete.js | 18 ------- .../tfg/natural_blocks/recipes.rocks.js | 2 +- .../tfg/natural_blocks/tags.stones.js | 2 +- .../tfg/primitive/recipes.supports.js | 34 ++++++++++--- 6 files changed, 50 insertions(+), 58 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab5a5667f..4c9dc8df3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -76,6 +76,7 @@ - Fixed RNR roofs not having mineable tags, and blocked the stair/slab frame from Additional Placements (#2870) @Pyritie - Fixed piglin brutes not dropping meat or bones @Pyritie - Fixed not being able to put rings, wrench tips, screwdriver tips, buzzsaw blades, or wire cutter tips in a crucible (#2913) @Pyritie +- Fixed a concrete dupe (#2948) and some other stone-related recycling recipes @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index b09204936..c218a3c6e 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -33,16 +33,6 @@ function removeGTCEURecipes(event) { removeMaceratorRecipe(event, 'macerate_red_sandstone_slab') removeMaceratorRecipe(event, 'macerate_cobblestone_slab') - removeMaceratorRecipe(event, 'macerate_granite') - removeMaceratorRecipe(event, 'macerate_polished_granite'); - removeMaceratorRecipe(event, 'macerate_granite_wall'); - removeMaceratorRecipe(event, 'macerate_diorite'); - removeMaceratorRecipe(event, 'macerate_polished_diorite'); - removeMaceratorRecipe(event, 'macerate_diorite_wall'); - removeMaceratorRecipe(event, 'macerate_andesite'); - removeMaceratorRecipe(event, 'macerate_polished_andesite'); - removeMaceratorRecipe(event, 'macerate_andesite_wall'); - event.remove({ id: 'gtceu:shaped/stone_hammer' }) event.remove({ id: 'gtceu:mixer/mossy_cobblestone_from_moss_block' }) event.remove({ id: 'greate:mixing/integration/gtceu/mixer/mossy_cobblestone_from_moss_block' }) @@ -122,18 +112,18 @@ function removeGTCEURecipes(event) { removeCutterRecipe(event, 'cut_deepslate_tile_into_slab_water') removeCutterRecipe(event, 'cut_deepslate_tile_into_slab_distilled_water') - removeMaceratorRecipe(event, 'macerate_deepslate') event.remove({ id: 'gtceu:rock_breaker/deepslate' }) - removeMaceratorRecipe(event, 'macerate_deepslate_wall'); - removeMaceratorRecipe(event, 'macerate_polished_deepslate'); - removeMaceratorRecipe(event, 'macerate_cobbled_deepslate'); - removeMaceratorRecipe(event, 'macerate_cobbled_deepslate_wall'); - removeMaceratorRecipe(event, 'macerate_chiseled_deepslate'); - removeMaceratorRecipe(event, 'macerate_polished_deepslate_wall'); - removeMaceratorRecipe(event, 'macerate_deepslate_bricks'); - removeMaceratorRecipe(event, 'macerate_deepslate_brick_wall'); - removeMaceratorRecipe(event, 'macerate_deepslate_tiles'); - removeMaceratorRecipe(event, 'macerate_deepslate_tile_wall'); + TFGHelpers.clearMaterialInfo('minecraft:deepslate') + TFGHelpers.clearMaterialInfo('minecraft:deepslate_wall'); + TFGHelpers.clearMaterialInfo('minecraft:polished_deepslate'); + TFGHelpers.clearMaterialInfo('minecraft:cobbled_deepslate'); + TFGHelpers.clearMaterialInfo('minecraft:cobbled_deepslate_wall'); + TFGHelpers.clearMaterialInfo('minecraft:chiseled_deepslate'); + TFGHelpers.clearMaterialInfo('minecraft:polished_deepslate_wall'); + TFGHelpers.clearMaterialInfo('minecraft:deepslate_bricks'); + TFGHelpers.clearMaterialInfo('minecraft:deepslate_brick_wall'); + TFGHelpers.clearMaterialInfo('minecraft:deepslate_tiles'); + TFGHelpers.clearMaterialInfo('minecraft:deepslate_tile_wall'); // #endregion @@ -178,13 +168,14 @@ function removeGTCEURecipes(event) { removeCutterRecipe(event, 'cut_polished_blackstone_brick_into_slab_distilled_water') event.remove({ id: 'gtceu:rock_breaker/blackstone' }) - removeMaceratorRecipe(event, 'macerate_blackstone'); - removeMaceratorRecipe(event, 'macerate_polished_blackstone'); - removeMaceratorRecipe(event, 'macerate_polished_blackstone_bricks'); - removeMaceratorRecipe(event, 'macerate_chiseled_polished_blackstone'); - removeMaceratorRecipe(event, 'macerate_blackstone_wall'); - removeMaceratorRecipe(event, 'macerate_polished_blackstone_wall'); - removeMaceratorRecipe(event, 'macerate_blackstone_brick_wall'); + TFGHelpers.clearMaterialInfo('minecraft:blackstone'); + TFGHelpers.clearMaterialInfo('minecraft:polished_blackstone'); + TFGHelpers.clearMaterialInfo('minecraft:polished_blackstone_bricks'); + TFGHelpers.clearMaterialInfo('minecraft:polished_blackstone_brick_wall'); + TFGHelpers.clearMaterialInfo('minecraft:chiseled_polished_blackstone'); + TFGHelpers.clearMaterialInfo('minecraft:blackstone_wall'); + TFGHelpers.clearMaterialInfo('minecraft:polished_blackstone_wall'); + TFGHelpers.clearMaterialInfo('minecraft:blackstone_brick_wall'); // #endregion @@ -498,8 +489,8 @@ function removeGTCEURecipes(event) { //#region Выход: Пыль базальта - removeMaceratorRecipe(event, 'macerate_basalt') - removeMaceratorRecipe(event, 'macerate_polished_basalt'); + TFGHelpers.clearMaterialInfo('minecraft:basalt') + TFGHelpers.clearMaterialInfo('minecraft:polished_basalt'); //#endregion diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js index fe60118ed..1fe0048ff 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js @@ -87,29 +87,11 @@ function registerTFGConcreteRecipes(event) { .outputItem('gtceu:light_concrete') .id('tfg:barrel/light_concrete') - event.recipes.tfc.barrel_sealed(1000) - .inputFluid(Fluid.of('gtceu:concrete', 96)) - .inputItem('tfg:rebar_support') - .outputItem('tfg:reinforced_light_concrete_support') - .id('tfg:barrel/reinforced_light_concrete_support') - event.recipes.tfc.barrel_sealed(500) .inputItem('gtceu:light_concrete') .inputFluid(Fluid.of('tfc:black_dye', 18)) .outputItem('gtceu:dark_concrete') .id('tfg:barrel/dark_concrete') - - event.recipes.tfc.barrel_sealed(500) - .inputItem('tfg:light_concrete_support') - .inputFluid(Fluid.of('tfc:black_dye', 10)) - .outputItem('tfg:dark_concrete_support') - .id('tfg:barrel/dark_concrete_support') - - event.recipes.tfc.barrel_sealed(500) - .inputItem('tfg:reinforced_light_concrete_support') - .inputFluid(Fluid.of('tfc:black_dye', 10)) - .outputItem('tfg:reinforced_dark_concrete_support') - .id('tfg:barrel/reinforced_dark_concrete_support') // Titanium concrete event.recipes.gtceu.assembler('tfg:titanium_concrete') diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 262c47dd9..e81bcb904 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -562,7 +562,7 @@ function registerTFGRockRecipes(event) { let half = Ingredient.of(`#tfg:stone_composition/${compositionId}_half`).itemIds.toArray(); if (half.length > 0) { event.recipes.gtceu.macerator(`tfg:macerate_${compositionId}_half`) - .itemInputs(half) + .itemInputs(`#tfg:stone_composition/${compositionId}_half`) .itemOutputs(ChemicalHelper.getDust(material, GTValues.M / 2)) .duration(150) .EUt(2) diff --git a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js index e94ffb1f9..fdc774c8b 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js +++ b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js @@ -10,7 +10,7 @@ function registerTFGStoneItemTags(event) { function addToMaterialTag(material, block) { if (material != null) { - if (block.endsWith('_slab') || block.endsWith('_wall')) { + if (block.endsWith('_slab') || block.endsWith('_wall') || block.endsWith('_support')) { event.add(`tfg:stone_composition/${material}_half`, block); } else { diff --git a/kubejs/server_scripts/tfg/primitive/recipes.supports.js b/kubejs/server_scripts/tfg/primitive/recipes.supports.js index e86cba890..08d9b09fe 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.supports.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.supports.js @@ -8,14 +8,14 @@ function registerTFGSupportRecipes(event) { // Concrete Supports event.recipes.gtceu.fluid_solidifier('tfg:gtceu/fluid_solidifier/reinforced_light_concrete_support') - .inputFluids(Fluid.of('gtceu:concrete', 96)) + .inputFluids(Fluid.of('gtceu:concrete', 144 / 2)) .itemOutputs('1x tfg:reinforced_light_concrete_support') .itemInputs('1x tfg:rebar_support') .duration(60) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.assembler('tfg:gtceu/assembler/reinforced_light_concrete_support') - .inputFluids(Fluid.of('gtceu:concrete', 96)) + .inputFluids(Fluid.of('gtceu:concrete', 144 / 2)) .itemOutputs('1x tfg:reinforced_light_concrete_support') .itemInputs('1x tfg:rebar_support') .duration(120) @@ -23,7 +23,7 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.macerator(`reinforced_light_concrete_support_to_dust`) .itemInputs('tfg:reinforced_light_concrete_support') - .itemOutputs('gtceu:tiny_steel_dust') + .itemOutputs('2x gtceu:small_concrete_dust', 'gtceu:tiny_steel_dust') .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING); @@ -44,13 +44,13 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.macerator(`reinforced_dark_concrete_support_to_dust`) .itemInputs('tfg:reinforced_dark_concrete_support') - .itemOutputs('gtceu:tiny_steel_dust') + .itemOutputs('2x gtceu:small_concrete_dust', 'gtceu:tiny_steel_dust') .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING); event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('8x tfg:light_concrete_support', [ + event.shaped('6x tfg:light_concrete_support', [ 'AB ', 'AC ', 'AC ' @@ -63,13 +63,13 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.assembler('tfg:gtceu/assembler/light_concrete_support') .circuit(11) .inputFluids(Fluid.of('gtceu:concrete', 36)) - .itemOutputs('8x tfg:light_concrete_support') + .itemOutputs('6x tfg:light_concrete_support') .itemInputs('3x gtceu:light_concrete') .duration(40) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('8x tfg:dark_concrete_support', [ + event.shaped('6x tfg:dark_concrete_support', [ 'AB ', 'AC ', 'AC ' @@ -82,11 +82,29 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.assembler('tfg:gtceu/assembler/dark_concrete_support') .circuit(11) .inputFluids(Fluid.of('gtceu:concrete', 36)) - .itemOutputs('8x tfg:dark_concrete_support') + .itemOutputs('6x tfg:dark_concrete_support') .itemInputs('3x gtceu:dark_concrete') .duration(40) .EUt(GTValues.VA[GTValues.ULV]) + event.recipes.tfc.barrel_sealed(1000) + .inputFluid(Fluid.of('gtceu:concrete', 96)) + .inputItem('tfg:rebar_support') + .outputItem('tfg:reinforced_light_concrete_support') + .id('tfg:barrel/reinforced_light_concrete_support') + + event.recipes.tfc.barrel_sealed(500) + .inputItem('tfg:light_concrete_support') + .inputFluid(Fluid.of('tfc:black_dye', 10)) + .outputItem('tfg:dark_concrete_support') + .id('tfg:barrel/dark_concrete_support') + + event.recipes.tfc.barrel_sealed(500) + .inputItem('tfg:reinforced_light_concrete_support') + .inputFluid(Fluid.of('tfc:black_dye', 10)) + .outputItem('tfg:reinforced_dark_concrete_support') + .id('tfg:barrel/reinforced_dark_concrete_support') + // Stone supports are in recipes.rocks.js // Metal Supports