Merge branch 'dev' of https://github.com/TerraFirmaGreg-Team/Modpack-Modern into dev
This commit is contained in:
@@ -2329,9 +2329,15 @@ const registerAE2Recipes = (event) => {
|
||||
E: 'ae2:silicon_press'
|
||||
}).id('tfg:shaped/not_so_mysterious_cube')
|
||||
|
||||
event.recipes.gtceu.macerator('sky_stone')
|
||||
event.recipes.gtceu.macerator('tfg:sky_stone')
|
||||
.itemInputs('#tfg:stone_types/suevite')
|
||||
.itemOutputs('ae2:sky_dust')
|
||||
.EUt(2)
|
||||
.duration(100)
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:sky_stone_slab')
|
||||
.itemInputs('2x #tfg:stone_types/suevite')
|
||||
.itemOutputs('ae2:sky_dust')
|
||||
.EUt(2)
|
||||
.duration(100)
|
||||
}
|
||||
|
||||
@@ -14,6 +14,9 @@ const registerAE2ItemTags = (event) => {
|
||||
event.removeAll('ae2:p2p_attunements/fe_p2p_tunnel')
|
||||
|
||||
event.add('tfg:stone_dusts', 'ae2:sky_dust')
|
||||
event.add('tfg:stone_types/suevite', 'ae2:sky_stone_block')
|
||||
event.add('tfg:stone_types/suevite', 'ae2:sky_stone_stairs')
|
||||
event.add('tfg:stone_types/suevite', 'ae2:sky_stone_wall')
|
||||
|
||||
event.add('tfg:reactant_fluix_ruby', 'gtceu:ruby_gem')
|
||||
event.add('tfg:reactant_fluix_ruby', 'gtceu:armalcolite_gem')
|
||||
|
||||
@@ -50,7 +50,7 @@ const registerCreateRecipes = (event) => {
|
||||
{ id: 'create:crafting/logistics/stock_ticker_clear'},
|
||||
{ id: 'create:crafting/logistics/factory_gauge_clear'},
|
||||
{ output: '#create:table_cloths'}, // Gotta do this to not purge the table cloth reset recipes
|
||||
{ type: 'minecraft:stonecutting' }
|
||||
//{ type: 'minecraft:stonecutting' }
|
||||
], mod: 'create'
|
||||
})
|
||||
// Make Bound Cardboard craftable with all string
|
||||
@@ -1886,14 +1886,14 @@ const registerCreateRecipes = (event) => {
|
||||
], {
|
||||
A: 'create:precision_mechanism',
|
||||
C: '#forge:screws/aluminium',
|
||||
D: 'gtceu:diode',
|
||||
D: '#gtceu:diodes',
|
||||
E: '#gtceu:circuits/lv',
|
||||
F: '#forge:plates/rose_quartz',
|
||||
G: '#forge:tools/wrenches'
|
||||
}).id('tfg:create/shaped/factory_gauge')
|
||||
|
||||
event.recipes.gtceu.assembler('create:factory_gauge')
|
||||
.itemInputs('create:precision_mechanism', '2x gtceu:diode', '#forge:small_gears/red_alloy', '#gtceu:circuits/lv', '3x #forge:plates/rose_quartz')
|
||||
.itemInputs('create:precision_mechanism', '2x #forge:screws/aluminium', '#gtceu:diodes', '3x #forge:plates/rose_quartz', '#gtceu:circuits/lv')
|
||||
.itemOutputs('create:factory_gauge')
|
||||
.duration(150)
|
||||
.EUt(16)
|
||||
@@ -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 },
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
@@ -49,15 +49,15 @@ function registerCreateFactoryLogisticsRecipes(event) {
|
||||
'FGF'
|
||||
], {
|
||||
A: 'create_factory_logistics:fluid_mechanism',
|
||||
C: 'gtceu:diode',
|
||||
D: '#forge:small_gears/red_alloy',
|
||||
C: '#forge:screws/aluminium',
|
||||
D: '#gtceu:diodes',
|
||||
E: '#gtceu:circuits/lv',
|
||||
F: '#forge:plates/rose_quartz',
|
||||
G: '#forge:tools/wrenches'
|
||||
}).id('create_factory_logistics:shaped/factory_fluid_gauge')
|
||||
|
||||
event.recipes.gtceu.assembler('create_factory_logistics:factory_fluid_gauge')
|
||||
.itemInputs('create_factory_logistics:fluid_mechanism', '2x gtceu:diode', '#forge:small_gears/red_alloy', '#gtceu:circuits/lv', '3x #forge:plates/rose_quartz')
|
||||
.itemInputs('create_factory_logistics:fluid_mechanism', '2x #forge:screws/aluminium', '#gtceu:diodes', '3x #forge:plates/rose_quartz', '#gtceu:circuits/lv')
|
||||
.itemOutputs('create_factory_logistics:factory_fluid_gauge')
|
||||
.duration(150)
|
||||
.EUt(16)
|
||||
|
||||
@@ -4,67 +4,80 @@ const metalBars = /** @type {const} */ (["andesite", "brass", "iron", "copper",
|
||||
|
||||
/** @param {TagEvent.Item} event */
|
||||
function registerCreateDecoItemTags(event) {
|
||||
global.CREATEDECO_DISABLED_ITEMS.forEach((item) => {
|
||||
event.removeAllTagsFrom(item);
|
||||
event.add("c:hidden_from_recipe_viewers", item);
|
||||
});
|
||||
global.CREATEDECO_DISABLED_ITEMS.forEach((item) => {
|
||||
event.removeAllTagsFrom(item);
|
||||
event.add("c:hidden_from_recipe_viewers", item);
|
||||
});
|
||||
|
||||
event.remove("createdeco:internal/blocks/iron_blocks", "minecraft:iron_block");
|
||||
event.remove("createdeco:internal/blocks/industrial_iron_blocks", "create:industrial_iron_block");
|
||||
event.remove("createdeco:internal/blocks/iron_blocks", "minecraft:iron_block");
|
||||
event.remove("createdeco:internal/blocks/industrial_iron_blocks", "create:industrial_iron_block");
|
||||
|
||||
metalBars.forEach((metalBars) => {
|
||||
event.add("tfg:metal_bars", `createdeco:${metalBars}_bars`);
|
||||
event.add("tfg:metal_bars", `createdeco:${metalBars}_bars_overlay`);
|
||||
});
|
||||
metalBars.forEach((metalBars) => {
|
||||
event.add("tfg:metal_bars", `createdeco:${metalBars}_bars`);
|
||||
event.add("tfg:metal_bars", `createdeco:${metalBars}_bars_overlay`);
|
||||
});
|
||||
|
||||
event.add("createdeco:metal_trapdoors", "createdeco:andesite_trapdoor");
|
||||
event.add("createdeco:metal_trapdoors", "createdeco:brass_trapdoor");
|
||||
event.add("createdeco:metal_trapdoors", "createdeco:copper_trapdoor");
|
||||
event.add("createdeco:metal_trapdoors", "createdeco:industrial_iron_trapdoor");
|
||||
event.add("createdeco:metal_trapdoors", "createdeco:zinc_trapdoor");
|
||||
event.add("createdeco:metal_trapdoors", "createdeco:andesite_trapdoor");
|
||||
event.add("createdeco:metal_trapdoors", "createdeco:brass_trapdoor");
|
||||
event.add("createdeco:metal_trapdoors", "createdeco:copper_trapdoor");
|
||||
event.add("createdeco:metal_trapdoors", "createdeco:industrial_iron_trapdoor");
|
||||
event.add("createdeco:metal_trapdoors", "createdeco:zinc_trapdoor");
|
||||
|
||||
event.add("createdeco:internal/plates/iron_plates", "#forge:plates/wrought_iron");
|
||||
event.add("createdeco:internal/plates/copper_plates", "#forge:plates/copper");
|
||||
event.add("createdeco:internal/plates/brass_plates", "#forge:plates/brass");
|
||||
event.add("createdeco:internal/plates/andesite_plates", "#forge:plates/tin_alloy");
|
||||
event.add("createdeco:internal/plates/industrial_iron_plates", "#forge:sheets/steel");
|
||||
event.add("createdeco:internal/plates/zinc_plates", "#forge:sheets/zinc");
|
||||
event.add("createdeco:internal/plates/iron_plates", "#forge:plates/wrought_iron");
|
||||
event.add("createdeco:internal/plates/copper_plates", "#forge:plates/copper");
|
||||
event.add("createdeco:internal/plates/brass_plates", "#forge:plates/brass");
|
||||
event.add("createdeco:internal/plates/andesite_plates", "#forge:plates/tin_alloy");
|
||||
event.add("createdeco:internal/plates/industrial_iron_plates", "#forge:sheets/steel");
|
||||
event.add("createdeco:internal/plates/zinc_plates", "#forge:sheets/zinc");
|
||||
|
||||
event.add("createdeco:internal/nuggets/iron_nuggets", "#forge:nuggets/wrought_iron");
|
||||
event.add("createdeco:internal/nuggets/copper_nuggets", "#forge:nuggets/copper");
|
||||
event.add("createdeco:internal/nuggets/zinc_nuggets", "#forge:nuggets/zinc");
|
||||
event.add("createdeco:internal/nuggets/industrial_iron_nuggets", "#forge:nuggets/steel");
|
||||
event.add("createdeco:internal/nuggets/brass_nuggets", "#forge:nuggets/brass");
|
||||
event.add("createdeco:internal/nuggets/copper_nuggets", "#forge:nuggets/copper");
|
||||
event.add("createdeco:internal/nuggets/iron_nuggets", "#forge:nuggets/wrought_iron");
|
||||
event.add("createdeco:internal/nuggets/copper_nuggets", "#forge:nuggets/copper");
|
||||
event.add("createdeco:internal/nuggets/zinc_nuggets", "#forge:nuggets/zinc");
|
||||
event.add("createdeco:internal/nuggets/industrial_iron_nuggets", "#forge:nuggets/steel");
|
||||
event.add("createdeco:internal/nuggets/brass_nuggets", "#forge:nuggets/brass");
|
||||
event.add("createdeco:internal/nuggets/copper_nuggets", "#forge:nuggets/copper");
|
||||
|
||||
event.add("createdeco:internal/ingots/iron_ingots", "#forge:ingots/wrought_iron");
|
||||
event.add("createdeco:internal/ingots/copper_ingots", "#forge:ingots/copper");
|
||||
event.add("createdeco:internal/ingots/brass_ingots", "#forge:ingots/brass");
|
||||
event.add("createdeco:internal/ingots/zinc_ingots", "#forge:ingots/zinc");
|
||||
event.add("createdeco:internal/ingots/andesite_ingots", "#forge:ingots/tin_alloy");
|
||||
event.add("createdeco:internal/ingots/industrial_iron_ingots", `#forge:ingots/steel`);
|
||||
event.add("createdeco:internal/ingots/iron_ingots", "#forge:ingots/wrought_iron");
|
||||
event.add("createdeco:internal/ingots/copper_ingots", "#forge:ingots/copper");
|
||||
event.add("createdeco:internal/ingots/brass_ingots", "#forge:ingots/brass");
|
||||
event.add("createdeco:internal/ingots/zinc_ingots", "#forge:ingots/zinc");
|
||||
event.add("createdeco:internal/ingots/andesite_ingots", "#forge:ingots/tin_alloy");
|
||||
event.add("createdeco:internal/ingots/industrial_iron_ingots", `#forge:ingots/steel`);
|
||||
|
||||
event.add("createdeco:internal/blocks/iron_blocks", "#forge:storage_blocks/wrought_iron");
|
||||
event.add("createdeco:internal/blocks/copper", "#forge:storage_blocks/copper");
|
||||
event.add("createdeco:internal/blocks/brass_blocks", "#forge:storage_blocks/brass");
|
||||
event.add("createdeco:internal/blocks/industrial_iron_blocks", "#forge:storage_blocks/steel");
|
||||
event.add("createdeco:internal/blocks/zinc_blocks", "#forge:storage_blocks/zinc");
|
||||
event.add("createdeco:internal/blocks/andesite_blocks", "#forge:storage_blocks/tin_alloy");
|
||||
event.add("createdeco:internal/blocks/iron_blocks", "#forge:storage_blocks/wrought_iron");
|
||||
event.add("createdeco:internal/blocks/copper", "#forge:storage_blocks/copper");
|
||||
event.add("createdeco:internal/blocks/brass_blocks", "#forge:storage_blocks/brass");
|
||||
event.add("createdeco:internal/blocks/industrial_iron_blocks", "#forge:storage_blocks/steel");
|
||||
event.add("createdeco:internal/blocks/zinc_blocks", "#forge:storage_blocks/zinc");
|
||||
event.add("createdeco:internal/blocks/andesite_blocks", "#forge:storage_blocks/tin_alloy");
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach((color) => {
|
||||
event.add("createdeco:shipping_containers", `createdeco:${color}_shipping_container`);
|
||||
});
|
||||
global.MINECRAFT_DYE_NAMES.forEach((color) => {
|
||||
event.add("createdeco:shipping_containers", `createdeco:${color}_shipping_container`);
|
||||
});
|
||||
|
||||
global.CREATE_DECO_GLASS_PANES.forEach(pane => {
|
||||
event.add("forge:glass_panes", pane)
|
||||
})
|
||||
global.CREATE_DECO_GLASS_PANES.forEach(pane => {
|
||||
event.add("forge:glass_panes", pane)
|
||||
})
|
||||
}
|
||||
|
||||
/** @param {TagEvent.Block} event */
|
||||
function registerCreateDecoBlockTags(event) {
|
||||
metalBars.forEach((metalBars) => {
|
||||
// The bars are missing mineable tags for some reason
|
||||
event.add("minecraft:mineable/pickaxe", `createdeco:${metalBars}_bars`);
|
||||
event.add("minecraft:mineable/pickaxe", `createdeco:${metalBars}_bars_overlay`);
|
||||
});
|
||||
metalBars.forEach((metalBars) => {
|
||||
// The bars are missing mineable tags for some reason
|
||||
event.add("minecraft:mineable/pickaxe", `createdeco:${metalBars}_bars`);
|
||||
event.add("minecraft:mineable/pickaxe", `createdeco:${metalBars}_bars_overlay`);
|
||||
});
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach((color) => {
|
||||
event.add("createdeco:chest_mounted_storage", `createdeco:${color}_shipping_container`);
|
||||
});
|
||||
|
||||
const lampColors = ['blue', 'green', 'red', 'yellow'];
|
||||
const lampTypes = ['zinc', 'brass', 'iron', 'industrial_iron', 'copper', 'andesite'];
|
||||
|
||||
lampTypes.forEach(type => {
|
||||
lampColors.forEach(color => {
|
||||
event.add('gtceu:mineable/pickaxe_or_wrench', `createdeco:${color}_${type}_lamp`);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -35,13 +35,21 @@ function registerDiggerHelmetRecipes(event) {
|
||||
C: '#forge:foils/rubber'
|
||||
}).id('tfg:shaped/auto_drink_modifier_rubber')
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless('diggerhelmet:silk_lining', ['tfcambiental:silk_cowl', '#forge:string', '#tfc:sewing_needles'])
|
||||
).id('tfg:shapeless/diggerhelmet/silk_lining')
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless('diggerhelmet:wool_lining', ['tfcambiental:wool_hat', '#forge:string', '#tfc:sewing_needles'])
|
||||
).id('tfg:shapeless/diggerhelmet/wool_lining')
|
||||
event.shapeless('diggerhelmet:silk_lining', [
|
||||
'tfcambiental:silk_cowl',
|
||||
'#forge:string',
|
||||
'#tfc:sewing_needles'
|
||||
])
|
||||
.damageIngredient('#tfc:sewing_needles', 1)
|
||||
.id('tfg:shapeless/diggerhelmet/silk_lining');
|
||||
|
||||
event.shapeless('diggerhelmet:wool_lining', [
|
||||
'tfcambiental:wool_hat',
|
||||
'#forge:string',
|
||||
'#tfc:sewing_needles'
|
||||
])
|
||||
.damageIngredient('#tfc:sewing_needles', 1)
|
||||
.id('tfg:shapeless/diggerhelmet/wool_lining');
|
||||
|
||||
|
||||
// ========================================
|
||||
@@ -96,18 +104,15 @@ function registerDiggerHelmetRecipes(event) {
|
||||
type: 'diggerhelmet:helmet_repair',
|
||||
pattern: [
|
||||
' C ',
|
||||
'RHT',
|
||||
'BAB'
|
||||
'RHT'
|
||||
],
|
||||
key: {
|
||||
'H': { item: `diggerhelmet:${metal}_digger_helmet` },
|
||||
'R': { tag: `forge:plates/${metal}` },
|
||||
'R': ChemicalHelper.get(TFGTagPrefix.repairKit, TFGHelpers.getMaterial(metal), 1),
|
||||
'T': { tag: 'tfc:hammers' },
|
||||
'C': { tag: 'tfc:candles' },
|
||||
'A': { tag: 'forge:tools/screwdrivers'},
|
||||
'B': { tag: `forge:screws/${metal}`}
|
||||
'C': { tag: 'tfc:candles' }
|
||||
},
|
||||
repairPercentage: 0.75,
|
||||
repairPercentage: 0.25,
|
||||
toolDamagePercentage: 0.01
|
||||
}).id(`tfg:diggerhelmet/repair_${metal}_helmet`)
|
||||
|
||||
@@ -116,18 +121,15 @@ function registerDiggerHelmetRecipes(event) {
|
||||
type: 'diggerhelmet:helmet_repair',
|
||||
pattern: [
|
||||
' C ',
|
||||
'RHT',
|
||||
'BAB'
|
||||
'RHT'
|
||||
],
|
||||
key: {
|
||||
'H': { item: `diggerhelmet:broken_${metal}_digger_helmet` },
|
||||
'R': { tag: `forge:plates/${metal}` },
|
||||
'R': ChemicalHelper.get(TFGTagPrefix.repairKit, TFGHelpers.getMaterial(metal), 1),
|
||||
'T': { tag: 'tfc:hammers' },
|
||||
'C': { tag: 'tfc:candles' },
|
||||
'A': { tag: 'forge:tools/screwdrivers'},
|
||||
'B': { tag: `forge:screws/${metal}`}
|
||||
'C': { tag: 'tfc:candles' }
|
||||
},
|
||||
repairPercentage: 0.75,
|
||||
repairPercentage: 0.25,
|
||||
toolDamagePercentageBroken: 0.02
|
||||
}).id(`tfg:diggerhelmet/repair_broken_${metal}_helmet`)
|
||||
})
|
||||
|
||||
@@ -137,6 +137,8 @@ const registerFirmaLifeRecipes = (event) => {
|
||||
.itemOutputs('8x firmalife:pineapple_yarn')
|
||||
.duration(50)
|
||||
.EUt(7)
|
||||
|
||||
event.remove({ id: 'firmalife:crafting/pineapple_yarn' })
|
||||
|
||||
// Pineapple Leather
|
||||
event.recipes.gtceu.assembler(`tfg:firmalife/pineapple_leather`)
|
||||
|
||||
@@ -285,7 +285,7 @@ function registerGrapplingHookRecipes(event) {
|
||||
}).id('tfg:grapplemod/shapeless/grapplinghook');
|
||||
|
||||
//Repair
|
||||
event.recipes.kubejs.shapeless(Item.of('grapplemod:grapplinghook').withName(Text.translate("tfg.grapplemod.repair")), ['grapplemod:grapplinghook', 'gtceu:wrought_iron_dust'])
|
||||
event.recipes.kubejs.shapeless(Item.of('grapplemod:grapplinghook').withName(Text.translate("tfg.grapplemod.repair")), ['grapplemod:grapplinghook', 'gtceu:repair_kit_wrought_iron'])
|
||||
.modifyResult((craftingGrid, result) => {
|
||||
try {
|
||||
let fallbackItem = Item.of("minecraft:air");
|
||||
|
||||
@@ -47,8 +47,6 @@ function removeGreateRecipes(event) {
|
||||
event.remove({ id: `gtceu:extractor/extract_${tier}_gearbox` })
|
||||
event.remove({ id: `gtceu:extractor/extract_${tier}_vertical_gearbox` })
|
||||
})
|
||||
|
||||
event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_marble'})
|
||||
|
||||
event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_andesite_alloy' })
|
||||
event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_chromatic_compound' })
|
||||
@@ -56,7 +54,7 @@ function removeGreateRecipes(event) {
|
||||
event.remove({ id: 'gtceu:shaped/andesite_alloy_shaft' })
|
||||
event.remove({ id: 'gtceu:extractor/extract_andesite_alloy' })
|
||||
|
||||
event.remove({ id: /^greate:(mixing|sawing|splashing|crushing|milling)\/integration\/(create|createaddition|vintageimprovements)\/.*/ })
|
||||
event.remove({ id: /^greate:(mixing|sawing|splashing|crushing|milling)\/integration\/(create|createaddition|vintageimprovements|railways)\/.*/ })
|
||||
event.remove({ id: /^greate:(compacting|pressing)\/integration\/.*/ })
|
||||
|
||||
event.remove({ mod: 'greate', type: 'minecraft:crafting_shaped' })
|
||||
@@ -74,11 +72,17 @@ function removeGreateRecipes(event) {
|
||||
|
||||
event.remove({ id: 'greate:cutting/integration/create/cutting/runtime_generated/compat/minecraft/bamboo_planks_to_bamboo_button' })
|
||||
event.remove({ id: 'greate:mixing/integration/gtceu/mixer/fire_charge' })
|
||||
|
||||
event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_cocoa' })
|
||||
event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_honeycomb' })
|
||||
event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_honeycomb_block'})
|
||||
event.remove({ id: 'greate:milling/integration/gtceu/macerator/quartz_sand_from_sand' })
|
||||
|
||||
event.remove({ id: 'greate:crushing/integration/gtceu/macerator/macerate_cocoa' })
|
||||
event.remove({ id: 'greate:crushing/integration/gtceu/macerator/macerate_honeycomb' })
|
||||
event.remove({ id: 'greate:crushing/integration/gtceu/macerator/macerate_honeycomb_block'})
|
||||
event.remove({ id: 'greate:crushing/integration/gtceu/macerator/quartz_sand_from_sand' })
|
||||
|
||||
event.remove({ id: 'greate:mixing/brass_ingot' })
|
||||
|
||||
event.remove({ id: 'greate:shaped/copper_diving_helmet' })
|
||||
|
||||
@@ -78,6 +78,9 @@ const registerGTCEUHeats = (event) => {
|
||||
makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadButcheryKnife, material, tfcProperty, 1.429)
|
||||
makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadMiningHammer, material, tfcProperty, 2.875)
|
||||
makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadSpade, material, tfcProperty, 2.875)
|
||||
|
||||
makeItemHeatByTagPrefix(TFGTagPrefix.unfiredRepairKit, material, tfcProperty, 1.875)
|
||||
makeItemHeatByTagPrefix(TFGTagPrefix.repairKit, material, tfcProperty, 1.875)
|
||||
|
||||
makeItemHeatByToolType(GTToolType.SWORD, material, tfcProperty, 1.429)
|
||||
makeItemHeatByToolType(GTToolType.PICKAXE, material, tfcProperty, 1.429)
|
||||
|
||||
@@ -413,4 +413,25 @@ const registerGTCEURecipes = (event) => {
|
||||
.duration(20*2)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.circuit(1)
|
||||
|
||||
// Increase casing costs
|
||||
|
||||
event.replaceInput({ id: 'gtceu:shaped/casing_steel_pipe' }, '#forge:normal_fluid_pipes/steel', '#forge:huge_fluid_pipes/steel')
|
||||
event.replaceInput({ id: 'gtceu:shaped/casing_steel_pipe' }, '#forge:plates/steel', '#forge:double_plates/steel')
|
||||
|
||||
// Modify HV Dynamo Hatch to be craftable before Cleanroom
|
||||
|
||||
event.recipes.gtceu.assembler('gtceu:voltage_coil_hv')
|
||||
.itemInputs('#forge:rods/magnetic_steel', '16x #forge:fine_wires/black_steel')
|
||||
.itemOutputs('gtceu:hv_voltage_coil')
|
||||
.circuit(1)
|
||||
.duration(20*20)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.assembler('gtceu:dynamo_hatch_hv')
|
||||
.itemInputs('gtceu:hv_machine_hull', '2x #forge:springs/gold', '2x gtceu:ulpic_chip', 'gtceu:hv_voltage_coil')
|
||||
.inputFluids('gtceu:sodium_potassium 1000')
|
||||
.itemOutputs('gtceu:hv_energy_output_hatch')
|
||||
.duration(20*20)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
}
|
||||
|
||||
@@ -2,19 +2,44 @@
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
function registerGTCEURecyclingRecipes(event) {
|
||||
|
||||
// Capacitors
|
||||
TFGHelpers.registerMaterialInfo('gtceu:tantalum_capacitor', [GTMaterials.Tantalum, 1/9, GTMaterials.Polyethylene, 1/9])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:capacitor', [GTMaterials.Polyethylene, 1/9])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:tantalum_capacitor', [GTMaterials.Tantalum, 1 / 9, GTMaterials.Polyethylene, 1 / 9])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:capacitor', [GTMaterials.Polyethylene, 1 / 9])
|
||||
// Empty batteries
|
||||
TFGHelpers.registerMaterialInfo('gtceu:empty_tier_i_battery', [GTMaterials.Ultimet, 6])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:empty_tier_ii_battery', [GTMaterials.Ruridit, 6])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:empty_tier_iii_battery', [GTMaterials.Neutronium, 6])
|
||||
// Iron Door
|
||||
TFGHelpers.registerMaterialInfo('minecraft:iron_door', [GTMaterials.Iron, 2])
|
||||
// GregTech Input Bus
|
||||
TFGHelpers.registerMaterialInfo('gtceu:lv_input_bus', [GTMaterials.Steel, 8, GTMaterials.Tin, 1, GTMaterials.Rubber, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:mv_input_bus', [GTMaterials.Aluminium, 8, GTMaterials.Rubber, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:hv_input_bus', [GTMaterials.StainlessSteel, 8, GTMaterials.Gold, 1, GTMaterials.Steel, 8, GTMaterials.Rubber, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:ev_input_bus', [GTMaterials.Titanium, 8, GTMaterials.Aluminium, 9, GTMaterials.Rubber, 2, GTMaterials.PolyvinylChloride, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:iv_input_bus', [GTMaterials.TungstenSteel, 8, GTMaterials.StainlessSteel, 8, GTMaterials.Polytetrafluoroethylene, 2, GTMaterials.PolyvinylChloride, 2, GTMaterials.Platinum, 1])
|
||||
// GregTech Output Bus
|
||||
TFGHelpers.registerMaterialInfo('gtceu:lv_output_bus', [GTMaterials.Steel, 8, GTMaterials.Tin, 1, GTMaterials.Rubber, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:mv_output_bus', [GTMaterials.Aluminium, 8, GTMaterials.Rubber, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:hv_output_bus', [GTMaterials.StainlessSteel, 8, GTMaterials.Gold, 1, GTMaterials.Steel, 8, GTMaterials.Rubber, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:ev_output_bus', [GTMaterials.Titanium, 8, GTMaterials.Aluminium, 9, GTMaterials.Rubber, 2, GTMaterials.PolyvinylChloride, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:iv_output_bus', [GTMaterials.TungstenSteel, 8, GTMaterials.StainlessSteel, 8, GTMaterials.Polytetrafluoroethylene, 2, GTMaterials.PolyvinylChloride, 2, GTMaterials.Platinum, 1])
|
||||
// GregTech Input Hatch
|
||||
TFGHelpers.registerMaterialInfo('gtceu:lv_input_hatch', [GTMaterials.Steel, 8, GTMaterials.Tin, 1, GTMaterials.Rubber, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:mv_input_hatch', [GTMaterials.Aluminium, 8, GTMaterials.Rubber, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:hv_input_hatch', [GTMaterials.StainlessSteel, 8, GTMaterials.Gold, 1, GTMaterials.Steel, 6, GTMaterials.Rubber, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:ev_input_hatch', [GTMaterials.Titanium, 8, GTMaterials.Aluminium, 7, GTMaterials.Rubber, 2, GTMaterials.PolyvinylChloride, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:iv_input_hatch', [GTMaterials.TungstenSteel, 8, GTMaterials.StainlessSteel, 6, GTMaterials.Polytetrafluoroethylene, 2, GTMaterials.PolyvinylChloride, 2, GTMaterials.Platinum, 1])
|
||||
// GregTech Output Hatch
|
||||
TFGHelpers.registerMaterialInfo('gtceu:lv_output_hatch', [GTMaterials.Steel, 8, GTMaterials.Tin, 1, GTMaterials.WroughtIron, 1, GTMaterials.Rubber, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:mv_output_hatch', [GTMaterials.Aluminium, 8, GTMaterials.Rubber, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:hv_output_hatch', [GTMaterials.StainlessSteel, 8, GTMaterials.Gold, 1, GTMaterials.Steel, 6, GTMaterials.Rubber, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:ev_output_hatch', [GTMaterials.Titanium, 8, GTMaterials.Aluminium, 7, GTMaterials.Rubber, 2, GTMaterials.PolyvinylChloride, 2])
|
||||
TFGHelpers.registerMaterialInfo('gtceu:iv_output_hatch', [GTMaterials.TungstenSteel, 8, GTMaterials.StainlessSteel, 6, GTMaterials.Polytetrafluoroethylene, 2, GTMaterials.PolyvinylChloride, 2, GTMaterials.Platinum, 1])
|
||||
|
||||
|
||||
removeMaceratorRecipe(event, 'macerate_maintenance_hatch')
|
||||
TFGHelpers.registerMaterialInfo('gtceu:maintenance_hatch', [GTMaterials.Steel, 8, GTMaterials.Rubber, 2, GTMaterials.Tin, 1])
|
||||
@@ -74,4 +99,4 @@ function registerGTCEURecyclingRecipes(event) {
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING);
|
||||
//#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -413,6 +413,22 @@ function removeGTCEURecipes(event) {
|
||||
|
||||
//#endregion
|
||||
|
||||
// Remove slurries from GT
|
||||
|
||||
event.remove({ id: 'gtceu:mixer/ruby_slurry_from_crushed_ruby' })
|
||||
event.remove({ id: 'greate:mixing/integration/gtceu/mixer/ruby_slurry_from_crushed_ruby' })
|
||||
event.remove({ id: 'gtceu:mixer/ruby_slurry_from_washed_ruby' })
|
||||
event.remove({ id: 'greate:mixing/integration/gtceu/mixer/ruby_slurry_from_washed_ruby' })
|
||||
|
||||
event.remove({ id: 'gtceu:mixer/sapphire_slurry_from_washed_sapphire' })
|
||||
event.remove({ id: 'greate:mixing/integration/gtceu/mixer/sapphire_slurry_from_washed_sapphire' })
|
||||
event.remove({ id: 'gtceu:mixer/sapphire_slurry_from_crushed_sapphire' })
|
||||
event.remove({ id: 'greate:mixing/integration/gtceu/mixer/sapphire_slurry_from_crushed_sapphire' })
|
||||
|
||||
event.remove({ id: 'gtceu:mixer/green_sapphire_slurry_from_crushed_green_sapphire' })
|
||||
event.remove({ id: 'greate:mixing/integration/gtceu/mixer/green_sapphire_slurry_from_crushed_green_sapphire' })
|
||||
event.remove({ id: 'gtceu:mixer/green_sapphire_slurry_from_washed_green_sapphire' })
|
||||
event.remove({ id: 'greate:mixing/integration/gtceu/mixer/green_sapphire_slurry_from_washed_green_sapphire' })
|
||||
|
||||
//#region Выход: Маленькая кучка мяса
|
||||
|
||||
@@ -828,6 +844,11 @@ function removeGTCEURecipes(event) {
|
||||
event.remove({ id: 'gtceu:steam_boiler/create_creative_blaze_cake' })
|
||||
event.remove({ id: 'gtceu:large_boiler/create_creative_blaze_cake' })
|
||||
|
||||
event.remove({ id : 'gtceu:shaped/large_bronze_boiler' })
|
||||
event.remove({ id : 'gtceu:shaped/large_steel_boiler' })
|
||||
event.remove({ id : 'gtceu:shaped/titanium_large_boiler' })
|
||||
event.remove({ id : 'gtceu:shaped/tungstensteel_large_boiler' })
|
||||
|
||||
|
||||
// Snow Stuffs
|
||||
|
||||
@@ -931,6 +952,7 @@ function removeGTCEURecipes(event) {
|
||||
function removeMaceratorRecipe(event, id) {
|
||||
event.remove({ id: `gtceu:macerator/${id}` })
|
||||
event.remove({ id: `greate:milling/integration/gtceu/macerator/${id}` })
|
||||
event.remove({ id: `greate:crushing/integration/gtceu/macerator/${id}` })
|
||||
}
|
||||
|
||||
function removeCutterRecipe(event, id) {
|
||||
|
||||
@@ -75,6 +75,13 @@ function registerGTCEUItemTags(event) {
|
||||
event.add('gtceu:lamps', `gtceu:${color}_lamp`)
|
||||
event.add('gtceu:lamps', `gtceu:${color}_borderless_lamp`)
|
||||
})
|
||||
|
||||
// any rubber plate
|
||||
event.add('tfg:rubber_plates', '#forge:plates/rubber', '#forge:plates/silicone_rubber', '#forge:plates/styrene_butadiene_rubber')
|
||||
|
||||
// Remove slurry bucket
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:ruby_slurry_bucket', 'gtceu:green_sapphire_slurry_bucket', 'gtceu:sapphire_slurry_bucket')
|
||||
}
|
||||
|
||||
/** @param {TagEvent.Block} event */
|
||||
@@ -117,11 +124,24 @@ function registerGTCEUBlockTags(event) {
|
||||
|
||||
event.remove("forge:needs_netherite_tool", "gtceu:incoloy_ma_956_frame");
|
||||
|
||||
event.add("c:hidden_from_recipe_viewers", "gtceu:bronze_large_boiler")
|
||||
event.add("c:hidden_from_recipe_viewers", "gtceu:steel_large_boiler")
|
||||
event.add("c:hidden_from_recipe_viewers", "gtceu:titanium_large_boiler")
|
||||
event.add("c:hidden_from_recipe_viewers", "gtceu:tungstensteel_large_boiler")
|
||||
|
||||
// Groups up concrete blocks into tags.
|
||||
Object.entries(global.GTCEU_CONCRETE_BLOCKS).forEach(([type, ids]) => {
|
||||
event.add(`tfg:gtceu_concrete_blocks/${type}`, ids);
|
||||
event.add('tfg:gtceu_concrete_blocks', ids);
|
||||
});
|
||||
|
||||
// lamp tag for EMI++
|
||||
global.MINECRAFT_DYE_NAMES.forEach(color => {
|
||||
event.add('gtceu:lamps', `gtceu:${color}_lamp`)
|
||||
event.add('gtceu:lamps', `gtceu:${color}_borderless_lamp`)
|
||||
})
|
||||
|
||||
event.add('gtceu:mineable/pickaxe_or_wrench', '#gtceu:lamps')
|
||||
}
|
||||
|
||||
/** @param {TagEvent.Fluid} event */
|
||||
@@ -147,4 +167,8 @@ function registerGTCEUFluidTags(event) {
|
||||
|
||||
event.add("c:hidden_from_recipe_viewers", "tfg:molten_weak_red_steel");
|
||||
event.add("c:hidden_from_recipe_viewers", "tfg:molten_weak_blue_steel");
|
||||
|
||||
event.add("c:hidden_from_recipe_viewers", "gtceu:ruby_slurry");
|
||||
event.add("c:hidden_from_recipe_viewers", "gtceu:green_sapphire_slurry");
|
||||
event.add("c:hidden_from_recipe_viewers", "gtceu:sapphire_slurry");
|
||||
}
|
||||
|
||||
@@ -116,6 +116,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
E: 'create:andesite_casing'
|
||||
}).id('tfg:immersive_aircraft/shaped/engine');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:immersive_aircraft/assembler/engine')
|
||||
.itemInputs('gtceu:tin_alloy_small_fluid_pipe', 'create:andesite_casing', '2x #tfg:metal_bars')
|
||||
.itemOutputs('immersive_aircraft:engine')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.shaped('immersive_aircraft:sail', [
|
||||
'ABA',
|
||||
'BCB',
|
||||
@@ -194,6 +200,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
E: '#forge:tools/screwdrivers',
|
||||
}).id('tfg:immersive_aircraft/shaped/sturdy_pipes')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:immersive_aircraft/assembler/sturdy_pipes')
|
||||
.itemInputs('gtceu:red_steel_plate', 'gtceu:blue_steel_plate', '3x #forge:small_fluid_pipes', '2x gtceu:black_steel_screw')
|
||||
.itemOutputs('immersive_aircraft:sturdy_pipes')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.shaped('immersive_aircraft:gyroscope', [
|
||||
'ABC',
|
||||
'DED',
|
||||
@@ -208,6 +220,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
G: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:immersive_aircraft/shaped/gyroscope')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:immersive_aircraft/assembler/gyroscope')
|
||||
.itemInputs('create:precision_mechanism', 'firmaciv:firmaciv_compass', '#forge:gems/quartzite', '3x gtceu:small_brass_gear', '#forge:screws/blue_steel')
|
||||
.itemOutputs('immersive_aircraft:gyroscope')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.shaped('immersive_aircraft:gyroscope_dials', [
|
||||
'ABC',
|
||||
'DED',
|
||||
@@ -222,6 +240,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
G: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:immersive_aircraft/shaped/gyroscope_dials')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:immersive_aircraft/assembler/gyroscope_dials')
|
||||
.itemInputs('immersive_aircraft:gyroscope', 'gtceu:lv_sensor', '#gtceu:circuits/lv', '3x gtceu:small_aluminium_gear', '#forge:screws/vanadium_steel')
|
||||
.itemOutputs('immersive_aircraft:gyroscope_dials')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.shaped('immersive_aircraft:gyroscope_hud', [
|
||||
'ABC',
|
||||
'DED',
|
||||
@@ -236,6 +260,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
G: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:immersive_aircraft/shaped/gyroscope_hud')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:immersive_aircraft/assembler/gyroscope_hud')
|
||||
.itemInputs('immersive_aircraft:gyroscope_dials', 'gtceu:mv_sensor', '3x #gtceu:circuits/mv', 'gtceu:computer_monitor_cover', '#forge:screws/stainless_steel')
|
||||
.itemOutputs('immersive_aircraft:gyroscope_hud')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.shaped('tfg:black_steel_plated_airplane_propeller', [
|
||||
'CA ',
|
||||
'ABA',
|
||||
@@ -247,6 +277,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
D: '#forge:tools/wrenches'
|
||||
}).id('tfg:shaped/black_steel_plated_airplane_propeller');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/black_steel_plated_airplane_propeller')
|
||||
.itemInputs('#forge:rotors', '4x gtceu:black_steel_plate')
|
||||
.itemOutputs('tfg:black_steel_plated_airplane_propeller')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/black_steel_plated_airplane_propeller',
|
||||
createRecyclingRecipeArgs('tfg:black_steel_plated_airplane_propeller', [GTMaterials.BlackSteel], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)]))
|
||||
|
||||
@@ -262,6 +298,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
F: '#forge:tools/wrenches'
|
||||
}).id('tfg:shaped/redblu_steel_plated_airplane_propeller');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/redblu_steel_plated_airplane_propeller')
|
||||
.itemInputs('#forge:rotors', '2x gtceu:red_steel_plate', '2x gtceu:blue_steel_plate')
|
||||
.itemOutputs('tfg:redblu_steel_plated_airplane_propeller')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/redblu_steel_plated_airplane_propeller',
|
||||
createRecyclingRecipeArgs('tfg:redblu_steel_plated_airplane_propeller', [
|
||||
GTMaterials.RedSteel,
|
||||
@@ -283,6 +325,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
D: '#forge:tools/wrenches'
|
||||
}).id('tfg:immersive_aircraft/shaped/enhanced_propeller');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:immersive_aircraft/assembler/enhanced_propeller')
|
||||
.itemInputs('#forge:rotors', '4x vintageimprovements:aluminum_sheet')
|
||||
.itemOutputs('immersive_aircraft:enhanced_propeller')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
generateRecyclingRecipe('immersive_aircraft:recycling/enhanced_propeller',
|
||||
createRecyclingRecipeArgs('immersive_aircraft:enhanced_propeller', [GTMaterials.Aluminium], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)]))
|
||||
|
||||
@@ -297,6 +345,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
D: '#forge:tools/wrenches'
|
||||
}).id('tfg:shaped/stainless_steel_plated_airplane_propeller');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/stainless_steel_plated_airplane_propeller')
|
||||
.itemInputs('#forge:rotors', '4x gtceu:stainless_steel_plate')
|
||||
.itemOutputs('tfg:stainless_steel_plated_airplane_propeller')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/stainless_steel_plated_airplane_propeller',
|
||||
createRecyclingRecipeArgs('tfg:stainless_steel_plated_airplane_propeller', [GTMaterials.StainlessSteel], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)]))
|
||||
|
||||
@@ -311,6 +365,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
D: '#forge:tools/wrenches'
|
||||
}).id('tfg:shaped/titanium_plated_airplane_propeller');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/titanium_plated_airplane_propeller')
|
||||
.itemInputs('#forge:rotors', '4x gtceu:titanium_plate')
|
||||
.itemOutputs('tfg:titanium_plated_airplane_propeller')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/titanium_plated_airplane_propeller',
|
||||
createRecyclingRecipeArgs('tfg:titanium_plated_airplane_propeller', [GTMaterials.Titanium], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)]))
|
||||
|
||||
@@ -326,6 +386,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
E: 'gtceu:double_sterling_silver_plate'
|
||||
}).id('tfg:immersive_aircraft/shaped/eco_engine');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:immersive_aircraft/assembler/eco_engine')
|
||||
.itemInputs('immersive_aircraft:engine', '3x gtceu:double_sterling_silver_plate', '3x gtceu:double_rose_gold_plate')
|
||||
.itemOutputs('immersive_aircraft:eco_engine')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.shaped('immersive_aircraft:steel_boiler', [
|
||||
'ABA',
|
||||
'ACA',
|
||||
@@ -496,6 +562,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
D: '#forge:tools/wrenches'
|
||||
}).id('tfg:immersive_aircraft/shaped/hull_reinforcement');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:immersive_aircraft/assembler/hull_reinforcement')
|
||||
.itemInputs('immersive_aircraft:hull', '4x gtceu:black_steel_plate')
|
||||
.itemOutputs('immersive_aircraft:hull_reinforcement')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
generateRecyclingRecipe('immersive_aircraft:recycling/hull_reinforcement',
|
||||
createRecyclingRecipeArgs('immersive_aircraft:hull_reinforcement', [
|
||||
GTMaterials.BlackSteel,
|
||||
@@ -507,18 +579,23 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
)
|
||||
|
||||
event.shaped('tfg:redblu_steel_hull_reinforcement', [
|
||||
'ABF',
|
||||
'AB ',
|
||||
'ECE',
|
||||
'FBD'
|
||||
' BD'
|
||||
], {
|
||||
A: '#forge:tools/hammers',
|
||||
B: 'gtceu:red_steel_plate',
|
||||
C: 'immersive_aircraft:hull',
|
||||
D: '#forge:tools/wrenches',
|
||||
E: 'gtceu:blue_steel_plate',
|
||||
F: 'gtceu:red_alloy_dust'
|
||||
E: 'gtceu:blue_steel_plate'
|
||||
}).id('tfg:shaped/redblu_steel_hull_reinforcement');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/redblu_steel_hull_reinforcement')
|
||||
.itemInputs('immersive_aircraft:hull', '2x gtceu:red_steel_plate', '2x gtceu:blue_steel_plate')
|
||||
.itemOutputs('tfg:redblu_steel_hull_reinforcement')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/redblu_steel_hull_reinforcement',
|
||||
createRecyclingRecipeArgs('tfg:redblu_steel_hull_reinforcement', [
|
||||
GTMaterials.BlueSteel,
|
||||
@@ -544,6 +621,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
D: '#forge:tools/wrenches'
|
||||
}).id('tfg:shaped/aluminium_hull_reinforcement');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/aluminium_hull_reinforcement')
|
||||
.itemInputs('immersive_aircraft:hull', '4x vintageimprovements:aluminum_sheet')
|
||||
.itemOutputs('tfg:aluminium_hull_reinforcement')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/aluminium_hull_reinforcement',
|
||||
createRecyclingRecipeArgs('tfg:aluminium_hull_reinforcement', [
|
||||
GTMaterials.Aluminium,
|
||||
@@ -565,6 +648,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
D: '#forge:tools/wrenches'
|
||||
}).id('tfg:shaped/stainless_steel_hull_reinforcement');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/stainless_steel_hull_reinforcement')
|
||||
.itemInputs('immersive_aircraft:hull', '4x gtceu:stainless_steel_plate')
|
||||
.itemOutputs('tfg:stainless_steel_hull_reinforcement')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/stainless_steel_hull_reinforcement',
|
||||
createRecyclingRecipeArgs('tfg:stainless_steel_hull_reinforcement', [
|
||||
GTMaterials.StainlessSteel,
|
||||
@@ -586,6 +675,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
D: '#forge:tools/wrenches'
|
||||
}).id('tfg:shaped/titanium_hull_reinforcement');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/titanium_hull_reinforcement')
|
||||
.itemInputs('immersive_aircraft:hull', '4x gtceu:titanium_plate')
|
||||
.itemOutputs('tfg:titanium_hull_reinforcement')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/titanium_hull_reinforcement',
|
||||
createRecyclingRecipeArgs('tfg:titanium_hull_reinforcement', [
|
||||
GTMaterials.Titanium,
|
||||
@@ -604,11 +699,17 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
A: '#forge:tools/wrenches',
|
||||
B: 'gtceu:black_steel_plate',
|
||||
C: 'gtceu:black_steel_rod',
|
||||
D: 'gtceu:rubber_plate',
|
||||
D: '#tfg:rubber_plates',
|
||||
E: 'gtceu:small_brass_gear',
|
||||
F: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:immersive_aircraft/shaped/improved_landing_gear');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:immersive_aircraft/assembler/improved_landing_gear')
|
||||
.itemInputs('3x #tfg:rubber_plates', 'gtceu:small_brass_gear', '2x gtceu:black_steel_plate', 'gtceu:black_steel_rod')
|
||||
.itemOutputs('immersive_aircraft:improved_landing_gear')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
generateRecyclingRecipe('immersive_aircraft:recycling/improved_landing_gear',
|
||||
createRecyclingRecipeArgs('immersive_aircraft:improved_landing_gear', [
|
||||
GTMaterials.BlackSteel,
|
||||
@@ -627,11 +728,17 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
A: '#forge:tools/wrenches',
|
||||
B: 'gtceu:red_steel_plate',
|
||||
C: 'gtceu:blue_steel_rod',
|
||||
D: 'gtceu:rubber_plate',
|
||||
D: '#tfg:rubber_plates',
|
||||
E: 'gtceu:small_brass_gear',
|
||||
F: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:shaped/redblu_steel_landing_gear')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/redblu_steel_landing_gear')
|
||||
.itemInputs('3x #tfg:rubber_plates', 'gtceu:small_brass_gear', '2x gtceu:red_steel_plate', 'gtceu:blue_steel_rod')
|
||||
.itemOutputs('tfg:redblu_steel_landing_gear')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/redblu_steel_landing_gear',
|
||||
createRecyclingRecipeArgs('tfg:redblu_steel_landing_gear', [
|
||||
GTMaterials.RedSteel,
|
||||
@@ -652,11 +759,17 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
A: '#forge:tools/wrenches',
|
||||
B: 'vintageimprovements:aluminum_sheet',
|
||||
C: 'gtceu:aluminium_rod',
|
||||
D: 'gtceu:rubber_plate',
|
||||
D: '#tfg:rubber_plates',
|
||||
E: 'gtceu:cobalt_brass_gear',
|
||||
F: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:shaped/aluminium_landing_gear')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/aluminium_landing_gear')
|
||||
.itemInputs('3x #tfg:rubber_plates', 'gtceu:cobalt_brass_gear', '2x vintageimprovements:aluminum_sheet', 'gtceu:aluminium_rod')
|
||||
.itemOutputs('tfg:aluminium_landing_gear')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/aluminium_landing_gear',
|
||||
createRecyclingRecipeArgs('tfg:aluminium_landing_gear', [
|
||||
GTMaterials.Aluminium,
|
||||
@@ -675,11 +788,16 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
A: '#forge:tools/wrenches',
|
||||
B: 'gtceu:stainless_steel_plate',
|
||||
C: 'gtceu:stainless_steel_rod',
|
||||
D: 'gtceu:rubber_plate',
|
||||
D: '#tfg:rubber_plates',
|
||||
E: 'gtceu:cobalt_brass_gear',
|
||||
F: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:shaped/stainless_steel_landing_gear');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/stainless_steel_landing_gear')
|
||||
.itemInputs('3x #tfg:rubber_plates', 'gtceu:cobalt_brass_gear', '2x gtceu:stainless_steel_plate', 'gtceu:stainless_steel_rod')
|
||||
.itemOutputs('tfg:stainless_steel_landing_gear')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/stainless_steel_landing_gear',
|
||||
createRecyclingRecipeArgs('tfg:stainless_steel_landing_gear', [
|
||||
@@ -699,11 +817,17 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
A: '#forge:tools/wrenches',
|
||||
B: 'gtceu:titanium_plate',
|
||||
C: 'gtceu:titanium_rod',
|
||||
D: 'gtceu:rubber_plate',
|
||||
D: '#tfg:rubber_plates',
|
||||
E: 'gtceu:cobalt_brass_gear',
|
||||
F: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:shaped/titanium_landing_gear');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/titanium_landing_gear')
|
||||
.itemInputs('3x #tfg:rubber_plates', 'gtceu:cobalt_brass_gear', '2x gtceu:titanium_plate', 'gtceu:titanium_rod')
|
||||
.itemOutputs('tfg:titanium_landing_gear')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/titanium_landing_gear',
|
||||
createRecyclingRecipeArgs('tfg:titanium_landing_gear', [
|
||||
GTMaterials.Titanium,
|
||||
@@ -756,6 +880,12 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
F: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:immersive_aircraft/shaped/cargo_airship')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:immersive_aircraft/assembler/cargo_airship')
|
||||
.itemInputs('immersive_aircraft:airship', '2x immersive_aircraft:engine', '2x gtceu:wood_crate', '2x #forge:rotors')
|
||||
.itemOutputs('immersive_aircraft:cargo_airship')
|
||||
.duration(10 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//WAAGH!
|
||||
event.recipes.create.mechanical_crafting('immersive_aircraft:warship', [
|
||||
'ABCC ',
|
||||
@@ -765,8 +895,8 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
' EEEF',
|
||||
' DDD '
|
||||
], {
|
||||
A: 'immersive_aircraft:enhanced_propeller',
|
||||
B: 'immersive_aircraft:steel_boiler',
|
||||
A: 'tfg:redblu_steel_plated_airplane_propeller',
|
||||
B: 'tfg:lv_aircraft_engine',
|
||||
C: 'tfg:airship_balloon',
|
||||
D: 'gtceu:wrought_iron_plate',
|
||||
E: 'immersive_aircraft:hull',
|
||||
@@ -784,8 +914,8 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
' B ',
|
||||
' G ',
|
||||
], {
|
||||
A: 'immersive_aircraft:enhanced_propeller',
|
||||
B: 'gtceu:long_wood_rod',
|
||||
A: 'tfg:redblu_steel_plated_airplane_propeller',
|
||||
B: 'gtceu:long_treated_wood_rod',
|
||||
C: 'immersive_aircraft:sail',
|
||||
D: 'immersive_aircraft:hull',
|
||||
E: '#create:seats',
|
||||
@@ -805,18 +935,18 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
], {
|
||||
A: 'immersive_aircraft:sail',
|
||||
B: 'gtceu:blue_steel_plate',
|
||||
C: '#tfg:metal_bars',
|
||||
C: 'tfg:black_steel_plated_airplane_propeller',
|
||||
D: 'gtceu:long_treated_wood_rod',
|
||||
E: '#create:seats',
|
||||
F: 'gtceu:black_steel_rotor',
|
||||
G: 'greate:rubber_belt_connector',
|
||||
H: 'create:steam_engine'
|
||||
H: 'immersive_aircraft:steel_boiler'
|
||||
}).id('tfg:man_of_many_planes/mechanical_crafter/economy_plane');
|
||||
|
||||
event.recipes.create.mechanical_crafting('immersive_aircraft:biplane', [
|
||||
' A ',
|
||||
'BBBCBBB',
|
||||
' BDB ',
|
||||
'BFBCBFB',
|
||||
' FDF ',
|
||||
' BBB ',
|
||||
' B ',
|
||||
' E ',
|
||||
@@ -825,9 +955,10 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
], {
|
||||
A: 'immersive_aircraft:enhanced_propeller',
|
||||
B: 'immersive_aircraft:hull',
|
||||
C: 'immersive_aircraft:steel_boiler',
|
||||
C: 'tfg:lv_aircraft_engine',
|
||||
D: 'man_of_many_planes:economy_plane',
|
||||
E: '#minecraft:logs'
|
||||
E: 'gtceu:treated_wood_plate',
|
||||
F: 'gtceu:treated_wood_frame'
|
||||
}).id('tfg:immersive_aircraft/mechanical_crafter/biplane')
|
||||
|
||||
event.recipes.create.mechanical_crafting('man_of_many_planes:scarlet_biplane', [
|
||||
@@ -840,32 +971,33 @@ function registerImmersiveAircraftRecipes(event) {
|
||||
' CHC ',
|
||||
' C '
|
||||
], {
|
||||
A: 'immersive_aircraft:enhanced_propeller',
|
||||
A: 'tfg:stainless_steel_plated_airplane_propeller',
|
||||
B: 'immersive_aircraft:nether_engine',
|
||||
C: 'immersive_aircraft:hull',
|
||||
D: 'gtceu:red_steel_plate',
|
||||
E: 'immersive_aircraft:biplane',
|
||||
F: 'gtceu:black_steel_rod',
|
||||
F: 'gtceu:black_steel_frame',
|
||||
G: '#create:seats',
|
||||
H: 'tfc:metal/ingot/red_steel'
|
||||
}).id('tfg:man_of_many_planes/mechanical_crafter/scarlet_biplane')
|
||||
|
||||
event.recipes.create.mechanical_crafting('immersive_aircraft:bamboo_hopper', [
|
||||
' A A ',
|
||||
'BBCBBBCBB',
|
||||
'BBCHBHCBB',
|
||||
' DEFED ',
|
||||
' DGGGD ',
|
||||
' D D ',
|
||||
' BBBGBBB ',
|
||||
' BHBGBHB ',
|
||||
' B B '
|
||||
], {
|
||||
A: 'immersive_aircraft:enhanced_propeller',
|
||||
A: 'tfg:stainless_steel_plated_airplane_propeller',
|
||||
B: 'immersive_aircraft:hull',
|
||||
C: 'immersive_aircraft:steel_boiler',
|
||||
C: 'immersive_aircraft:nether_engine',
|
||||
D: 'gtceu:long_aluminium_rod',
|
||||
E: '#create:seats',
|
||||
F: 'immersive_aircraft:biplane',
|
||||
G: 'gtceu:double_aluminium_plate'
|
||||
G: 'gtceu:double_aluminium_plate',
|
||||
H: 'gtceu:aluminium_frame'
|
||||
}).id('tfg:immersive_aircraft/mechanical_crafter/bamboo_hopper')
|
||||
|
||||
//#endregion
|
||||
|
||||
@@ -35,7 +35,7 @@ function registerPrimitiveCreaturesLoots(event) {
|
||||
Item.of('tfc:food/strawberry', 4),
|
||||
Item.of('tfc:food/wintergreen_berry', 5)])
|
||||
.addAlternativesLoot(
|
||||
LootEntry.of('gtceu:arsenic_bronze_hoe').damage([0.2, 0.5]).when(c => c.randomChance(0.1)),
|
||||
LootEntry.of('tfg:arsenic_bronze_hoe').damage([0.2, 0.5]).when(c => c.randomChance(0.1)),
|
||||
LootEntry.of('sns:straw_basket').when(c => c.randomChance(0.3)),
|
||||
LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.05)),
|
||||
LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.05)),
|
||||
@@ -54,7 +54,7 @@ function registerPrimitiveCreaturesLoots(event) {
|
||||
.addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet'])
|
||||
.addWeightedLoot([3, 4], ['gtceu:tricalcium_phosphate_dust'])
|
||||
.addAlternativesLoot(
|
||||
LootEntry.of('gtceu:arsenic_bronze_knife').damage([0.2, 0.5]).when(c => c.randomChance(0.3)),
|
||||
LootEntry.of('tfg:arsenic_bronze_knife').damage([0.2, 0.5]).when(c => c.randomChance(0.3)),
|
||||
LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.05)),
|
||||
LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.05)),
|
||||
LootEntry.of('firmalife:beeswax'))
|
||||
@@ -73,7 +73,7 @@ function registerPrimitiveCreaturesLoots(event) {
|
||||
.addWeightedLoot([0, 2], ['minecraft:flint'])
|
||||
.addWeightedLoot([1, 3], ['minecraft:bone'])
|
||||
.addAlternativesLoot(
|
||||
LootEntry.of('gtceu:arsenic_bronze_shovel').damage([0.2, 0.5]).when(c => c.randomChance(0.5)),
|
||||
LootEntry.of('tfg:arsenic_bronze_shovel').damage([0.2, 0.5]).when(c => c.randomChance(0.5)),
|
||||
LootEntry.of('minecraft:skeleton_skull').when(c => c.randomChance(0.3)),
|
||||
LootEntry.of('primitive_creatures:grh')) // battered wool
|
||||
event.addEntityLootModifier('primitive_creatures:iloger_3')
|
||||
@@ -129,7 +129,7 @@ function registerPrimitiveCreaturesLoots(event) {
|
||||
.addWeightedLoot([1, 2], ['primitive_creatures:f_1']) // primitive explosives
|
||||
.addWeightedLoot([2, 4], ['minecraft:gunpowder'])
|
||||
.addAlternativesLoot(
|
||||
LootEntry.of('gtceu:arsenic_bronze_hoe').damage([0.2, 0.5]).when(c => c.randomChance(0.3)),
|
||||
LootEntry.of('tfg:arsenic_bronze_hoe').damage([0.2, 0.5]).when(c => c.randomChance(0.3)),
|
||||
LootEntry.of('primitive_creatures:totem_2').when(c => c.randomChance(0.05)),
|
||||
LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.05)),
|
||||
LootEntry.of('primitive_creatures:grh')) // battered wool
|
||||
@@ -147,7 +147,7 @@ function registerPrimitiveCreaturesLoots(event) {
|
||||
.addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet'])
|
||||
.addWeightedLoot([0, 2], ['primitive_creatures:grh']) // battered wool
|
||||
.addAlternativesLoot(
|
||||
LootEntry.of('gtceu:arsenic_bronze_butchery_knife').damage([0.2, 0.5]).when(c => c.randomChance(0.3)),
|
||||
LootEntry.of('tfg:arsenic_bronze_butchery_knife').damage([0.2, 0.5]).when(c => c.randomChance(0.3)),
|
||||
LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.05)),
|
||||
LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.05)),
|
||||
LootEntry.of('minecraft:lead'))
|
||||
@@ -181,7 +181,7 @@ function registerPrimitiveCreaturesLoots(event) {
|
||||
.addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet'])
|
||||
.addWeightedLoot([2, 4], ['minecraft:emerald'])
|
||||
.addAlternativesLoot(
|
||||
LootEntry.of('gtceu:arsenic_bronze_knife').damage([0.2, 0.5]).when(c => c.randomChance(0.3)),
|
||||
LootEntry.of('tfg:arsenic_bronze_knife').damage([0.2, 0.5]).when(c => c.randomChance(0.3)),
|
||||
LootEntry.of('primitive_creatures:totem_2').when(c => c.randomChance(0.05)),
|
||||
LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.05)),
|
||||
LootEntry.of('primitive_creatures:grh')) // battered wool)
|
||||
@@ -198,10 +198,10 @@ function registerPrimitiveCreaturesLoots(event) {
|
||||
.removeLoot(ItemFilter.ALWAYS_TRUE)
|
||||
.addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet'])
|
||||
.addWeightedLoot([
|
||||
Item.of('gtceu:arsenic_bronze_spade', '{Damage:0,DisallowContainerItem:0b,GT.Behaviours:{AoEColumn:1,AoELayer:0,AoERow:1,MaxAoEColumn:1,MaxAoELayer:0,MaxAoERow:1},GT.Tool:{AttackDamage:3.5f,AttackSpeed:-3.4f,DefaultEnchantments:[],HarvestLevel:2,MaxDamage:18431,ToolSpeed:5.0f},HideFlags:2}'),
|
||||
Item.of('gtceu:arsenic_bronze_scythe', '{Damage:0,DisallowContainerItem:0b,GT.Behaviours:{AoEColumn:2,AoELayer:2,AoERow:2,MaxAoEColumn:2,MaxAoELayer:2,MaxAoERow:2},GT.Tool:{AttackDamage:7.0f,AttackSpeed:-3.2f,DefaultEnchantments:[],HarvestLevel:2,MaxDamage:18431,ToolSpeed:6.5f},HideFlags:2}'),
|
||||
Item.of('gtceu:arsenic_bronze_mining_hammer', '{Damage:0,DisallowContainerItem:0b,GT.Behaviours:{AoEColumn:1,AoELayer:0,AoERow:1,MaxAoEColumn:1,MaxAoELayer:0,MaxAoERow:1,TorchPlacing:1b},GT.Tool:{AttackDamage:3.5f,AttackSpeed:-3.4f,DefaultEnchantments:[],HarvestLevel:2,MaxDamage:18431,ToolSpeed:5.0f},HideFlags:2}'),
|
||||
Item.of('gtceu:arsenic_bronze_sword')])
|
||||
Item.of('tfg:arsenic_bronze_spade', '{Damage:0,DisallowContainerItem:0b,GT.Behaviours:{AoEColumn:1,AoELayer:0,AoERow:1,MaxAoEColumn:1,MaxAoELayer:0,MaxAoERow:1},GT.Tool:{AttackDamage:3.5f,AttackSpeed:-3.4f,DefaultEnchantments:[],HarvestLevel:2,MaxDamage:18431,ToolSpeed:5.0f},HideFlags:2}'),
|
||||
Item.of('tfg:arsenic_bronze_scythe', '{Damage:0,DisallowContainerItem:0b,GT.Behaviours:{AoEColumn:2,AoELayer:2,AoERow:2,MaxAoEColumn:2,MaxAoELayer:2,MaxAoERow:2},GT.Tool:{AttackDamage:7.0f,AttackSpeed:-3.2f,DefaultEnchantments:[],HarvestLevel:2,MaxDamage:18431,ToolSpeed:6.5f},HideFlags:2}'),
|
||||
Item.of('tfg:arsenic_bronze_mining_hammer', '{Damage:0,DisallowContainerItem:0b,GT.Behaviours:{AoEColumn:1,AoELayer:0,AoERow:1,MaxAoEColumn:1,MaxAoELayer:0,MaxAoERow:1,TorchPlacing:1b},GT.Tool:{AttackDamage:3.5f,AttackSpeed:-3.4f,DefaultEnchantments:[],HarvestLevel:2,MaxDamage:18431,ToolSpeed:5.0f},HideFlags:2}'),
|
||||
Item.of('tfg:arsenic_bronze_sword')])
|
||||
event.addEntityLootModifier('primitive_creatures:nahida')
|
||||
.addWeightedLoot([
|
||||
Item.of('sns:leather_sack'),
|
||||
@@ -224,8 +224,8 @@ function registerPrimitiveCreaturesLoots(event) {
|
||||
.removeLoot(ItemFilter.ALWAYS_TRUE)
|
||||
.addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet'])
|
||||
.addWeightedLoot([
|
||||
Item.of('gtceu:arsenic_bronze_sword'),
|
||||
Item.of('gtceu:arsenic_bronze_axe', '{Damage:0,DisallowContainerItem:0b,GT.Behaviours:{DisableShields:1b,TreeFelling:1b},GT.Tool:{AttackDamage:7.0f,AttackSpeed:-3.4f,DefaultEnchantments:[],HarvestLevel:2,MaxDamage:6143,ToolSpeed:4.5f},HideFlags:2}'),
|
||||
Item.of('tfg:arsenic_bronze_sword'),
|
||||
Item.of('tfg:arsenic_bronze_axe', '{Damage:0,DisallowContainerItem:0b,GT.Behaviours:{DisableShields:1b,TreeFelling:1b},GT.Tool:{AttackDamage:7.0f,AttackSpeed:-3.4f,DefaultEnchantments:[],HarvestLevel:2,MaxDamage:6143,ToolSpeed:4.5f},HideFlags:2}'),
|
||||
LootEntry.of('sns:burlap_sack'),
|
||||
LootEntry.of('sns:seed_pouch'),
|
||||
LootEntry.of('sns:ore_sack')])
|
||||
|
||||
@@ -51,29 +51,98 @@ const registerRailWaysRecipes = (event) => {
|
||||
.addMaterialInfo(true)
|
||||
|
||||
//#region Couplers and Buffers
|
||||
event.recipes.gtceu.assembler(`tfg:railways/screwlink_coupler`)
|
||||
.itemInputs(`minecraft:tripwire_hook`, `#forge:plates/steel`, '#forge:screws/steel')
|
||||
|
||||
const SNR_BASE_COUPLERS = [
|
||||
'link_and_pin',
|
||||
'link_and_pin_linkless',
|
||||
'knuckle_coupler',
|
||||
'split_knuckle_coupler',
|
||||
'screwlink_coupler'
|
||||
]
|
||||
|
||||
event.shapeless('railways:link_and_pin', [
|
||||
'minecraft:tripwire_hook',
|
||||
'#forge:plates/steel',
|
||||
'#forge:screws/steel',
|
||||
'#forge:tools/hammers'
|
||||
]).id('railways:shapeless/link_and_pin')
|
||||
|
||||
event.stonecutting(`railways:wooden_headstock`, '#minecraft:wooden_slabs');
|
||||
event.stonecutting(`4x railways:copycat_headstock`, '#forge:ingots/zinc');
|
||||
|
||||
SNR_BASE_COUPLERS.forEach((coupler, i) => {
|
||||
event.stonecutting(`#railways:deco_couplers`, `railways:${coupler}`);
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/${coupler}`)
|
||||
.itemInputs(`minecraft:tripwire_hook`, `#forge:plates/steel`, '#forge:screws/steel')
|
||||
.circuit(i + 1)
|
||||
.itemOutputs(`railways:${coupler}`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.shapeless(`railways:wooden_headstock_${coupler}`, [
|
||||
`railways:${coupler}`,
|
||||
`railways:wooden_headstock`
|
||||
]).id(`railways:shapeless/wooden_headstock_${coupler}`)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/wooden_headstock_${coupler}`)
|
||||
.itemInputs(`railways:${coupler}`, `railways:wooden_headstock`)
|
||||
.itemOutputs(`railways:wooden_headstock_${coupler}`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.shapeless(`railways:copycat_headstock_${coupler}`, [
|
||||
`railways:${coupler}`,
|
||||
`railways:copycat_headstock`
|
||||
]).id(`railways:shapeless/copycat_headstock_${coupler}`)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/copycat_headstock_${coupler}`)
|
||||
.itemInputs(`railways:${coupler}`, `railways:copycat_headstock`)
|
||||
.itemOutputs(`railways:copycat_headstock_${coupler}`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
.addMaterialInfo(true)
|
||||
})
|
||||
|
||||
event.shapeless(`railways:small_buffer`, [
|
||||
`#railways:deco_couplers`,
|
||||
`#forge:ingots/steel`,
|
||||
`#forge:tools/hammers`
|
||||
]).id(`railways:shapeless/small_buffer`)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/small_buffer`)
|
||||
.itemInputs(`#railways:deco_couplers`, `#forge:ingots/steel`)
|
||||
.circuit(1)
|
||||
.itemOutputs(`railways:screwlink_coupler`)
|
||||
.itemOutputs(`railways:small_buffer`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/copycat_headstock_screwlink_coupler`)
|
||||
.itemInputs(`railways:screwlink_coupler`, `create:copycat_panel`)
|
||||
event.shapeless(`railways:big_buffer`, [
|
||||
`railways:small_buffer`,
|
||||
`#forge:ingots/steel`,
|
||||
`#forge:tools/hammers`
|
||||
]).id(`railways:shapeless/big_buffer`)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/big_buffer`)
|
||||
.itemInputs(`railways:small_buffer`, `#forge:ingots/steel`)
|
||||
.circuit(1)
|
||||
.itemOutputs(`railways:copycat_headstock_screwlink_coupler`)
|
||||
.itemOutputs(`railways:big_buffer`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/wooden_headstock_screwlink_coupler`)
|
||||
.itemInputs(`railways:screwlink_coupler`, `#minecraft:wooden_slabs`)
|
||||
.circuit(1)
|
||||
.itemOutputs(`railways:wooden_headstock_screwlink_coupler`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
.addMaterialInfo(true)
|
||||
event.shaped('railways:buffer', [
|
||||
'BAB',
|
||||
'AAA',
|
||||
'ACA'
|
||||
], {
|
||||
A: '#forge:rods/long/steel',
|
||||
B: 'railways:small_buffer',
|
||||
C: '#forge:tools/hammers'
|
||||
}).id('railways:shaped/buffer')
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/buffer`)
|
||||
.itemInputs(`6x #forge:rods/long/steel`, `2x railways:small_buffer`)
|
||||
@@ -83,18 +152,26 @@ const registerRailWaysRecipes = (event) => {
|
||||
.EUt(28)
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/small_buffer`)
|
||||
.itemInputs(`railways:screwlink_coupler`, `#forge:ingots/steel`)
|
||||
.circuit(1)
|
||||
.itemOutputs(`railways:small_buffer`)
|
||||
event.shapeless(`railways:wooden_headstock_buffer`, [
|
||||
`railways:small_buffer`,
|
||||
`railways:wooden_headstock`
|
||||
]).id(`railways:shapeless/wooden_headstock_buffer`)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/wooden_headstock_buffer`)
|
||||
.itemInputs(`railways:small_buffer`, `railways:wooden_headstock`)
|
||||
.itemOutputs(`railways:wooden_headstock_buffer`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/big_buffer`)
|
||||
.itemInputs(`railways:small_buffer`, `#forge:ingots/steel`)
|
||||
.circuit(1)
|
||||
.itemOutputs(`railways:big_buffer`)
|
||||
event.shapeless(`railways:copycat_headstock_buffer`, [
|
||||
`railways:small_buffer`,
|
||||
`railways:copycat_headstock`
|
||||
]).id(`railways:shapeless/copycat_headstock_buffer`)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/copycat_headstock_buffer`)
|
||||
.itemInputs(`railways:small_buffer`, `railways:copycat_headstock`)
|
||||
.itemOutputs(`railways:copycat_headstock_buffer`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
.addMaterialInfo(true)
|
||||
@@ -255,7 +332,10 @@ const registerRailWaysRecipes = (event) => {
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
// Дымогенератор 1
|
||||
|
||||
|
||||
//#region Smokestacks
|
||||
|
||||
event.shaped('railways:smokestack_caboosestyle', [
|
||||
'BCB',
|
||||
'DA '
|
||||
@@ -273,95 +353,6 @@ const registerRailWaysRecipes = (event) => {
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
// Дымогенератор 2
|
||||
event.shaped('railways:smokestack_long', [
|
||||
'C ',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:bolts/iron',
|
||||
C: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_long')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_long')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '2x #forge:bolts/iron')
|
||||
.circuit(5)
|
||||
.itemOutputs('railways:smokestack_long')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
// Дымогенератор 3
|
||||
event.shaped('railways:smokestack_coalburner', [
|
||||
'B B',
|
||||
'BCB',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:plates/iron',
|
||||
C: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_coalburner')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_coalburner')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/iron')
|
||||
.circuit(6)
|
||||
.itemOutputs('railways:smokestack_coalburner')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
// Дымогенератор 4
|
||||
event.shaped('railways:smokestack_oilburner', [
|
||||
'BCB',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:plates/iron',
|
||||
C: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_oilburner')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_oilburner')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '4x #forge:plates/iron')
|
||||
.circuit(7)
|
||||
.itemOutputs('railways:smokestack_oilburner')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
// Дымогенератор 5
|
||||
event.shaped('railways:smokestack_streamlined', [
|
||||
'C ',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:plates/iron',
|
||||
C: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_streamlined')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_streamlined')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '2x #forge:plates/iron')
|
||||
.circuit(8)
|
||||
.itemOutputs('railways:smokestack_streamlined')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
// Дымогенератор 6
|
||||
event.shaped('railways:smokestack_woodburner', [
|
||||
' D ',
|
||||
'CBC',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:plates/iron',
|
||||
C: '#forge:bolts/iron',
|
||||
D: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_woodburner')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_woodburner')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '3x #forge:plates/iron', '2x #forge:bolts/iron')
|
||||
.circuit(9)
|
||||
.itemOutputs('railways:smokestack_woodburner')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
// Вентилятор радиатора
|
||||
event.shaped('2x railways:smokestack_diesel', [
|
||||
'ABA',
|
||||
'BCB',
|
||||
@@ -372,6 +363,145 @@ const registerRailWaysRecipes = (event) => {
|
||||
C: '#forge:rotors/iron',
|
||||
}).id('tfg:railways/shaped/smokestack_diesel')
|
||||
|
||||
const SNR_SMOKESTACK_TYPES = [
|
||||
'woodburner',
|
||||
'long',
|
||||
'coalburner',
|
||||
'oilburner',
|
||||
'streamlined'
|
||||
]
|
||||
|
||||
const SNR_SMOKESTACK_MATERIALS = [
|
||||
{ craft_mat: 'iron', base_mat: '', capped_mat: '_steel' },
|
||||
{ craft_mat: 'brass', base_mat: '_brass', capped_mat: '_brass' },
|
||||
{ craft_mat: 'copper', base_mat: '_copper', capped_mat: '_copper' }
|
||||
]
|
||||
|
||||
SNR_SMOKESTACK_MATERIALS.forEach(mat => {
|
||||
event.shaped(`railways:smokestack_long${mat.base_mat}`, [
|
||||
'C ',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: `#forge:bolts/${mat.craft_mat}`,
|
||||
C: '#forge:tools/hammers'
|
||||
}).id(`tfg:railways/shaped/smokestack_long${mat.base_mat}`)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/smokestack_long${mat.base_mat}`)
|
||||
.itemInputs('#forge:storage_blocks/charcoal', `2x #forge:bolts/${mat.craft_mat}`)
|
||||
.circuit(5)
|
||||
.itemOutputs(`railways:smokestack_long${mat.base_mat}`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.shaped(`railways:smokestack_coalburner${mat.base_mat}`, [
|
||||
'B B',
|
||||
'BCB',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: `#forge:plates/${mat.craft_mat}`,
|
||||
C: '#forge:tools/hammers'
|
||||
}).id(`tfg:railways/shaped/smokestack_coalburner${mat.base_mat}`)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/smokestack_coalburner${mat.base_mat}`)
|
||||
.itemInputs('#forge:storage_blocks/charcoal', `6x #forge:plates/${mat.craft_mat}`)
|
||||
.circuit(6)
|
||||
.itemOutputs(`railways:smokestack_coalburner${mat.base_mat}`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.shaped(`railways:smokestack_oilburner${mat.base_mat}`, [
|
||||
'BCB',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: `#forge:plates/${mat.craft_mat}`,
|
||||
C: '#forge:tools/hammers'
|
||||
}).id(`tfg:railways/shaped/smokestack_oilburner${mat.base_mat}`)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/smokestack_oilburner${mat.base_mat}`)
|
||||
.itemInputs('#forge:storage_blocks/charcoal', `4x #forge:plates/${mat.craft_mat}`)
|
||||
.circuit(7)
|
||||
.itemOutputs(`railways:smokestack_oilburner${mat.base_mat}`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.shaped(`railways:smokestack_streamlined${mat.base_mat}`, [
|
||||
'C ',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: `#forge:plates/${mat.craft_mat}`,
|
||||
C: '#forge:tools/hammers'
|
||||
}).id(`tfg:railways/shaped/smokestack_streamlined${mat.base_mat}`)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/smokestack_streamlined${mat.base_mat}`)
|
||||
.itemInputs('#forge:storage_blocks/charcoal', `2x #forge:plates/${mat.craft_mat}`)
|
||||
.circuit(8)
|
||||
.itemOutputs(`railways:smokestack_streamlined${mat.base_mat}`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.shaped(`railways:smokestack_woodburner${mat.base_mat}`, [
|
||||
' D ',
|
||||
'CBC',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: `#forge:plates/${mat.craft_mat}`,
|
||||
C: `#forge:bolts/${mat.craft_mat}`,
|
||||
D: '#forge:tools/hammers'
|
||||
}).id(`tfg:railways/shaped/smokestack_woodburner${mat.base_mat}`)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/smokestack_woodburner${mat.base_mat}`)
|
||||
.itemInputs('#forge:storage_blocks/charcoal', `3x #forge:plates/${mat.craft_mat}`, `2x #forge:bolts/${mat.craft_mat}`)
|
||||
.circuit(9)
|
||||
.itemOutputs(`railways:smokestack_woodburner${mat.base_mat}`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
SNR_SMOKESTACK_TYPES.forEach(type => {
|
||||
|
||||
if(mat.craft_mat != 'brass') {
|
||||
event.recipes.createItemApplication([`railways:smokestack_${type}_brass_cap${mat.capped_mat}`], [`railways:smokestack_${type}${mat.base_mat}`, '#forge:bolts/brass'])
|
||||
.id(`tfg:railways/item_application/smokestack_${type}_brass_cap${mat.capped_mat}`)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`railways:smokestack_${type}_brass_cap${mat.capped_mat}`)
|
||||
.itemInputs(`railways:smokestack_${type}${mat.base_mat}`)
|
||||
.inputFluids('gtceu:brass 18')
|
||||
.itemOutputs(`railways:smokestack_${type}_brass_cap${mat.capped_mat}`)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
}
|
||||
if(mat.craft_mat != 'copper') {
|
||||
event.recipes.createItemApplication([`railways:smokestack_${type}_copper_cap${mat.capped_mat}`], [`railways:smokestack_${type}${mat.base_mat}`, '#forge:bolts/copper'])
|
||||
.id(`tfg:railways/item_application/smokestack_${type}_copper_cap${mat.capped_mat}`)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`railways:smokestack_${type}_copper_cap${mat.capped_mat}`)
|
||||
.itemInputs(`railways:smokestack_${type}${mat.base_mat}`)
|
||||
.inputFluids('gtceu:copper 18')
|
||||
.itemOutputs(`railways:smokestack_${type}_copper_cap${mat.capped_mat}`)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
}
|
||||
event.recipes.createItemApplication([`railways:smokestack_${type}_iron_cap${mat.capped_mat}`], [`railways:smokestack_${type}${mat.base_mat}`, '#forge:bolts/wrought_iron'])
|
||||
.id(`tfg:railways/item_application/smokestack_${type}_iron_cap${mat.capped_mat}`)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`railways:smokestack_${type}_iron_cap${mat.capped_mat}`)
|
||||
.itemInputs(`railways:smokestack_${type}${mat.base_mat}`)
|
||||
.inputFluids('gtceu:wrought_iron 18')
|
||||
.itemOutputs(`railways:smokestack_${type}_iron_cap${mat.capped_mat}`)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
})
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
// Монорельс
|
||||
event.recipes.createSequencedAssembly([
|
||||
'8x railways:track_monorail',
|
||||
|
||||
@@ -1,62 +1,191 @@
|
||||
"use strict";
|
||||
|
||||
const locometalDyeGroups = {
|
||||
slashed_locometal: '#railways:palettes/dye_groups/slashed',
|
||||
riveted_locometal: '#railways:palettes/dye_groups/riveted',
|
||||
locometal_pillar: '#railways:palettes/dye_groups/pillar',
|
||||
locometal_smokebox: '#railways:palettes/dye_groups/smokebox',
|
||||
plated_locometal: '#railways:palettes/dye_groups/plated',
|
||||
flat_slashed_locometal: '#railways:palettes/dye_groups/flat_slashed',
|
||||
flat_riveted_locometal: '#railways:palettes/dye_groups/flat_riveted'
|
||||
}
|
||||
const LOCOMETAL_BASE = [
|
||||
{ id: 'slashed_locometal', dye_group: '#railways:palettes/dye_groups/slashed' },
|
||||
{ id: 'riveted_locometal', dye_group: '#railways:palettes/dye_groups/riveted' },
|
||||
{ id: 'locometal_vent', dye_group: '#railways:palettes/dye_groups/vent' },
|
||||
{ id: 'flat_slashed_locometal', dye_group: '#railways:palettes/dye_groups/flat_riveted' },
|
||||
{ id: 'flat_riveted_locometal', dye_group: '#railways:palettes/dye_groups/flat_slashed' },
|
||||
{ id: 'plated_locometal', dye_group: '#railways:palettes/dye_groups/plated' },
|
||||
{ id: 'locometal_pillar', dye_group: '#railways:palettes/dye_groups/pillar' },
|
||||
{ id: 'locometal_smokebox', dye_group: '#railways:palettes/dye_groups/smokebox' },
|
||||
{ id: 'hazard_stripes_diagonal_on_black', dye_group: '#railways:palettes/dye_groups/hazard_stripes_diagonal_black' },
|
||||
{ id: 'hazard_stripes_chevron_on_black', dye_group: '#railways:palettes/dye_groups/hazard_stripes_chevron_black' },
|
||||
{ id: 'hazard_stripes_diagonal_on_white', dye_group: '#railways:palettes/dye_groups/hazard_stripes_diagonal_white' },
|
||||
{ id: 'hazard_stripes_chevron_on_white', dye_group: '#railways:palettes/dye_groups/hazard_stripes_chevron_white' }
|
||||
]
|
||||
|
||||
const locometalBase = {
|
||||
slashed_locometal: 'slashed_locometal',
|
||||
riveted_locometal: 'riveted_locometal',
|
||||
locometal_pillar: 'locometal_pillar',
|
||||
locometal_smokebox: 'locometal_smokebox',
|
||||
plated_locometal: 'plated_locometal',
|
||||
flat_slashed_locometal: 'flat_slashed_locometal',
|
||||
flat_riveted_locometal: 'flat_riveted_locometal'
|
||||
}
|
||||
const LOCOMETAL_SPECIAL = [
|
||||
{ id: 'locometal_flywheel', dye_group: '#railways:palettes/dye_groups/flywheel', multiplier: 5 },
|
||||
{ id: 'locometal_end_ladder', dye_group: '#railways:palettes/dye_groups/end_ladder', multiplier: 0.5 },
|
||||
{ id: 'locometal_rung_ladder', dye_group: '#railways:palettes/dye_groups/rung_ladder', multiplier: 0.5 },
|
||||
{ id: 'locometal_trapdoor', dye_group: '#railways:palettes/dye_groups/trapdoor', multiplier: 2 },
|
||||
{ id: 'hinged_locometal_door', dye_group: '#railways:palettes/dye_groups/hinged_door', multiplier: 4 },
|
||||
{ id: 'sliding_locometal_door', dye_group: '#railways:palettes/dye_groups/sliding_door', multiplier: 4 },
|
||||
{ id: 'folding_locometal_door', dye_group: '#railways:palettes/dye_groups/folding_door', multiplier: 4 },
|
||||
{ id: 'round_pane_locometal_window', dye_group: '#railways:palettes/dye_groups/round_pane_window', multiplier: 1 },
|
||||
{ id: 'single_pane_locometal_window', dye_group: '#railways:palettes/dye_groups/single_pane_window', multiplier: 1 },
|
||||
{ id: 'two_pane_locometal_window', dye_group: '#railways:palettes/dye_groups/two_pane_window', multiplier: 1 },
|
||||
{ id: 'four_pane_locometal_window', dye_group: '#railways:palettes/dye_groups/four_pane_window', multiplier: 1 }
|
||||
]
|
||||
|
||||
const registerRailwaysLocometalRecipes = (event) => {
|
||||
for (let locometal in locometalBase) {
|
||||
event.stonecutting(`8x railways:${locometal}`, '#forge:storage_blocks/iron');
|
||||
event.stonecutting(`16x railways:${locometal}`, '#forge:storage_blocks/wrought_iron');
|
||||
event.stonecutting(`24x railways:${locometal}`, '#forge:storage_blocks/steel');
|
||||
event.stonecutting(`railways:${locometal}`, `#railways:palettes/cycle_groups/base`);
|
||||
event.recipes.gtceu.chemical_bath(`tfg:undying/locometal/${locometal}`)
|
||||
.itemInputs(Item.of(locometalDyeGroups[`${locometal}`], 1))
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 18))
|
||||
.itemOutputs(Item.of(`railways:${locometal}`))
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
}
|
||||
// Base & Wrapped Locometal Boiler
|
||||
event.shapeless('railways:locometal_boiler', [
|
||||
'#railways:palettes/cycle_groups/netherite/base',
|
||||
'create:fluid_tank',
|
||||
'#forge:tools/screwdrivers'
|
||||
]).id('tfg:shapeless/locometal_boiler')
|
||||
|
||||
event.recipes.createItemApplication(['railways:brass_wrapped_locometal_boiler'], ['railways:locometal_boiler', '#forge:plates/brass'])
|
||||
.id('tfg:railways/item_application/brass_wrapped_locometal_boiler')
|
||||
event.recipes.createItemApplication(['railways:copper_wrapped_locometal_boiler'], ['railways:locometal_boiler', '#forge:plates/copper'])
|
||||
.id('tfg:railways/item_application/copper_wrapped_locometal_boiler')
|
||||
event.recipes.createItemApplication(['railways:iron_wrapped_locometal_boiler'], ['railways:locometal_boiler', '#forge:plates/wrought_iron'])
|
||||
.id('tfg:railways/item_application/iron_wrapped_locometal_boiler')
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/locometal_boiler`)
|
||||
.itemInputs('#railways:palettes/cycle_groups/netherite/base', `create:fluid_tank`)
|
||||
.circuit(1)
|
||||
.itemOutputs(`railways:locometal_boiler`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
event.recipes.gtceu.assembler(`tfg:railways/brass_wrapped_locometal_boiler`)
|
||||
.itemInputs(`railways:brass_wrapped_locometal`, `create:fluid_tank`)
|
||||
.circuit(1)
|
||||
.itemOutputs(`railways:brass_wrapped_locometal_boiler`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
event.recipes.gtceu.assembler(`tfg:railways/copper_wrapped_locometal_boiler`)
|
||||
.itemInputs(`railways:copper_wrapped_locometal`, `create:fluid_tank`)
|
||||
.circuit(1)
|
||||
.itemOutputs(`railways:copper_wrapped_locometal_boiler`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
event.recipes.gtceu.assembler(`tfg:railways/iron_wrapped_locometal_boiler`)
|
||||
.itemInputs(`railways:iron_wrapped_locometal`, `create:fluid_tank`)
|
||||
.circuit(1)
|
||||
.itemOutputs(`railways:iron_wrapped_locometal_boiler`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
// Wrapped Locometal Recipes
|
||||
event.recipes.createItemApplication(['railways:brass_wrapped_locometal'], ['railways:slashed_locometal', '#forge:bolts/brass'])
|
||||
.id('tfg:railways/item_application/brass_wrapped_locometal')
|
||||
event.recipes.createItemApplication(['railways:copper_wrapped_locometal'], ['railways:slashed_locometal', '#forge:bolts/copper'])
|
||||
.id('tfg:railways/item_application/copper_wrapped_locometal')
|
||||
event.recipes.createItemApplication(['railways:iron_wrapped_locometal'], ['railways:slashed_locometal', '#forge:bolts/wrought_iron'])
|
||||
.id('tfg:railways/item_application/iron_wrapped_locometal')
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`railways:iron_wrapped_locometal`)
|
||||
.itemInputs(`#railways:palettes/cycle_groups/base`)
|
||||
.inputFluids('gtceu:wrought_iron 18')
|
||||
.itemOutputs('railways:iron_wrapped_locometal')
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
event.recipes.gtceu.chemical_bath(`railways:copper_wrapped_locometal`)
|
||||
.itemInputs(`#railways:palettes/cycle_groups/base`)
|
||||
.inputFluids('gtceu:copper 18')
|
||||
.itemOutputs('railways:copper_wrapped_locometal')
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
event.recipes.gtceu.chemical_bath(`railways:brass_wrapped_locometal`)
|
||||
.itemInputs(`#railways:palettes/cycle_groups/base`)
|
||||
.itemInputs(`railways:slashed_locometal`)
|
||||
.inputFluids('gtceu:brass 18')
|
||||
.itemOutputs('railways:brass_wrapped_locometal')
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
event.recipes.gtceu.chemical_bath(`railways:copper_wrapped_locometal`)
|
||||
.itemInputs(`railways:slashed_locometal`)
|
||||
.inputFluids('gtceu:copper 18')
|
||||
.itemOutputs('railways:copper_wrapped_locometal')
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
event.recipes.gtceu.chemical_bath(`railways:iron_wrapped_locometal`)
|
||||
.itemInputs(`railways:slashed_locometal`)
|
||||
.inputFluids('gtceu:wrought_iron 18')
|
||||
.itemOutputs('railways:iron_wrapped_locometal')
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
|
||||
// Wrapped Smokebox Recipes
|
||||
event.recipes.createItemApplication(['railways:wrapped_locometal_smokebox'], ['railways:locometal_smokebox', '#forge:bolts/brass'])
|
||||
.id('tfg:railways/item_application/wrapped_locometal_smokebox')
|
||||
event.recipes.createItemApplication(['railways:copper_wrapped_locometal_smokebox'], ['railways:locometal_smokebox', '#forge:bolts/copper'])
|
||||
.id('tfg:railways/item_application/copper_wrapped_locometal_smokebox')
|
||||
event.recipes.createItemApplication(['railways:iron_wrapped_locometal_smokebox'], ['railways:locometal_smokebox', '#forge:bolts/wrought_iron'])
|
||||
.id('tfg:railways/item_application/iron_wrapped_locometal_smokebox')
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`railways:brass_wrapped_locometal_smokebox`)
|
||||
.itemInputs(`railways:locometal_smokebox`)
|
||||
.inputFluids('gtceu:brass 18')
|
||||
.itemOutputs('railways:wrapped_locometal_smokebox')
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
event.recipes.gtceu.chemical_bath(`railways:copper_wrapped_locometal_smokebox`)
|
||||
.itemInputs(`railways:locometal_smokebox`)
|
||||
.inputFluids('gtceu:copper 18')
|
||||
.itemOutputs('railways:copper_wrapped_locometal_smokebox')
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
event.recipes.gtceu.chemical_bath(`railways:iron_wrapped_locometal_smokebox`)
|
||||
.itemInputs(`railways:locometal_smokebox`)
|
||||
.inputFluids('gtceu:wrought_iron 18')
|
||||
.itemOutputs('railways:iron_wrapped_locometal_smokebox')
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
|
||||
// Base Locometal Regular & Undying Recipes
|
||||
LOCOMETAL_BASE.forEach(locometal => {
|
||||
event.stonecutting(`8x railways:${locometal.id}`, '#forge:storage_blocks/iron');
|
||||
event.stonecutting(`16x railways:${locometal.id}`, '#forge:storage_blocks/wrought_iron');
|
||||
event.stonecutting(`32x railways:${locometal.id}`, '#forge:storage_blocks/steel');
|
||||
event.stonecutting(`railways:${locometal.id}`, `#railways:palettes/cycle_groups/netherite/base`);
|
||||
event.recipes.gtceu.chemical_bath(`tfg:undying/locometal/${locometal.id}`)
|
||||
.itemInputs(`${locometal.dye_group}`)
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 18))
|
||||
.itemOutputs(Item.of(`railways:${locometal.id}`))
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
})
|
||||
|
||||
// Base Functional Decorative Block Recipes
|
||||
event.stonecutting(`16x railways:locometal_end_ladder`, '#forge:storage_blocks/iron');
|
||||
event.stonecutting(`32x railways:locometal_end_ladder`, '#forge:storage_blocks/wrought_iron');
|
||||
event.stonecutting(`64x railways:locometal_end_ladder`, '#forge:storage_blocks/steel');
|
||||
|
||||
event.stonecutting(`16x railways:locometal_rung_ladder`, '#forge:storage_blocks/iron');
|
||||
event.stonecutting(`32x railways:locometal_rung_ladder`, '#forge:storage_blocks/wrought_iron');
|
||||
event.stonecutting(`64x railways:locometal_rung_ladder`, '#forge:storage_blocks/steel');
|
||||
|
||||
event.stonecutting(`4x railways:locometal_trapdoor`, '#forge:storage_blocks/iron');
|
||||
event.stonecutting(`8x railways:locometal_trapdoor`, '#forge:storage_blocks/wrought_iron');
|
||||
event.stonecutting(`16x railways:locometal_trapdoor`, '#forge:storage_blocks/steel');
|
||||
|
||||
event.stonecutting(`2x railways:hinged_locometal_door`, '#forge:storage_blocks/iron');
|
||||
event.stonecutting(`4x railways:hinged_locometal_door`, '#forge:storage_blocks/wrought_iron');
|
||||
event.stonecutting(`8x railways:hinged_locometal_door`, '#forge:storage_blocks/steel');
|
||||
|
||||
event.stonecutting(`2x railways:sliding_locometal_door`, '#forge:storage_blocks/iron');
|
||||
event.stonecutting(`4x railways:sliding_locometal_door`, '#forge:storage_blocks/wrought_iron');
|
||||
event.stonecutting(`8x railways:sliding_locometal_door`, '#forge:storage_blocks/steel');
|
||||
|
||||
event.stonecutting(`2x railways:folding_locometal_door`, '#forge:storage_blocks/iron');
|
||||
event.stonecutting(`4x railways:folding_locometal_door`, '#forge:storage_blocks/wrought_iron');
|
||||
event.stonecutting(`8x railways:folding_locometal_door`, '#forge:storage_blocks/steel');
|
||||
|
||||
// Base RNR Flywheel Recipes
|
||||
event.shapeless('railways:locometal_flywheel', [
|
||||
'create:flywheel',
|
||||
'#forge:tools/screwdrivers'
|
||||
]).id('tfg:shapeless/create_flywheel_to_snr_flywheel')
|
||||
event.shapeless('create:flywheel', [
|
||||
'railways:locometal_flywheel',
|
||||
'#forge:tools/screwdrivers'
|
||||
]).id('tfg:shapeless/snr_flywheel_to_create_flywheel')
|
||||
|
||||
// Locometal Glass Block Recipes
|
||||
event.stonecutting(`railways:round_pane_locometal_window`, '#forge:glass/colorless');
|
||||
event.stonecutting(`railways:single_pane_locometal_window`, '#forge:glass/colorless');
|
||||
event.stonecutting(`railways:two_pane_locometal_window`, '#forge:glass/colorless');
|
||||
event.stonecutting(`railways:four_pane_locometal_window`, '#forge:glass/colorless');
|
||||
|
||||
// Wrapped Locometal Undying Recipes
|
||||
event.recipes.gtceu.chemical_bath(`tfg:undying/brass_wrapped_locometal`)
|
||||
.itemInputs('#railways:palettes/dye_groups/brass_wrapped_slashed')
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 18))
|
||||
@@ -78,6 +207,8 @@ const registerRailwaysLocometalRecipes = (event) => {
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
// Base & Wrapped Boiler Undying Recipes
|
||||
event.recipes.gtceu.chemical_bath('tfg:undying/boiler')
|
||||
.itemInputs('#railways:palettes/dye_groups/boiler')
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 72))
|
||||
@@ -107,119 +238,185 @@ const registerRailwaysLocometalRecipes = (event) => {
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dye => {
|
||||
for (let locometal in locometalBase) {
|
||||
event.recipes.gtceu.chemical_bath(`tfg:chemical_dying_locometal/${locometal}/${dye}`)
|
||||
.itemInputs(Item.of(locometalDyeGroups[`${locometal}`], 1))
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 18))
|
||||
.itemOutputs(Item.of(`railways:${dye}_${locometal}`))
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
};
|
||||
// Wrapped Smokebox Undying Recipes
|
||||
event.recipes.gtceu.chemical_bath(`tfg:undying/brass_wrapped_locometal_smokebox`)
|
||||
.itemInputs('#railways:palettes/dye_groups/brass_wrapped_smokebox')
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 18))
|
||||
.itemOutputs(`railways:wrapped_locometal_smokebox`)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
event.recipes.gtceu.chemical_bath(`tfg:undying/copper_wrapped_locometal_smokebox`)
|
||||
.itemInputs('#railways:palettes/dye_groups/copper_wrapped_smokebox')
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 18))
|
||||
.itemOutputs(`railways:copper_wrapped_locometal_smokebox`)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
event.recipes.gtceu.chemical_bath(`tfg:undying/iron_wrapped_locometal_smokebox`)
|
||||
.itemInputs('#railways:palettes/dye_groups/iron_wrapped_smokebox')
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 18))
|
||||
.itemOutputs(`railways:iron_wrapped_locometal_smokebox`)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`railways:${dye}_iron_wrapped_locometal`)
|
||||
.itemInputs(`#railways:palettes/cycle_groups/${dye}`)
|
||||
.inputFluids('gtceu:wrought_iron 18')
|
||||
.itemOutputs(`railways:${dye}_iron_wrapped_locometal`)
|
||||
.duration(20)
|
||||
// Functional Decorative Block Undying Recipes
|
||||
LOCOMETAL_SPECIAL.forEach(locometal => {
|
||||
event.recipes.gtceu.chemical_bath(`tfg:undying/locometal/${locometal.id}`)
|
||||
.itemInputs(`${locometal.dye_group}`)
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 18 * locometal.multiplier))
|
||||
.itemOutputs(`railways:${locometal.id}`)
|
||||
.duration(20 * locometal.multiplier)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
event.recipes.gtceu.chemical_bath(`railways:${dye}_copper_wrapped_locometal`)
|
||||
.itemInputs(`#railways:palettes/cycle_groups/${dye}`)
|
||||
.inputFluids('gtceu:copper 18')
|
||||
.itemOutputs(`railways:${dye}_copper_wrapped_locometal`)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
event.recipes.gtceu.chemical_bath(`railways:${dye}_brass_wrapped_locometal`)
|
||||
.itemInputs(`#railways:palettes/cycle_groups/${dye}`)
|
||||
.inputFluids('gtceu:brass 18')
|
||||
.itemOutputs(`railways:${dye}_brass_wrapped_locometal`)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`tfg:brass_locometal_bathing/${dye}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/brass_wrapped_slashed')
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 18))
|
||||
.itemOutputs(`railways:${dye}_brass_wrapped_locometal`)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
event.recipes.gtceu.chemical_bath(`tfg:copper_locometal_bathing/${dye}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/copper_wrapped_slashed')
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 18))
|
||||
.itemOutputs(`railways:${dye}_copper_wrapped_locometal`)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
event.recipes.gtceu.chemical_bath(`tfg:locometal_bathing/${dye}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/iron_wrapped_slashed')
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 18))
|
||||
.itemOutputs(`railways:${dye}_iron_wrapped_locometal`)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
event.recipes.gtceu.chemical_bath(`tfg:railways/locometal_boiler/color/${dye}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/boiler')
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 72))
|
||||
.itemOutputs(`railways:${dye}_locometal_boiler`)
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
event.recipes.gtceu.chemical_bath(`tfg:railways/brass_wrapped_locometal_boiler/color/${dye}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/brass_wrapped_boiler')
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 72))
|
||||
.itemOutputs(`railways:${dye}_brass_wrapped_locometal_boiler`)
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
event.recipes.gtceu.chemical_bath(`tfg:railways/copper_wrapped_locometal_boiler/color/${dye}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/copper_wrapped_boiler')
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 72))
|
||||
.itemOutputs(`railways:${dye}_copper_wrapped_locometal_boiler`)
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
event.recipes.gtceu.chemical_bath(`tfg:railways/iron_wrapped_locometal_boiler/color/${dye}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/iron_wrapped_boiler')
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 72))
|
||||
.itemOutputs(`railways:${dye}_iron_wrapped_locometal_boiler`)
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
})
|
||||
|
||||
// Locometal Boiler
|
||||
event.recipes.gtceu.assembler(`tfg:railways/locometal_boiler`)
|
||||
.itemInputs('#railways:palettes/cycle_groups/base', `create:fluid_tank`)
|
||||
.circuit(1)
|
||||
.itemOutputs(`railways:locometal_boiler`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
global.LOCOMETAL_COLORS.forEach(x => {
|
||||
x.colors.forEach((color, i) => {
|
||||
// Base Colored Recipes
|
||||
LOCOMETAL_BASE.forEach(locometal => {
|
||||
event.stonecutting(`railways:${color}_${locometal.id}`, `#railways:palettes/cycle_groups/${color}/base`);
|
||||
event.recipes.gtceu.chemical_bath(`tfg:chemical_dying_locometal/${locometal.id}/${color}`)
|
||||
.itemInputs(`${locometal.dye_group}`)
|
||||
.inputFluids(Fluid.of(`${x.dye}`, 18))
|
||||
.itemOutputs(Item.of(`railways:${color}_${locometal.id}`))
|
||||
.circuit(i + 1)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
})
|
||||
|
||||
// Wrapped Locometal Colored Recipes
|
||||
event.recipes.createItemApplication([`railways:${color}_brass_wrapped_locometal`], [`railways:${color}_slashed_locometal`, '#forge:bolts/brass'])
|
||||
.id(`tfg:railways/item_application/${color}_brass_wrapped_locometal`)
|
||||
event.recipes.createItemApplication([`railways:${color}_copper_wrapped_locometal`], [`railways:${color}_slashed_locometal`, '#forge:bolts/copper'])
|
||||
.id(`tfg:railways/item_application/${color}_copper_wrapped_locometal`)
|
||||
event.recipes.createItemApplication([`railways:${color}_iron_wrapped_locometal`], [`railways:${color}_slashed_locometal`, '#forge:bolts/wrought_iron'])
|
||||
.id(`tfg:railways/item_application/${color}_iron_wrapped_locometal`)
|
||||
|
||||
// Brass Wrapped Locometal Boiler
|
||||
event.recipes.gtceu.assembler(`tfg:railways/brass_wrapped_locometal_boiler`)
|
||||
.itemInputs(`railways:brass_wrapped_locometal`, `create:fluid_tank`)
|
||||
.circuit(1)
|
||||
.itemOutputs(`railways:brass_wrapped_locometal_boiler`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
event.recipes.gtceu.chemical_bath(`tfg:brass_locometal_bathing/${color}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/brass_wrapped_slashed')
|
||||
.inputFluids(Fluid.of(`${x.dye}`, 18))
|
||||
.itemOutputs(`railways:${color}_brass_wrapped_locometal`)
|
||||
.circuit(i + 1)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
event.recipes.gtceu.chemical_bath(`tfg:copper_locometal_bathing/${color}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/copper_wrapped_slashed')
|
||||
.inputFluids(Fluid.of(`${x.dye}`, 18))
|
||||
.itemOutputs(`railways:${color}_copper_wrapped_locometal`)
|
||||
.circuit(i + 1)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
event.recipes.gtceu.chemical_bath(`tfg:locometal_bathing/${color}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/iron_wrapped_slashed')
|
||||
.inputFluids(Fluid.of(`${x.dye}`, 18))
|
||||
.itemOutputs(`railways:${color}_iron_wrapped_locometal`)
|
||||
.circuit(i + 1)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
// Copper Wrapped Locometal Boiler
|
||||
event.recipes.gtceu.assembler(`tfg:railways/copper_wrapped_locometal_boiler`)
|
||||
.itemInputs(`railways:copper_wrapped_locometal`, `create:fluid_tank`)
|
||||
.circuit(1)
|
||||
.itemOutputs(`railways:copper_wrapped_locometal_boiler`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
// Base & Wrapped Boiler Colored Recipes
|
||||
event.shapeless(`railways:${color}_locometal_boiler`, [
|
||||
`#railways:palettes/cycle_groups/${color}/base`,
|
||||
`create:fluid_tank`,
|
||||
`#forge:tools/screwdrivers`
|
||||
]).id(`tfg:shapeless/${color}_locometal_boiler`)
|
||||
|
||||
// Iron Wrapped Locometal Boiler
|
||||
event.recipes.gtceu.assembler(`tfg:railways/iron_wrapped_locometal_boiler`)
|
||||
.itemInputs(`railways:iron_wrapped_locometal`, `create:fluid_tank`)
|
||||
.circuit(1)
|
||||
.itemOutputs(`railways:iron_wrapped_locometal_boiler`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
event.recipes.createItemApplication([`railways:${color}_brass_wrapped_locometal_boiler`], [`railways:${color}_locometal_boiler`, '#forge:plates/brass'])
|
||||
.id(`tfg:railways/item_application/${color}_brass_wrapped_locometal_boiler`)
|
||||
event.recipes.createItemApplication([`railways:${color}_copper_wrapped_locometal_boiler`], [`railways:${color}_locometal_boiler`, '#forge:plates/copper'])
|
||||
.id(`tfg:railways/item_application/${color}_copper_wrapped_locometal_boiler`)
|
||||
event.recipes.createItemApplication([`railways:${color}_iron_wrapped_locometal_boiler`], [`railways:${color}_locometal_boiler`, '#forge:plates/wrought_iron'])
|
||||
.id(`tfg:railways/item_application/${color}_iron_wrapped_locometal_boiler`)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:railways/${color}_locometal_boiler`)
|
||||
.itemInputs(`#railways:palettes/cycle_groups/${color}/base`, `create:fluid_tank`)
|
||||
.circuit(1)
|
||||
.itemOutputs(`railways:${color}_locometal_boiler`)
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`tfg:railways/locometal_boiler/color/${color}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/boiler')
|
||||
.inputFluids(Fluid.of(`${x.dye}`, 72))
|
||||
.itemOutputs(`railways:${color}_locometal_boiler`)
|
||||
.circuit(i + 1)
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
event.recipes.gtceu.chemical_bath(`tfg:railways/brass_wrapped_locometal_boiler/color/${color}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/brass_wrapped_boiler')
|
||||
.inputFluids(Fluid.of(`${x.dye}`, 72))
|
||||
.itemOutputs(`railways:${color}_brass_wrapped_locometal_boiler`)
|
||||
.circuit(i + 1)
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
event.recipes.gtceu.chemical_bath(`tfg:railways/copper_wrapped_locometal_boiler/color/${color}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/copper_wrapped_boiler')
|
||||
.inputFluids(Fluid.of(`${x.dye}`, 72))
|
||||
.itemOutputs(`railways:${color}_copper_wrapped_locometal_boiler`)
|
||||
.circuit(i + 1)
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
event.recipes.gtceu.chemical_bath(`tfg:railways/iron_wrapped_locometal_boiler/color/${color}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/iron_wrapped_boiler')
|
||||
.inputFluids(Fluid.of(`${x.dye}`, 72))
|
||||
.itemOutputs(`railways:${color}_iron_wrapped_locometal_boiler`)
|
||||
.circuit(i + 1)
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
// Wrapped Smokebox Colored Recipes
|
||||
event.recipes.createItemApplication([`railways:${color}_wrapped_locometal_smokebox`], [`railways:${color}_locometal_smokebox`, '#forge:bolts/brass'])
|
||||
.id(`tfg:railways/item_application/${color}_wrapped_locometal_smokebox`)
|
||||
event.recipes.createItemApplication([`railways:${color}_copper_wrapped_locometal_smokebox`], [`railways:${color}_locometal_smokebox`, '#forge:bolts/copper'])
|
||||
.id(`tfg:railways/item_application/${color}_copper_wrapped_locometal_smokebox`)
|
||||
event.recipes.createItemApplication([`railways:${color}_iron_wrapped_locometal_smokebox`], [`railways:${color}_locometal_smokebox`, '#forge:bolts/wrought_iron'])
|
||||
.id(`tfg:railways/item_application/${color}_iron_wrapped_locometal_smokebox`)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`tfg:brass_locometal_smokebox_bathing/${color}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/brass_wrapped_smokebox')
|
||||
.inputFluids(Fluid.of(`${x.dye}`, 18))
|
||||
.itemOutputs(`railways:${color}_wrapped_locometal_smokebox`)
|
||||
.circuit(i + 1)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
event.recipes.gtceu.chemical_bath(`tfg:copper_locometal_smokebox_bathing/${color}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/copper_wrapped_smokebox')
|
||||
.inputFluids(Fluid.of(`${x.dye}`, 18))
|
||||
.itemOutputs(`railways:${color}_copper_wrapped_locometal_smokebox`)
|
||||
.circuit(i + 1)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
event.recipes.gtceu.chemical_bath(`tfg:iron_locometal_smokebox_bathing/${color}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/iron_wrapped_smokebox')
|
||||
.inputFluids(Fluid.of(`${x.dye}`, 18))
|
||||
.itemOutputs(`railways:${color}_iron_wrapped_locometal_smokebox`)
|
||||
.circuit(i + 1)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
LOCOMETAL_SPECIAL.forEach(locometal => {
|
||||
event.recipes.gtceu.chemical_bath(`tfg:chemical_dying_locometal/${locometal.id}/${color}`)
|
||||
.itemInputs(`${locometal.dye_group}`)
|
||||
.inputFluids(Fluid.of(`${x.dye}`, 18 * locometal.multiplier))
|
||||
.itemOutputs(`railways:${color}_${locometal.id}`)
|
||||
.circuit(i + 1)
|
||||
.duration(20 * locometal.multiplier)
|
||||
.EUt(24)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
@@ -13,6 +13,28 @@ const registerRailWaysItemTags = (event) => {
|
||||
if (dye !== 'white') event.add('tfg:colored_caps', `railways:${dye}_conductor_cap`)
|
||||
event.remove('c:hidden_from_recipe_viewers',`railways:${dye}_conductor_cap`)
|
||||
})
|
||||
|
||||
event.remove('railways:palettes/cycle_groups/netherite/hazard_stripes_black', 'railways:hazard_stripes_diagonal_on_black')
|
||||
event.remove('railways:palettes/cycle_groups/netherite/hazard_stripes_black', 'railways:hazard_stripes_chevron_on_black')
|
||||
event.remove('railways:palettes/cycle_groups/netherite/hazard_stripes_white', 'railways:hazard_stripes_diagonal_on_white')
|
||||
event.remove('railways:palettes/cycle_groups/netherite/hazard_stripes_white', 'railways:hazard_stripes_chevron_on_white')
|
||||
event.add('railways:palettes/cycle_groups/netherite/base', 'railways:hazard_stripes_diagonal_on_black')
|
||||
event.add('railways:palettes/cycle_groups/netherite/base', 'railways:hazard_stripes_chevron_on_black')
|
||||
event.add('railways:palettes/cycle_groups/netherite/base', 'railways:hazard_stripes_diagonal_on_white')
|
||||
event.add('railways:palettes/cycle_groups/netherite/base', 'railways:hazard_stripes_chevron_on_white')
|
||||
|
||||
global.LOCOMETAL_COLORS.forEach(x => {
|
||||
x.colors.forEach((color, i) => {
|
||||
event.remove(`railways:palettes/cycle_groups/${color}/hazard_stripes_black`, `railways:${color}_hazard_stripes_diagonal_on_black`)
|
||||
event.remove(`railways:palettes/cycle_groups/${color}/hazard_stripes_black`, `railways:${color}_hazard_stripes_chevron_on_black`)
|
||||
event.remove(`railways:palettes/cycle_groups/${color}/hazard_stripes_white`, `railways:${color}_hazard_stripes_diagonal_on_white`)
|
||||
event.remove(`railways:palettes/cycle_groups/${color}/hazard_stripes_white`, `railways:${color}_hazard_stripes_chevron_on_white`)
|
||||
event.add(`railways:palettes/cycle_groups/${color}/base`, `railways:${color}_hazard_stripes_diagonal_on_black`)
|
||||
event.add(`railways:palettes/cycle_groups/${color}/base`, `railways:${color}_hazard_stripes_chevron_on_black`)
|
||||
event.add(`railways:palettes/cycle_groups/${color}/base`, `railways:${color}_hazard_stripes_diagonal_on_white`)
|
||||
event.add(`railways:palettes/cycle_groups/${color}/base`, `railways:${color}_hazard_stripes_chevron_on_white`)
|
||||
})
|
||||
})
|
||||
}
|
||||
const registerRailWaysBlockTags = (event) => {
|
||||
|
||||
|
||||
@@ -171,9 +171,15 @@ const registerTFCRecipes = (event) => {
|
||||
|
||||
event.replaceInput({ mod: 'tfc' }, 'minecraft:sugar', '#tfg:sugars')
|
||||
|
||||
event.replaceInput(
|
||||
{ type: 'tfc:pot_jam' },
|
||||
'#tfg:sugars',
|
||||
'#tfc:sweetener'
|
||||
)
|
||||
|
||||
// jute net -> burlap net
|
||||
event.replaceInput({ id: 'tfc:crafting/jute_net' }, 'tfc:jute_fiber', '#tfg:burlap_fiber')
|
||||
event.replaceInput({ input: 'minecraft:slime_ball' }, 'minecraft:slime_ball', 'tfc:glue')
|
||||
|
||||
// horse armor to use burlap
|
||||
global.TFC_EQUIPMENT_METALS.forEach(material => {
|
||||
@@ -295,5 +301,4 @@ const registerTFCRecipes = (event) => {
|
||||
A: `tfc:wood/sapling/${type}`
|
||||
}).id(`tfg:shaped/tfc/${type}_krummholz`);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@@ -122,6 +122,7 @@ function removeTFCRecipes(event) {
|
||||
event.remove({ id: 'tfc:crafting/cake' })
|
||||
event.remove({ id: 'tfc:crafting/pumpkin_chunks' })
|
||||
event.remove({ id: 'tfc:crafting/alabaster_brick' })
|
||||
event.remove({ id: 'tfc:crafting/vanilla/redstone/sticky_piston' })
|
||||
|
||||
global.TFC_DOUGHS.forEach(dough => {
|
||||
for (let i = 1; i <= 8; i++) {
|
||||
@@ -143,4 +144,6 @@ function removeTFCRecipes(event) {
|
||||
event.remove({ id: 'tfc:heating/metal/weak_red_steel_ingot' })
|
||||
event.remove({ id: 'tfc:casting/weak_red_steel_ingot' })
|
||||
event.remove({ id: 'tfc:casting/weak_red_steel_fire_ingot' })
|
||||
|
||||
event.remove({ id: 'tfc:crafting/wool_yarn' })
|
||||
}
|
||||
|
||||
@@ -53,6 +53,7 @@ function registerTFGHeatData(event) {
|
||||
event.itemHeat('tfg:food/cooked_burger_patty', 1.0, null, null);
|
||||
|
||||
event.itemHeat('tfg:unfired_rod_mold', 1.0, null, null);
|
||||
event.itemHeat('tfg:unfired_spindle_head_mold', 1.0, null, null);
|
||||
event.itemHeat('tfg:unfired_small_gear_mold', 1.0, null, null);
|
||||
event.itemHeat('tfg:unfired_nugget_mold', 1.0, null, null);
|
||||
|
||||
@@ -329,9 +330,11 @@ function registerTFGItemSize(event) {
|
||||
event.itemSize(
|
||||
orArray([
|
||||
"tfg:unfired_rod_mold",
|
||||
"tfg:unfired_spindle_head_mold",
|
||||
"tfg:unfired_small_gear_mold",
|
||||
"tfg:unfired_nugget_mold",
|
||||
"tfg:rod_mold",
|
||||
"tfg:spindle_head_mold",
|
||||
"tfg:small_gear_mold",
|
||||
"tfg:nugget_mold"
|
||||
]),
|
||||
|
||||
176
kubejs/server_scripts/tfg/equipment/recipes.repair_tools.js
Normal file
176
kubejs/server_scripts/tfg/equipment/recipes.repair_tools.js
Normal file
@@ -0,0 +1,176 @@
|
||||
// Because it's impossible to delete a GTTools in a shapeless recipe without losing its NBT or even modifying the NBT of the tool by a certain amount we are using a different method.
|
||||
// This function is used to create recipes for every TFG/GT Tools with their repair kit and the percentage of reperation each kits can do.
|
||||
// Everytime you craft this recipe the event TFGRepairHelper in TFG Core is trigger and recreate the tool with all its NBT.
|
||||
// The Bonus is that you can choose the amount of reparation for each type of tools. Also we need 4 functions because GT name for their tools is stupid.
|
||||
|
||||
function registerTFGRepairKitRecipes(event) {
|
||||
|
||||
const ELECTRIC_TOOLS = ['drill', 'buzzsaw', 'wrench', 'chainsaw', 'wire_cutter', 'screwdriver'];
|
||||
const MANUAL_TOOLS = ['knife', 'hoe', 'scythe', 'hammer', 'file', 'sword', 'butchery_knife', 'crowbar'];
|
||||
const ONLY_MANUAL_TOOLS = ['spade', 'pickaxe', 'shovel', 'axe', 'wrench', 'mortar', 'saw', 'screwdriver', 'wire_cutter', 'mining_hammer'];
|
||||
const ONLY_COLORED_TOOLS = ['buzzsaw'];
|
||||
|
||||
function repairElectricTools(namespace, tierMaterial, repairKitMaterial, repairPercent) {
|
||||
ELECTRIC_TOOLS.forEach(tool => {
|
||||
let toolId = `${namespace}:${tierMaterial}_${repairKitMaterial}_${tool}`;
|
||||
let repairKitId = `${namespace}:repair_kit_${repairKitMaterial}`;
|
||||
if (!Item.of(toolId).isEmpty() && !Item.of(repairKitId).isEmpty()) {
|
||||
event.recipes.tfc.no_remainder_shapeless_crafting(
|
||||
event.shapeless(
|
||||
toolId,
|
||||
[
|
||||
toolId,
|
||||
Item.of(repairKitId, `{RepairPercent:${repairPercent}f}`)
|
||||
]
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function repairManualTools(namespace, material, repairPercent) {
|
||||
MANUAL_TOOLS.forEach(tool => {
|
||||
let toolId = `${namespace}:${material}_${tool}`;
|
||||
let repairKitId = `${namespace}:repair_kit_${material}`;
|
||||
if (!Item.of(toolId).isEmpty() && !Item.of(repairKitId).isEmpty()) {
|
||||
event.recipes.tfc.no_remainder_shapeless_crafting(
|
||||
event.shapeless(
|
||||
toolId,
|
||||
[
|
||||
toolId,
|
||||
Item.of(repairKitId, `{RepairPercent:${repairPercent}f}`)
|
||||
]
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function repairOnlyManualTools(namespace, material, repairPercent) {
|
||||
ONLY_MANUAL_TOOLS.forEach(tool => {
|
||||
let toolId = `${namespace}:${material}_${tool}`;
|
||||
let repairKitId = `${namespace}:repair_kit_${material}`;
|
||||
if (!Item.of(toolId).isEmpty() && !Item.of(repairKitId).isEmpty()) {
|
||||
event.recipes.tfc.no_remainder_shapeless_crafting(
|
||||
event.shapeless(
|
||||
toolId,
|
||||
[
|
||||
toolId,
|
||||
Item.of(repairKitId, `{RepairPercent:${repairPercent}f}`)
|
||||
]
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
function repairColoredSteel(namespace, material, repairPercent) {
|
||||
ONLY_COLORED_TOOLS.forEach(tool => {
|
||||
let toolId = `${namespace}:${material}_${tool}`;
|
||||
let repairKitId = `${namespace}:repair_kit_${material}`;
|
||||
if (!Item.of(toolId).isEmpty() && !Item.of(repairKitId).isEmpty()) {
|
||||
event.recipes.tfc.no_remainder_shapeless_crafting(
|
||||
event.shapeless(
|
||||
toolId,
|
||||
[
|
||||
toolId,
|
||||
Item.of(repairKitId, `{RepairPercent:${repairPercent}f}`)
|
||||
]
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 'namespace':'tier if electric'_material' Amount repaired in percentage
|
||||
|
||||
repairColoredSteel('gtceu', 'red_steel', 0.25);
|
||||
repairColoredSteel('gtceu', 'blue_steel', 0.25);
|
||||
|
||||
repairElectricTools('tfg', 'hv', 'boron_carbide', 0.25);
|
||||
repairElectricTools('tfg', 'mv', 'diamond_tipped_mo_50_re', 0.25);
|
||||
repairElectricTools('gtceu', 'iv', 'hsse', 0.25);
|
||||
repairElectricTools('gtceu', 'iv', 'naquadah_alloy', 0.25);
|
||||
repairElectricTools('gtceu', 'iv', 'duranium', 0.25);
|
||||
repairElectricTools('gtceu', 'ev', 'ostrum_iodide', 0.25);
|
||||
repairElectricTools('gtceu', 'ev', 'tungsten_carbide', 0.25);
|
||||
repairElectricTools('gtceu', 'hv', 'ultimet', 0.25);
|
||||
repairElectricTools('gtceu', 'lv', 'blue_steel', 0.25);
|
||||
repairElectricTools('gtceu', 'lv', 'red_steel', 0.25);
|
||||
repairElectricTools('gtceu', 'mv', 'vanadium_steel', 0.25);
|
||||
|
||||
repairManualTools('tfg', 'boron_carbide', 0.25);
|
||||
repairManualTools('tfg', 'diamond_tipped_mo_50_re', 0.25);
|
||||
repairManualTools('gtceu', 'hsse', 0.25);
|
||||
repairManualTools('gtceu', 'naquadah_alloy', 0.25);
|
||||
repairManualTools('gtceu', 'duranium', 0.25);
|
||||
repairManualTools('gtceu', 'ostrum_iodide', 0.25);
|
||||
repairManualTools('gtceu', 'tungsten_carbide', 0.25);
|
||||
repairManualTools('gtceu', 'ultimet', 0.25);
|
||||
repairManualTools('gtceu', 'blue_steel', 0.25);
|
||||
repairManualTools('gtceu', 'red_steel', 0.25);
|
||||
repairManualTools('gtceu', 'vanadium_steel', 0.25);
|
||||
|
||||
repairOnlyManualTools('gtceu', 'black_bronze', 0.25);
|
||||
repairOnlyManualTools('gtceu', 'black_steel', 0.25);
|
||||
repairOnlyManualTools('gtceu', 'steel', 0.25);
|
||||
repairOnlyManualTools('gtceu', 'wrought_iron', 0.25);
|
||||
repairOnlyManualTools('gtceu', 'bronze', 0.25);
|
||||
repairOnlyManualTools('gtceu', 'copper', 0.25);
|
||||
repairOnlyManualTools('gtceu', 'bismuth_bronze', 0.25);
|
||||
|
||||
repairOnlyManualTools('gtceu', 'blue_steel', 0.25);
|
||||
repairOnlyManualTools('gtceu', 'red_steel', 0.25);
|
||||
|
||||
repairManualTools('gtceu', 'black_bronze', 0.25);
|
||||
repairManualTools('gtceu', 'black_steel', 0.25);
|
||||
repairManualTools('gtceu', 'steel', 0.25);
|
||||
repairManualTools('gtceu', 'wrought_iron', 0.25);
|
||||
repairManualTools('gtceu', 'bronze', 0.25);
|
||||
repairManualTools('gtceu', 'copper', 0.25);
|
||||
repairManualTools('gtceu', 'bismuth_bronze', 0.25);
|
||||
|
||||
// Generate recipe for Repair Kit
|
||||
|
||||
forEachMaterial(material => {
|
||||
if (!material.hasProperty(PropertyKey.TOOL))
|
||||
return;
|
||||
|
||||
var unfiredKit = ChemicalHelper.get(TFGTagPrefix.unfiredRepairKit, material, 1);
|
||||
var firedKit = ChemicalHelper.get(TFGTagPrefix.repairKit, material, 1);
|
||||
|
||||
if (unfiredKit.isEmpty() || firedKit.isEmpty())
|
||||
return;
|
||||
|
||||
let materialInput = ChemicalHelper.get(material == GTMaterials.get('tfg:diamond_tipped_mo_50_re')
|
||||
? TagPrefix.ingot : TagPrefix.dust, material, 1);
|
||||
|
||||
event.shapeless(unfiredKit.withCount(16), [
|
||||
'gtceu:brick_wooden_form',
|
||||
'#tfg:stone_dusts',
|
||||
'tfc:ceramic/unfired_brick',
|
||||
materialInput
|
||||
]).id(`tfg:shapeless/unfired_repair_kit_${material.getName()}`)
|
||||
|
||||
event.recipes.gtceu.forming_press(`tfg:unfired_repair_kit_${material.getName()}`)
|
||||
.notConsumable('gtceu:ingot_casting_mold')
|
||||
.itemInputs(
|
||||
'#tfg:stone_dusts',
|
||||
['minecraft:clay_ball', 'tfc:ceramic/unfired_brick'],
|
||||
materialInput)
|
||||
.itemOutputs(unfiredKit.withCount(16))
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VHA[GTValues.LV])
|
||||
|
||||
event.smelting(firedKit, unfiredKit)
|
||||
.id(`tfg:smelting/repair_kit_${material.getName()}`)
|
||||
|
||||
if (material.hasProperty(TFGPropertyKey.TFC_PROPERTY)) {
|
||||
event.recipes.tfc.heating(unfiredKit, 1399)
|
||||
.resultItem(firedKit)
|
||||
.id(`tfg:heating/repair_kit_${material.getName()}`)
|
||||
}
|
||||
})
|
||||
};
|
||||
@@ -43,6 +43,8 @@ BlockEvents.rightClicked(event => {
|
||||
}
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {Internal.Player} player
|
||||
@@ -54,4 +56,3 @@ function getTFGPersistentDataRoot(player) {
|
||||
}
|
||||
return player.persistentData.getCompound("tfg:custom_data")
|
||||
}
|
||||
|
||||
|
||||
@@ -109,6 +109,20 @@ function registerTFGFoodData(event) {
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Bison Meat
|
||||
event.foodItem("tfg:food/raw_bison_meat", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_bison_meat", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Springling Collar
|
||||
event.foodItem("tfg:food/raw_springling_collar", (food) => {
|
||||
food.hunger(2);
|
||||
|
||||
@@ -199,11 +199,11 @@ function registerTFGFoodRecipes(event) {
|
||||
])
|
||||
})
|
||||
|
||||
//Note: Jam needs to be first in the recipe code or else it will consider it as the usable_in_jam_sandwhich ingredients.
|
||||
//1 Jam
|
||||
//Note: preserves needs to be first in the recipe code or else it will consider it as the usable_in_jam_sandwich ingredients.
|
||||
// 1 jam + 2 cheese
|
||||
global.processorRecipe(event, `${grain}_${type[0]}_jam_sandwich_1`, 100, 16, {
|
||||
circuit: 4,
|
||||
itemInputs: [`2x ${type[1]}`, '#tfc:foods/preserves', '2x #tfc:foods/usable_in_jam_sandwich_2'],
|
||||
itemInputs: [`2x ${type[1]}`, '#tfc:foods/preserves', '2x #tfc:foods/usable_in_jam_sandwich'],
|
||||
itemOutputs: [`2x tfc:food/${grain}_bread_jam_sandwich`, 'tfc:empty_jar'],
|
||||
itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_bread_jam_sandwich`).meal(
|
||||
(food => food.hunger(4).water(0.5).saturation(1).decayModifier(4.5)), [
|
||||
@@ -212,10 +212,10 @@ function registerTFGFoodRecipes(event) {
|
||||
])
|
||||
})
|
||||
|
||||
//2 Jam
|
||||
// 2 jam + 1 cheese. Uses preserves_2 alias so GT's RecipeDB gives this a distinct tree key from recipe 1.
|
||||
global.processorRecipe(event, `${grain}_${type[0]}_jam_sandwich_2`, 100, 16, {
|
||||
circuit: 4,
|
||||
itemInputs: [`2x ${type[1]}`, '2x #tfc:foods/preserves', '1x #tfc:foods/usable_in_jam_sandwich_2'],
|
||||
itemInputs: [`2x ${type[1]}`, '2x #tfc:foods/preserves_2', '1x #tfc:foods/usable_in_jam_sandwich'],
|
||||
itemOutputs: [`2x tfc:food/${grain}_bread_jam_sandwich`, '2x tfc:empty_jar'],
|
||||
itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_bread_jam_sandwich`).meal(
|
||||
(food => food.hunger(4).water(0.5).saturation(1).decayModifier(4.5)), [
|
||||
@@ -224,7 +224,7 @@ function registerTFGFoodRecipes(event) {
|
||||
])
|
||||
})
|
||||
|
||||
//3 Jam
|
||||
// 3 jam
|
||||
global.processorRecipe(event, `${grain}_${type[0]}_jam_sandwich_3`, 100, 16, {
|
||||
circuit: 4,
|
||||
itemInputs: [`2x ${type[1]}`, '3x #tfc:foods/preserves'],
|
||||
@@ -1300,6 +1300,9 @@ function registerTFGFoodRecipes(event) {
|
||||
|
||||
event.recipes.tfc.heating('tfg:food/raw_wraptor', 200)
|
||||
.resultItem(TFC.isp.of('tfg:food/cooked_wraptor').copyFood())
|
||||
|
||||
event.recipes.tfc.heating('tfg:food/raw_bison_meat', 200)
|
||||
.resultItem(TFC.isp.of('tfg:food/cooked_bison_meat').copyFood())
|
||||
|
||||
event.recipes.tfc.heating('tfg:food/raw_springling_collar', 200)
|
||||
.resultItem(TFC.isp.of('tfg:food/cooked_springling_collar').copyFood())
|
||||
|
||||
@@ -45,15 +45,8 @@ function registerTFGFoodItemTags(event) {
|
||||
|
||||
global.WARMING_FOODS.forEach(food => { event.add('tfg:warming_foods', food) })
|
||||
|
||||
//jam sandwhich stuff
|
||||
const usable_in_jam_sandwich = Ingredient.of('#tfc:foods/usable_in_jam_sandwich').itemIds.toArray().map(String);
|
||||
const preserves = Ingredient.of('#tfc:foods/preserves').itemIds.toArray().map(String);
|
||||
|
||||
const usable_in_jam_sandwich_2 = usable_in_jam_sandwich.filter(item => !preserves.includes(item));
|
||||
|
||||
usable_in_jam_sandwich_2.forEach(item => {
|
||||
event.add('tfc:foods/usable_in_jam_sandwich_2', item);
|
||||
});
|
||||
// Alias of tfc:foods/preserves, used to give the 2-jam sandwich recipe a distinct tree key in GT's RecipeDB.
|
||||
event.add('tfc:foods/preserves_2', '#tfc:foods/preserves')
|
||||
|
||||
event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_sniffer_beef')
|
||||
event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_wraptor')
|
||||
@@ -135,6 +128,8 @@ function registerTFGFoodItemTags(event) {
|
||||
'tfg:food/cooked_walker_steak',
|
||||
'tfg:food/raw_crusher_meat',
|
||||
'tfg:food/cooked_crusher_meat',
|
||||
'tfg:food/raw_bison_meat',
|
||||
'tfg:food/cooked_bison_meat',
|
||||
'wan_ancient_beasts:raw_ancient_meat',
|
||||
'wan_ancient_beasts:cooked_ancient_meat'
|
||||
];
|
||||
@@ -192,6 +187,7 @@ function registerTFGFoodItemTags(event) {
|
||||
'tfc:food/venison',
|
||||
'tfg:food/raw_sniffer_beef',
|
||||
'tfg:food/raw_crusher_meat',
|
||||
'tfg:food/raw_bison_meat',
|
||||
'wan_ancient_beasts:raw_ancient_meat'
|
||||
];
|
||||
burgerMeats.forEach(item => {
|
||||
@@ -332,7 +328,6 @@ function registerTFGFoodItemTags(event) {
|
||||
event.add('tfc:foods/dairy', 'ad_astra:cheese')
|
||||
event.add('tfc:foods/usable_in_sandwich', 'ad_astra:cheese')
|
||||
event.add('tfc:foods/usable_in_jam_sandwich', 'ad_astra:cheese')
|
||||
event.add('tfc:foods/usable_in_jam_sandwich_2', 'ad_astra:cheese')
|
||||
event.add('firmalife:foods/cheeses', 'ad_astra:cheese')
|
||||
|
||||
// Auto-eat blacklist for backpack feeding upgrade and quarktech helmet
|
||||
|
||||
@@ -96,16 +96,16 @@ function registerTFGHVMaterialRecipes(event) {
|
||||
.itemInputs(Item.of('gtceu:obsidian_dust', 1))
|
||||
.inputFluids(Fluid.of('gtceu:steam', 1000))
|
||||
.itemOutputs(Item.of('gtceu:perlite_dust', 1))
|
||||
.duration(20 * 16)
|
||||
.EUt(GTValues.VA[GTValues.HV]);
|
||||
.duration(20 * 8)
|
||||
.EUt(GTValues.VHA[GTValues.HV]);
|
||||
|
||||
// Alumina
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor('tfg:aluminium_sulfate_lcr')
|
||||
.itemInputs(Item.of('tfg:igneous_felsic_dust', 1))
|
||||
.inputFluids(Fluid.of('gtceu:sulfuric_acid', 1000))
|
||||
.inputFluids(Fluid.of('gtceu:sulfuric_acid', 2000))
|
||||
.itemOutputs(Item.of('tfg:aluminium_sulfate_dust', 1), Item.of('gtceu:potassium_sulfate_dust', 1), Item.of('gtceu:silicon_dioxide_dust'))
|
||||
.outputFluids(Fluid.of('minecraft:water', 1000), Fluid.of('gtceu:diluted_sulfuric_acid', 1000))
|
||||
.outputFluids(Fluid.of('minecraft:water', 1000))
|
||||
.duration(20 * 84)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.circuit(2)
|
||||
|
||||
@@ -169,4 +169,38 @@ function registerTFGLoots(event) {
|
||||
event.addEntityLootModifier('tfg:wraptor')
|
||||
.matchMainHand('#forge:tools/butchery_knives')
|
||||
.addWeightedLoot([2, 3], ['tfg:food/raw_wraptor'])
|
||||
|
||||
// Leopard seal normal loot table
|
||||
event.addEntityLootModifier('tfg:leopard_seal')
|
||||
.addWeightedLoot([3, 6], ['tfc:blubber'])
|
||||
.addWeightedLoot([1, 4], ['minecraft:bone'])
|
||||
.addWeightedLoot([1], ['tfc:medium_raw_hide'])
|
||||
|
||||
// Leopard seal extra with butchery knife
|
||||
event.addEntityLootModifier('tfg:leopard_seal')
|
||||
.matchMainHand('#forge:tools/butchery_knives')
|
||||
.addWeightedLoot([2, 3], ['tfc:blubber'])
|
||||
|
||||
// Bison normal loot table
|
||||
event.addEntityLootModifier('tfg:bison')
|
||||
.addWeightedLoot([12, 20], ['tfg:food/raw_bison_meat'])
|
||||
.addWeightedLoot([7, 10], ['minecraft:bone'])
|
||||
.addWeightedLoot([1], ['tfc:large_raw_hide'])
|
||||
|
||||
// Bison drop extra with butchery knife
|
||||
event.addEntityLootModifier('tfg:bison')
|
||||
.matchMainHand('#forge:tools/butchery_knives')
|
||||
.addWeightedLoot([4, 6], ['tfg:food/raw_bison_meat'])
|
||||
|
||||
event.addEntityLootModifier('tfg:lemming')
|
||||
.addWeightedLoot([0, 1], ['minecraft:bone'])
|
||||
.addWeightedLoot([0, 1], ['tfc:small_raw_hide'])
|
||||
|
||||
event.addEntityLootModifier('tfg:jerboa')
|
||||
.addWeightedLoot([0, 1], ['minecraft:bone'])
|
||||
.addWeightedLoot([0, 1], ['tfc:small_raw_hide'])
|
||||
|
||||
event.addEntityLootModifier('tfg:mongoose')
|
||||
.addWeightedLoot([1, 3], ['minecraft:bone'])
|
||||
.addWeightedLoot([1], ['tfc:small_raw_hide'])
|
||||
};
|
||||
|
||||
@@ -82,27 +82,34 @@ function registerTFGCircuitBoardsRecipes(event) {
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
function lensPolishing(event, fluid, colour, temp) {
|
||||
function lensPolishing(event, fluid, colour, slurry, temp, energy) {
|
||||
event.recipes.gtceu.high_temperature_precision_fabricator(`tfg:lens_${fluid}_${colour}`)
|
||||
.itemInputs('tfg:worked_optical_borosilicate_blank', '#tfg:precision_fabricator_holder_rods')
|
||||
.inputFluids(Fluid.of(`tfg:dirty_${fluid}_slurry`, 1000))
|
||||
.inputFluids(Fluid.of(`tfg:${slurry}_${fluid}_slurry`, 1000))
|
||||
.itemOutputs(Item.of(`#forge:lenses/${colour}`, 1))
|
||||
.addData("ebf_temp", temp)
|
||||
.duration(20 * 120)
|
||||
.EUt(GTValues.VA[GTValues.MV]);
|
||||
.EUt(GTValues.VA[energy]);
|
||||
}
|
||||
|
||||
const LENS_POLISHING = [
|
||||
['emerald', 'green', 1530],
|
||||
['sapphire', 'blue', 1530],
|
||||
['ruby', 'red', 1530],
|
||||
['diamond', 'light_blue', 1530],
|
||||
['apatite', 'cyan', 1810],
|
||||
['spessartine', 'orange', 1810],
|
||||
['emerald', 'green', 'dirty', 1530, GTValues.MV],
|
||||
['sapphire', 'blue', 'dirty', 1530, GTValues.MV],
|
||||
['ruby', 'red', 'dirty', 1530, GTValues.MV],
|
||||
['diamond', 'light_blue', 'dirty', 1530, GTValues.MV],
|
||||
['apatite', 'cyan', 'filtered', 1810, GTValues.HV],
|
||||
['spessartine', 'orange', 'filtered', 1810, GTValues.HV],
|
||||
['yellow_garnet','yellow', 'filtered', 1810, GTValues.HV],
|
||||
['olivine', 'lime', 'filtered', 1810, GTValues.HV],
|
||||
['amethyst', 'purple', 'filtered', 1810, GTValues.HV],
|
||||
['grossular', 'brown', 'filtered', 1810, GTValues.HV],
|
||||
['armalcolite', 'gray', 'filtered', 1810, GTValues.HV],
|
||||
['coal', 'black', 'filtered', 1530, GTValues.MV],
|
||||
];
|
||||
|
||||
LENS_POLISHING.forEach(([fluid, colour]) => event.remove({ output: `#forge:lenses/${colour}` }));
|
||||
LENS_POLISHING.forEach(([fluid, colour, temp]) => lensPolishing(event, fluid, colour, temp));
|
||||
LENS_POLISHING.forEach(([fluid, colour]) => event.remove({ output: `gtceu:${colour}_glass_lens` }));
|
||||
LENS_POLISHING.forEach(([fluid, colour, slurry, temp, energy]) => lensPolishing(event, fluid, colour, slurry, temp, energy));
|
||||
|
||||
// Printed Circuit boards
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ function registerTFGCoilRecipes(event) {
|
||||
|
||||
event.remove({ id: 'gtceu:assembler/coil_kanthal' })
|
||||
event.recipes.gtceu.assembler('tfg:coil_kanthal')
|
||||
.itemInputs('8x #forge:double_wires/kanthal', '8x #forge:foils/rene_41', '1x #forge:ingots/silicon_carbide')
|
||||
.itemInputs('8x #forge:double_wires/kanthal', '16x #forge:foils/rene_41', '1x #forge:ingots/silicon_carbide')
|
||||
.inputFluids('gtceu:cobalt 144')
|
||||
.itemOutputs('gtceu:kanthal_coil_block')
|
||||
.duration(20 * 15)
|
||||
@@ -100,28 +100,28 @@ function registerTFGCoilRecipes(event) {
|
||||
TFGHelpers.registerMaterialInfo('tfg:blue_alloy_desh_foil', [GTMaterials.BlueAlloy, 0.5, GTMaterials.get('gtceu:desh'), 0.25])
|
||||
|
||||
event.recipes.gtceu.implosion_compressor('tfg:chorus_ceramic_insulation_dynamite')
|
||||
.itemInputs('ae2:sky_dust', '#forge:dusts/perlite', '#forge:dusts/kaolinite', 'minecraft:popped_chorus_fruit', 'ae2:fluix_dust', '2x gtceu:dynamite')
|
||||
.itemInputs('ae2:sky_dust', '#forge:dusts/perlite', '#forge:dusts/kaolinite', 'minecraft:popped_chorus_fruit', 'ae2:fluix_crystal', '2x gtceu:dynamite')
|
||||
.itemOutputs('tfg:chorus_ceramic_insulation')
|
||||
.chancedOutput('#forge:dusts/dark_ash', 2500, 0)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.implosion_compressor('tfg:chorus_ceramic_insulation_powderbarrel')
|
||||
.itemInputs('ae2:sky_dust', '#forge:dusts/perlite', '#forge:dusts/kaolinite', 'minecraft:popped_chorus_fruit', 'ae2:fluix_dust', '8x gtceu:powderbarrel')
|
||||
.itemInputs('ae2:sky_dust', '#forge:dusts/perlite', '#forge:dusts/kaolinite', 'minecraft:popped_chorus_fruit', 'ae2:fluix_crystal', '8x gtceu:powderbarrel')
|
||||
.itemOutputs('tfg:chorus_ceramic_insulation')
|
||||
.chancedOutput('#forge:dusts/dark_ash', 2500, 0)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.implosion_compressor('tfg:chorus_ceramic_insulation_tnt')
|
||||
.itemInputs('ae2:sky_dust', '#forge:dusts/perlite', '#forge:dusts/kaolinite', 'minecraft:popped_chorus_fruit', 'ae2:fluix_dust', '4x minecraft:tnt')
|
||||
.itemInputs('ae2:sky_dust', '#forge:dusts/perlite', '#forge:dusts/kaolinite', 'minecraft:popped_chorus_fruit', 'ae2:fluix_crystal', '4x minecraft:tnt')
|
||||
.itemOutputs('tfg:chorus_ceramic_insulation')
|
||||
.chancedOutput('#forge:dusts/dark_ash', 2500, 0)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.implosion_compressor('tfg:chorus_ceramic_insulation_itnt')
|
||||
.itemInputs('ae2:sky_dust', '#forge:dusts/perlite', '#forge:dusts/kaolinite', 'minecraft:popped_chorus_fruit', 'ae2:fluix_dust', 'gtceu:industrial_tnt')
|
||||
.itemInputs('ae2:sky_dust', '#forge:dusts/perlite', '#forge:dusts/kaolinite', 'minecraft:popped_chorus_fruit', 'ae2:fluix_crystal', 'gtceu:industrial_tnt')
|
||||
.itemOutputs('tfg:chorus_ceramic_insulation')
|
||||
.chancedOutput('#forge:dusts/dark_ash', 2500, 0)
|
||||
.duration(20)
|
||||
|
||||
@@ -282,5 +282,47 @@ function registerTFGMultiblockRecipes(event) {
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.circuit(2)
|
||||
|
||||
// Large Bronze Boiler
|
||||
|
||||
event.recipes.gtceu.shaped('tfg:large_bronze_boiler', [
|
||||
'ABA',
|
||||
'BCB',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:quadruple_wires/tin',
|
||||
B: '#gtceu:circuits/ulv',
|
||||
C: Item.of('gtceu:bronze_firebox_casing')
|
||||
}).addMaterialInfo().id('tfg:shaped/large_bronze_boiler')
|
||||
|
||||
// Large Steel Boiler
|
||||
|
||||
event.recipes.gtceu.shaped('tfg:large_steel_boiler', [
|
||||
'ABA',
|
||||
'BCB',
|
||||
'DBD'
|
||||
], {
|
||||
A: '#forge:single_cables/copper',
|
||||
B: '#gtceu:circuits/mv',
|
||||
C: Item.of('gtceu:steel_firebox_casing'),
|
||||
D: '#gtceu:capacitors'
|
||||
}).addMaterialInfo().id('tfg:shaped/large_steel_boiler')
|
||||
|
||||
// Large Steam Turbine
|
||||
|
||||
event.recipes.gtceu.shaped('tfg:large_steam_turbine', [
|
||||
'ABE',
|
||||
'BCB',
|
||||
'DBD'
|
||||
], {
|
||||
A: Item.of('gtceu:red_steel_gear'),
|
||||
B: '#gtceu:circuits/hv',
|
||||
C: Item.of('gtceu:hv_machine_hull'),
|
||||
D: Item.of('#forge:huge_fluid_pipes/stainless_steel'),
|
||||
E: Item.of('gtceu:blue_steel_gear')
|
||||
}).addMaterialInfo().id('tfg:shaped/large_steam_turbine')
|
||||
|
||||
event.replaceInput({ id: 'gtceu:shaped/casing_steel_turbine_casing'}, 'gtceu:magnalium_plate', 'gtceu:double_magnalium_plate')
|
||||
event.replaceInput({ id: 'gtceu:assembler/casing_steel_turbine'}, 'gtceu:magnalium_plate', 'gtceu:double_magnalium_plate')
|
||||
|
||||
}
|
||||
@@ -12,6 +12,8 @@ function registerTFGFacadeWhitelistItemTags(event) {
|
||||
'#tfc:rock/chiseled',
|
||||
'#tfc:rock/raw',
|
||||
'#tfc:metal_plated_blocks',
|
||||
'#tfc:dirt',
|
||||
'#tfc:grass',
|
||||
|
||||
'#tfc:colored_raw_alabaster',
|
||||
'#tfc:colored_bricks_alabaster',
|
||||
@@ -149,13 +151,23 @@ function registerTFGFacadeWhitelistItemTags(event) {
|
||||
'everycomp:c/domum_ornamentum/cactus_extra_window',
|
||||
'ae2:quartz_glass',
|
||||
|
||||
//create deco
|
||||
//create + deco
|
||||
'createdeco:andesite_sheet_metal',
|
||||
'createdeco:brass_sheet_metal',
|
||||
'createdeco:iron_sheet_metal',
|
||||
'createdeco:copper_sheet_metal',
|
||||
'createdeco:industrial_iron_sheet_metal',
|
||||
'createdeco:zinc_sheet_metal'
|
||||
'createdeco:zinc_sheet_metal',
|
||||
'create:industrial_iron_block',
|
||||
'create:weathered_iron_block',
|
||||
'create:rose_quartz_block',
|
||||
'create:rose_quartz_tiles',
|
||||
'create:small_rose_quartz_tiles',
|
||||
|
||||
// better end
|
||||
'betterend:brimstone',
|
||||
'betterend:lacugrove_bark',
|
||||
'betterend:lucernia_bark',
|
||||
];
|
||||
|
||||
const createdeco_bricks_fm =
|
||||
@@ -194,14 +206,14 @@ function registerTFGFacadeWhitelistItemTags(event) {
|
||||
'calcite',
|
||||
'dripstone',
|
||||
'deepslate',
|
||||
'limestone'
|
||||
//'ochrum',
|
||||
//'scoria',
|
||||
//'scorchia',
|
||||
//'veridium'
|
||||
//'tuff',
|
||||
//'asurine',
|
||||
//'crimsite',
|
||||
'limestone',
|
||||
'ochrum',
|
||||
'scoria',
|
||||
'scorchia',
|
||||
'veridium',
|
||||
'tuff',
|
||||
'asurine',
|
||||
'crimsite',
|
||||
]
|
||||
|
||||
//misc blocks
|
||||
|
||||
@@ -146,9 +146,9 @@ function registerTFGMarsRecipes(event) {
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless('8x tfc:wool_yarn', [
|
||||
'tfc:spindle',
|
||||
'tfg:glacian_wool'
|
||||
event.shapeless('8x tfc:wool_yarn', [
|
||||
'tfg:glacian_wool',
|
||||
'#tfg:tools/spindles'
|
||||
]).id('tfg:shapeless/glacian_wool_to_yarn'))
|
||||
|
||||
event.recipes.gtceu.wiremill('tfg:glacian_wool_yarn')
|
||||
|
||||
@@ -5,6 +5,7 @@ function registerTFGMVMaterialRecipes(event) {
|
||||
event.remove({ id: 'gtceu:electric_blast_furnace/blast_rough_silicon_carbide' })
|
||||
event.remove({ id: 'gtceu:electric_blast_furnace/blast_rough_silicon_carbide_gas' })
|
||||
event.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_silicon_carbide_to_nugget' })
|
||||
event.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_weak_inconel_718_to_nugget' })
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace('tfg:rough_sic_gem')
|
||||
.itemInputs(Item.of('gtceu:quartzite_gem', 9), Item.of('gtceu:graphite_dust', 27))
|
||||
@@ -63,9 +64,9 @@ function registerTFGMVMaterialRecipes(event) {
|
||||
Item.of('gtceu:aluminium_dust', 1),
|
||||
Item.of('gtceu:boron_dust', 1))
|
||||
.inputFluids(Fluid.of('gtceu:carbon_monoxide', 1000))
|
||||
.itemOutputs(Item.of('tfg:rene_41_dust', 7))
|
||||
.itemOutputs(Item.of('tfg:rene_41_dust', 14))
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 1000))
|
||||
.duration(20 * 46)
|
||||
.duration(20 * 92)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.circuit(4)
|
||||
|
||||
@@ -73,14 +74,14 @@ function registerTFGMVMaterialRecipes(event) {
|
||||
.itemInputs(Item.of('#forge:hot_ingots/rene_41', 1))
|
||||
.inputFluids(Fluid.of('minecraft:water', 100))
|
||||
.itemOutputs(Item.of('#forge:ingots/rene_41', 1))
|
||||
.duration(20 * 23)
|
||||
.duration(20 * 11.5)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:rene_41_cool_down_distilled_water')
|
||||
.itemInputs(Item.of('#forge:hot_ingots/rene_41', 1))
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 100))
|
||||
.itemOutputs(Item.of('#forge:ingots/rene_41', 1))
|
||||
.duration(20 * 14)
|
||||
.duration(20 * 7)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
//#region Diamond Tipped Tools custom recipes
|
||||
|
||||
@@ -34,7 +34,9 @@ function registerTFGCollapseRecipes(event) {
|
||||
})
|
||||
}
|
||||
|
||||
event.recipes.tfc.collapse(rock.cobble.block, `#forge:ores_in_ground/${rockId}`)
|
||||
if (Ingredient.of(`#forge:ores_in_ground/${rockId}`).itemIds.toArray().length > 0) {
|
||||
event.recipes.tfc.collapse(rock.cobble.block, `#forge:ores_in_ground/${rockId}`)
|
||||
}
|
||||
|
||||
event.recipes.tfc.landslide(rock.cobble.block, rock.cobble.block);
|
||||
|
||||
|
||||
@@ -356,29 +356,27 @@ function registerTFGRockRecipes(event) {
|
||||
}
|
||||
|
||||
// Pillars
|
||||
if (rock.bricks != null && rock.pillar != null) {
|
||||
event.shaped(`2x ${rock.pillar}`, [
|
||||
'A',
|
||||
'A'
|
||||
], {
|
||||
A: rock.bricks.block
|
||||
})
|
||||
.id(`tfg:shaped/${rockId}_pillar`);
|
||||
|
||||
event.stonecutting(rock.pillar, rock.bricks.block)
|
||||
.id(`tfg:stonecutting/${rockId}_pillar`);
|
||||
if (rock.pillar != null) {
|
||||
if (rock.bricks != null) {
|
||||
event.shaped(`2x ${rock.pillar}`, [
|
||||
'A',
|
||||
'A'
|
||||
], {
|
||||
A: rock.bricks.block
|
||||
})
|
||||
.id(`tfg:shaped/${rockId}_pillar`);
|
||||
}
|
||||
}
|
||||
|
||||
if (rock.bricks != null && rock.pillar2 != null) {
|
||||
event.shaped(`2x ${rock.pillar2}`, [
|
||||
'AA'
|
||||
], {
|
||||
A: rock.bricks.block
|
||||
})
|
||||
.id(`tfg:shaped/${rockId}_pillar2`);
|
||||
|
||||
event.stonecutting(rock.pillar2, rock.bricks.block)
|
||||
.id(`tfg:stonecutting/${rockId}_pillar2`);
|
||||
if (rock.pillar2 != null) {
|
||||
if (rock.bricks != null) {
|
||||
event.shaped(`2x ${rock.pillar2}`, [
|
||||
'AA'
|
||||
], {
|
||||
A: rock.bricks.block
|
||||
})
|
||||
.id(`tfg:shaped/${rockId}_pillar2`);
|
||||
}
|
||||
}
|
||||
|
||||
// Chiseling
|
||||
@@ -414,20 +412,21 @@ function registerTFGRockRecipes(event) {
|
||||
|
||||
// Stonecutting
|
||||
if (rock.stonecutterTag != null) {
|
||||
// The create tags are already filled out, so just add the polished/chiseled blocks to it
|
||||
if (rock.stonecutterTag.startsWith('create')) {
|
||||
if (rock.polished != null)
|
||||
event.stonecutting(rock.polished.block, `#${rock.stonecutterTag}`);
|
||||
if (rock.chiseled != null)
|
||||
event.stonecutting(rock.chiseled.block, `#${rock.stonecutterTag}`);
|
||||
}
|
||||
else {
|
||||
let tag_array = Ingredient.of(`#${rock.stonecutterTag}`).itemIds.toArray().map(String);
|
||||
tag_array.forEach(item => {
|
||||
event.stonecutting(item, Ingredient.of(`#${rock.stonecutterTag}`).subtract(item))
|
||||
.id(`tfg:stonecutter/${linuxUnfucker(item)}`)
|
||||
})
|
||||
}
|
||||
// Pull everything out of the tag
|
||||
let tag_array = Ingredient.of(`#${rock.stonecutterTag}`).itemIds.toArray().map(String);
|
||||
let tag_array_half = Ingredient.of(`#${rock.stonecutterTag}_half`).itemIds.toArray().map(String);
|
||||
// Remove any duplicates
|
||||
tag_array = tag_array.filter((item, index) => tag_array.indexOf(item) === index);
|
||||
tag_array.forEach(item => {
|
||||
event.stonecutting(item, Ingredient.of(`#${rock.stonecutterTag}`).subtract(item))
|
||||
.id(`tfg:stonecutter/${linuxUnfucker(item)}`)
|
||||
})
|
||||
tag_array_half.forEach(item => {
|
||||
event.stonecutting(`2x ${item}`, Ingredient.of(`#${rock.stonecutterTag}`).subtract(item))
|
||||
.id(`tfg:stonecutter/${linuxUnfucker(item)}_half`)
|
||||
event.stonecutting(item, Ingredient.of(`#${rock.stonecutterTag}_half`).subtract(item))
|
||||
.id(`tfg:stonecutter/${linuxUnfucker(item)}_slab_to_slab`)
|
||||
})
|
||||
}
|
||||
|
||||
// Supports
|
||||
|
||||
@@ -19,6 +19,21 @@ function registerTFGStoneItemTags(event) {
|
||||
}
|
||||
}
|
||||
|
||||
function addToStonecutterTag(tag, entry) {
|
||||
if (tag != null) {
|
||||
event.add(tag, entry.block);
|
||||
if (entry.stair != null) {
|
||||
event.add(tag, entry.stair);
|
||||
}
|
||||
if (entry.wall != null) {
|
||||
event.add(tag, entry.wall);
|
||||
}
|
||||
if (entry.slab != null) {
|
||||
event.add(`${tag}_half`, entry.slab);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const SHAPES = ['stair', 'slab', 'wall'];
|
||||
|
||||
for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) {
|
||||
@@ -34,6 +49,9 @@ function registerTFGStoneItemTags(event) {
|
||||
}
|
||||
addToTfcTag(rock.raw.block);
|
||||
addToMaterialTag(material, rock.raw.block);
|
||||
if (rock.brick == null) {
|
||||
addToStonecutterTag(rock.stonecutterTag, rock.raw);
|
||||
}
|
||||
|
||||
SHAPES.forEach(shape => {
|
||||
if (rock.raw[shape] != null) {
|
||||
@@ -86,6 +104,7 @@ function registerTFGStoneItemTags(event) {
|
||||
event.add('tfc:rock/bricks', rock.bricks.block);
|
||||
addToTfcTag(rock.bricks.block);
|
||||
addToMaterialTag(material, rock.bricks.block);
|
||||
addToStonecutterTag(rock.stonecutterTag, rock.bricks);
|
||||
|
||||
SHAPES.forEach(shape => {
|
||||
if (rock.bricks[shape] != null) {
|
||||
@@ -144,9 +163,7 @@ function registerTFGStoneItemTags(event) {
|
||||
event.add('forge:smooth_stone', rock.polished.block);
|
||||
addToTfcTag(rock.polished.block);
|
||||
addToMaterialTag(material, rock.polished.block);
|
||||
if (rock.stonecutterTag != null) {
|
||||
event.add(rock.stonecutterTag, rock.polished.block);
|
||||
}
|
||||
addToStonecutterTag(rock.stonecutterTag, rock.polished);
|
||||
|
||||
SHAPES.forEach(shape => {
|
||||
if (rock.polished[shape] != null) {
|
||||
@@ -167,10 +184,7 @@ function registerTFGStoneItemTags(event) {
|
||||
event.add('tfc:rock/chiseled_bricks', rock.chiseled.block);
|
||||
addToTfcTag(rock.chiseled.block);
|
||||
addToMaterialTag(material, rock.chiseled.block);
|
||||
if (rock.stonecutterTag != null) {
|
||||
event.add(rock.stonecutterTag, rock.chiseled.block);
|
||||
addToMaterialTag(material, rock.chiseled.block);
|
||||
}
|
||||
addToStonecutterTag(rock.stonecutterTag, rock.chiseled);
|
||||
}
|
||||
|
||||
if (rock.gravel != null) {
|
||||
@@ -232,17 +246,12 @@ function registerTFGStoneItemTags(event) {
|
||||
event.add('tfc:rock/chiseled_bricks', blockForms.block);
|
||||
addToTfcTag(blockForms.block);
|
||||
addToMaterialTag(material, blockForms.block);
|
||||
if (rock.stonecutterTag != null) {
|
||||
event.add(rock.stonecutterTag, blockForms.block);
|
||||
}
|
||||
addToStonecutterTag(rock.stonecutterTag, blockForms);
|
||||
|
||||
SHAPES.forEach(shape => {
|
||||
if (blockForms[shape] != null) {
|
||||
addToTfcTag(blockForms[shape]);
|
||||
addToMaterialTag(material, blockForms[shape]);
|
||||
if (rock.stonecutterTag != null) {
|
||||
event.add(rock.stonecutterTag, blockForms[shape]);
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
@@ -4,6 +4,8 @@ function registerTFGGemSlurriesProcessing(event) {
|
||||
|
||||
const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic')
|
||||
|
||||
// Slurry Refining
|
||||
|
||||
function slurryProcessing(event, inputId, output, amount) {
|
||||
event.recipes.gtceu.coal_liquefaction_tower(`tfg:dirty_${output}_slurry_${linuxUnfucker(inputId)}`)
|
||||
.itemInputs(Item.of(inputId))
|
||||
@@ -12,51 +14,102 @@ function registerTFGGemSlurriesProcessing(event) {
|
||||
.perTick(false)
|
||||
.outputFluids(Fluid.of(`tfg:dirty_${output}_slurry`, amount))
|
||||
.duration(20 * 50)
|
||||
.EUt(GTValues.VA[GTValues.LV]);
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.circuit(4);
|
||||
}
|
||||
|
||||
const gemMaterials = [
|
||||
[GTMaterials.Emerald, 'emerald', { dust: 100, gem: 300, flawless: 600, exquisite: 1200 }],
|
||||
[GTMaterials.Sapphire, 'sapphire', { dust: 100, gem: 300, flawless: 600, exquisite: 1200 }],
|
||||
[GTMaterials.Ruby, 'ruby', { dust: 100, gem: 300, flawless: 600, exquisite: 1200 }],
|
||||
[GTMaterials.Diamond, 'diamond', { dust: 100, gem: 300, flawless: 600, exquisite: 1200 }],
|
||||
[GTMaterials.Apatite, 'apatite', { dust: 100, gem: 300, flawless: 600, exquisite: 1200 }],
|
||||
[GTMaterials.Spessartine,'spessartine', { dust: 100, gem: 300, flawless: 600, exquisite: 1200 }],
|
||||
[GTMaterials.Emerald, 'emerald', { gem: 300, flawless: 700, exquisite: 1500 }],
|
||||
[GTMaterials.Sapphire, 'sapphire', { gem: 300, flawless: 700, exquisite: 1500 }],
|
||||
[GTMaterials.Ruby, 'ruby', { gem: 300, flawless: 700, exquisite: 1500 }],
|
||||
[GTMaterials.Diamond, 'diamond', { gem: 300, flawless: 700, exquisite: 1500 }],
|
||||
[GTMaterials.Apatite, 'apatite', { gem: 300, flawless: 700, exquisite: 1500 }],
|
||||
[GTMaterials.Spessartine, 'spessartine', { gem: 300, flawless: 700, exquisite: 1500 }],
|
||||
[GTMaterials.GarnetYellow, 'yellow_garnet',{ gem: 300, flawless: 700, exquisite: 1500 }],
|
||||
[GTMaterials.Olivine, 'olivine', { gem: 300, flawless: 700, exquisite: 1500 }],
|
||||
[GTMaterials.Amethyst, 'amethyst', { gem: 300, flawless: 700, exquisite: 1500 }],
|
||||
[GTMaterials.Grossular, 'grossular', { gem: 300, flawless: 700, exquisite: 1500 }],
|
||||
[TFGHelpers.getMaterial('gtceu:armalcolite'), 'armalcolite', { gem: 300, flawless: 700, exquisite: 1500 }],
|
||||
[GTMaterials.Coal, 'coal', { gem: 300, flawless: 700, exquisite: 1500 }],
|
||||
];
|
||||
|
||||
gemMaterials.forEach(([material, output, amounts]) => {
|
||||
slurryProcessing(event, ChemicalHelper.get(TagPrefix.dust, material, 1), output, amounts.dust);
|
||||
//slurryProcessing(event, ChemicalHelper.get(TagPrefix.dust, material, 1), output, amounts.dust);
|
||||
slurryProcessing(event, ChemicalHelper.get(TagPrefix.gem, material, 1), output, amounts.gem);
|
||||
slurryProcessing(event, ChemicalHelper.get(TagPrefix.gemFlawless, material, 1), output, amounts.flawless);
|
||||
slurryProcessing(event, ChemicalHelper.get(TagPrefix.gemExquisite, material, 1), output, amounts.exquisite);
|
||||
});
|
||||
|
||||
|
||||
function slurryCentrifuging(event, name, itemOutputs, fluidOutputs, chancedOutputs) {
|
||||
const recipe = event.recipes.gtceu.centrifuge(`tfg:dirty_${name}_slurry_centrifuge`)
|
||||
.inputFluids(Fluid.of(`tfg:dirty_${name}_slurry`, 1000))
|
||||
.itemOutputs(itemOutputs.map(([item, amount]) => Item.of(item, amount)))
|
||||
.duration(20 * 16)
|
||||
.EUt(GTValues.VA[GTValues.MV]);
|
||||
|
||||
if (fluidOutputs && fluidOutputs.length > 0) {
|
||||
recipe.outputFluids(fluidOutputs.map(([fluid, amount]) => Fluid.of(fluid, amount)));
|
||||
function slurryFiltering(event, name) {
|
||||
event.recipes.gtceu.chemical_bath(`tfg:filtered_${name}_slurry`)
|
||||
.itemInputs(Item.of('gtceu:tiny_perlite_dust'))
|
||||
.inputFluids(Fluid.of(`tfg:dirty_${name}_slurry`, 100))
|
||||
.outputFluids(Fluid.of(`tfg:filtered_${name}_slurry`, 100))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.MV]);
|
||||
}
|
||||
if (chancedOutputs && chancedOutputs.length > 0) {
|
||||
chancedOutputs.forEach(([item, chance, tierBoost]) => {
|
||||
recipe.chancedOutput(Item.of(item), chance, tierBoost);
|
||||
|
||||
gemMaterials.forEach(([material, output, amounts]) => {
|
||||
slurryFiltering(event, output);
|
||||
});
|
||||
/* HIDDEN UNTIL VENUS - IV => Recipe will be changed
|
||||
function slurryCleaning(event, name) {
|
||||
event.recipes.gtceu.chemical_bath(`tfg:clean_${name}_slurry`)
|
||||
.itemInputs(Item.of('gtceu:perlite_dust'))
|
||||
.inputFluids(Fluid.of(`tfg:filtered_${name}_slurry`, 100))
|
||||
.outputFluids(Fluid.of(`tfg:clean_${name}_slurry`, 100))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.MV]);
|
||||
}
|
||||
}
|
||||
|
||||
const GEM_CENTRIFUGE = [
|
||||
['emerald', [['gtceu:beryllium_dust', 3], ['gtceu:aluminium_dust', 2], ['gtceu:silicon_dust', 6]], [['gtceu:oxygen', 18000]], [['gtceu:ilmenite_dust', 10, 0]]],
|
||||
['sapphire', [['gtceu:aluminium_dust', 2*6]], [['gtceu:oxygen', 3000*6]], [['gtceu:ilmenite_dust', 200, 0], ['gtceu:iron_dust', 200, 0], ['gtceu:vanadium_dust', 200, 0]]],
|
||||
['ruby', [['gtceu:chromium_dust', 1*6], ['gtceu:aluminium_dust', 2*6]], [['gtceu:oxygen', 3000*6]], [['gtceu:ilmenite_dust', 200, 0], ['gtceu:iron_dust', 200, 0], ['gtceu:vanadium_dust', 200, 0]]],
|
||||
['diamond', [['gtceu:carbon_dust', 64], ['gtceu:graphite_dust', 1]], [], []],
|
||||
['apatite', [['gtceu:calcium_dust', 5*3], ['gtceu:phosphorus_dust', 3*3]], [['gtceu:chlorine', 1000*3]], []],
|
||||
['spessartine', [['gtceu:aluminium_dust', 2*1.5], ['gtceu:manganese_dust', 3*1.5], ['gtceu:silicon_dust', 3*1.5]], [['gtceu:oxygen', 12000*1.5]], []],
|
||||
];
|
||||
gemMaterials.forEach(([material, output, amounts]) => {
|
||||
slurryCleaning(event, output);
|
||||
});
|
||||
*/
|
||||
|
||||
GEM_CENTRIFUGE.forEach(([name, itemOutputs, fluidOutputs, chancedOutputs]) => slurryCentrifuging(event, name, itemOutputs, fluidOutputs, chancedOutputs));
|
||||
// Slurry to Ores
|
||||
|
||||
function slurryCentrifuging(event, tier, name, amount, itemOutputs, fluidOutputs, chancedOutputs) {
|
||||
const recipe = event.recipes.gtceu.centrifuge(`tfg:${tier}_${name}_slurry_centrifuge`)
|
||||
.inputFluids(Fluid.of(`tfg:${tier}_${name}_slurry`, amount))
|
||||
.itemOutputs(itemOutputs.map(([item, amount]) => Item.of(item, amount)))
|
||||
.duration(20 * 16)
|
||||
.EUt(GTValues.VA[GTValues.MV]);
|
||||
|
||||
if (fluidOutputs && fluidOutputs.length > 0) {
|
||||
recipe.outputFluids(fluidOutputs.map(([fluid, amount]) => Fluid.of(fluid, amount)));
|
||||
}
|
||||
if (chancedOutputs && chancedOutputs.length > 0) {
|
||||
chancedOutputs.forEach(([item, chance, tierBoost]) => {
|
||||
recipe.chancedOutput(Item.of(item), chance, tierBoost);
|
||||
});
|
||||
}
|
||||
}
|
||||
// Always target 30 dusts equal to Electrolyzer
|
||||
const GEM_CENTRIFUGE = [
|
||||
// name dirty filtered clean(TBD) itemOutputs fluidOutputs chancedOutputs
|
||||
['emerald', 4000, 2000, 500, [['gtceu:beryllium_dust', 3], ['gtceu:aluminium_dust', 2], ['gtceu:silicon_dust', 6]], [['gtceu:oxygen', 18000]], [['gtceu:ilmenite_dust', 200, 0]]],
|
||||
['sapphire', 4000, 2000, 500, [['gtceu:aluminium_dust', 2*6]], [['gtceu:oxygen', 3000*6]], [['gtceu:ilmenite_dust', 200, 0], ['gtceu:iron_dust', 200, 0], ['gtceu:vanadium_dust', 200, 0]]],
|
||||
['ruby', 4000, 2000, 500, [['gtceu:chromium_dust', 1*6], ['gtceu:aluminium_dust', 2*6]], [['gtceu:oxygen', 3000*6]], [['gtceu:ilmenite_dust', 200, 0], ['gtceu:iron_dust', 200, 0], ['gtceu:vanadium_dust', 200, 0]]],
|
||||
['diamond', 4000, 2000, 500, [['gtceu:carbon_dust', 64], ['gtceu:graphite_dust', 1]], [], []],
|
||||
['apatite', 4000, 2000, 500, [['gtceu:calcium_dust', 5*3], ['gtceu:phosphorus_dust', 3*3]], [['gtceu:chlorine', 1000*3]], []],
|
||||
['spessartine', 4000, 2000, 500, [['gtceu:aluminium_dust', 2*1.5], ['gtceu:manganese_dust', 3*1.5], ['gtceu:silicon_dust', 3*1.5]], [['gtceu:oxygen', 12000*1.5]], []],
|
||||
['yellow_garnet', 4000, 2000, 500, [['gtceu:andradite_dust', 5*2], ['gtceu:grossular_dust', 8*2], ['gtceu:uvarovite_dust', 3*2]], [], []],
|
||||
['grossular', 4000, 2000, 500, [['gtceu:calcium_dust', 3*1.5], ['gtceu:aluminium_dust', 2*1.5], ['gtceu:silicon_dust',3*1.5]], [['gtceu:oxygen', 12000*1.5]], []],
|
||||
['armalcolite', 4000, 2000, 500, [['gtceu:magnesium_dust', 1*7.5], ['gtceu:ilmenite_dust', 1*7.5]], [['gtceu:oxygen', 2000*7.5]], []],
|
||||
['olivine', 4000, 2000, 500, [['gtceu:magnesium_dust', 1*7.5], ['gtceu:iron_dust', 1*7.5], ['gtceu:silicon_dioxide_dust', 2*7.5]], [], []],
|
||||
['amethyst', 4000, 2000, 500, [['gtceu:silicon_dioxide_dust', 4*6], ['gtceu:iron_dust', 1*6]], [], []],
|
||||
['coal', 4000, 2000, 500, [['gtceu:carbon_dust', 2*30]], [], [['gtceu:graphite_dust', 2000, 0], ['gtceu:thorium_dust', 200, 0]]],
|
||||
//['', 4000, 2000, 500, [['', ], ['', ], ['',]], [['', ]], []],
|
||||
];
|
||||
|
||||
const TIERS = ['dirty', 'filtered', 'clean'];
|
||||
const TIER_AMOUNT_INDEX = { dirty: 1, filtered: 2, clean: 3 };
|
||||
|
||||
GEM_CENTRIFUGE.forEach(([name, dirtyAmt, filteredAmt, cleanAmt, itemOutputs, fluidOutputs, chancedOutputs]) => {
|
||||
TIERS.forEach(tier => {
|
||||
const amount = tier === 'dirty' ? dirtyAmt : tier === 'filtered' ? filteredAmt : cleanAmt;
|
||||
slurryCentrifuging(event, tier, name, amount, itemOutputs, fluidOutputs, chancedOutputs);
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -189,6 +189,7 @@ function processNormalRawOre(event, material) {
|
||||
}
|
||||
|
||||
event.remove({ id: `greate:milling/integration/gtceu/macerator/macerate_raw_${materialName}_ore_to_crushed_ore` })
|
||||
event.remove({ id: `greate:crushing/integration/gtceu/macerator/macerate_raw_${materialName}_ore_to_crushed_ore` })
|
||||
|
||||
// Macerator
|
||||
event.recipes.gtceu.macerator(`macerate_raw_${materialName}_ore_to_crushed_ore`)
|
||||
|
||||
@@ -109,6 +109,13 @@ function processToolHead(event, headTagPrefix, tagPrefixName, extruderMold, cera
|
||||
|
||||
event.remove({ mod: 'gtceu', type: 'minecraft:crafting_shaped', output: toolHeadItem })
|
||||
|
||||
const EXCLUDED_MATERIALS = [
|
||||
'diamond_tipped_mo_50_re',
|
||||
];
|
||||
|
||||
if (EXCLUDED_MATERIALS.includes(material.getName()))
|
||||
return;
|
||||
|
||||
const materialName = material.getName();
|
||||
const materialAmount = getMaterialAmount(headTagPrefix, material);
|
||||
|
||||
|
||||
@@ -882,6 +882,8 @@ function registerTFGNuclearRecipes(event) {
|
||||
.outputFluids(Fluid.of('tfg:boron_enriched_coolant', 3600))
|
||||
.blastFurnaceTemp(2000)
|
||||
.addData("hb_energy", 30)
|
||||
.duration(5*20)
|
||||
.hideDuration(true);
|
||||
/*
|
||||
event.recipes.deafission.hb_export('tfg:boron_coolant_to_dense_steam')
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 7200))
|
||||
@@ -895,13 +897,16 @@ function registerTFGNuclearRecipes(event) {
|
||||
.outputFluids(Fluid.of('gtceu:dense_steam', 115200))
|
||||
.blastFurnaceTemp(1000)
|
||||
.addData("hb_energy", 40)
|
||||
//.circuit(2)
|
||||
.duration(5*20)
|
||||
.hideDuration(true);
|
||||
|
||||
event.recipes.deafission.hb_import('tfg:dense_steam')
|
||||
.inputFluids(Fluid.of('gtceu:dense_steam', 20))
|
||||
.outputFluids(Fluid.of('minecraft:water', 20))
|
||||
.blastFurnaceTemp(1000)
|
||||
.addData("hb_energy", 20)
|
||||
.duration(5*20)
|
||||
.hideDuration(true);
|
||||
|
||||
//#endregion
|
||||
|
||||
|
||||
@@ -108,6 +108,10 @@ function registerTFGBoilerRecipes(event) {
|
||||
event.remove({ id: "gtceu:large_boiler/gtceu_oil" })
|
||||
event.remove({ id: "gtceu:large_boiler/gtceu_oil_heavy" })
|
||||
event.remove({ id: "gtceu:large_boiler/gtceu_fish_oil" })
|
||||
|
||||
event.remove({ id: "gtceu:large_boiler/gtceu_creosote" })
|
||||
event.remove({ id: "gtceu:large_boiler/wood_gas" })
|
||||
|
||||
// This generates both a small boiler and large boiler recipe. Remove it above to avoid a duplicate
|
||||
event.recipes.gtceu.steam_boiler('tfg:oil')
|
||||
.inputFluids(Fluid.of('gtceu:oil', 200))
|
||||
@@ -165,6 +169,65 @@ function registerTFGBoilerRecipes(event) {
|
||||
.dimension('minecraft:overworld')
|
||||
.dimension('minecraft:the_nether')
|
||||
|
||||
// Super Fuel Boiler
|
||||
// Weird test
|
||||
|
||||
event.recipes.gtceu.super_boiler('tfg:syngas_fuel_binder')
|
||||
.itemInputs(Item.of('gtceu:bio_chaff', 1))
|
||||
.inputFluids(Fluid.of('tfg:syngas', 20000))
|
||||
.duration(20*150)
|
||||
.dimension('minecraft:overworld')
|
||||
.dimension('minecraft:the_nether')
|
||||
|
||||
event.recipes.gtceu.super_boiler('tfg:syngas_fuel')
|
||||
.itemInputs(Item.of('#minecraft:coals', 1))
|
||||
.inputFluids(Fluid.of('tfg:syngas', 20000*4))
|
||||
.duration(20*150)
|
||||
.dimension('minecraft:overworld')
|
||||
.dimension('minecraft:the_nether')
|
||||
|
||||
event.recipes.gtceu.super_boiler('tfg:light_fuel_binder')
|
||||
.itemInputs(Item.of('gtceu:bio_chaff', 1))
|
||||
.inputFluids(Fluid.of('gtceu:light_fuel', 20000))
|
||||
.duration(20*150)
|
||||
.dimension('minecraft:overworld')
|
||||
.dimension('minecraft:the_nether')
|
||||
|
||||
event.recipes.gtceu.super_boiler('tfg:light_fuel')
|
||||
.itemInputs(Item.of('minecraft:charcoal', 1))
|
||||
.inputFluids(Fluid.of('gtceu:light_fuel', 20000*4))
|
||||
.duration(20*150)
|
||||
.dimension('minecraft:overworld')
|
||||
.dimension('minecraft:the_nether')
|
||||
|
||||
event.recipes.gtceu.super_boiler('tfg:heavy_fuel_binder')
|
||||
.itemInputs(Item.of('gtceu:bio_chaff', 1))
|
||||
.inputFluids(Fluid.of('gtceu:heavy_fuel', 20000))
|
||||
.duration(20*150)
|
||||
.dimension('minecraft:overworld')
|
||||
.dimension('minecraft:the_nether')
|
||||
|
||||
event.recipes.gtceu.super_boiler('tfg:heavy_fuel')
|
||||
.itemInputs(Item.of('minecraft:charcoal', 1))
|
||||
.inputFluids(Fluid.of('gtceu:heavy_fuel', 20000*4))
|
||||
.duration(20*150)
|
||||
.dimension('minecraft:overworld')
|
||||
.dimension('minecraft:the_nether')
|
||||
|
||||
event.recipes.gtceu.super_boiler('tfg:naphtha_binder')
|
||||
.itemInputs(Item.of('gtceu:bio_chaff', 1))
|
||||
.inputFluids(Fluid.of('gtceu:naphtha', 20000))
|
||||
.duration(20*150)
|
||||
.dimension('minecraft:overworld')
|
||||
.dimension('minecraft:the_nether')
|
||||
|
||||
event.recipes.gtceu.super_boiler('tfg:naphtha_fuel')
|
||||
.itemInputs(Item.of('minecraft:charcoal', 1))
|
||||
.inputFluids(Fluid.of('gtceu:naphtha', 20000*4))
|
||||
.duration(20*150)
|
||||
.dimension('minecraft:overworld')
|
||||
.dimension('minecraft:the_nether')
|
||||
|
||||
// fish oil extraction
|
||||
event.recipes.gtceu.extractor(`tfg:fish_oil`)
|
||||
.itemInputs('#minecraft:fishes')
|
||||
|
||||
@@ -51,6 +51,7 @@ function registerTFGClayRecipes(event) {
|
||||
{ input: "firmalife:oven_bottom", output: "firmalife:cured_oven_bottom", name: "oven_bottom" },
|
||||
{ input: "firmalife:oven_hopper", output: "firmalife:cured_oven_hopper", name: "oven_hopper" },
|
||||
{ input: "tfg:unfired_rod_mold", output: "tfg:rod_mold", name: "rod_mold" },
|
||||
{ input: "tfg:unfired_spindle_head_mold", output: "tfg:spindle_head_mold", name: "spindle_head_mold" },
|
||||
{ input: "tfg:unfired_small_gear_mold", output: "tfg:small_gear_mold", name: "small_gear_mold" },
|
||||
{ input: "tfg:unfired_nugget_mold", output: "tfg:nugget_mold", name: "nugget_mold" }
|
||||
]);
|
||||
@@ -216,6 +217,8 @@ function registerTFGClayRecipes(event) {
|
||||
// heating
|
||||
event.recipes.tfc.heating('tfg:unfired_rod_mold', 1399)
|
||||
.resultItem('tfg:rod_mold')
|
||||
event.recipes.tfc.heating('tfg:unfired_spindle_head_mold', 1399)
|
||||
.resultItem('tfg:spindle_head_mold')
|
||||
event.recipes.tfc.heating('tfg:unfired_small_gear_mold', 1399)
|
||||
.resultItem('tfg:small_gear_mold')
|
||||
event.recipes.tfc.heating('tfg:unfired_nugget_mold', 1399)
|
||||
|
||||
@@ -51,10 +51,23 @@ function registerTFGClothRecipes(event) {
|
||||
'tfg:block/polycaprolactam_fabric_block'
|
||||
)
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless('8x firmalife:pineapple_yarn', [
|
||||
'firmalife:pineapple_fiber',
|
||||
'#tfg:tools/spindles'
|
||||
]).id('tfg:shapeless/pineapple_yarn')
|
||||
)
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless('8x tfc:wool_yarn', [
|
||||
'tfc:wool',
|
||||
'#tfg:tools/spindles'
|
||||
]).id('tfg:shapeless/wool_yarn')
|
||||
)
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless('16x tfg:phantom_thread', [
|
||||
'minecraft:phantom_membrane',
|
||||
'tfc:spindle'
|
||||
'#tfg:tools/spindles'
|
||||
]).id('tfg:shapeless/phantom_thread'))
|
||||
|
||||
// Wool Yarn
|
||||
@@ -110,6 +123,39 @@ function registerTFGClothRecipes(event) {
|
||||
generateMixerRecipe(event, 'tfc:jute', "#tfg:clean_water 200",
|
||||
'tfc:jute_fiber', null, [], 100, 4, 16, 'tfg:tfc/jute_fiber')
|
||||
|
||||
|
||||
//#region Spindle Recipes
|
||||
|
||||
event.shaped('tfg:copper_spindle', [
|
||||
'A',
|
||||
'B'
|
||||
], {
|
||||
A: 'tfg:copper_spindle_head',
|
||||
B: '#forge:rods/wooden'
|
||||
}).id('tfg:shaped/copper_spindle')
|
||||
|
||||
event.recipes.tfc.casting(
|
||||
'tfg:copper_spindle_head',
|
||||
'tfg:spindle_head_mold',
|
||||
TFC.fluidStackIngredient('gtceu:copper', 72),
|
||||
.1
|
||||
).id('tfg:casting/copper_spindle_head')
|
||||
|
||||
event.recipes.tfc.anvil(
|
||||
'tfg:copper_spindle_head',
|
||||
'gtceu:copper_rod',
|
||||
[
|
||||
'shrink_last',
|
||||
'upset_second_last',
|
||||
'shrink_third_last'
|
||||
]
|
||||
).bonus(true)
|
||||
.tier(1)
|
||||
.id('tfg:anvil/copper_spindle_head')
|
||||
|
||||
//#endregion
|
||||
|
||||
|
||||
//#region flax stuff
|
||||
|
||||
event.shapeless('1x tfg:flax_bundle', ['9x tfg:flax_product'])
|
||||
@@ -210,7 +256,7 @@ function registerTFGClothRecipes(event) {
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless('4x tfg:linen_thread', [
|
||||
'tfg:flax_line',
|
||||
'tfc:spindle'
|
||||
'#tfg:tools/spindles'
|
||||
]).id('tfg:shapeless/linen_thread')
|
||||
)
|
||||
|
||||
@@ -254,4 +300,5 @@ function registerTFGClothRecipes(event) {
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
//#endregion
|
||||
|
||||
}
|
||||
|
||||
@@ -372,5 +372,16 @@ function registerTFGKnappingRecipes(event) {
|
||||
])
|
||||
.ingredient('5x minecraft:clay_ball')
|
||||
.id('tfg:fire_clay_knapping/unfired_nugget_mold')
|
||||
|
||||
event.recipes.tfc.knapping('tfg:unfired_spindle_head_mold', 'tfc:clay', [
|
||||
"XXXXX",
|
||||
"XX XX",
|
||||
" ",
|
||||
"XX XX",
|
||||
"XXXXX"
|
||||
])
|
||||
.ingredient('5x minecraft:clay_ball')
|
||||
.id('tfg:clay_knapping/unfired_spindle_head_mold')
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -39,6 +39,8 @@ function registerTFGPrimitiveItemTags(event) {
|
||||
event.add('tfg:tools/ore_prospectors/black_steel', 'tfc:metal/propick/black_steel')
|
||||
event.add('tfg:tools/ore_prospectors/blue_steel', 'tfc:metal/propick/blue_steel')
|
||||
event.add('tfg:tools/ore_prospectors/red_steel', 'tfc:metal/propick/red_steel')
|
||||
|
||||
event.add('tfg:tools/spindles', 'tfc:spindle')
|
||||
|
||||
// Paper from wood
|
||||
event.add('tfg:hardwood_strips', 'tfg:hardwood_strip')
|
||||
@@ -67,7 +69,7 @@ function registerTFGPrimitiveItemTags(event) {
|
||||
event.add('forge:cloth', 'tfg:polycaprolactam_fabric')
|
||||
event.add('tfc:high_quality_cloth', 'tfg:phantom_silk')
|
||||
event.add('tfc:high_quality_cloth', 'tfg:polycaprolactam_fabric')
|
||||
event.add('tfc:sewing_light_cloth', 'tfg:phantom_silk')
|
||||
event.add('tfc:sewing_dark_cloth', 'tfg:phantom_silk')
|
||||
event.add('tfc:sewing_dark_cloth', 'tfg:polycaprolactam_fabric')
|
||||
event.add('forge:string', 'tfg:phantom_thread')
|
||||
event.add('forge:string', 'tfg:polycaprolactam_string')
|
||||
@@ -126,4 +128,5 @@ function registerTFGPrimitiveFluidTags(event) {
|
||||
event.add('tfg:usable_in_nugget_mold', material.getFluid().getFluidType().toString())
|
||||
}
|
||||
})
|
||||
event.add('tfg:usable_in_spindle_head_mold', 'gtceu:copper');
|
||||
}
|
||||
@@ -101,5 +101,7 @@ const registerTFGRecipes = (event) => {
|
||||
registerTFGMVMaterialRecipes(event)
|
||||
registerTFGGemSlurriesProcessing(event)
|
||||
|
||||
registerTFGRepairKitRecipes(event)
|
||||
|
||||
registerTFGMaterialRemovePipesRecipes(event)
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ function registerTFGRocketRecipes(event) {
|
||||
)
|
||||
.itemOutputs('ad_astra:rocket_fin')
|
||||
.duration(150)
|
||||
.circuit(2)
|
||||
.circuit(1)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
@@ -142,8 +142,8 @@ function registerTFGRocketRecipes(event) {
|
||||
.itemInputs(Item.of('tfc:brick/basalt'))
|
||||
.notConsumable(Item.of('gtceu:wire_extruder_mold'))
|
||||
.itemOutputs(Item.of('#forge:fine_wires/basalt_fiber', 8))
|
||||
.duration(20 * 17)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(20 * 8)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`tfg:foils_basalt_fiber`)
|
||||
.itemInputs(Item.of('#forge:fine_wires/basalt_fiber', 64))
|
||||
@@ -195,7 +195,7 @@ function registerTFGRocketRecipes(event) {
|
||||
.inputFluids(Fluid.of('gtceu:vanadium', 144 * 4))
|
||||
.itemOutputs('32x #forge:dusts/rocket_alloy_t2')
|
||||
.duration(15 * 20)
|
||||
.circuit(5)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/cool_rocket_alloy_t2')
|
||||
@@ -210,7 +210,7 @@ function registerTFGRocketRecipes(event) {
|
||||
'#forge:double_plates/titanium')
|
||||
.itemOutputs('tfg:rocket_fin_t2')
|
||||
.duration(180)
|
||||
.circuit(3)
|
||||
.circuit(1)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
@@ -219,7 +219,7 @@ function registerTFGRocketRecipes(event) {
|
||||
'#forge:double_plates/desh')
|
||||
.itemOutputs('tfg:rocket_cone_t2')
|
||||
.duration(1440)
|
||||
.circuit(3)
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
|
||||
@@ -114,6 +114,35 @@ const registerTFGItemTags = (event) => {
|
||||
event.add('tfcambiental:cold_stuff', 'tfc:sea_ice')
|
||||
event.add('tfcambiental:cold_stuff', 'tfg:mars_ice')
|
||||
event.add('tfcambiental:cold_stuff', 'tfg:dry_ice')
|
||||
|
||||
// Tag for new lenses
|
||||
|
||||
event.add('forge:lenses/orange', 'gtceu:spessartine_lens')
|
||||
event.remove('forge:lenses/orange', 'gtceu:orange_glass_lens')
|
||||
event.add('forge:lenses/cyan', 'gtceu:apatite_lens')
|
||||
event.remove('forge:lenses/cyan', 'gtceu:cyan_glass_lens')
|
||||
|
||||
const LENS_TAGS = [
|
||||
['emerald', 'green', 'gtceu:emerald_lens', 'gtceu:green_glass_lens'],
|
||||
['sapphire', 'blue', 'gtceu:sapphire_lens', 'gtceu:blue_glass_lens'],
|
||||
['ruby', 'red', 'gtceu:ruby_lens', 'gtceu:red_glass_lens'],
|
||||
['diamond', 'light_blue', 'gtceu:diamond_lens', 'gtceu:light_blue_glass_lens'],
|
||||
['apatite', 'cyan', 'gtceu:apatite_lens', 'gtceu:cyan_glass_lens'],
|
||||
['spessartine', 'orange', 'gtceu:spessartine_lens', 'gtceu:orange_glass_lens'],
|
||||
['yellow_garnet','yellow', 'gtceu:yellow_garnet_lens','gtceu:yellow_glass_lens'],
|
||||
['olivine', 'lime', 'gtceu:olivine_lens', 'gtceu:lime_glass_lens'],
|
||||
['amethyst', 'purple', 'gtceu:amethyst_lens', 'gtceu:purple_glass_lens'],
|
||||
['grossular', 'brown', 'gtceu:grossular_lens', 'gtceu:brown_glass_lens'],
|
||||
['armalcolite', 'gray', 'gtceu:armalcolite_lens', 'gtceu:gray_glass_lens'],
|
||||
['coal', 'black', 'gtceu:coal_lens', 'gtceu:black_glass_lens'],
|
||||
];
|
||||
|
||||
LENS_TAGS.forEach(([material, colour, gemLens, glassLens]) => {
|
||||
event.add(`forge:lenses/${colour}`, gemLens);
|
||||
event.remove(`forge:lenses/${colour}`, glassLens);
|
||||
event.removeAllTagsFrom(glassLens);
|
||||
event.add("c:hidden_from_recipe_viewers", glassLens);
|
||||
});
|
||||
}
|
||||
|
||||
//#region Blocks
|
||||
@@ -129,17 +158,12 @@ const registerTFGBlockTags = (event) => {
|
||||
registerTFGVenusBlockTags(event)
|
||||
registerTFGAquaponicsBlockTags(event)
|
||||
|
||||
event.add('minecraft:mineable/pickaxe', 'tfg:superconductor_coil_large')
|
||||
event.add('minecraft:mineable/pickaxe', 'tfg:superconductor_coil_small')
|
||||
event.add('minecraft:mineable/pickaxe', 'tfg:electromagnetic_accelerator')
|
||||
event.add('minecraft:mineable/pickaxe', 'tfg:reflector')
|
||||
event.add('minecraft:mineable/pickaxe', 'tfg:machine_casing_aluminium_plated_steel')
|
||||
event.add('forge:mineable/wrench', 'tfg:superconductor_coil_large')
|
||||
event.add('forge:mineable/wrench', 'tfg:superconductor_coil_small')
|
||||
event.add('forge:mineable/wrench', 'tfg:electromagnetic_accelerator')
|
||||
event.add('forge:mineable/wrench', 'tfg:reflector')
|
||||
event.add('forge:mineable/wrench', 'tfg:machine_casing_aluminium_plated_steel')
|
||||
event.add('forge:mineable/wrench', 'tfg:machine_casing_power_casing')
|
||||
event.add('gtceu:mineable/pickaxe_or_wrench', 'tfg:superconductor_coil_large')
|
||||
event.add('gtceu:mineable/pickaxe_or_wrench', 'tfg:superconductor_coil_small')
|
||||
event.add('gtceu:mineable/pickaxe_or_wrench', 'tfg:electromagnetic_accelerator')
|
||||
event.add('gtceu:mineable/pickaxe_or_wrench', 'tfg:reflector')
|
||||
event.add('gtceu:mineable/pickaxe_or_wrench', 'tfg:machine_casing_aluminium_plated_steel')
|
||||
event.add('gtceu:mineable/pickaxe_or_wrench', 'tfg:machine_casing_power_casing')
|
||||
|
||||
event.add('minecraft:mineable/pickaxe', 'tfg:mars_ice')
|
||||
event.add('minecraft:ice', 'tfg:mars_ice')
|
||||
@@ -158,6 +182,7 @@ const registerTFGFluidTags = (event) => {
|
||||
event.add('tfg:clean_water', 'tfc:spring_water')
|
||||
|
||||
event.add('tfg:water_boiler', 'minecraft:water')
|
||||
event.add('tfg:water_boiler_t2', 'gtceu:distilled_water')
|
||||
|
||||
event.add('tfc:any_water', 'tfg:semiheavy_ammoniacal_water')
|
||||
event.add('tfc:hydrating', 'tfg:semiheavy_ammoniacal_water')
|
||||
@@ -195,6 +220,16 @@ const registerTFGFluidTags = (event) => {
|
||||
event.add('tfc:any_drinkables', 'gtceu:concrete')
|
||||
event.add('tfc:drinkables', 'rnr:concrete')
|
||||
event.add('tfc:any_drinkables', 'gtceu:concrete')
|
||||
|
||||
event.add('tfg:alcohols', 'tfg:vintage_whiskey')
|
||||
event.add('tfg:alcohols', 'tfg:vintage_beer')
|
||||
event.add('tfg:alcohols', 'tfg:vintage_cider')
|
||||
event.add('tfg:alcohols', 'tfg:vintage_rum')
|
||||
event.add('tfg:alcohols', 'tfg:vintage_sake')
|
||||
event.add('tfg:alcohols', 'tfg:vintage_corn_whiskey')
|
||||
event.add('tfg:alcohols', 'tfg:vintage_rye_whiskey')
|
||||
event.add('tfg:alcohols', 'tfg:vintage_mead')
|
||||
event.add('tfg:alcohols', 'tfg:vintage_vodka')
|
||||
|
||||
event.add('tfc:drinkables', 'gtceu:ice')
|
||||
event.add('tfc:any_drinkables', 'gtceu:ice')
|
||||
@@ -259,4 +294,8 @@ const registerTFGEntityTypeTags = (event) => {
|
||||
event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:axolotl_pet_enderman')
|
||||
event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:hammerhead_pet_enderman')
|
||||
|
||||
event.add('tfc:hunted_by_ocean_predators', 'tfg:leopard_seal')
|
||||
event.add('tfc:hunted_by_ocean_predators', 'tfc:penguin')
|
||||
event.add('tfc:hunted_by_ocean_predators', 'tfc:turtle')
|
||||
event.add('tfc:land_prey', 'tfg:leopard_seal')
|
||||
}
|
||||
Reference in New Issue
Block a user