From c2d392c7ac9cdf45ade7f5e4cf0706da2cbb5455 Mon Sep 17 00:00:00 2001 From: Sakura Date: Wed, 18 Mar 2026 19:30:29 +0200 Subject: [PATCH] Copycat Pressure Plates and Recycling (#3463) --- kubejs/server_scripts/create/recipes.js | 14 ++ .../server_scripts/create_copycats/recipes.js | 136 +++++++++++++----- .../create_copycats/constants.js | 2 - 3 files changed, 116 insertions(+), 36 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index fdef68334..63d2eb6c1 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -2395,6 +2395,20 @@ const registerCreateRecipes = (event) => { event.stonecutting("16x create:copycat_step", "#forge:ingots/zinc") event.stonecutting("16x create:copycat_panel", "#forge:ingots/zinc") + event.recipes.gtceu.extractor('tfg:create/copycat_step_recyle') + .itemInputs('create:copycat_step') + .outputFluids(Fluid.of('gtceu:zinc', 9)) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + + event.recipes.gtceu.extractor('tfg:create/copycat_panel_recyle') + .itemInputs('create:copycat_panel') + .outputFluids(Fluid.of('gtceu:zinc', 9)) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + const create_metals = [ { metal: 'andesite', material: 'tin_alloy', tier: 3 }, { metal: 'brass', material: 'brass', tier: 2 }, diff --git a/kubejs/server_scripts/create_copycats/recipes.js b/kubejs/server_scripts/create_copycats/recipes.js index 31605a7df..1390c0884 100644 --- a/kubejs/server_scripts/create_copycats/recipes.js +++ b/kubejs/server_scripts/create_copycats/recipes.js @@ -73,40 +73,72 @@ const registerCreateCopycatsRecipes = (event) => { B: '#forge:plates/zinc' }).id('tfg:copycats/shaped/copycat_fluid_pipe') - // Stonecutting - event.stonecutting("4x copycats:copycat_block", "#forge:ingots/zinc") - event.stonecutting("8x copycats:copycat_slab", "#forge:ingots/zinc") - event.stonecutting("4x copycats:copycat_stairs", "#forge:ingots/zinc") - event.stonecutting("4x copycats:copycat_vertical_stairs", "#forge:ingots/zinc") - event.stonecutting("4x copycats:copycat_fence", "#forge:ingots/zinc") - event.stonecutting("4x copycats:copycat_wall", "#forge:ingots/zinc") - event.stonecutting("16x copycats:copycat_vertical_step", "#forge:ingots/zinc") - event.stonecutting("16x copycats:copycat_beam", "#forge:ingots/zinc") - event.stonecutting("64x copycats:copycat_slice", "#forge:ingots/zinc") - event.stonecutting("64x copycats:copycat_vertical_slice", "#forge:ingots/zinc") - event.stonecutting("64x copycats:copycat_corner_slice", "#forge:ingots/zinc") - event.stonecutting("4x copycats:copycat_ghost_block", "#forge:ingots/zinc") - event.stonecutting("32x copycats:copycat_layer", "#forge:ingots/zinc") - event.stonecutting("32x copycats:copycat_half_panel", "#forge:ingots/zinc") - event.stonecutting("32x copycats:copycat_pane", "#forge:ingots/zinc") - event.stonecutting("32x copycats:copycat_flat_pane", "#forge:ingots/zinc") - event.stonecutting("32x copycats:copycat_byte", "#forge:ingots/zinc") - event.stonecutting("64x copycats:copycat_byte_panel", "#forge:ingots/zinc") - event.stonecutting("32x copycats:copycat_board", "#forge:ingots/zinc") - event.stonecutting("64x copycats:copycat_half_layer", "#forge:ingots/zinc") - event.stonecutting("64x copycats:copycat_vertical_half_layer", "#forge:ingots/zinc") - event.stonecutting("64x copycats:copycat_stacked_half_layer", "#forge:ingots/zinc") - event.stonecutting("8x copycats:copycat_slope", "#forge:ingots/zinc") - event.stonecutting("8x copycats:copycat_vertical_slope", "#forge:ingots/zinc") - event.stonecutting("32x copycats:copycat_slope_layer", "#forge:ingots/zinc") - event.stonecutting("copycats:copycat_door", "#forge:ingots/zinc") - event.stonecutting("copycats:copycat_sliding_door", "#forge:ingots/zinc") - event.stonecutting("copycats:copycat_folding_door", "#forge:ingots/zinc") - event.stonecutting("copycats:copycat_trapdoor", "#forge:ingots/zinc") - event.stonecutting("4x copycats:copycat_fence_gate", "#forge:ingots/zinc") - event.stonecutting("24x copycats:copycat_ladder", "#forge:ingots/zinc") + event.shaped('copycats:copycat_wooden_pressure_plate', [ + ' A ', + 'ABA', + ' A ' + ], { + A: 'copycats:copycat_block', + B: '#minecraft:wooden_pressure_plates' + }).id('tfg:copycats/shaped/copycat_wooden_pressure_plate') - // GT Assembler + event.shaped('copycats:copycat_stone_pressure_plate', [ + ' A ', + 'ABA', + ' A ' + ], { + A: 'copycats:copycat_block', + B: '#minecraft:stone_pressure_plates' + }).id('tfg:copycats/shaped/copycat_stone_pressure_plate') + + const COPYCAT_DATA = [ + { id: 'copycat_block', multiplier: '4', extract_count: '1' }, + { id: 'copycat_slab', multiplier: '8', extract_count: '1' }, + { id: 'copycat_stairs', multiplier: '4', extract_count: '1' }, + { id: 'copycat_vertical_stairs', multiplier: '4', extract_count: '1' }, + { id: 'copycat_fence', multiplier: '4', extract_count: '1' }, + { id: 'copycat_wall', multiplier: '4', extract_count: '1' }, + { id: 'copycat_vertical_step', multiplier: '16', extract_count: '1' }, + { id: 'copycat_beam', multiplier: '16', extract_count: '1' }, + { id: 'copycat_slice', multiplier: '64', extract_count: '4' }, + { id: 'copycat_vertical_slice', multiplier: '64', extract_count: '4' }, + { id: 'copycat_corner_slice', multiplier: '64', extract_count: '4' }, + { id: 'copycat_ghost_block', multiplier: '4', extract_count: '1' }, + { id: 'copycat_layer', multiplier: '32', extract_count: '2' }, + { id: 'copycat_half_panel', multiplier: '32', extract_count: '2' }, + { id: 'copycat_pane', multiplier: '32', extract_count: '2' }, + { id: 'copycat_flat_pane', multiplier: '32', extract_count: '2' }, + { id: 'copycat_byte', multiplier: '32', extract_count: '2' }, + { id: 'copycat_byte_panel', multiplier: '64', extract_count: '4' }, + { id: 'copycat_board', multiplier: '32', extract_count: '2' }, + { id: 'copycat_half_layer', multiplier: '64', extract_count: '4' }, + { id: 'copycat_vertical_half_layer', multiplier: '64', extract_count: '4' }, + { id: 'copycat_stacked_half_layer', multiplier: '64', extract_count: '4' }, + { id: 'copycat_slope', multiplier: '8', extract_count: '1' }, + { id: 'copycat_vertical_slope', multiplier: '8', extract_count: '1' }, + { id: 'copycat_slope_layer', multiplier: '32', extract_count: '2' }, + { id: 'copycat_door', multiplier: '1', extract_count: '1' }, + { id: 'copycat_sliding_door', multiplier: '1', extract_count: '1' }, + { id: 'copycat_folding_door', multiplier: '1', extract_count: '1' }, + { id: 'copycat_trapdoor', multiplier: '1', extract_count: '1' }, + { id: 'copycat_fence_gate', multiplier: '4', extract_count: '1' }, + { id: 'copycat_ladder', multiplier: '24', extract_count: '1' } + ] + + COPYCAT_DATA.forEach(copycat => { + // Stonecutter Recipes + event.stonecutting(`${copycat.multiplier}x copycats:${copycat.id}`, "#forge:ingots/zinc") + + // Recycling Recipes + event.recipes.gtceu.extractor(`tfg:copycats/${copycat.id}_recyle`) + .itemInputs(`${copycat.extract_count}x copycats:${copycat.id}`) + .outputFluids(Fluid.of('gtceu:zinc', 144 / copycat.multiplier * copycat.extract_count)) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + }) + + // Copycat Fluid Pipe Assembler event.recipes.gtceu.assembler('tfg:copycats/copycat_fluid_pipe') .itemInputs('2x #forge:plates/zinc') .circuit(3) @@ -114,4 +146,40 @@ const registerCreateCopycatsRecipes = (event) => { .duration(200) .EUt(20) .addMaterialInfo(true) -} + + // Other Recycling Recipes + event.recipes.gtceu.extractor('tfg:copycats/copycat_catwalk_recyle') + .itemInputs('2x copycats:copycat_catwalk') + .outputFluids(Fluid.of('gtceu:zinc', 27)) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + + event.recipes.gtceu.extractor('tfg:copycats/copycat_box_recyle') + .itemInputs('copycats:copycat_box') + .outputFluids(Fluid.of('gtceu:zinc', 27)) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + + event.recipes.gtceu.extractor('tfg:copycats/copycat_fluid_pipe_recyle') + .itemInputs('copycats:copycat_fluid_pipe') + .outputFluids(Fluid.of('gtceu:zinc', 288)) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + + event.recipes.gtceu.extractor('tfg:copycats/copycat_wooden_pressure_plate_recyle') + .itemInputs('copycats:copycat_wooden_pressure_plate') + .outputFluids(Fluid.of('gtceu:zinc', 144)) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + + event.recipes.gtceu.extractor('tfg:copycats/copycat_stone_pressure_plate_recyle') + .itemInputs('copycats:copycat_stone_pressure_plate') + .outputFluids(Fluid.of('gtceu:zinc', 144)) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/create_copycats/constants.js b/kubejs/startup_scripts/create_copycats/constants.js index 589228e48..ac849bc65 100644 --- a/kubejs/startup_scripts/create_copycats/constants.js +++ b/kubejs/startup_scripts/create_copycats/constants.js @@ -6,8 +6,6 @@ global.CREATE_COPYCATS_DISABLED_ITEMS = [ 'copycats:copycat_iron_trapdoor', 'copycats:copycat_wooden_button', 'copycats:copycat_stone_button', - 'copycats:copycat_wooden_pressure_plate', - 'copycats:copycat_stone_pressure_plate', 'copycats:copycat_light_weighted_pressure_plate', 'copycats:copycat_heavy_weighted_pressure_plate', 'copycats:copycat_shaft',