big refactor of a lot of the recipe files!
This commit is contained in:
parent
b09b3215a3
commit
1545f19ce6
103 changed files with 7701 additions and 7640 deletions
|
|
@ -8,426 +8,6 @@ const registerAdAstraRecipes = (event) => {
|
|||
|
||||
event.remove({ mod: 'ad_astra' })
|
||||
|
||||
//#region Rocket parts
|
||||
|
||||
event.recipes.gtceu.shaped('ad_astra:launch_pad', [
|
||||
'BAB',
|
||||
'AAA',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:plates/steel',
|
||||
B: '#forge:rods/steel'
|
||||
}).addMaterialInfo().id('tfg:launch_pad')
|
||||
|
||||
//#region Tier 1 rocket
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_nose_cone_t1')
|
||||
.itemInputs(
|
||||
'gtceu:hv_emitter',
|
||||
ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t1'), 1),
|
||||
ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.StainlessSteel, 3))
|
||||
.inputFluids(Fluid.of('gtceu:polyethylene', 144 * 16))
|
||||
.itemOutputs('ad_astra:rocket_nose_cone')
|
||||
.duration(1200)
|
||||
.circuit(2)
|
||||
.EUt(480)
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
|
||||
event.recipes.gtceu.pyrolyse_oven('tfg:pyrolyse_vitrified_asbestos_dust')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 100))
|
||||
.itemInputs('gtceu:asbestos_dust')
|
||||
.itemOutputs('gtceu:vitrified_asbestos_dust')
|
||||
.duration(80)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:rocket_alloy_t1')
|
||||
.itemInputs('6x #forge:dusts/aluminium', '2x #forge:dusts/stainless_steel')
|
||||
.inputFluids(Fluid.of('gtceu:red_steel', 144))
|
||||
.itemOutputs('9x #forge:dusts/rocket_alloy_t1')
|
||||
.duration(580)
|
||||
.circuit(2)
|
||||
.EUt(480)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:rocket_alloy_cool_down_water')
|
||||
.itemInputs('#forge:hot_ingots/rocket_alloy_t1')
|
||||
.inputFluids(Fluid.of('minecraft:water', 100))
|
||||
.itemOutputs('#forge:ingots/rocket_alloy_t1')
|
||||
.duration(400)
|
||||
.EUt(120)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:rocket_alloy_cool_down_distilled_water')
|
||||
.itemInputs('#forge:hot_ingots/rocket_alloy_t1')
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 100))
|
||||
.itemOutputs('#forge:ingots/rocket_alloy_t1')
|
||||
.duration(250)
|
||||
.EUt(120)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:rocket_fin_t1`)
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.plate, TFGHelpers.getMaterial('rocket_alloy_t1'), 1),
|
||||
ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.StainlessSteel, 1)
|
||||
)
|
||||
.itemOutputs('ad_astra:rocket_fin')
|
||||
.duration(150)
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_steel_engine')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.StainlessSteel, 2),
|
||||
'2x #gtceu:circuits/hv',
|
||||
'gtceu:hv_electric_pump',
|
||||
'2x gtceu:power_thruster',
|
||||
ChemicalHelper.get(TagPrefix.rotor, GTMaterials.StainlessSteel, 1)
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:blue_steel', 144 * 8))
|
||||
.itemOutputs('ad_astra:steel_engine')
|
||||
.duration(600)
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
event.recipes.gtceu.assembler('ad_astra:assembler_tier_1_rocket')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t1'), 8),
|
||||
'4x ad_astra:rocket_fin',
|
||||
'1x ad_astra:steel_engine',
|
||||
'1x ad_astra:rocket_nose_cone',
|
||||
'16x #forge:insulation_t1',
|
||||
'4x #gtceu:circuits/hv'
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:silicon', 144 * 16))
|
||||
.itemOutputs('ad_astra:tier_1_rocket')
|
||||
.duration(1200)
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
//#endregion
|
||||
|
||||
|
||||
//region tier 2 rocket
|
||||
|
||||
event.remove({ mod: 'gtceu', input: 'gtceu:hot_rocket_alloy_t2_ingot' })
|
||||
|
||||
event.recipes.gtceu.alloy_blast_smelter('gtceu:alloy_blast_smelter/rocket_alloy_t2')
|
||||
.itemInputs('19x #forge:dusts/titanium', '3x #forge:dusts/chromium', '3x #forge:dusts/tin', '3x #forge:dusts/aluminium')
|
||||
.inputFluids(Fluid.of('gtceu:vanadium', 144 * 4), Fluid.of('gtceu:distilled_water', 16000))
|
||||
.outputFluids(Fluid.of('gtceu:molten_rocket_alloy_t2', 144 * 32))
|
||||
.duration(1320 * 20)
|
||||
.circuit(2)
|
||||
.blastFurnaceTemp(3200)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.alloy_blast_smelter('gtceu:alloy_blast_smelter/rocket_alloy_t2_gas')
|
||||
.itemInputs('19x #forge:dusts/titanium', '3x #forge:dusts/chromium', '3x #forge:dusts/tin', '3x #forge:dusts/aluminium')
|
||||
.inputFluids(Fluid.of('gtceu:vanadium', 144 * 4), Fluid.of('gtceu:distilled_water', 16000), Fluid.of('gtceu:helium', 3200))
|
||||
.outputFluids(Fluid.of('gtceu:molten_rocket_alloy_t2', 144 * 32))
|
||||
.duration(17688)
|
||||
.circuit(12)
|
||||
.blastFurnaceTemp(3200)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/cool_molten_rocket_alloy_t2')
|
||||
.notConsumable('gtceu:ingot_casting_mold')
|
||||
.inputFluids(Fluid.of('gtceu:molten_rocket_alloy_t2', 144), Fluid.of('tfg:cryogenized_fluix', 288))
|
||||
.itemOutputs('#forge:ingots/rocket_alloy_t2')
|
||||
.duration(120)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:rocket_alloy_t2')
|
||||
.itemInputs('19x #forge:dusts/titanium', '3x #forge:dusts/chromium', '3x #forge:dusts/tin', '3x #forge:dusts/aluminium')
|
||||
.inputFluids(Fluid.of('gtceu:vanadium', 144 * 4))
|
||||
.itemOutputs('32x #forge:dusts/rocket_alloy_t2')
|
||||
.duration(15 * 20)
|
||||
.circuit(5)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/cool_rocket_alloy_t2')
|
||||
.itemInputs('#forge:hot_ingots/rocket_alloy_t2')
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 500), Fluid.of('tfg:cryogenized_fluix', 288))
|
||||
.itemOutputs('#forge:ingots/rocket_alloy_t2')
|
||||
.duration(120)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_fin_t2')
|
||||
.itemInputs('#forge:plates/rocket_alloy_t2',
|
||||
'#forge:double_plates/titanium')
|
||||
.itemOutputs('tfg:rocket_fin_t2')
|
||||
.duration(180)
|
||||
.circuit(3)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_cone_t2')
|
||||
.itemInputs('gtceu:ev_emitter', '#forge:dense_plates/rocket_alloy_t2', '#forge:double_plates/titanium',
|
||||
'#forge:double_plates/desh')
|
||||
.itemOutputs('tfg:rocket_cone_t2')
|
||||
.duration(1440)
|
||||
.circuit(3)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_desh_engine')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.Titanium, 4),
|
||||
'2x #gtceu:circuits/ev',
|
||||
'gtceu:ev_electric_pump',
|
||||
'3x gtceu:advanced_power_thruster',
|
||||
ChemicalHelper.get(TagPrefix.rod, GTMaterials.NeodymiumMagnetic, 4),
|
||||
ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Titanium, 1))
|
||||
.inputFluids(Fluid.of('gtceu:desh', 144 * 12))
|
||||
.itemOutputs('ad_astra:desh_engine')
|
||||
.duration(800)
|
||||
.circuit(3)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
event.recipes.gtceu.assembler('ad_astra:tier_2_rocket')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t2'), 12),
|
||||
'4x tfg:rocket_fin_t2',
|
||||
'1x ad_astra:desh_engine',
|
||||
'1x tfg:rocket_cone_t2',
|
||||
'12x #forge:insulation_t2/roll',
|
||||
'4x #gtceu:circuits/ev'
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:titanium', 144 * 16))
|
||||
.itemOutputs('ad_astra:tier_2_rocket')
|
||||
.duration(1440)
|
||||
.circuit(3)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
//#endregion
|
||||
|
||||
//region Tier 3 DISABLED UNTIL IV
|
||||
event.remove({ id: "gtceu:vacuum_freezer/cool_hot_rocket_alloy_t3_ingot" })
|
||||
event.remove({ id: "gtceu:vacuum_freezer/rocket_alloy_t3" })
|
||||
/*
|
||||
event.recipes.gtceu.vacuum_freezer('tfg:cool_rocket_alloy_t3')
|
||||
.inputFluids(Fluid.of('gtceu:molten_rocket_alloy_t3', 144), Fluid.of('gtceu:ice', 4000))
|
||||
.notConsumable('gtceu:ingot_casting_mold')
|
||||
.itemOutputs('#forge:ingots/rocket_alloy_t3')
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
event.recipes.gtceu.vacuum_freezer('tfg:cool_hot_rocket_alloy_t3')
|
||||
.itemInputs('#forge:hot_ingots/rocket_alloy_t3')
|
||||
.inputFluids(Fluid.of('gtceu:liquid_helium', 500))
|
||||
.itemOutputs('#forge:ingots/rocket_alloy_t3')
|
||||
.outputFluids(Fluid.of('gtceu:helium', 250))
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
//Add some unique cooling thing for molten ingots
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_fin_t3')
|
||||
.itemInputs('#forge:plates/rocket_alloy_t3', '#forge:double_plates/tungsten_steel')
|
||||
.itemOutputs('tfg:rocket_fin_t3')
|
||||
.duration(220)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_cone_t3')
|
||||
.itemInputs('gtceu:iv_emitter', '#forge:dense_plates/rocket_alloy_t3', '#forge:double_plates/tungsten_steel',
|
||||
'#forge:double_plates/ostrum', 'gtceu:plutonium_nugget') //change this to the pellet
|
||||
.itemOutputs('tfg:rocket_cone_t3')
|
||||
.duration(1700)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:elite_power_thruster')
|
||||
.itemInputs('gtceu:ev_electric_motor', '2x #forge:rings/titanium', '#forge:rods/titanium',
|
||||
'gtceu:ultimet_rotor', '2x gtceu:aluminium_single_cable')
|
||||
.itemOutputs('tfg:elite_power_thruster')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_ostrum_engine')
|
||||
.itemInputs(
|
||||
'6x #forge:double_plates/tungsten_steel',
|
||||
'4x #gtceu:circuits/iv',
|
||||
'gtceu:iv_electric_pump',
|
||||
'3x tfg:elite_power_thruster',
|
||||
'4x #forge:insulation_t3/cryo',
|
||||
'6x #forge:rods/magnetic_neodymium',
|
||||
'#forge:rotors/tungsten_steel')
|
||||
.inputFluids(Fluid.of('gtceu:ostrum', 144 * 16))
|
||||
.itemOutputs('ad_astra:ostrum_engine')
|
||||
.duration(960)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_ostrum_tank')
|
||||
.itemInputs(
|
||||
'4x #forge:double_plates/rocket_alloy_t3',
|
||||
'gtceu:iv_electric_pump',
|
||||
'tfg:elite_power_thruster',
|
||||
'2x #forge:insulation_t3/cryo')
|
||||
.inputFluids(Fluid.of('gtceu:ostrum', 144 * 4))
|
||||
.itemOutputs('ad_astra:ostrum_tank')
|
||||
.duration(400)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
event.recipes.gtceu.assembler('ad_astra:tier_3_rocket')
|
||||
.itemInputs(
|
||||
'16x #forge:dense_plates/rocket_alloy_t3',
|
||||
'4x tfg:rocket_fin_t3',
|
||||
'1x ad_astra:ostrum_engine',
|
||||
'2x ad_astra:ostrum_tank',
|
||||
'1x tfg:rocket_cone_t3',
|
||||
'8x #forge:insulation_t3/sheet'
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:bromine', 1000 * 16))
|
||||
.itemOutputs('ad_astra:tier_3_rocket')
|
||||
.duration(1700)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
//#endregion
|
||||
*/
|
||||
//#region space suits NETHERITE STUFF DISABLED UNTIL IV
|
||||
|
||||
event.recipes.gtceu.forming_press('space_suit_fabric')
|
||||
.itemInputs(
|
||||
'#forge:foils/aluminium',
|
||||
'gtceu:carbon_fiber_mesh',
|
||||
'#forge:foils/silicone_rubber',
|
||||
'tfg:polycaprolactam_fabric'
|
||||
)
|
||||
.itemOutputs('2x tfg:space_suit_fabric')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.forming_press('better_space_suit_fabric')
|
||||
.itemInputs(
|
||||
'#forge:foils/polybenzimidazole',
|
||||
'gtceu:carbon_fiber_mesh',
|
||||
'#forge:aerogels',
|
||||
'tfg:glacian_wool'
|
||||
)
|
||||
.itemOutputs('2x tfg:better_space_suit_fabric')
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.shaped('ad_astra:space_helmet', [
|
||||
'AAA',
|
||||
'ADA',
|
||||
'BBB'
|
||||
], {
|
||||
A: 'gtceu:tempered_glass',
|
||||
B: 'tfg:space_suit_fabric',
|
||||
D: '#forge:small_fluid_pipes/polyethylene'
|
||||
}).addMaterialInfo().id('tfg:space_helmet')
|
||||
|
||||
event.recipes.gtceu.assembler('ad_astra:netherite_space_helmet')
|
||||
.itemInputs(
|
||||
'ad_astra:space_helmet',
|
||||
'2x #forge:plates/tungsten_steel',
|
||||
'1x #forge:plates/ostrum',
|
||||
'3x tfg:better_space_suit_fabric',
|
||||
'5x gtceu:laminated_glass'
|
||||
)
|
||||
.itemOutputs('ad_astra:netherite_space_helmet')
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.shaped('ad_astra:space_suit', [
|
||||
'B B',
|
||||
'BDB',
|
||||
'BBB'
|
||||
], {
|
||||
B: 'tfg:space_suit_fabric',
|
||||
D: 'ad_astra:oxygen_gear'
|
||||
}).addMaterialInfo().id('tfg:space_suit')
|
||||
|
||||
event.shapeless('ad_astra:space_suit', ['ad_astra:space_suit'])
|
||||
.id('tfg:empty_space_suit')
|
||||
|
||||
event.recipes.gtceu.assembler('ad_astra:netherite_space_suit')
|
||||
.itemInputs(
|
||||
'ad_astra:space_suit',
|
||||
'3x #forge:plates/tungsten_steel',
|
||||
'2x #forge:plates/ostrum',
|
||||
'5x tfg:better_space_suit_fabric'
|
||||
)
|
||||
.itemOutputs('ad_astra:netherite_space_suit')
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.shapeless('ad_astra:netherite_space_suit', ['ad_astra:netherite_space_suit'])
|
||||
.id('tfg:empty_netherite_space_suit')
|
||||
|
||||
event.recipes.gtceu.shaped('ad_astra:space_pants', [
|
||||
'BAB',
|
||||
'B B',
|
||||
'B B'
|
||||
], {
|
||||
A: 'gtceu:hv_electric_motor',
|
||||
B: 'tfg:space_suit_fabric',
|
||||
}).addMaterialInfo().id('tfg:space_pants')
|
||||
|
||||
event.recipes.gtceu.assembler('ad_astra:netherite_space_pants')
|
||||
.itemInputs(
|
||||
'ad_astra:space_pants',
|
||||
'2x #forge:plates/tungsten_steel',
|
||||
'2x #forge:plates/ostrum',
|
||||
'4x tfg:better_space_suit_fabric'
|
||||
)
|
||||
.itemOutputs('ad_astra:netherite_space_pants')
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.shaped('ad_astra:space_boots', [
|
||||
'B B',
|
||||
'A A'
|
||||
], {
|
||||
A: '#forge:plates/polyphenylene_sulfide',
|
||||
B: 'tfg:space_suit_fabric'
|
||||
}).addMaterialInfo().id('tfg:space_boots')
|
||||
|
||||
event.recipes.gtceu.assembler('ad_astra:netherite_space_boots')
|
||||
.itemInputs(
|
||||
'ad_astra:space_boots',
|
||||
'1x #forge:plates/tungsten_steel',
|
||||
'1x #forge:plates/ostrum',
|
||||
'2x tfg:better_space_suit_fabric'
|
||||
)
|
||||
.itemOutputs('ad_astra:netherite_space_boots')
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
|
||||
event.recipes.gtceu.shaped('ad_astra:oxygen_gear', [
|
||||
'BAB',
|
||||
'ECE',
|
||||
'BDB'
|
||||
], {
|
||||
A: '#gtceu:circuits/hv',
|
||||
B: '#forge:tiny_fluid_pipes/stainless_steel',
|
||||
C: 'gtceu:hv_electric_pump',
|
||||
D: 'gtceu:fluid_detector_cover',
|
||||
E: 'ad_astra:gas_tank'
|
||||
}).addMaterialInfo().id('tfg:oxygen_gear')
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Gas tanks
|
||||
|
||||
|
|
@ -919,28 +499,6 @@ const registerAdAstraRecipes = (event) => {
|
|||
event.stonecutting('ad_astra:encased_etrium_block', '#tfg:ad_astra_etrium_blocks')
|
||||
event.stonecutting('ad_astra:etrium_plateblock', '#tfg:ad_astra_etrium_blocks')
|
||||
|
||||
event.recipes.tfc.loom(
|
||||
'8x ad_astra:glacian_fur',
|
||||
'8x tfg:glacian_wool',
|
||||
8,
|
||||
'ad_astra:block/glacian_fur'
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/glacian_fur')
|
||||
.itemInputs('tfg:glacian_wool')
|
||||
.circuit(10)
|
||||
.itemOutputs('ad_astra:glacian_fur')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
event.shaped('minecraft:pink_bed', [
|
||||
'AAA',
|
||||
'BBB'
|
||||
], {
|
||||
A: 'ad_astra:glacian_fur',
|
||||
B: '#tfc:lumber'
|
||||
}).id('tfg:shaped/glacian_bed')
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Space stations
|
||||
|
|
@ -949,10 +507,10 @@ const registerAdAstraRecipes = (event) => {
|
|||
type: "ad_astra:space_station_recipe",
|
||||
dimension: "ad_astra:earth_orbit",
|
||||
ingredients: [
|
||||
{ count: 43, ingredient: { item: "gtceu:aluminium_frame" }},
|
||||
{ count: 24, ingredient: { item: "gtceu:glass_plate" }},
|
||||
{ count: 4, ingredient: { item: "minecraft:glowstone_dust" }},
|
||||
{ count: 1, ingredient: { item: "ad_astra:launch_pad" }}
|
||||
{ count: 43, ingredient: { item: "gtceu:aluminium_frame" } },
|
||||
{ count: 24, ingredient: { item: "gtceu:glass_plate" } },
|
||||
{ count: 4, ingredient: { item: "minecraft:glowstone_dust" } },
|
||||
{ count: 1, ingredient: { item: "ad_astra:launch_pad" } }
|
||||
],
|
||||
structure: "tfg:orbit/space_station"
|
||||
})
|
||||
|
|
@ -961,10 +519,10 @@ const registerAdAstraRecipes = (event) => {
|
|||
type: "ad_astra:space_station_recipe",
|
||||
dimension: "ad_astra:moon_orbit",
|
||||
ingredients: [
|
||||
{ count: 43, ingredient: { item: "gtceu:aluminium_frame" }},
|
||||
{ count: 24, ingredient: { item: "gtceu:glass_plate" }},
|
||||
{ count: 4, ingredient: { item: "minecraft:glowstone_dust" }},
|
||||
{ count: 1, ingredient: { item: "ad_astra:launch_pad" }}
|
||||
{ count: 43, ingredient: { item: "gtceu:aluminium_frame" } },
|
||||
{ count: 24, ingredient: { item: "gtceu:glass_plate" } },
|
||||
{ count: 4, ingredient: { item: "minecraft:glowstone_dust" } },
|
||||
{ count: 1, ingredient: { item: "ad_astra:launch_pad" } }
|
||||
],
|
||||
structure: "tfg:orbit/space_station"
|
||||
})
|
||||
|
|
@ -973,10 +531,46 @@ const registerAdAstraRecipes = (event) => {
|
|||
type: "ad_astra:space_station_recipe",
|
||||
dimension: "ad_astra:mars_orbit",
|
||||
ingredients: [
|
||||
{ count: 43, ingredient: { item: "gtceu:aluminium_frame" }},
|
||||
{ count: 24, ingredient: { item: "gtceu:glass_plate" }},
|
||||
{ count: 4, ingredient: { item: "minecraft:glowstone_dust" }},
|
||||
{ count: 1, ingredient: { item: "ad_astra:launch_pad" }}
|
||||
{ count: 43, ingredient: { item: "gtceu:aluminium_frame" } },
|
||||
{ count: 24, ingredient: { item: "gtceu:glass_plate" } },
|
||||
{ count: 4, ingredient: { item: "minecraft:glowstone_dust" } },
|
||||
{ count: 1, ingredient: { item: "ad_astra:launch_pad" } }
|
||||
],
|
||||
structure: "tfg:orbit/space_station"
|
||||
})
|
||||
|
||||
event.custom({
|
||||
type: "ad_astra:space_station_recipe",
|
||||
dimension: "ad_astra:venus_orbit",
|
||||
ingredients: [
|
||||
{ count: 43, ingredient: { item: "gtceu:aluminium_frame" } },
|
||||
{ count: 24, ingredient: { item: "gtceu:glass_plate" } },
|
||||
{ count: 4, ingredient: { item: "minecraft:glowstone_dust" } },
|
||||
{ count: 1, ingredient: { item: "ad_astra:launch_pad" } }
|
||||
],
|
||||
structure: "tfg:orbit/space_station"
|
||||
})
|
||||
|
||||
event.custom({
|
||||
type: "ad_astra:space_station_recipe",
|
||||
dimension: "ad_astra:mercury_orbit",
|
||||
ingredients: [
|
||||
{ count: 43, ingredient: { item: "gtceu:aluminium_frame" } },
|
||||
{ count: 24, ingredient: { item: "gtceu:glass_plate" } },
|
||||
{ count: 4, ingredient: { item: "minecraft:glowstone_dust" } },
|
||||
{ count: 1, ingredient: { item: "ad_astra:launch_pad" } }
|
||||
],
|
||||
structure: "tfg:orbit/space_station"
|
||||
})
|
||||
|
||||
event.custom({
|
||||
type: "ad_astra:space_station_recipe",
|
||||
dimension: "ad_astra:glacio_orbit",
|
||||
ingredients: [
|
||||
{ count: 43, ingredient: { item: "gtceu:aluminium_frame" } },
|
||||
{ count: 24, ingredient: { item: "gtceu:glass_plate" } },
|
||||
{ count: 4, ingredient: { item: "minecraft:glowstone_dust" } },
|
||||
{ count: 1, ingredient: { item: "ad_astra:launch_pad" } }
|
||||
],
|
||||
structure: "tfg:orbit/space_station"
|
||||
})
|
||||
|
|
@ -984,45 +578,12 @@ const registerAdAstraRecipes = (event) => {
|
|||
//#endregion
|
||||
|
||||
//#region Wood
|
||||
event.remove({ type: 'greate:cutting', input: '#ad_astra:aeronos_caps' })
|
||||
event.remove({ type: 'greate:cutting', input: 'ad_astra:aeronos_planks' })
|
||||
event.remove({ type: 'greate:cutting', input: '#ad_astra:strophar_caps' })
|
||||
event.remove({ type: 'greate:cutting', input: 'ad_astra:glacian_log' })
|
||||
event.remove({ type: 'greate:cutting', input: 'ad_astra:stripped_glacian_log' })
|
||||
event.remove({ type: 'greate:cutting', input: 'ad_astra:strophar_planks' })
|
||||
event.remove({ type: 'greate:cutting', input: 'ad_astra:glacian_planks' })
|
||||
|
||||
global.AD_ASTRA_WOOD.forEach(wood => {
|
||||
woodBuilder(event, wood.name, wood.lumber, wood.logs, wood.log, wood.stripped_log, wood.plank, wood.stair, wood.slab, wood.door, wood.trapdoor, wood.fence, wood.fence_gate, wood.support, wood.pressure_plate, wood.button)
|
||||
})
|
||||
|
||||
event.shaped('16x ad_astra:aeronos_ladder', [
|
||||
'A A',
|
||||
'ABA',
|
||||
'A A'
|
||||
], {
|
||||
A: 'tfg:wood/lumber/aeronos',
|
||||
B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1),
|
||||
}).id('tfg:shaped/aeronos_ladder')
|
||||
|
||||
event.shaped('16x ad_astra:strophar_ladder', [
|
||||
'A A',
|
||||
'ABA',
|
||||
'A A'
|
||||
], {
|
||||
A: 'tfg:wood/lumber/strophar',
|
||||
B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1),
|
||||
}).id('tfg:shaped/strophar_ladder')
|
||||
|
||||
|
||||
generateGreenHouseRecipe(event, '8x tfg:saplings/strophar', 'tfg:semiheavy_ammoniacal_water', 16000,
|
||||
'64x ad_astra:strophar_stem', 'tfg:green_house/strophar_mushroom', 'ad_astra:mars', 8,
|
||||
'16x ad_astra:strophar_cap', GTValues.VA[GTValues.MV])
|
||||
generateGreenHouseRecipe(event, '8x tfg:saplings/aeronos', 'tfg:semiheavy_ammoniacal_water', 16000,
|
||||
'64x ad_astra:aeronos_stem', 'tfg:green_house/aeronos_mushroom', 'ad_astra:mars', 8,
|
||||
'16x ad_astra:aeronos_cap', GTValues.VA[GTValues.MV])
|
||||
generateGreenHouseRecipe(event, '8x tfg:saplings/glacian', 'tfg:semiheavy_ammoniacal_water', 16000,
|
||||
'64x ad_astra:glacian_log', 'tfg:green_house/glacian_tree', 'ad_astra:mars', 8,
|
||||
'8x species:alphacene_moss_block', GTValues.VA[GTValues.MV])
|
||||
event.remove({ type: 'greate:cutting', input: '#ad_astra:aeronos_caps' })
|
||||
event.remove({ type: 'greate:cutting', input: 'ad_astra:aeronos_planks' })
|
||||
event.remove({ type: 'greate:cutting', input: '#ad_astra:strophar_caps' })
|
||||
event.remove({ type: 'greate:cutting', input: 'ad_astra:glacian_log' })
|
||||
event.remove({ type: 'greate:cutting', input: 'ad_astra:stripped_glacian_log' })
|
||||
event.remove({ type: 'greate:cutting', input: 'ad_astra:strophar_planks' })
|
||||
event.remove({ type: 'greate:cutting', input: 'ad_astra:glacian_planks' })
|
||||
//#endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2306,16 +2306,6 @@ const registerAE2Recipes = (event) => {
|
|||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
// Cryogenized Fluix
|
||||
|
||||
event.recipes.gtceu.vacuum_freezer('gtceu:cryo_fluix')
|
||||
.inputFluids(Fluid.of('gtceu:helium_3', 1000))
|
||||
.inputFluids(Fluid.of('tfg:fluix', 144))
|
||||
.outputFluids(Fluid.of('tfg:cryogenized_fluix', 576))
|
||||
.duration(30 * 20)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
// Certus deco blocks
|
||||
|
||||
event.stonecutting('ae2:quartz_block', '#tfg:certus_quartz_blocks')
|
||||
|
|
|
|||
|
|
@ -361,7 +361,7 @@ const registerAFCRecipes = (event) => {
|
|||
|
||||
//#endregion
|
||||
|
||||
//region gt sap processing
|
||||
//#region GT sap processing
|
||||
|
||||
event.recipes.gtceu.fluid_heater('maple_sap_condense')
|
||||
.inputFluids(Fluid.of('afc:maple_sap', 1000))
|
||||
|
|
@ -375,8 +375,6 @@ const registerAFCRecipes = (event) => {
|
|||
.duration(20*35)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
|
||||
//endregion
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier('maple_syrup')
|
||||
.inputFluids(Fluid.of('afc:maple_syrup', 100))
|
||||
|
|
@ -389,6 +387,8 @@ const registerAFCRecipes = (event) => {
|
|||
.itemOutputs('afc:birch_sugar')
|
||||
.duration(20*12)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
//#endregion
|
||||
|
||||
|
||||
// Syrup into sugar
|
||||
|
|
|
|||
|
|
@ -67,12 +67,6 @@ const registerBeneathRecipes = (event) => {
|
|||
|
||||
event.recipes.tfc.landslide('beneath:soul_clay', 'beneath:soul_clay')
|
||||
|
||||
generateGreenHouseRecipe(event, '8x tfg:saplings/warped', 'tfg:semiheavy_ammoniacal_water', 16000,
|
||||
'64x beneath:wood/log/warped', 'tfg:green_house/warped_fungus', 'ad_astra:mars', 8,
|
||||
'32x minecraft:warped_wart_block', GTValues.VA[GTValues.MV])
|
||||
generateGreenHouseRecipe(event, '8x tfg:saplings/crimson', 'tfg:semiheavy_ammoniacal_water', 16000,
|
||||
'64x beneath:wood/log/crimson', 'tfg:green_house/crimson_fungus', 'ad_astra:mars', 8,
|
||||
'32x minecraft:nether_wart_block', GTValues.VA[GTValues.MV])
|
||||
|
||||
Ingredient.of('#beneath:mushrooms').stacks.forEach(element => {
|
||||
const itemId = element.id;
|
||||
|
|
@ -82,26 +76,6 @@ const registerBeneathRecipes = (event) => {
|
|||
recipeId, 'minecraft:the_nether', 8, element.withCount(4), GTValues.VH[GTValues.LV]);
|
||||
});
|
||||
|
||||
// don't pass in the items like doors, trapdoors etc because beneath already has good recipes for those
|
||||
woodBuilder(event, 'crimson', 'beneath:wood/lumber/crimson', '#tfc:crimson_logs', 'beneath:wood/log/crimson',
|
||||
'beneath:wood/stripped_log/crimson', 'beneath:wood/planks/crimson', null,
|
||||
'beneath:wood/planks/crimson_slab', null, null, null, null, null, 'beneath:wood/planks/crimson_pressure_plate',
|
||||
'beneath:wood/planks/crimson_button')
|
||||
|
||||
event.recipes.gtceu.lathe(`tfg:cutter/crimson_stripped_wood_from_wood`)
|
||||
.itemInputs('beneath:wood/wood/crimson')
|
||||
.itemOutputs('beneath:wood/stripped_wood/crimson')
|
||||
.duration(50)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.custom({
|
||||
type: 'vintageimprovements:polishing',
|
||||
ingredients: [{ item: 'beneath:wood/wood/crimson' }],
|
||||
results: [{ item: 'beneath:wood/stripped_wood/crimson' }],
|
||||
speed_limits: 0,
|
||||
processingTime: 50
|
||||
}).id(`tfg:vi/lathe/stripping_crimson_wood`)
|
||||
|
||||
event.shaped('beneath:wood/sewing_table/crimson', [
|
||||
' AB',
|
||||
'CCC',
|
||||
|
|
@ -113,26 +87,6 @@ const registerBeneathRecipes = (event) => {
|
|||
D: 'beneath:wood/log/crimson'
|
||||
}).id('tfg:shaped/crimson_sewing_table')
|
||||
|
||||
|
||||
woodBuilder(event, 'warped', 'beneath:wood/lumber/warped', '#tfc:warped_logs', 'beneath:wood/log/warped',
|
||||
'beneath:wood/stripped_log/warped', 'beneath:wood/planks/warped', null,
|
||||
'beneath:wood/planks/warped_slab', null, null, null, null, null, 'beneath:wood/planks/warped_pressure_plate',
|
||||
'beneath:wood/planks/warped_button')
|
||||
|
||||
event.recipes.gtceu.lathe(`tfg:cutter/warped_stripped_wood_from_wood`)
|
||||
.itemInputs('beneath:wood/wood/warped')
|
||||
.itemOutputs('beneath:wood/stripped_wood/warped')
|
||||
.duration(50)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.custom({
|
||||
type: 'vintageimprovements:polishing',
|
||||
ingredients: [{ item: 'beneath:wood/wood/warped' }],
|
||||
results: [{ item: 'beneath:wood/stripped_wood/warped' }],
|
||||
speed_limits: 0,
|
||||
processingTime: 50
|
||||
}).id(`tfg:vi/lathe/stripping_warped_wood`)
|
||||
|
||||
event.shaped('beneath:wood/sewing_table/warped', [
|
||||
' AB',
|
||||
'CCC',
|
||||
|
|
|
|||
|
|
@ -985,70 +985,6 @@ const registerCreateRecipes = (event) => {
|
|||
.duration(200)
|
||||
.EUt(20)
|
||||
|
||||
// Электронная трубка
|
||||
event.shaped('1x create:electron_tube', [
|
||||
'FAG',
|
||||
'BCB',
|
||||
'DED'
|
||||
], {
|
||||
A: 'gtceu:glass_tube',
|
||||
B: '#forge:bolts/steel',
|
||||
C: 'gtceu:wood_plate',
|
||||
D: 'gtceu:red_alloy_single_wire',
|
||||
E: '#forge:plates/wrought_iron',
|
||||
F: '#forge:tools/screwdrivers',
|
||||
G: '#forge:tools/wire_cutters'
|
||||
}).id('tfg:create/shaped/electron_tube')
|
||||
|
||||
event.recipes.createSequencedAssembly([
|
||||
'2x create:electron_tube',
|
||||
], 'gtceu:wood_plate', [
|
||||
event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', '#forge:plates/wrought_iron']),
|
||||
event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', 'gtceu:red_alloy_single_wire']),
|
||||
event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', 'gtceu:red_alloy_single_wire']),
|
||||
event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', 'gtceu:glass_tube']),
|
||||
]).transitionalItem('tfg:unfinished_electron_tube').loops(1).id('tfg:create/sequenced_assembly/electron_tube')
|
||||
|
||||
event.recipes.gtceu.assembler('create:electron_tube')
|
||||
.itemInputs('#forge:plates/wrought_iron', 'gtceu:glass_tube', '2x gtceu:red_alloy_single_wire')
|
||||
.itemOutputs('2x create:electron_tube')
|
||||
.duration(50)
|
||||
.EUt(7)
|
||||
.circuit(14)
|
||||
|
||||
event.shaped('4x create:electron_tube', [
|
||||
'FAG',
|
||||
'DCD'
|
||||
], {
|
||||
A: 'gtceu:glass_tube',
|
||||
C: 'gtceu:plastic_circuit_board',
|
||||
D: 'gtceu:red_alloy_single_wire',
|
||||
F: '#forge:tools/screwdrivers',
|
||||
G: '#forge:tools/wire_cutters'
|
||||
}).id('tfg:create/shaped/electron_tube2')
|
||||
|
||||
event.recipes.gtceu.assembler('create:electron_tube2')
|
||||
.itemInputs('gtceu:plastic_circuit_board', 'gtceu:glass_tube', '2x gtceu:red_alloy_single_wire')
|
||||
.itemOutputs('4x create:electron_tube')
|
||||
.duration(50)
|
||||
.EUt(7)
|
||||
|
||||
event.shaped('4x create:electron_tube', [
|
||||
' A ',
|
||||
' B ',
|
||||
' C '
|
||||
], {
|
||||
A: '#forge:tools/screwdrivers',
|
||||
B: 'gtceu:nand_chip',
|
||||
C: 'gtceu:plastic_circuit_board'
|
||||
}).id('tfg:create/shaped/electron_tube3')
|
||||
|
||||
event.recipes.gtceu.assembler('create:electron_tube3')
|
||||
.itemInputs('gtceu:plastic_circuit_board', 'gtceu:nand_chip')
|
||||
.itemOutputs('4x create:electron_tube')
|
||||
.duration(50)
|
||||
.EUt(7)
|
||||
|
||||
// Тюбик с клеем
|
||||
event.shaped('create:super_glue', [
|
||||
'BA',
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -828,427 +828,37 @@ function registerGTCEuMachineRecipes(event) {
|
|||
B: 'gtceu:steam_machine_casing'
|
||||
}).addMaterialInfo().id('gtceu:shaped/steam_output_bus')
|
||||
|
||||
//#region Chipboard Composite
|
||||
|
||||
event.recipes.gtceu.mixer('gtceu:chipboard_composite_wax')
|
||||
.itemInputs('2x #tfg:wood_dusts',
|
||||
'1x #forge:wax')
|
||||
.itemOutputs('2x tfg:chipboard_composite')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.mixer('gtceu:chipboard_composite_resin')
|
||||
.itemInputs('4x #tfg:wood_dusts',
|
||||
'1x gtceu:sticky_resin')
|
||||
.itemOutputs('4x tfg:chipboard_composite')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.mixer('gtceu:chipboard_composite_glue')
|
||||
.itemInputs('2x #tfg:wood_dusts',
|
||||
'1x tfc:glue')
|
||||
.itemOutputs('2x tfg:chipboard_composite')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
|
||||
event.recipes.gtceu.mixer('gtceu:chipboard_composite_fluid_glue')
|
||||
.itemInputs('1x #tfg:wood_dusts')
|
||||
.inputFluids(Fluid.of('gtceu:glue', 25))
|
||||
.itemOutputs('1x tfg:chipboard_composite')
|
||||
.duration(10)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.compressor('gtceu:wood_mdf')
|
||||
.itemInputs('1x tfg:chipboard_composite')
|
||||
.itemOutputs('gtceu:wood_plate')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath('gtceu:treated_chipboard_composite')
|
||||
.itemInputs('1x tfg:chipboard_composite')
|
||||
.inputFluids(Fluid.of('gtceu:creosote', 50))
|
||||
.itemOutputs('tfg:treated_chipboard_composite')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath('gtceu:bath_high_density_treated_fiberboard')
|
||||
.itemInputs('1x gtceu:wood_plate')
|
||||
.inputFluids(Fluid.of('gtceu:creosote', 50))
|
||||
.itemOutputs('tfg:high_density_treated_fiberboard')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath('gtceu:bath_treated_wood_dust')
|
||||
.itemInputs('#tfg:wood_dusts')
|
||||
.inputFluids(Fluid.of('gtceu:creosote', 50))
|
||||
.itemOutputs('gtceu:treated_wood_dust')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.compressor('tfg:compressed_treated_chipboard_composite')
|
||||
.itemInputs('tfg:treated_chipboard_composite')
|
||||
.itemOutputs('tfg:high_density_treated_fiberboard')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:resin_circuit_assembler')
|
||||
.itemInputs('gtceu:wood_plate', '2x gtceu:sticky_resin')
|
||||
.itemOutputs('gtceu:resin_circuit_board')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
//#region New Casings
|
||||
|
||||
event.recipes.gtceu.assembler('basic_solar_casing')
|
||||
.itemInputs('gtceu:steel_machine_casing', 'tfg:photo_cell_t1')
|
||||
.itemOutputs('8x tfg:casings/machine_casing_blue_solar_panel')
|
||||
.inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.assembler('advanced_solar_casing')
|
||||
.itemInputs('8x tfg:casings/machine_casing_blue_solar_panel', 'ad_astra:photovoltaic_etrium_cell')
|
||||
.itemOutputs('8x tfg:casings/machine_casing_green_solar_panel')
|
||||
.inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.assembler('elite_solar_casing')
|
||||
.itemInputs('8x tfg:casings/machine_casing_green_solar_panel', 'ad_astra:photovoltaic_vesnium_cell')
|
||||
.itemOutputs('8x tfg:casings/machine_casing_red_solar_panel')
|
||||
.inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.assembler('iron_desh_casing')
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.plate, GTMaterials.Steel, 6), 'gtceu:desh_frame')
|
||||
.itemOutputs('2x tfg:casings/machine_casing_iron_desh')
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.assembler('steel_machine_casing')
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4))
|
||||
.itemOutputs('gtceu:steel_machine_casing')
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:casings/machine_casing_stainless_evaporation')
|
||||
.itemInputs('gtceu:clean_machine_casing', '4x gtceu:annealed_copper_double_wire')
|
||||
.inputFluids(Fluid.of('gtceu:polyvinyl_chloride', 288))
|
||||
.itemOutputs('tfg:casings/machine_casing_stainless_evaporation')
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:casings/machine_casing_mars')
|
||||
.itemInputs('gtceu:clean_machine_casing', '4x #forge:double_wires/kanthal')
|
||||
.inputFluids(Fluid.of('gtceu:polybenzimidazole', 288))
|
||||
.itemOutputs('tfg:casings/machine_casing_mars')
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.assembler('gtceu:atomic_casing')
|
||||
.itemInputs('4x #forge:dense_plates/lead', '2x #forge:plates/rtm_alloy', '#forge:frames/titanium')
|
||||
.inputFluids(Fluid.of('gtceu:polyvinyl_butyral', 288))
|
||||
.itemOutputs('2x gtceu:atomic_casing')
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Large Solar Panel
|
||||
|
||||
event.shaped(
|
||||
'gtceu:large_solar_panel',
|
||||
['WSW', 'TZT', 'WUW'],
|
||||
{
|
||||
S: 'tfg:photo_cell_t1',
|
||||
Z: 'ad_astra:solar_panel',
|
||||
W: '#gtceu:circuits/ev',
|
||||
U: '#forge:gears/rocket_alloy_t1',
|
||||
T: '#forge:gears/desh'
|
||||
}
|
||||
).id('gtceu:shaped/large_solar_panel')
|
||||
|
||||
event.shaped(
|
||||
'gtceu:large_solar_panel_tier2',
|
||||
['WSW', 'TZT', 'WUW'],
|
||||
{
|
||||
S: 'ad_astra:photovoltaic_etrium_cell',
|
||||
Z: 'gtceu:large_solar_panel',
|
||||
W: '#gtceu:circuits/iv',
|
||||
U: '#forge:gears/rocket_alloy_t1',
|
||||
T: '#forge:gears/desh'
|
||||
}
|
||||
).id('gtceu:shaped/large_solar_panel_tier2')
|
||||
|
||||
event.shaped(
|
||||
'gtceu:large_solar_panel_tier3',
|
||||
['WSW', 'TZT', 'WUW'],
|
||||
{
|
||||
S: 'ad_astra:photovoltaic_vesnium_cell',
|
||||
Z: 'gtceu:large_solar_panel_tier2',
|
||||
W: '#gtceu:circuits/luv',
|
||||
U: '#forge:gears/rocket_alloy_t1',
|
||||
T: '#forge:gears/desh'
|
||||
}
|
||||
).id('gtceu:shaped/large_solar_panel_tier3')
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('advanced_photovoltaic_cell')
|
||||
.itemInputs('8x tfg:photo_cell_t1',
|
||||
'6x #forge:dusts/vanadium_gallium',
|
||||
'#forge:insulation_t2/sheet')
|
||||
.inputFluids(Fluid.of('gtceu:helium_3', 1000))
|
||||
.itemOutputs('8x ad_astra:photovoltaic_etrium_cell')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('expert_photovoltaic_cell')
|
||||
.itemInputs('8x ad_astra:photovoltaic_etrium_cell',
|
||||
'6x gtceu:energium_dust',
|
||||
'#forge:insulation_t3/sheet')
|
||||
.inputFluids(Fluid.of('tfg:cryogenized_fluix', 1000))
|
||||
.itemOutputs('8x ad_astra:photovoltaic_vesnium_cell')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
// LSP Generating recipes
|
||||
|
||||
// Solar T1
|
||||
|
||||
event.recipes.gtceu.large_solar_panel('solar_panel_t1_emergency')
|
||||
.chancedInput('tfg:photo_cell_t1', 100, 0)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-((GTValues.V[GTValues.HV])), 2)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.large_solar_panel('solar_panel_t1')
|
||||
.notConsumable('tfg:photo_cell_t1')
|
||||
.perTick(true)
|
||||
.chancedFluidInput('tfg:compressed_trimix_3 4', 5000, 0)
|
||||
.perTick(false)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-(GTValues.V[GTValues.EV]), 2)
|
||||
.circuit(2)
|
||||
|
||||
// Solar T2
|
||||
|
||||
event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2_emergency')
|
||||
.chancedInput('ad_astra:photovoltaic_etrium_cell', 100, 0)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-(GTValues.V[GTValues.EV]), 2)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2_strong')
|
||||
.notConsumable('ad_astra:photovoltaic_etrium_cell')
|
||||
.perTick(true)
|
||||
.chancedFluidInput('tfg:solar_coolant 10', 5000, 0)
|
||||
.inputFluids('tfg:cryogenized_fluix 4')
|
||||
.outputFluids('tfg:fluix 1')
|
||||
.perTick(false)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-(GTValues.V[GTValues.IV]), 2)
|
||||
.circuit(2)
|
||||
|
||||
event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2_cheap')
|
||||
.notConsumable('ad_astra:photovoltaic_etrium_cell')
|
||||
.perTick(true)
|
||||
.inputFluids('tfg:compressed_trimix_3 1')
|
||||
.perTick(false)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-(GTValues.V[GTValues.EV]), 2)
|
||||
.circuit(3)
|
||||
|
||||
// Solar T3
|
||||
|
||||
event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3_emergency')
|
||||
.chancedInput('ad_astra:photovoltaic_vesnium_cell', 100, 0)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-(GTValues.V[GTValues.IV]), 2)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3_strong')
|
||||
.notConsumable('ad_astra:photovoltaic_vesnium_cell')
|
||||
.perTick(true)
|
||||
.chancedFluidInput('tfg:solar_coolant_tier2 10', 5000, 0)
|
||||
.inputFluids('tfg:cryogenized_fluix 4')
|
||||
.outputFluids('tfg:fluix 1')
|
||||
.perTick(false)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-(GTValues.V[GTValues.LuV]), 2)
|
||||
.circuit(2)
|
||||
|
||||
event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3_cheap')
|
||||
.notConsumable('ad_astra:photovoltaic_vesnium_cell')
|
||||
.perTick(true)
|
||||
.chancedFluidInput('tfg:solar_coolant 10', 5000, 0)
|
||||
.inputFluids('tfg:cryogenized_fluix 4')
|
||||
.outputFluids('tfg:fluix 1')
|
||||
.perTick(false)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-(GTValues.V[GTValues.IV]), 2)
|
||||
.circuit(2)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Mars Ore Line
|
||||
|
||||
// Multiblock
|
||||
|
||||
event.shaped('tfg:ostrum_linear_accelerator', [
|
||||
'USU',
|
||||
'WZW',
|
||||
'PTP'
|
||||
// the recycling fix only works if the addMaterialInfo() is on the shaped recipe, NOT the assembler
|
||||
removeMaceratorRecipe(event, 'macerate_palladium_substation')
|
||||
event.recipes.gtceu.shaped('gtceu:palladium_substation', [
|
||||
'AAA',
|
||||
' B ',
|
||||
'AAA'
|
||||
], {
|
||||
S: 'tfg:casings/machine_casing_vacuum_engine_intake',
|
||||
Z: 'gtceu:iv_machine_hull',
|
||||
W: '#gtceu:circuits/iv',
|
||||
U: '#forge:double_plates/stellite_100',
|
||||
T: '#forge:single_cables/platinum',
|
||||
P: 'gtceu:iv_electric_pump'
|
||||
}
|
||||
).id('tfg:shaped/ostrum_linear_accelerator')
|
||||
A: ChemicalHelper.get(TagPrefix.plate, GTMaterials.Palladium, 1),
|
||||
B: ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.Ultimet, 1)
|
||||
}).addMaterialInfo().id('tfg:shaped/casing_palladium_substation')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:ostrum_harvester')
|
||||
event.recipes.gtceu.assembler('casing_palladium_substation')
|
||||
.itemInputs(
|
||||
'1x gtceu:ev_machine_hull',
|
||||
'4x #gtceu:circuits/ev',
|
||||
'4x gtceu:ev_electric_motor',
|
||||
'4x #forge:rotors/black_steel',
|
||||
'4x gtceu:ev_electric_pump',
|
||||
'4x #forge:gears/desh')
|
||||
.itemOutputs('gtceu:ostrum_harvester')
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.circuit(2)
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Palladium, 6),
|
||||
ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.Ultimet, 1)
|
||||
)
|
||||
.itemOutputs('gtceu:palladium_substation')
|
||||
.duration(20 * 2.5)
|
||||
.circuit(6)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:moon_dust_harvester')
|
||||
.itemInputs(
|
||||
'1x gtceu:hv_machine_hull',
|
||||
'4x #gtceu:circuits/hv',
|
||||
'4x gtceu:hv_electric_motor',
|
||||
'4x #forge:rotors/titanium',
|
||||
'4x gtceu:hv_electric_pump',
|
||||
'4x #forge:gears/rocket_alloy_t1')
|
||||
.itemOutputs('gtceu:moon_dust_harvester')
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.circuit(2)
|
||||
|
||||
// Vacuum Intake
|
||||
|
||||
event.shaped('tfg:casings/machine_casing_vacuum_engine_intake', [
|
||||
'USU',
|
||||
'WZW',
|
||||
'UTU'
|
||||
|
||||
removeMaceratorRecipe(event, 'macerate_power_substation')
|
||||
event.recipes.gtceu.shaped('gtceu:power_substation', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'ABA'
|
||||
], {
|
||||
S: '#forge:tools/hammers',
|
||||
T: '#forge:tools/wrenches',
|
||||
W: '#forge:rotors/ultimet',
|
||||
U: 'gtceu:ultimet_normal_item_pipe',
|
||||
Z: 'gtceu:inert_machine_casing'
|
||||
}).id('tfg:shaped/casing_machine_casing_vacuum_engine_intake')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:casings/machine_casing_vacuum_engine_intake')
|
||||
.itemInputs(
|
||||
'2x #forge:rotors/ultimet',
|
||||
'4x gtceu:ultimet_normal_item_pipe',
|
||||
'1x gtceu:inert_machine_casing')
|
||||
.itemOutputs('tfg:casings/machine_casing_vacuum_engine_intake')
|
||||
.duration(50)
|
||||
.EUt(GTValues.VH[GTValues.LV])
|
||||
.circuit(2)
|
||||
|
||||
// Stainless Evaporation Tower
|
||||
|
||||
event.recipes.gtceu.shaped('tfg:evaporation_tower', [
|
||||
'TUT',
|
||||
'WZW',
|
||||
'TUT'
|
||||
], {
|
||||
T: '#gtceu:circuits/iv',
|
||||
W: 'gtceu:ev_electric_pump',
|
||||
U: '#forge:double_wires/nichrome',
|
||||
Z: 'gtceu:ev_machine_hull'
|
||||
}).addMaterialInfo().id('tfg:shaped/evaporation_tower')
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Nuclear Controler
|
||||
|
||||
event.shaped('deafission:fission_reactor_mk1', [
|
||||
'TUT',
|
||||
'WZW',
|
||||
'TUT'
|
||||
], {
|
||||
T: 'gtceu:atomic_casing',
|
||||
W: '#gtceu:circuits/ev',
|
||||
U: 'gtceu:hv_field_generator',
|
||||
Z: 'gtceu:ev_machine_hull'
|
||||
}
|
||||
).id('tfg:shaped/fission_reactor_mk1')
|
||||
|
||||
event.shaped('gtceu:nuclear_fuel_factory', [
|
||||
'TUT',
|
||||
'WZW',
|
||||
'TBT'
|
||||
], {
|
||||
T: 'gtceu:atomic_casing',
|
||||
W: '#gtceu:circuits/ev',
|
||||
U: 'gtceu:ev_emitter',
|
||||
Z: 'gtceu:ev_machine_hull',
|
||||
B: 'gtceu:ev_robot_arm'
|
||||
}
|
||||
).id('tfg:shaped/nuclear_fuel_factory')
|
||||
|
||||
event.shaped('gtceu:heat_exchanger', [
|
||||
'TUT',
|
||||
'WZW',
|
||||
'GBG'
|
||||
], {
|
||||
T: 'gtceu:high_temperature_smelting_casing',
|
||||
W: '#gtceu:circuits/ev',
|
||||
U: 'gtceu:ev_sensor',
|
||||
Z: 'gtceu:ev_machine_hull',
|
||||
B: 'gtceu:ev_fluid_regulator',
|
||||
G: '#forge:gears/ostrum_iodide'
|
||||
}
|
||||
).id('tfg:shaped/heat_exchanger')
|
||||
|
||||
event.shaped('tfg:nuclear_turbine', [
|
||||
'CTC',
|
||||
'TZT',
|
||||
'BTB'
|
||||
], {
|
||||
T: '#forge:gears/magnalium',
|
||||
Z: 'gtceu:ev_machine_hull',
|
||||
B: 'gtceu:ultimet_large_item_pipe',
|
||||
C: '#gtceu:circuits/ev'
|
||||
}
|
||||
).id('tfg:shaped/nuclear_turbine')
|
||||
|
||||
A: 'gtceu:lapotron_crystal',
|
||||
B: 'gtceu:mpic_chip',
|
||||
C: '#gtceu:circuits/ev',
|
||||
D: 'gtceu:palladium_substation'
|
||||
}).addMaterialInfo().id('gtceu:shaped/power_substation')
|
||||
}
|
||||
|
|
|
|||
|
|
@ -140,25 +140,103 @@ function registerGTCEURecyclingRecipes(event) {
|
|||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// #region Fix TFC hanging sign metal dupe for Macerator and Arc Furnace
|
||||
|
||||
// Clean Foil pack
|
||||
event.recipes.gtceu.macerator('gtceu:macerator/recycling/clean_foil_pack')
|
||||
.itemInputs('tfg:clean_foil_pack')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Aluminium, 1),
|
||||
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Polyethylene, 1)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 1)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
const SIGN_METALS = [
|
||||
GTMaterials.Copper,
|
||||
GTMaterials.Bronze,
|
||||
GTMaterials.BlackBronze,
|
||||
GTMaterials.BismuthBronze,
|
||||
GTMaterials.WroughtIron,
|
||||
GTMaterials.Steel,
|
||||
GTMaterials.BlackSteel,
|
||||
GTMaterials.RedSteel,
|
||||
GTMaterials.BlueSteel
|
||||
];
|
||||
|
||||
event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/clean_foil_pack')
|
||||
.itemInputs('tfg:clean_foil_pack')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Aluminium, 2),
|
||||
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Ash, 1)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 1)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
SIGN_METALS.forEach(metal => {
|
||||
// Arc furnace
|
||||
global.TFC_WOOD_TYPES.forEach(wood => {
|
||||
event.remove(`gtceu:arc_furnace/arc_wood/hanging_sign/${metal.getName()}/${wood}`)
|
||||
event.recipes.gtceu.arc_furnace(`gtceu:arc_furnace/macerate_wood/hanging_sign/${metal.getName()}/${wood}`)
|
||||
.itemInputs(`tfc:wood/hanging_sign/${metal.getName()}/${wood}`)
|
||||
.itemOutputs('gtceu:tiny_ash_dust')
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.nugget, metal, 1), 3750, 0)
|
||||
.inputFluids(Fluid.of('gtceu:oxygen', 12))
|
||||
.duration(12)
|
||||
.EUt(30)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
})
|
||||
|
||||
global.AFC_WOOD_TYPES.forEach(wood => {
|
||||
event.recipes.gtceu.arc_furnace(`gtceu:arc_furnace/macerate_wood/hanging_sign/${metal.getName()}/${wood}`)
|
||||
.itemInputs(`afc:wood/hanging_sign/${metal.getName()}/${wood}`)
|
||||
.itemOutputs('gtceu:tiny_ash_dust')
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.nugget, metal, 1), 3750, 0)
|
||||
.inputFluids(Fluid.of('gtceu:oxygen', 12))
|
||||
.duration(12)
|
||||
.EUt(30)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
})
|
||||
|
||||
// Macerator
|
||||
global.TFC_HARDWOOD_TYPES.forEach(wood => {
|
||||
removeMaceratorRecipe(event, `macerate_wood/hanging_sign/${metal.getName()}/${wood}`)
|
||||
event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`)
|
||||
.itemInputs(`tfc:wood/hanging_sign/${metal.getName()}/${wood}`)
|
||||
.itemOutputs('gtceu:hardwood_dust')
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0)
|
||||
.duration(108)
|
||||
.EUt(8)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
})
|
||||
|
||||
global.TFC_SOFTWOOD_TYPES.forEach(wood => {
|
||||
removeMaceratorRecipe(event, `macerate_wood/hanging_sign/${metal.getName()}/${wood}`)
|
||||
event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`)
|
||||
.itemInputs(`tfc:wood/hanging_sign/${metal.getName()}/${wood}`)
|
||||
.itemOutputs('gtceu:wood_dust')
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0)
|
||||
.duration(108)
|
||||
.EUt(8)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
})
|
||||
|
||||
global.AFC_HARDWOOD_TYPES.forEach(wood => {
|
||||
event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`)
|
||||
.itemInputs(`afc:wood/hanging_sign/${metal.getName()}/${wood}`)
|
||||
.itemOutputs('gtceu:hardwood_dust')
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0)
|
||||
.duration(108)
|
||||
.EUt(8)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
})
|
||||
|
||||
global.AFC_SOFTWOOD_TYPES.forEach(wood => {
|
||||
event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`)
|
||||
.itemInputs(`afc:wood/hanging_sign/${metal.getName()}/${wood}`)
|
||||
.itemOutputs('gtceu:wood_dust')
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0)
|
||||
.duration(108)
|
||||
.EUt(8)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
})
|
||||
})
|
||||
// #endregion
|
||||
|
||||
//#region support recycling
|
||||
event.recipes.gtceu.macerator(`hardwood_support_to_dust`)
|
||||
.itemInputs('#tfg:hardwood_supports')
|
||||
.itemOutputs('gtceu:hardwood_dust')
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING);
|
||||
|
||||
event.recipes.gtceu.macerator(`softwood_support_to_dust`)
|
||||
.itemInputs('#tfg:softwood_supports')
|
||||
.itemOutputs('gtceu:wood_dust')
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING);
|
||||
//#endregion
|
||||
}
|
||||
|
|
@ -817,6 +817,13 @@ function removeGTCEURecipes(event) {
|
|||
event.remove({ id: 'gtceu:ore_washer/wash_plutonium_pure_dust_to_dust' })
|
||||
event.remove({ id: 'gtceu:ore_washer/wash_plutonium_dirty_dust_to_dust' })
|
||||
event.remove({ id: 'gtceu:forge_hammer/hammer_plutonium_refined_ore_to_dust' })
|
||||
|
||||
|
||||
event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_chromatic_compound' });
|
||||
|
||||
|
||||
event.remove({ id: 'gtceu:chemical_reactor/soda_ash_from_carbon_dioxide' })
|
||||
event.remove({ id: 'gtceu:large_chemical_reactor/soda_ash_from_carbon_dioxide' })
|
||||
}
|
||||
|
||||
function removeMaceratorRecipe(event, id) {
|
||||
|
|
|
|||
|
|
@ -25,10 +25,6 @@ function registerGTCEUItemTags(event) {
|
|||
|
||||
event.remove("minecraft:planks", "gtceu:wood_plate");
|
||||
|
||||
event.add("tfg:sugars", "minecraft:sugar");
|
||||
event.add("tfg:sugars", "afc:birch_sugar");
|
||||
event.add("tfg:sugars", "afc:maple_sugar");
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach((dyeName) => {
|
||||
event.remove("ae2:p2p_attunements/fluid_p2p_tunnel", `gtceu:${dyeName}_dye_bucket`);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -872,4 +872,52 @@ function registerImmersiveAircraftRecipes(event) {
|
|||
}).id('tfg:immersive_aircraft/mechanical_crafter/bamboo_hopper')
|
||||
|
||||
//#endregion
|
||||
|
||||
// Custom stuff
|
||||
|
||||
//Scaffolding Frame
|
||||
event.shaped('tfg:scaffolding_frame',
|
||||
[
|
||||
' A ',
|
||||
'ABA',
|
||||
' A '
|
||||
],
|
||||
{
|
||||
A: '#forge:rods/wood',
|
||||
B: '#forge:cloth'
|
||||
}).id('tfg:shaped/scaffolding_frame');
|
||||
|
||||
//Airship Hull
|
||||
event.shaped('tfg:airship_hull', [
|
||||
'A B',
|
||||
'C C',
|
||||
'CCC'
|
||||
], {
|
||||
A: '#forge:tools/screwdrivers',
|
||||
B: '#forge:tools/hammers',
|
||||
C: 'immersive_aircraft:hull'
|
||||
}).id('tfg:shaped/airship_hull');
|
||||
event.recipes.gtceu.assembler('tfg:assembler/airship_hull')
|
||||
.itemInputs('5x immersive_aircraft:hull')
|
||||
.itemOutputs('tfg:airship_hull')
|
||||
.duration(40)
|
||||
.circuit(1)
|
||||
.EUt(GTValues.VA[GTValues.ULV]);
|
||||
|
||||
//Airship Balloon
|
||||
event.shaped('tfg:airship_balloon', [
|
||||
'ABA',
|
||||
'BAB',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:string',
|
||||
B: 'immersive_aircraft:sail'
|
||||
}).id('tfg:shaped/airship_balloon')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/airship_balloon')
|
||||
.itemInputs('4x immersive_aircraft:sail', '4x #forge:string')
|
||||
.itemOutputs('tfg:airship_balloon')
|
||||
.duration(40)
|
||||
.circuit(1)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
|
|
@ -180,7 +180,7 @@ TFCEvents.data(event => {
|
|||
*/
|
||||
LootJS.modifiers((event) => {
|
||||
registerAdAstraLoots(event)
|
||||
registerGTCEULoots(event)
|
||||
registerTFGOreLoots(event)
|
||||
registerLootrLoots(event)
|
||||
registerPrimitiveCreaturesLoots(event)
|
||||
registerSpeciesLoots(event)
|
||||
|
|
|
|||
|
|
@ -10,26 +10,6 @@ const registerMinecraftRecipes = (event) => {
|
|||
removeMinecraftRecipes(event)
|
||||
registerMinecraftDyeRecipes(event)
|
||||
|
||||
//#region Выход: Земля, dirt
|
||||
|
||||
event.recipes.gtceu.macerator('dirt_from_bio_chaff')
|
||||
.itemInputs('gtceu:bio_chaff')
|
||||
.itemOutputs('tfc:dirt/loam')
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Стекло, glass
|
||||
|
||||
event.recipes.gtceu.arc_furnace('glass_from_sand')
|
||||
.itemInputs('#forge:sand')
|
||||
.itemOutputs('2x minecraft:glass')
|
||||
.duration(20)
|
||||
.EUt(30)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Добавление, copper
|
||||
|
||||
for (let i = 0; i < global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length; i++) {
|
||||
|
|
@ -142,48 +122,6 @@ const registerMinecraftRecipes = (event) => {
|
|||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Бумага, paper
|
||||
|
||||
event.recipes.gtceu.chemical_bath('paper_from_papyrus_distilled')
|
||||
.itemInputs('tfc:papyrus')
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 100))
|
||||
.itemOutputs('4x tfc:soaked_papyrus_strip')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('paper_from_papyrus')
|
||||
.itemInputs('tfc:papyrus')
|
||||
.inputFluids("#tfg:clean_water 100")
|
||||
.itemOutputs('4x tfc:soaked_papyrus_strip')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.assembler('papyrus_strips')
|
||||
.itemInputs('4x tfc:soaked_papyrus_strip')
|
||||
.itemOutputs('minecraft:paper')
|
||||
.circuit(1)
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Сахар, sugar
|
||||
|
||||
event.recipes.gtceu.centrifuge('sugar_from_sugarcane')
|
||||
.itemInputs('tfc:food/sugarcane')
|
||||
.inputFluids("#tfg:clean_water 600")
|
||||
.itemOutputs('minecraft:sugar', 'gtceu:plant_ball')
|
||||
.duration(800)
|
||||
.EUt(6)
|
||||
|
||||
event.recipes.gtceu.centrifuge('sugar_from_honey')
|
||||
.itemInputs('firmalife:raw_honey')
|
||||
.itemOutputs('minecraft:sugar')
|
||||
.duration(400)
|
||||
.EUt(6)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Блок сена, hay block
|
||||
|
||||
event.recipes.gtceu.packer('hay_block')
|
||||
|
|
@ -823,7 +761,6 @@ const registerMinecraftRecipes = (event) => {
|
|||
|
||||
//#region Выход: Элитра, elytra
|
||||
|
||||
// Ну и херь я придумал, here's some bullshit i came up with
|
||||
event.recipes.gtceu.assembler('tfg:minecraft/elytra')
|
||||
.itemInputs('16x tfg:polycaprolactam_fabric', '16x #forge:foils/aluminium', '8x tfg:phantom_silk', '4x #forge:rings/aluminium', '2x #forge:rods/long/vanadium_steel', '2x #forge:small_springs/aluminium', '1x #forge:small_gears/aluminium')
|
||||
.circuit(4)
|
||||
|
|
@ -861,16 +798,6 @@ const registerMinecraftRecipes = (event) => {
|
|||
|
||||
//#endregion
|
||||
|
||||
//#region Glowstone
|
||||
|
||||
event.recipes.gtceu.mixer('gtceu:lv_glowstone')
|
||||
.itemInputs('gtceu:gold_dust', 'minecraft:redstone', 'gtceu:sulfur_dust')
|
||||
.itemOutputs('2x minecraft:glowstone_dust')
|
||||
.circuit(8)
|
||||
.duration(1200)
|
||||
.EUt(30)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Netherite leggings (for the lavaproof diving set)
|
||||
|
||||
|
|
@ -931,14 +858,6 @@ const registerMinecraftRecipes = (event) => {
|
|||
|
||||
generateCutterRecipe(event, '#forge:double_plates/wrought_iron', 'minecraft:iron_door', 400, GTValues.VA[GTValues.LV], 'iron_door')
|
||||
|
||||
event.shaped('8x minecraft:ladder', [
|
||||
'A A',
|
||||
'AAA',
|
||||
'A A'
|
||||
], {
|
||||
A: '#forge:rods/wooden'
|
||||
}).id('gtceu:shaped/ladder')
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Calcite
|
||||
|
|
@ -1018,19 +937,6 @@ const registerMinecraftRecipes = (event) => {
|
|||
event.smelting('tfc:glue', 'minecraft:magma_cream')
|
||||
.id('tfg:smelting/magma_cream_to_glue')
|
||||
|
||||
//#region Clay
|
||||
event.shaped('minecraft:clay', [
|
||||
'AA',
|
||||
'AA'
|
||||
], {
|
||||
A: 'minecraft:clay_ball'
|
||||
})
|
||||
.id('tfg:shaped/clay_balls_to_block')
|
||||
|
||||
event.shapeless('4x minecraft:clay_ball', ['minecraft:clay'])
|
||||
.id('tfg:shapeless/clay_block_to_balls')
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Mushrooms
|
||||
|
||||
|
|
|
|||
|
|
@ -66,30 +66,6 @@ function registerSpeciesRecipes(event) {
|
|||
B: 'firmaciv:rope_coil'
|
||||
}).id('tfg:shaped/harpoon')
|
||||
|
||||
generateGreenHouseRecipe(event, '8x tfg:saplings/alphacene', 'tfg:semiheavy_ammoniacal_water', 16000,
|
||||
'64x species:alphacene_mushroom_block', 'tfg:green_house/alphacene_mushroom', 'ad_astra:mars', 8,
|
||||
'8x minecraft:mushroom_stem', GTValues.VA[GTValues.MV])
|
||||
|
||||
event.shapeless('species:cracked_wraptor_egg', ['tfg:wraptor_egg', '#forge:tools/hammers']).id('tfg:shapeless/crack_egg')
|
||||
event.shapeless('2x tfg:wraptor_sugar', ['species:cracked_wraptor_egg']).id('tfg:shapeless/juice_egg')
|
||||
|
||||
event.recipes.gtceu.extractor('tfg:juice_wraptor_egg_mv')
|
||||
.itemInputs('species:cracked_wraptor_egg')
|
||||
.itemOutputs('4x tfg:wraptor_sugar')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
event.recipes.gtceu.extractor('tfg:juice_wraptor_egg_full')
|
||||
.itemInputs('tfg:wraptor_egg')
|
||||
.itemOutputs('4x tfg:wraptor_sugar')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.extractor('tfg:juice_sniffer_egg')
|
||||
.itemInputs('tfg:sniffer_egg')
|
||||
.outputFluids(Fluid.of('firmalife:cream', 1000))
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.shaped('species:ricoshield', [
|
||||
'EBE',
|
||||
'ACA',
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@ const registerTFCDataForTFC = (event) => {
|
|||
registerTFCLampFuels(event)
|
||||
registerTFCFertilizers(event)
|
||||
registerTFCKnappingTypes(event)
|
||||
registerTFCItemSize(event)
|
||||
registerTFCFoodData(event)
|
||||
registerTFCArmourResistances(event)
|
||||
}
|
||||
|
||||
|
|
@ -77,27 +75,6 @@ const registerTFCKnappingTypes = (event) => {
|
|||
event.knappingType('tfc:straw', 4, 4, 'tfc:item.knapping.leather', false, false, false, 'tfc:straw', 'tfg:straw')
|
||||
}
|
||||
|
||||
|
||||
const registerTFCItemSize = (event) => {
|
||||
event.itemSize('#tfc:ore_pieces', 'very_small', 'very_light', 'tfc_ores')
|
||||
|
||||
event.itemSize('#tfc:foods/sealed_preserves', 'tiny', 'medium', 'sealed_preserves')
|
||||
event.itemSize('#tfc:foods/preserves', 'tiny', 'medium', 'preserves')
|
||||
|
||||
event.itemSize('#forge:tools/wrenches', 'very_large', 'very_heavy', 'wrenches')
|
||||
event.itemSize('#forge:tools/mining_hammers', 'very_large', 'very_heavy', 'mining_hammers')
|
||||
event.itemSize('#forge:tools/spades', 'very_large', 'very_heavy', 'spades')
|
||||
}
|
||||
|
||||
|
||||
const registerTFCFoodData = (event) => {
|
||||
|
||||
event.foodItem('firmalife:ice_shavings', food => {
|
||||
food.water(5)
|
||||
food.decayModifier(0)
|
||||
})
|
||||
}
|
||||
|
||||
const registerTFCArmourResistances = (event) => {
|
||||
event.itemDamageResistance(
|
||||
'create:copper_diving_helmet',
|
||||
|
|
|
|||
|
|
@ -10,17 +10,8 @@ const registerTFCRecipes = (event) => {
|
|||
removeTFCRecipes(event)
|
||||
registerTFCMaterialsRecipes(event)
|
||||
registerTFCMetalsRecipes(event)
|
||||
registerTFCStoneRecipes(event)
|
||||
registerTFCSandRecipes(event)
|
||||
registerTFCDirtRecipes(event)
|
||||
registerTFCWoodRecipes(event)
|
||||
registerTFCKnappingRecipes(event)
|
||||
registerTFCMachineRecipes(event)
|
||||
registerTFCAlabasterRecipes(event)
|
||||
registerTFCDyeRecipes(event)
|
||||
|
||||
//#region Рецепты порошков
|
||||
|
||||
// Добавление рецептов
|
||||
global.TFC_QUERN_POWDER_RECIPE_COMPONENTS.forEach(element => {
|
||||
event.recipes.gtceu.macerator(`tfg:${element.name}`)
|
||||
|
|
@ -33,26 +24,6 @@ const registerTFCRecipes = (event) => {
|
|||
.id(`tfg:quern/${element.name}`)
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Рецепты обжарки форм
|
||||
|
||||
global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS.forEach(element => {
|
||||
event.smelting(element.output, element.input)
|
||||
.id(`tfg:smelting/${element.name}`)
|
||||
})
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dye => {
|
||||
event.smelting(`tfc:ceramic/${dye}_glazed_vessel`, `tfc:ceramic/${dye}_unfired_vessel`)
|
||||
.id(`tfg:smelting/${dye}_glazed_vessel`)
|
||||
|
||||
event.smelting(`tfc:ceramic/large_vessel/${dye}`, `tfc:ceramic/unfired_large_vessel/${dye}`)
|
||||
.id(`tfg:smelting/${dye}_large_vessel`)
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
|
||||
//#region Рецепты электрической теплицы
|
||||
|
||||
// Дерево
|
||||
|
|
@ -89,21 +60,12 @@ const registerTFCRecipes = (event) => {
|
|||
const itemId = element.id;
|
||||
const recipeId = `greenhouse_${itemId.replace(':', '_')}`;
|
||||
|
||||
generateGreenHouseRecipe(event, itemId, '#tfc:any_fresh_water', 8000, `8x ${itemId}`,
|
||||
generateGreenHouseRecipe(event, itemId, '#tfc:any_fresh_water', 8000, `8x ${itemId}`,
|
||||
recipeId, null, 8, itemId, GTValues.VH[GTValues.LV]);
|
||||
});
|
||||
|
||||
//#endregion
|
||||
|
||||
event.shapeless('tfc:crucible', ['tfc:crucible']).id('tfg:empty_crucible')
|
||||
|
||||
event.shapeless('2x minecraft:stick', ['#minecraft:saplings', '#forge:tools/knives']).id('tfg:strip_saplings')
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:saplings_to_sticks')
|
||||
.itemInputs('#minecraft:saplings')
|
||||
.itemOutputs('2x minecraft:stick')
|
||||
.duration(20)
|
||||
.EUt(7)
|
||||
|
||||
// Доменная печь
|
||||
event.recipes.gtceu.shaped('tfc:blast_furnace', [
|
||||
|
|
@ -126,40 +88,64 @@ const registerTFCRecipes = (event) => {
|
|||
[TFC.ingredient.notRotten('tfc:pumpkin'), '#tfc:knives'], 'tfc:pumpkin')
|
||||
.id(`tfc:crafting/pumpkin_chunks_knife`)
|
||||
|
||||
// Lime
|
||||
// Flux + Lime
|
||||
event.smelting('tfc:powder/lime', 'tfc:powder/flux')
|
||||
.id('tfg:smelting/lime')
|
||||
|
||||
// Kaolinite Clay - regular smelting recipes can't have multiple inputs
|
||||
event.recipes.gtceu.alloy_smelter('tfg:kaolinite')
|
||||
.itemInputs('tfc:kaolin_clay')
|
||||
.circuit(1)
|
||||
.chancedOutput('tfc:powder/kaolinite', 2000, 0)
|
||||
.duration(100)
|
||||
.EUt(16)
|
||||
event.recipes.gtceu.macerator('flux')
|
||||
.itemInputs('#tfc:fluxstone')
|
||||
.itemOutputs('2x tfc:powder/flux')
|
||||
.duration(30)
|
||||
.EUt(2)
|
||||
|
||||
// Fire Clay
|
||||
event.recipes.gtceu.alloy_smelter('tfg:cheaper_fire_clay')
|
||||
.itemInputs('#forge:dusts/graphite', '4x tfc:kaolin_clay')
|
||||
.itemOutputs('2x tfc:fire_clay')
|
||||
.duration(600)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
event.recipes.gtceu.forge_hammer('flux')
|
||||
.itemInputs('#tfc:fluxstone')
|
||||
.itemOutputs('2x tfc:powder/flux')
|
||||
.duration(30)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.alloy_smelter('tfg:oops_i_smelted_all_my_kaolin')
|
||||
.itemInputs('minecraft:clay_ball', 'tfc:powder/kaolinite')
|
||||
.itemOutputs('tfc:kaolin_clay')
|
||||
.duration(600)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
event.recipes.greate.pressing('2x tfc:powder/flux', '#tfc:fluxstone')
|
||||
.recipeTier(0)
|
||||
.id('greate:pressing/flux')
|
||||
|
||||
// Выпаривание соли
|
||||
// Salt Water
|
||||
event.recipes.tfc.pot([], Fluid.of('tfc:salt_water', 625), 300, 100)
|
||||
.itemOutput('gtceu:small_salt_dust')
|
||||
.id('tfg:tfc/pot/salt')
|
||||
|
||||
// Salt Water
|
||||
generateMixerRecipe(event, ['#forge:dusts/salt'], "#tfg:clean_water 1000",
|
||||
[], 2, Fluid.of('tfc:salt_water', 1000), 40, 7, 64, 'tfg:tfc/salt_water')
|
||||
|
||||
event.recipes.gtceu.centrifuge('centrifuging_tfc_salt_water')
|
||||
.inputFluids(Fluid.of('tfc:salt_water', 1000))
|
||||
.itemOutputs('1x gtceu:salt_dust')
|
||||
.outputFluids(Fluid.of('minecraft:water', 1000))
|
||||
.duration(51)
|
||||
.EUt(30)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.electrolyzer('electrolyze_tfc_salt_water')
|
||||
.inputFluids(Fluid.of('tfc:salt_water', 1000))
|
||||
.itemOutputs('1x gtceu:sodium_hydroxide_dust', '2x gtceu:small_sodium_hydroxide_dust')
|
||||
.outputFluids(Fluid.of('gtceu:chlorine', 500), Fluid.of('gtceu:hydrogen', 500))
|
||||
.duration(720)
|
||||
.EUt(30)
|
||||
|
||||
// Add circuit to gregtech salt water mixer recipe
|
||||
event.remove({ id: 'gtceu:mixer/salt_water' })
|
||||
generateMixerRecipe(event, ['2x #forge:dusts/salt'], Fluid.of('minecraft:water', 1000), [], 1, Fluid.of('gtceu:salt_water', 1000), 40, 7, 64, 'tfg:gtceu/salt_water')
|
||||
|
||||
event.recipes.tfc.barrel_instant()
|
||||
.inputItem(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Salt, 1))
|
||||
.inputFluid(Fluid.of('minecraft:water', 1000))
|
||||
.outputFluid(Fluid.of('tfc:salt_water', 1000))
|
||||
.id('tfg:barrel/water_to_salt_water')
|
||||
|
||||
event.recipes.tfc.barrel_instant()
|
||||
.inputItem("tfc:powder/salt")
|
||||
.inputFluid(Fluid.of('minecraft:water', 250))
|
||||
.outputFluid(Fluid.of('tfc:salt_water', 250))
|
||||
.id('tfg:barrel/water_to_salt_water_tfc')
|
||||
|
||||
// Seaweed and kelp
|
||||
event.recipes.tfc.heating('tfc:groundcover/seaweed', 200)
|
||||
|
|
@ -176,20 +162,9 @@ const registerTFCRecipes = (event) => {
|
|||
event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_seaweed').id('tfg:smelting/dried_seaweed_to_soda')
|
||||
event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_kelp').id('tfg:smelting/dried_kelp_to_soda')
|
||||
|
||||
//#region Обрушения
|
||||
|
||||
event.recipes.tfc.collapse('#tfg:rock_slabs').id('tfg:collapse/rock_slabs')
|
||||
event.recipes.tfc.collapse('#tfg:rock_stairs').id('tfg:collapse/rock_stairs')
|
||||
event.recipes.tfc.collapse('#tfg:rock_walls').id('tfg:collapse/rock_walls')
|
||||
|
||||
//#endregion
|
||||
|
||||
//More accesible solar drier
|
||||
event.replaceInput({ id: 'firmalife:crafting/solar_drier' }, 'gtceu:stainless_steel_rod', 'gtceu:silver_rod')
|
||||
|
||||
//Wood ash
|
||||
event.recipes.create.splashing([Item.of('tfc:powder/wood_ash').withChance(0.25), Item.of('minecraft:stick').withChance(0.25)], 'tfc:torch')
|
||||
.id('tfg:splashing/wash_torch')
|
||||
|
||||
//Lye
|
||||
generateMixerRecipe(event, 'tfc:powder/wood_ash', "#tfg:clean_water 200",
|
||||
|
|
@ -204,102 +179,37 @@ const registerTFCRecipes = (event) => {
|
|||
.EUt(2)
|
||||
|
||||
// Brass Mechanism
|
||||
event.recipes.shapeless('gtceu:small_brass_gear', [ 'tfc:brass_mechanisms' ]).id('tfg:replace_brass_mechanisms')
|
||||
event.replaceInput({ input: 'tfc:brass_mechanisms' }, 'tfc:brass_mechanisms', 'gtceu:small_brass_gear')
|
||||
event.recipes.shapeless('gtceu:small_brass_gear', ['tfc:brass_mechanisms']).id('tfg:replace_brass_mechanisms')
|
||||
event.replaceInput({ input: 'tfc:brass_mechanisms' }, 'tfc:brass_mechanisms', 'gtceu:small_brass_gear')
|
||||
|
||||
// Fertilizers
|
||||
event.recipes.gtceu.centrifuge('tfg:gtceu/centrifuge/pure_fertilizers')
|
||||
.itemInputs('1x gtceu:fertilizer')
|
||||
.itemOutputs('1x tfc:pure_nitrogen', '1x tfc:pure_potassium', '1x tfc:pure_phosphorus')
|
||||
.duration(340)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
// Rennet
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/vegetable_rennet')
|
||||
.itemInputs('#tfg:ferments_to_rennet')
|
||||
.itemOutputs('firmalife:rennet')
|
||||
.duration(400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:tfc/mixer/fertilizer')
|
||||
.itemInputs('1x tfc:pure_nitrogen', '1x tfc:pure_potassium', '1x tfc:pure_phosphorus', ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Clay, 1))
|
||||
.itemOutputs('1x gtceu:fertilizer')
|
||||
.duration(160)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/biomass_rennet')
|
||||
.inputFluids(Fluid.of('gtceu:fermented_biomass', 100))
|
||||
.itemOutputs('firmalife:rennet')
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.gas_pressurizer('tfg:pure_nitrogen')
|
||||
.itemInputs('#forge:wax')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 1000))
|
||||
.itemOutputs('16x tfc:pure_nitrogen')
|
||||
// Brine
|
||||
event.recipes.gtceu.mixer('tfg:tfc/brine')
|
||||
.inputFluids(Fluid.of('tfc:salt_water', 900))
|
||||
.inputFluids(Fluid.of('tfc:vinegar', 100))
|
||||
.outputFluids(Fluid.of('tfc:brine', 1000))
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.EUt(16)
|
||||
|
||||
//Hide Sewing
|
||||
const stages = [
|
||||
'raw',
|
||||
'soaked',
|
||||
'scraped',
|
||||
'prepared',
|
||||
'sheepskin'
|
||||
];
|
||||
|
||||
stages.forEach(stage => {
|
||||
//Combining
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless(`1x tfc:medium_${stage}_hide`, [
|
||||
`2x tfc:small_${stage}_hide`,
|
||||
'#tfc:sewing_needles',
|
||||
'#forge:string',
|
||||
'tfc:glue'
|
||||
]).id(`tfg:tfc/small_to_medium_${stage}_hide`)
|
||||
)
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless(`1x tfc:large_${stage}_hide`, [
|
||||
`3x tfc:small_${stage}_hide`,
|
||||
'#tfc:sewing_needles',
|
||||
'#forge:string',
|
||||
'tfc:glue'
|
||||
]).id(`tfg:tfc/small_to_large_${stage}_hide`)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:gtceu/assembler/small_to_medium_${stage}_hide`)
|
||||
.inputFluids(Fluid.of('gtceu:glue', 25))
|
||||
.itemOutputs(`1x tfc:medium_${stage}_hide`)
|
||||
.itemInputs(`2x tfc:small_${stage}_hide`)
|
||||
.duration(60)
|
||||
.circuit(7)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:gtceu/assembler/small_to_large_${stage}_hide`)
|
||||
.inputFluids(Fluid.of('gtceu:glue', 25))
|
||||
.itemOutputs(`1x tfc:large_${stage}_hide`)
|
||||
.itemInputs(`3x tfc:small_${stage}_hide`)
|
||||
.duration(60)
|
||||
.circuit(9)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
//Cutting
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless(`2x tfc:small_${stage}_hide`, [
|
||||
`1x tfc:medium_${stage}_hide`,
|
||||
'#forge:shears'
|
||||
]).id(`tfg:tfc/medium_to_small_${stage}_hide`)
|
||||
)
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless(`3x tfc:small_${stage}_hide`, [
|
||||
`1x tfc:large_${stage}_hide`,
|
||||
'#forge:shears'
|
||||
]).id(`tfg:tfc/large_to_small_${stage}_hide`)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:gtceu/assembler/medium_to_small_${stage}_hide`)
|
||||
.itemOutputs(`2x tfc:small_${stage}_hide`)
|
||||
.itemInputs(`1x tfc:medium_${stage}_hide`)
|
||||
.duration(60)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:gtceu/assembler/large_to_small_${stage}_hide`)
|
||||
.itemOutputs(`3x tfc:small_${stage}_hide`)
|
||||
.itemInputs(`1x tfc:large_${stage}_hide`)
|
||||
.duration(60)
|
||||
.circuit(6)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
});
|
||||
// LimeWater + Sand -> Mortar
|
||||
event.recipes.gtceu.mixer('mortar')
|
||||
.itemInputs('#forge:sand')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 100))
|
||||
.itemOutputs('16x tfc:mortar')
|
||||
.duration(800)
|
||||
.EUt(8)
|
||||
|
||||
// Jar lids
|
||||
|
||||
|
|
@ -311,46 +221,25 @@ const registerTFCRecipes = (event) => {
|
|||
|
||||
event.replaceInput({ mod: 'tfc' }, 'minecraft:sugar', '#tfg:sugars')
|
||||
|
||||
// Sea Water
|
||||
event.recipes.tfc.barrel_instant()
|
||||
.inputItem(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Salt, 1))
|
||||
.inputFluid(Fluid.of('minecraft:water', 1000))
|
||||
.outputFluid(Fluid.of('tfc:salt_water', 1000))
|
||||
.id('tfg:barrel/water_to_salt_water')
|
||||
|
||||
event.recipes.tfc.barrel_instant()
|
||||
.inputItem("tfc:powder/salt")
|
||||
.inputFluid(Fluid.of('minecraft:water', 250))
|
||||
.outputFluid(Fluid.of('tfc:salt_water', 250))
|
||||
.id('tfg:barrel/water_to_salt_water_tfc')
|
||||
// jute net -> burlap net
|
||||
event.replaceInput({ id: 'tfc:crafting/jute_net' }, 'tfc:jute_fiber', '#tfg:burlap_fiber')
|
||||
|
||||
// jute net -> burlap net
|
||||
event.replaceInput({ id: 'tfc:crafting/jute_net'}, 'tfc:jute_fiber', '#tfg:burlap_fiber')
|
||||
|
||||
// horse armor to use burlap
|
||||
global.TFC_EQUIPMENT_METALS.forEach(material => {
|
||||
event.replaceInput({ id: `tfc:crafting/${material}_horse_armor`}, `tfc:jute_fiber`, `#tfg:burlap_fiber`)
|
||||
})
|
||||
|
||||
// Just a dummy recipe to tell people they can get wood ash by throwing torches in water via TFC
|
||||
event.custom({
|
||||
type: "ae2:transform",
|
||||
circumstance: {
|
||||
type: "fluid",
|
||||
tag: "tfc:water"
|
||||
},
|
||||
ingredients: [{ item: 'tfc:torch' }],
|
||||
result: { item: 'tfc:powder/wood_ash' }
|
||||
}).id(`tfg:ae_transform/torch_to_wood_ash`)
|
||||
|
||||
event.shaped('8x minecraft:ladder', [
|
||||
'A A',
|
||||
'AAA',
|
||||
'A A'
|
||||
], {
|
||||
A: '#tfc:lumber'
|
||||
}).id('tfc:crafting/vanilla/ladder')
|
||||
|
||||
event.replaceInput({ id: 'tfc:crafting/vanilla/armor_stand' }, '#minecraft:planks', '#tfc:lumber')
|
||||
event.remove({ id: 'tfc:crafting/vanilla/armor_stand_bulk' })
|
||||
// horse armor to use burlap
|
||||
global.TFC_EQUIPMENT_METALS.forEach(material => {
|
||||
event.replaceInput({ id: `tfc:crafting/${material}_horse_armor` }, `tfc:jute_fiber`, `#tfg:burlap_fiber`)
|
||||
})
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:soot')
|
||||
.itemInputs('tfc:soot')
|
||||
.itemOutputs('#forge:dusts/carbon')
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.extruder('tfg:wrought_iron_grill_electric_only')
|
||||
.itemInputs('2x #forge:plates/wrought_iron')
|
||||
.notConsumable('tfg:large_casing_extruder_mold')
|
||||
.itemOutputs('tfc:wrought_iron_grill')
|
||||
.duration(60)
|
||||
.EUt(8)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,452 +0,0 @@
|
|||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
function registerTFCMachineRecipes(event) {
|
||||
|
||||
// Бумага
|
||||
event.recipes.gtceu.cutter('tfg:unrefined_paper')
|
||||
.itemInputs('tfc:unrefined_paper')
|
||||
.itemOutputs('minecraft:paper')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
// Limewater
|
||||
event.recipes.gtceu.mixer('tfg:limewater_from_lime')
|
||||
.itemInputs('tfc:powder/lime')
|
||||
.inputFluids(Fluid.of('water', 500))
|
||||
.outputFluids(Fluid.of('tfc:limewater', 500))
|
||||
.duration(20)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:limewater_from_flux')
|
||||
.itemInputs('tfc:powder/flux')
|
||||
.inputFluids(Fluid.of('water', 500))
|
||||
.outputFluids(Fluid.of('tfc:limewater', 500))
|
||||
.duration(20)
|
||||
.EUt(16)
|
||||
|
||||
// Tannin
|
||||
event.recipes.gtceu.chemical_bath('tfg:tannin')
|
||||
.itemInputs('#tfc:makes_tannin')
|
||||
.inputFluids(Fluid.of('water', 1000))
|
||||
.outputFluids(Fluid.of('tfc:tannin', 1000))
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
// Soaked hides
|
||||
event.recipes.gtceu.chemical_bath('tfg:small_soaked_hide')
|
||||
.itemInputs('tfc:small_raw_hide')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 300))
|
||||
.itemOutputs('tfc:small_soaked_hide')
|
||||
.duration(1600)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:medium_soaked_hide')
|
||||
.itemInputs('tfc:medium_raw_hide')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 400))
|
||||
.itemOutputs('tfc:medium_soaked_hide')
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:large_soaked_hide')
|
||||
.itemInputs('tfc:large_raw_hide')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 500))
|
||||
.itemOutputs('tfc:large_soaked_hide')
|
||||
.duration(3200)
|
||||
.EUt(16)
|
||||
|
||||
// Scraped Hides
|
||||
event.recipes.gtceu.cutter('tfg:small_scraped_hide')
|
||||
.itemInputs('tfc:small_soaked_hide')
|
||||
.itemOutputs('tfc:small_scraped_hide')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:medium_scraped_hide')
|
||||
.itemInputs('tfc:medium_soaked_hide')
|
||||
.itemOutputs('tfc:medium_scraped_hide')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:large_scraped_hide')
|
||||
.itemInputs('tfc:large_soaked_hide')
|
||||
.itemOutputs('tfc:large_scraped_hide')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
// Prepared hides
|
||||
event.recipes.gtceu.chemical_bath('tfg:small_prepared_hide')
|
||||
.itemInputs('tfc:small_soaked_hide')
|
||||
.inputFluids(Fluid.of('water', 300))
|
||||
.itemOutputs('tfc:small_prepared_hide')
|
||||
.duration(1600)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:medium_prepared_hide')
|
||||
.itemInputs('tfc:medium_soaked_hide')
|
||||
.inputFluids(Fluid.of('water', 400))
|
||||
.itemOutputs('tfc:medium_prepared_hide')
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:large_prepared_hide')
|
||||
.itemInputs('tfc:large_soaked_hide')
|
||||
.inputFluids(Fluid.of('water', 500))
|
||||
.itemOutputs('tfc:large_prepared_hide')
|
||||
.duration(3200)
|
||||
.EUt(16)
|
||||
|
||||
// Leather
|
||||
event.recipes.gtceu.chemical_bath('tfg:small_leather')
|
||||
.itemInputs('tfc:small_prepared_hide')
|
||||
.inputFluids(Fluid.of('tfc:tannin', 300))
|
||||
.itemOutputs('minecraft:leather')
|
||||
.duration(1600)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:medium_leather')
|
||||
.itemInputs('tfc:medium_prepared_hide')
|
||||
.inputFluids(Fluid.of('tfc:tannin', 400))
|
||||
.itemOutputs('2x minecraft:leather')
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:large_leather')
|
||||
.itemInputs('tfc:large_prepared_hide')
|
||||
.inputFluids(Fluid.of('tfc:tannin', 500))
|
||||
.itemOutputs('3x minecraft:leather')
|
||||
.duration(3200)
|
||||
.EUt(16)
|
||||
|
||||
//#region Молды в ассемблере
|
||||
|
||||
for (let i = 0; i < global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) {
|
||||
let element = global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i];
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`)
|
||||
.itemInputs(element.input)
|
||||
.circuit(i)
|
||||
.itemOutputs(element.output)
|
||||
.duration(450)
|
||||
.EUt(2)
|
||||
}
|
||||
|
||||
for (let i = 0; i < global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) {
|
||||
let element = global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i];
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`)
|
||||
.itemInputs(element.input)
|
||||
.circuit(i)
|
||||
.itemOutputs(element.output)
|
||||
.duration(450)
|
||||
.EUt(2)
|
||||
}
|
||||
|
||||
event.recipes.gtceu.extruder('tfg:unfired_clay_brick')
|
||||
.itemInputs('minecraft:clay_ball')
|
||||
.notConsumable('gtceu:ingot_extruder_mold')
|
||||
.itemOutputs('tfc:ceramic/unfired_brick')
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.extruder('tfg:unfired_fire_clay_brick')
|
||||
.itemInputs('tfc:fire_clay')
|
||||
.notConsumable('gtceu:ingot_extruder_mold')
|
||||
.itemOutputs('tfc:ceramic/unfired_fire_brick')
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Стеклянные смеси в бутылки в ассемблере
|
||||
|
||||
global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS.forEach(element => {
|
||||
event.recipes.gtceu.alloy_smelter(`tfg:tfc/${element.name}`)
|
||||
.itemInputs(element.input)
|
||||
.notConsumable('gtceu:bottle_casting_mold')
|
||||
.itemOutputs(element.output)
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.INGOT_MOLDING)
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region СЫЫЫР 0_0
|
||||
|
||||
// Rennet
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/vegetable_rennet')
|
||||
.itemInputs('#tfg:ferments_to_rennet')
|
||||
.itemOutputs('firmalife:rennet')
|
||||
.duration(400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/biomass_rennet')
|
||||
.inputFluids(Fluid.of('gtceu:fermented_biomass', 100))
|
||||
.itemOutputs('firmalife:rennet')
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
//#endregion
|
||||
|
||||
// Brine
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:tfc/brine')
|
||||
.inputFluids(Fluid.of('tfc:salt_water', 900))
|
||||
.inputFluids(Fluid.of('tfc:vinegar', 100))
|
||||
.outputFluids(Fluid.of('tfc:brine', 1000))
|
||||
.duration(100)
|
||||
.EUt(16)
|
||||
|
||||
//#endregion
|
||||
|
||||
// Lamp Glass
|
||||
event.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass`)
|
||||
.itemInputs('#tfc:glass_batches')
|
||||
.notConsumable('#tfg:unfinished_lamps')
|
||||
.itemOutputs('tfc:lamp_glass')
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass_from_dust`)
|
||||
.itemInputs('#forge:dusts/glass')
|
||||
.notConsumable('#tfg:unfinished_lamps')
|
||||
.itemOutputs('tfc:lamp_glass')
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
// Empty Jar
|
||||
event.recipes.gtceu.alloy_smelter('tfc:jar_alloying')
|
||||
.itemInputs('#tfc:glass_batches_tier_2')
|
||||
.notConsumable('gtceu:ball_casting_mold')
|
||||
.itemOutputs('tfc:empty_jar')
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.INGOT_MOLDING)
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier('tfc:jar_solidification')
|
||||
.inputFluids(Fluid.of('gtceu:glass', 144))
|
||||
.notConsumable('gtceu:cylinder_casting_mold')
|
||||
.itemOutputs('tfc:empty_jar')
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.extractor('tfc:jar_extraction')
|
||||
.itemInputs('#tfc:jars')
|
||||
.outputFluids(Fluid.of('gtceu:glass', 144))
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.extractor('tfc:glass_batch_extraction')
|
||||
.itemInputs('#tfc:glass_batches')
|
||||
.outputFluids(Fluid.of('gtceu:glass', 144))
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.lathe('tfc:lens')
|
||||
.itemInputs('#forge:glass')
|
||||
.itemOutputs('tfc:lens')
|
||||
.duration(100)
|
||||
.EUt(16)
|
||||
|
||||
// Wool Yarn
|
||||
event.recipes.gtceu.macerator('macerate_wool')
|
||||
.itemInputs('#minecraft:wool')
|
||||
.itemOutputs('tfc:wool_yarn')
|
||||
.chancedOutput('tfc:wool_yarn', 9000, 0)
|
||||
.chancedOutput('tfc:wool_yarn', 5000, 0)
|
||||
.chancedOutput('tfc:wool_yarn', 2000, 0)
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
// LimeWater + Sand -> Mortar
|
||||
event.recipes.gtceu.mixer('mortar')
|
||||
.itemInputs('#forge:sand')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 100))
|
||||
.itemOutputs('16x tfc:mortar')
|
||||
.duration(800)
|
||||
.EUt(8)
|
||||
|
||||
|
||||
// 1x Small SheepSkin -> 1x Wool
|
||||
event.recipes.gtceu.assembler('tfg:tfc/wool_1')
|
||||
.itemInputs('tfc:small_sheepskin_hide')
|
||||
.itemOutputs('tfc:wool')
|
||||
.duration(100)
|
||||
.circuit(3)
|
||||
.EUt(4)
|
||||
|
||||
// 1x Medium SheepSkin -> 1x Wool
|
||||
event.recipes.gtceu.assembler('tfg:tfc/wool_2')
|
||||
.itemInputs('tfc:medium_sheepskin_hide')
|
||||
.itemOutputs('2x tfc:wool')
|
||||
.duration(100)
|
||||
.circuit(3)
|
||||
.EUt(4)
|
||||
|
||||
// 1x Large SheepSkin -> 1x Wool
|
||||
event.recipes.gtceu.assembler('tfg:tfc/wool_3')
|
||||
.itemInputs('tfc:large_sheepskin_hide')
|
||||
.itemOutputs('3x tfc:wool')
|
||||
.duration(100)
|
||||
.circuit(3)
|
||||
.EUt(4)
|
||||
|
||||
// Wool Yarn
|
||||
event.recipes.gtceu.wiremill('tfg:tfc/wool_yarn')
|
||||
.itemInputs('tfc:wool')
|
||||
.itemOutputs('8x tfc:wool_yarn')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Burlap Cloth
|
||||
event.recipes.gtceu.assembler('tfg:tfc/burlap_cloth')
|
||||
.itemInputs('12x tfc:jute_fiber')
|
||||
.circuit(0)
|
||||
.itemOutputs('tfc:burlap_cloth')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Silk Cloth
|
||||
event.recipes.gtceu.assembler('tfg:tfc/silk_cloth')
|
||||
.itemInputs('24x minecraft:string')
|
||||
.circuit(0)
|
||||
.itemOutputs('tfc:silk_cloth')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Wool Cloth
|
||||
event.recipes.gtceu.assembler('tfg:tfc/wool_cloth')
|
||||
.itemInputs('16x tfc:wool_yarn')
|
||||
.circuit(0)
|
||||
.itemOutputs('tfc:wool_cloth')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Cloths to Wool
|
||||
event.recipes.gtceu.assembler('tfg:tfc/cloth_to_wool')
|
||||
.itemInputs('4x #tfc:sewing_light_cloth')
|
||||
.itemOutputs('8x minecraft:white_wool')
|
||||
.circuit(16)
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Jute Fiber
|
||||
generateMixerRecipe(event, 'tfc:jute', "#tfg:clean_water 200",
|
||||
'tfc:jute_fiber', null, [], 100, 4, 16, 'tfg:tfc/jute_fiber')
|
||||
|
||||
// Ceramic Recycling
|
||||
event.recipes.gtceu.macerator('tfg:sherd_to_brick_dust')
|
||||
.itemInputs('firmalife:pottery_sherd')
|
||||
.itemOutputs('#forge:dusts/brick')
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:ceramic_molds')
|
||||
.itemInputs('#tfc:fired_molds')
|
||||
.itemOutputs('2x #forge:dusts/brick')
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:large_vessels')
|
||||
.itemInputs('#tfc:fired_large_vessels')
|
||||
.itemOutputs('5x #forge:dusts/brick')
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:casting_channel')
|
||||
.itemInputs('tfcchannelcasting:channel')
|
||||
.itemOutputs('1x #forge:dusts/brick')
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:mold_table')
|
||||
.itemInputs('tfcchannelcasting:mold_table')
|
||||
.itemOutputs('5x #forge:dusts/brick')
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
// Humus and compost
|
||||
event.recipes.gtceu.extractor('tfg:humus_from_leaves')
|
||||
.itemInputs('#minecraft:leaves')
|
||||
.itemOutputs('tfc:groundcover/humus')
|
||||
.duration(600)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.extractor('tfg:humus_from_fallen_leaves')
|
||||
.itemInputs('#tfc:fallen_leaves')
|
||||
.itemOutputs('tfc:groundcover/humus')
|
||||
.duration(600)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:fertilizer_to_compost')
|
||||
.itemInputs('4x gtceu:fertilizer')
|
||||
.itemOutputs('tfc:compost')
|
||||
.duration(1200)
|
||||
.EUt(2)
|
||||
|
||||
const BROWNS = [ '16x #tfc:compost_browns_low', '8x #tfc:compost_browns', '4x #tfc:compost_browns_high' ];
|
||||
const GREENS = [ '16x #tfc:compost_greens_low', '8x #tfc:compost_greens', '4x #tfc:compost_greens_high' ];
|
||||
|
||||
let i = 0;
|
||||
BROWNS.forEach(brown => {
|
||||
GREENS.forEach(green => {
|
||||
event.recipes.gtceu.mixer(`tfg:compost_${i++}`)
|
||||
.itemInputs(brown, green)
|
||||
.itemOutputs('tfc:compost')
|
||||
.duration(1200)
|
||||
.EUt(2)
|
||||
})
|
||||
})
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:soot')
|
||||
.itemInputs('tfc:soot')
|
||||
.itemOutputs('#forge:dusts/carbon')
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
// Stripped logs
|
||||
|
||||
global.TFC_WOOD_TYPES.forEach(wood => {
|
||||
event.recipes.gtceu.lathe(`tfg:stripping_${wood}_log`)
|
||||
.itemInputs(`tfc:wood/log/${wood}`)
|
||||
.itemOutputs(`tfc:wood/stripped_log/${wood}`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.lathe(`tfg:stripping_${wood}_wood`)
|
||||
.itemInputs(`tfc:wood/wood/${wood}`)
|
||||
.itemOutputs(`tfc:wood/stripped_wood/${wood}`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
event.custom({
|
||||
type: 'vintageimprovements:polishing',
|
||||
ingredients: [{ item: `tfc:wood/log/${wood}` }],
|
||||
results: [{ item: `tfc:wood/stripped_log/${wood}` }],
|
||||
speed_limits: 0,
|
||||
processingTime: 50
|
||||
}).id(`tfg:vi/lathe/stripping_${wood}_log`)
|
||||
|
||||
event.custom({
|
||||
type: 'vintageimprovements:polishing',
|
||||
ingredients: [{ item: `tfc:wood/wood/${wood}` }],
|
||||
results: [{ item: `tfc:wood/stripped_wood/${wood}` }],
|
||||
speed_limits: 0,
|
||||
processingTime: 50
|
||||
}).id(`tfg:vi/lathe/stripping_${wood}_wood`)
|
||||
})
|
||||
|
||||
|
||||
event.recipes.gtceu.extruder('tfg:wrought_iron_grill_electric_only')
|
||||
.itemInputs('2x #forge:plates/wrought_iron')
|
||||
.notConsumable('tfg:large_casing_extruder_mold')
|
||||
.itemOutputs('tfc:wrought_iron_grill')
|
||||
.duration(60)
|
||||
.EUt(8)
|
||||
}
|
||||
|
|
@ -200,39 +200,6 @@ function registerTFCMetalsRecipes(event) {
|
|||
.duration(700)
|
||||
.EUt(4)
|
||||
|
||||
// Rose Gold + Sterling Silver
|
||||
const copper_types = [
|
||||
"#forge:ingots/copper",
|
||||
"#forge:dusts/copper",
|
||||
"#forge:ingots/annealed_copper",
|
||||
"#forge:dusts/annealed_copper"
|
||||
];
|
||||
const gold_types = [
|
||||
"#forge:ingots/gold",
|
||||
"#forge:dusts/gold"
|
||||
];
|
||||
const silver_types = [
|
||||
"#forge:ingots/silver",
|
||||
"#forge:dusts/silver"
|
||||
];
|
||||
|
||||
copper_types.forEach(copper_types_array => {
|
||||
gold_types.forEach(gold_types_array => {
|
||||
event.recipes.gtceu.alloy_smelter(`rose_gold_from_${copper_types_array.replace(/:/g, "/").replace(/#/g, "")}_and_${gold_types_array.replace(/:/g, "/").replace(/#/g, "")}`)
|
||||
.itemInputs(Ingredient.of(copper_types_array).withCount(1), Ingredient.of(gold_types_array).withCount(4))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RoseGold, 5))
|
||||
.duration(20*10)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
});
|
||||
silver_types.forEach(silver_types_array => {
|
||||
event.recipes.gtceu.alloy_smelter(`sterling_silver_from_${copper_types_array.replace(/:/g, "/").replace(/#/g, "")}_and_${silver_types_array.replace(/:/g, "/").replace(/#/g, "")}`)
|
||||
.itemInputs(Ingredient.of(copper_types_array).withCount(1), Ingredient.of(silver_types_array).withCount(4))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.SterlingSilver, 5))
|
||||
.duration(20*10)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
const TFC_INTERMEDIATE_METALS =
|
||||
[
|
||||
|
|
@ -401,6 +368,10 @@ function registerTFCMetalsRecipes(event) {
|
|||
})
|
||||
//#endregion
|
||||
|
||||
event.smelting('minecraft:iron_ingot', '#forge:ingots/wrought_iron')
|
||||
.id('tfg:revert_wrought_iron_ingot')
|
||||
|
||||
|
||||
// Melting powders
|
||||
|
||||
const METAL_POWDERS = [
|
||||
|
|
|
|||
|
|
@ -1,55 +0,0 @@
|
|||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
function registerTFCWoodRecipes(event) {
|
||||
|
||||
event.replaceInput({ output: '#tfc:sewing_tables'}, '#forge:shears', '#forge:tools/knives')
|
||||
|
||||
// Какие то рецепты дерева
|
||||
global.TFC_WOOD_TYPES.forEach(wood => {
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_axle` })
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_bladed_axle` })
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_encased_axle` })
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_clutch` })
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_gear_box` })
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_water_wheel` })
|
||||
|
||||
// Бревна -> Пиломатериалы
|
||||
generateCutterRecipe(event, `#tfc:${wood}_logs`, `16x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_log`)
|
||||
|
||||
// Доски -> Пиломатериалы
|
||||
generateCutterRecipe(event, `tfc:wood/planks/${wood}`, `4x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_planks`)
|
||||
|
||||
// Ступень -> Пиломатериалы
|
||||
generateCutterRecipe(event, `tfc:wood/planks/${wood}_stairs`, `3x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_stairs`)
|
||||
|
||||
|
||||
// Плита -> Пиломатериалы
|
||||
generateCutterRecipe(event, `tfc:wood/planks/${wood}_slab`, `2x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_slab`)
|
||||
|
||||
// ? -> Деревянная нажимная пластина
|
||||
event.shaped(`tfc:wood/planks/${wood}_pressure_plate`, [
|
||||
' B ',
|
||||
'CDC',
|
||||
' E '
|
||||
], {
|
||||
B: '#tfc:hammers',
|
||||
C: `tfc:wood/planks/${wood}_slab`,
|
||||
D: '#forge:small_springs',
|
||||
E: '#forge:tools/screwdrivers'
|
||||
}).id(`tfc:crafting/wood/${wood}_pressure_plate`)
|
||||
|
||||
event.recipes.gtceu.assembler(`${wood}_pressure_plate`)
|
||||
.itemInputs('#forge:small_springs', `2x tfc:wood/planks/${wood}_slab`)
|
||||
.circuit(3)
|
||||
.itemOutputs(`2x tfc:wood/planks/${wood}_pressure_plate`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
// ? -> Деревянная кнопка
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_button` })
|
||||
|
||||
generateCutterRecipe(event, `tfc:wood/planks/${wood}_pressure_plate`, `6x tfc:wood/planks/${wood}_button`, 50, 7, `${wood}_button`)
|
||||
|
||||
})
|
||||
}
|
||||
|
|
@ -301,6 +301,16 @@ function registerTFGItemSize(event) {
|
|||
event.itemSize("tfg:beaker", "large", "heavy", "tfg/beaker");
|
||||
event.itemSize("tfg:flask", "normal", "medium", "tfg/flask");
|
||||
event.itemSize("tfg:vial", "tiny", "light", "tfg/vial");
|
||||
|
||||
|
||||
event.itemSize('#tfc:ore_pieces', 'very_small', 'very_light', 'tfc_ores')
|
||||
|
||||
event.itemSize('#tfc:foods/sealed_preserves', 'tiny', 'medium', 'sealed_preserves')
|
||||
event.itemSize('#tfc:foods/preserves', 'tiny', 'medium', 'preserves')
|
||||
|
||||
event.itemSize('#forge:tools/wrenches', 'very_large', 'very_heavy', 'wrenches')
|
||||
event.itemSize('#forge:tools/mining_hammers', 'very_large', 'very_heavy', 'mining_hammers')
|
||||
event.itemSize('#forge:tools/spades', 'very_large', 'very_heavy', 'spades')
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
|
@ -328,949 +338,4 @@ function registerTFGSupportData(event) {
|
|||
});
|
||||
}
|
||||
|
||||
//#endregion
|
||||
//#region Food Data
|
||||
|
||||
/** @param {Internal.TFCDataEventJS} event */
|
||||
function registerTFGFoodData(event) {
|
||||
|
||||
// Birt
|
||||
event.foodItem("tfg:food/raw_birt", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_birt", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(2.2);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Crawlermari
|
||||
event.foodItem("tfg:food/raw_crawlermari", (food) => {
|
||||
food.hunger(2);
|
||||
food.water(5);
|
||||
food.protein(1.2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_crawlermari", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(2.2);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Limpet
|
||||
event.foodItem("tfg:food/raw_limpet", (food) => {
|
||||
food.hunger(2);
|
||||
food.water(5);
|
||||
food.protein(1.2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_limpet", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(2.2);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Moon Rabbit
|
||||
event.foodItem("tfg:food/raw_moon_rabbit", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_moon_rabbit", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(2.2);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Glacian Mutton
|
||||
event.foodItem("tfg:food/raw_glacian_mutton", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_glacian_mutton", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Sniffer Beef
|
||||
event.foodItem("tfg:food/raw_sniffer_beef", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_sniffer_beef", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Wraptor
|
||||
event.foodItem("tfg:food/raw_wraptor", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_wraptor", (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);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_springling_collar", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Surfer Steak
|
||||
event.foodItem("tfg:food/raw_surfer_steak", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_surfer_steak", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Cruncher Ribs
|
||||
event.foodItem("tfg:food/raw_cruncher_ribs", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(2.0);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_cruncher_ribs", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2.2);
|
||||
food.protein(4);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Long Pig Filet
|
||||
event.foodItem("tfg:food/raw_long_pig_filet", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_long_pig_filet", (food) => {
|
||||
food.hunger(2);
|
||||
food.saturation(2);
|
||||
food.protein(2);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Stackatick Chunks
|
||||
event.foodItem("tfg:food/raw_stackatick_chunks", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/raw_stickastackatick", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_stickastackatick", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Walker Steak
|
||||
event.foodItem("tfg:food/raw_walker_steak", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(2.0);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_walker_steak", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2.2);
|
||||
food.protein(4);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Glider Wings
|
||||
event.foodItem("tfg:food/raw_glider_wings", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_glider_wings", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(2.75);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Soarer
|
||||
event.foodItem("tfg:food/raw_whole_soarer", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_whole_soarer", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3.1);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Crusher Meat
|
||||
event.foodItem("tfg:food/raw_crusher_meat", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_crusher_meat", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Goober Meat
|
||||
event.foodItem("tfg:food/raw_goober_meat", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
food.water(1);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_goober_meat", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// high-tech food
|
||||
global.FOOD_FRUIT.forEach((fruit) => {
|
||||
event.foodItem(`tfg:food/freeze_dried/${fruit.name}`, (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(fruit.saturation);
|
||||
food.water(0);
|
||||
food.fruit(fruit.fruit);
|
||||
food.decayModifier(fruit.decay);
|
||||
});
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/calorie_paste", (food) => {
|
||||
food.hunger(6);
|
||||
food.saturation(4);
|
||||
food.decayModifier(4.5);
|
||||
food.grain(0.1);
|
||||
food.vegetables(0.2);
|
||||
food.protein(0.2);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/meal_bag", (food) => {
|
||||
food.type("dynamic");
|
||||
});
|
||||
|
||||
// Sunflower products
|
||||
event.foodItem("tfg:roasted_sunflower_seeds", (food) => {
|
||||
food.hunger(4);
|
||||
food.decayModifier(0.5);
|
||||
food.grain(0.1);
|
||||
food.saturation(0.5);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:sunflower_product", (food) => {
|
||||
food.decayModifier(0.5);
|
||||
});
|
||||
|
||||
// Amber Roots
|
||||
event.foodItem("betterend:amber_root_product", (food) => {
|
||||
food.hunger(4);
|
||||
food.decayModifier(1);
|
||||
food.saturation(1);
|
||||
food.grain(3);
|
||||
});
|
||||
|
||||
// Blossom Berries
|
||||
event.foodItem("betterend:blossom_berry_product", (food) => {
|
||||
food.hunger(5);
|
||||
food.decayModifier(2);
|
||||
food.saturation(1);
|
||||
food.water(7.5);
|
||||
food.fruit(2.1);
|
||||
});
|
||||
|
||||
// Cave Pumpkin
|
||||
event.foodItem("betterend:cave_pumpkin", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(0);
|
||||
food.decayModifier(0.5);
|
||||
});
|
||||
|
||||
event.foodItem("betterend:cave_pumpkin_chunks", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(1);
|
||||
food.decayModifier(2.5);
|
||||
food.water(5);
|
||||
food.fruit(0.8);
|
||||
});
|
||||
|
||||
event.foodItem("betterend:cave_pumpkin_pie_dough", (food) => {
|
||||
food.hunger(2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("betterend:cave_pumpkin_pie_raw", (food) => {
|
||||
food.hunger(2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("betterend:cave_pumpkin_pie", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2.8);
|
||||
food.decayModifier(1.5);
|
||||
food.water(5);
|
||||
food.protein(1);
|
||||
food.fruit(5);
|
||||
food.grain(4);
|
||||
food.dairy(1);
|
||||
});
|
||||
|
||||
// Chorus Mushroom
|
||||
event.foodItem("betterend:chorus_mushroom_product", (food) => {
|
||||
food.hunger(2);
|
||||
food.saturation(1);
|
||||
food.decayModifier(3);
|
||||
food.water(3);
|
||||
food.vegetables(1.5);
|
||||
});
|
||||
|
||||
event.foodItem("betterend:chorus_mushroom_cooked", (food) => {
|
||||
food.hunger(2);
|
||||
food.saturation(2.1);
|
||||
food.decayModifier(1.5);
|
||||
food.vegetables(2.5);
|
||||
});
|
||||
|
||||
// Shadow Berry
|
||||
event.foodItem("betterend:shadow_berry_product", (food) => {
|
||||
food.hunger(5);
|
||||
food.decayModifier(2);
|
||||
food.saturation(1);
|
||||
food.water(5);
|
||||
food.fruit(1.9);
|
||||
});
|
||||
|
||||
event.foodItem("betterend:shadow_berry_cooked", (food) => {
|
||||
food.hunger(5);
|
||||
food.decayModifier(1);
|
||||
food.saturation(2);
|
||||
food.fruit(2.2);
|
||||
});
|
||||
|
||||
// Bolux Mushroom
|
||||
event.foodItem("betterend:bolux_mushroom_product", (food) => {
|
||||
food.hunger(2);
|
||||
food.saturation(1);
|
||||
food.decayModifier(3);
|
||||
food.water(3);
|
||||
food.vegetables(1.5);
|
||||
});
|
||||
|
||||
event.foodItem("betterend:bolux_mushroom_cooked", (food) => {
|
||||
food.hunger(2);
|
||||
food.saturation(2);
|
||||
food.decayModifier(1.5);
|
||||
food.vegetables(2.4);
|
||||
});
|
||||
|
||||
// Dino Nuggets
|
||||
event.foodItem('tfg:food/raw_dino_nugget', (food) => {
|
||||
food.type("dynamic");
|
||||
food.hunger(1);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/cooked_dino_nugget', (food) => {
|
||||
food.type("dynamic");
|
||||
food.hunger(3);
|
||||
food.saturation(2);
|
||||
food.decayModifier(1.5);
|
||||
});
|
||||
|
||||
// Ice Soup
|
||||
event.foodItem("tfg:food/ice_soup", (food) => {
|
||||
food.hunger(1);
|
||||
food.water(20);
|
||||
food.decayModifier(0);
|
||||
});
|
||||
|
||||
// Fries
|
||||
event.foodItem('tfg:food/raw_fries', (food) => {
|
||||
food.hunger(1);
|
||||
food.decayModifier(3);
|
||||
food.vegetables(0.25);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/cooked_fries', (food) => {
|
||||
food.hunger(2);
|
||||
food.decayModifier(1.5);
|
||||
food.vegetables(0.6);
|
||||
food.saturation(2);
|
||||
});
|
||||
|
||||
// Cheese Curds
|
||||
event.foodItem('tfg:food/raw_beer_battered_cheese_curds', (food) => {
|
||||
food.hunger(1);
|
||||
food.decayModifier(1.3);
|
||||
food.dairy(1);
|
||||
food.saturation(1);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/cooked_beer_battered_cheese_curds', (food) => {
|
||||
food.hunger(3);
|
||||
food.decayModifier(0.8);
|
||||
food.dairy(1.2);
|
||||
food.saturation(2);
|
||||
food.grain(0.5);
|
||||
});
|
||||
|
||||
// Hamburgers
|
||||
event.foodItem('tfg:food/raw_burger_patty', (food) => {
|
||||
food.hunger(2);
|
||||
food.decayModifier(2.3);
|
||||
food.protein(2);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/cooked_burger_patty', (food) => {
|
||||
food.hunger(4);
|
||||
food.decayModifier(2);
|
||||
food.protein(2.5);
|
||||
food.saturation(2);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/brioche_dough', (food) => {
|
||||
food.hunger(1.5);
|
||||
food.decayModifier(2.3);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/brioche_bun', (food) => {
|
||||
food.hunger(3.5);
|
||||
food.decayModifier(1.5);
|
||||
food.grain(1.5);
|
||||
food.dairy(0.5);
|
||||
food.saturation(1);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/hamburger', (food) => {
|
||||
food.type("dynamic");
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/cheeseburger', (food) => {
|
||||
food.type("dynamic");
|
||||
});
|
||||
|
||||
// Poutine
|
||||
event.foodItem('tfg:food/poutine', (food) => {
|
||||
food.type("dynamic_bowl");
|
||||
});
|
||||
|
||||
// Oatmeal
|
||||
event.foodItem('tfg:food/oatmeal', (food) => {
|
||||
food.type("dynamic_bowl");
|
||||
});
|
||||
|
||||
// Biochem Items
|
||||
event.foodItem("tfg:progenitor_cells", (food) => {
|
||||
food.decayModifier(1);
|
||||
});
|
||||
event.foodItem("tfg:rough_endoplasmic_reticula", (food) => {
|
||||
food.decayModifier(0.5);
|
||||
});
|
||||
event.foodItem("tfg:smooth_endoplasmic_reticula", (food) => {
|
||||
food.decayModifier(0.5);
|
||||
});
|
||||
|
||||
// Instant Mac
|
||||
event.foodItem('tfg:food/raw_instant_mac', (food) => {
|
||||
food.hunger(2);
|
||||
food.decayModifier(0.2);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/cooked_instant_mac', (food) => {
|
||||
food.hunger(3.5);
|
||||
food.decayModifier(1.6);
|
||||
food.grain(1.5);
|
||||
food.dairy(2.5);
|
||||
food.protein(0.8);
|
||||
food.saturation(1.8);
|
||||
});
|
||||
|
||||
//#region Drinkables
|
||||
// Proto Growth Medium
|
||||
event.drinkable("tfg:proto_growth_medium", (data) => {
|
||||
data.thirst(10);
|
||||
data.food(food => {
|
||||
food.dairy(5);
|
||||
food.protein(1);
|
||||
});
|
||||
data.effect("minecraft:absorption", (effect) => {
|
||||
effect.amplifier(2);
|
||||
effect.chance(0.25);
|
||||
effect.duration(1200);
|
||||
});
|
||||
});
|
||||
|
||||
// Semiheavy Ammoniacal Water
|
||||
event.drinkable("tfg:semiheavy_ammoniacal_water", (data) => {
|
||||
data.thirst(10);
|
||||
data.effect("minecraft:nausea", (effect) => {
|
||||
effect.chance(0.5);
|
||||
effect.duration(200);
|
||||
});
|
||||
});
|
||||
|
||||
// Rich Stock
|
||||
event.drinkable('tfg:rich_stock', (data) => {
|
||||
data.thirst(4);
|
||||
data.effect("tfc:thirst", (effect) => {
|
||||
effect.chance(0.2);
|
||||
effect.duration(20*5);
|
||||
});
|
||||
data.food(food => {
|
||||
food.protein(0.25);
|
||||
food.vegetables(0.25);
|
||||
});
|
||||
});
|
||||
|
||||
// Light Stock
|
||||
event.drinkable('tfg:light_stock', (data) => {
|
||||
data.thirst(4);
|
||||
data.effect("tfc:thirst", (effect) => {
|
||||
effect.chance(0.2);
|
||||
effect.duration(20*5);
|
||||
});
|
||||
data.food(food => {
|
||||
food.protein(0.25);
|
||||
food.vegetables(0.25);
|
||||
});
|
||||
});
|
||||
|
||||
// Brown Gravy
|
||||
event.drinkable('tfg:brown_gravy', (data) => {
|
||||
data.thirst(2);
|
||||
data.effect("tfc:thirst", (effect) => {
|
||||
effect.chance(0.3);
|
||||
effect.duration(20*5);
|
||||
});
|
||||
data.food(food => {
|
||||
food.protein(0.5);
|
||||
food.vegetables(0.5);
|
||||
food.grain(0.25);
|
||||
});
|
||||
});
|
||||
|
||||
//#endregion
|
||||
}
|
||||
|
||||
//#endregion
|
||||
//#region Crop Data
|
||||
|
||||
/** @param {Internal.TFCDataEventJS} event */
|
||||
function registerTFGCropRanges(event) {
|
||||
// Earth
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(20);
|
||||
climate.maxHydration(80);
|
||||
climate.minTemperature(5);
|
||||
climate.maxTemperature(40);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(5.5);
|
||||
}, "tfg:sunflower");
|
||||
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(10);
|
||||
climate.maxHydration(60);
|
||||
climate.minTemperature(-5);
|
||||
climate.maxTemperature(25);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(1.5);
|
||||
}, "tfg:rapeseed");
|
||||
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(15);
|
||||
climate.maxHydration(65);
|
||||
climate.minTemperature(-8);
|
||||
climate.maxTemperature(25);
|
||||
climate.hydrationWiggle(6.5);
|
||||
climate.temperatureWiggle(3);
|
||||
}, "tfg:flax");
|
||||
|
||||
// Mars
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(0);
|
||||
climate.maxHydration(40);
|
||||
climate.minTemperature(-150);
|
||||
climate.maxTemperature(15);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(5.5);
|
||||
}, "betterend:amber_root");
|
||||
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(70);
|
||||
climate.maxHydration(100);
|
||||
climate.minTemperature(-80);
|
||||
climate.maxTemperature(30);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(5.5);
|
||||
}, "betterend:blossom_berry");
|
||||
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(0);
|
||||
climate.maxHydration(40);
|
||||
climate.minTemperature(-150);
|
||||
climate.maxTemperature(15);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(5.5);
|
||||
}, "betterend:bolux_mushroom");
|
||||
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(0);
|
||||
climate.maxHydration(60);
|
||||
climate.minTemperature(-100);
|
||||
climate.maxTemperature(30);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(5.5);
|
||||
}, "betterend:cave_pumpkin_plant");
|
||||
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(0);
|
||||
climate.maxHydration(40);
|
||||
climate.minTemperature(-150);
|
||||
climate.maxTemperature(15);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(5.5);
|
||||
}, "betterend:chorus_mushroom");
|
||||
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(50);
|
||||
climate.maxHydration(100);
|
||||
climate.minTemperature(-80);
|
||||
climate.maxTemperature(30);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(5.5);
|
||||
}, "betterend:shadow_berry");
|
||||
}
|
||||
|
||||
//#endregion
|
||||
//#region Planter Data
|
||||
|
||||
/** @param {Internal.TFCDataEventJS} event */
|
||||
function registerTFGFLPlanters(event) {
|
||||
event.firmalifePlantable(
|
||||
"tfg:sunflower_seeds",
|
||||
"large",
|
||||
0,
|
||||
3,
|
||||
0.15,
|
||||
"tfg:sunflower_seeds",
|
||||
"tfg:sunflower_product",
|
||||
"nitrogen",
|
||||
[
|
||||
"tfg:block/crop/sunflower_greenhouse_0",
|
||||
"tfg:block/crop/sunflower_greenhouse_1",
|
||||
"tfg:block/crop/sunflower_greenhouse_2",
|
||||
"tfg:block/crop/sunflower_greenhouse_3"
|
||||
],
|
||||
null
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"tfg:rapeseed_seeds",
|
||||
"large",
|
||||
0,
|
||||
3,
|
||||
0.15,
|
||||
"tfg:rapeseed_seeds",
|
||||
"tfg:rapeseed_product",
|
||||
"phosphorous",
|
||||
[
|
||||
"tfg:block/crop/rapeseed_greenhouse_0",
|
||||
"tfg:block/crop/rapeseed_greenhouse_1",
|
||||
"tfg:block/crop/rapeseed_greenhouse_2",
|
||||
"tfg:block/crop/rapeseed_greenhouse_3"
|
||||
],
|
||||
null
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"tfg:flax_seeds",
|
||||
"large",
|
||||
0,
|
||||
3,
|
||||
0.2,
|
||||
"tfg:flax_seeds",
|
||||
"tfg:flax_product",
|
||||
"nitrogen",
|
||||
[
|
||||
"tfg:block/crop/flax_age_0",
|
||||
"tfg:block/crop/flax_age_1",
|
||||
"tfg:block/crop/flax_age_5_top",
|
||||
"tfg:block/crop/flax_age_6_top"
|
||||
],
|
||||
null
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"betterend:amber_root_seeds",
|
||||
"large",
|
||||
0,
|
||||
3,
|
||||
0.15,
|
||||
"betterend:amber_root_seeds",
|
||||
"betterend:amber_root_product",
|
||||
"phosphorous",
|
||||
[
|
||||
"betterend:block/amber_root_0",
|
||||
"betterend:block/amber_root_1",
|
||||
"betterend:block/amber_root_2",
|
||||
"betterend:block/amber_root_3"
|
||||
],
|
||||
null
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"betterend:blossom_berry_seeds",
|
||||
"large",
|
||||
0,
|
||||
3,
|
||||
0.15,
|
||||
"betterend:blossom_berry_seeds",
|
||||
"betterend:blossom_berry_product",
|
||||
"potassium",
|
||||
[
|
||||
"betterend:block/blossom_berry_seed_0",
|
||||
"betterend:block/blossom_berry_seed_1",
|
||||
"betterend:block/blossom_berry_seed_2",
|
||||
"betterend:block/blossom_berry_seed_3"
|
||||
],
|
||||
null
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"betterend:bolux_mushroom_seeds",
|
||||
"quad",
|
||||
1,
|
||||
3,
|
||||
0.15,
|
||||
"betterend:bolux_mushroom_seeds",
|
||||
"betterend:bolux_mushroom_product",
|
||||
"phosphorous",
|
||||
[
|
||||
"betterend:block/bolux_mushroom_greenhouse_0",
|
||||
"betterend:block/bolux_mushroom_greenhouse_1",
|
||||
"betterend:block/bolux_mushroom_greenhouse_2",
|
||||
"betterend:block/bolux_mushroom_greenhouse_3"
|
||||
],
|
||||
null
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"betterend:chorus_mushroom_seeds",
|
||||
"quad",
|
||||
1,
|
||||
3,
|
||||
0.15,
|
||||
"betterend:chorus_mushroom_seeds",
|
||||
"betterend:chorus_mushroom_product",
|
||||
"phosphorous",
|
||||
[
|
||||
"betterend:block/chorus_mushroom_0",
|
||||
"betterend:block/chorus_mushroom_1",
|
||||
"betterend:block/chorus_mushroom_2",
|
||||
"betterend:block/chorus_mushroom_3"
|
||||
],
|
||||
null
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"betterend:cave_pumpkin_plant_seeds",
|
||||
"hanging",
|
||||
2,
|
||||
3,
|
||||
0.15,
|
||||
"betterend:cave_pumpkin_plant_seeds",
|
||||
"betterend:cave_pumpkin",
|
||||
"phosphorous",
|
||||
[
|
||||
"betterend:block/cave_pumpkin_greenhouse_0",
|
||||
"betterend:block/cave_pumpkin_greenhouse_1",
|
||||
"betterend:block/cave_pumpkin_greenhouse_2",
|
||||
"betterend:block/cave_pumpkin_greenhouse_3"
|
||||
],
|
||||
"betterend:block/cave_pumpkin_top"
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"betterend:shadow_berry_seeds",
|
||||
"quad",
|
||||
1,
|
||||
3,
|
||||
0.15,
|
||||
"betterend:shadow_berry_seeds",
|
||||
"betterend:shadow_berry_product",
|
||||
"potassium",
|
||||
[
|
||||
"betterend:block/shadow_berry_greenhouse_0",
|
||||
"betterend:block/shadow_berry_greenhouse_1",
|
||||
"betterend:block/shadow_berry_greenhouse_2",
|
||||
"betterend:block/shadow_berry_greenhouse_3"
|
||||
],
|
||||
null
|
||||
);
|
||||
}
|
||||
|
||||
//#endregion
|
||||
//#region Fauna Data
|
||||
|
||||
/** @param {Internal.TFCDataEventJS} event */
|
||||
function registerTFGFauna(event) {
|
||||
|
||||
// -108 is the average at z=-4k to z=-6k, which feels like a big enough band
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.maxTemp(-108)
|
||||
climate.fuzzy(false)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"tfg:glacian_ram")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-102)
|
||||
climate.maxTemp(-30)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"tfg:sniffer")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-100)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"tfg:wraptor")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-108)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"species:springling")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-109)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"species:goober")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-97)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"wan_ancient_beasts:walker")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-109)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"wan_ancient_beasts:eater")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-100)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"wan_ancient_beasts:crusher")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-105)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"wan_ancient_beasts:soarer")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-106)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"wan_ancient_beasts:glider")
|
||||
}
|
||||
|
||||
//#endregion
|
||||
521
kubejs/server_scripts/tfg/events.interactions.js
Normal file
521
kubejs/server_scripts/tfg/events.interactions.js
Normal file
|
|
@ -0,0 +1,521 @@
|
|||
|
||||
/**
|
||||
* @typedef {Object} BrickVariant
|
||||
* @property {string} brick_type - The name of the brick variant.
|
||||
* @property {string|null} brick - Main brick block ID.
|
||||
* @property {string|null} brick_stairs - Brick stairs block ID.
|
||||
* @property {string|null} brick_slab - Brick slab block ID.
|
||||
* @property {string|null} brick_wall - Brick wall block ID.
|
||||
* @property {string|null} cracked_brick - Cracked brick block ID.
|
||||
* @property {string|null} cracked_stairs - Cracked brick stairs block ID.
|
||||
* @property {string|null} cracked_slab - Cracked brick slab block ID.
|
||||
* @property {string|null} cracked_wall - Cracked brick wall block ID.
|
||||
* @property {string|null} mossy_brick - Mossy brick block ID.
|
||||
* @property {string|null} mossy_stairs - Mossy brick stairs block ID.
|
||||
* @property {string|null} mossy_slab - Mossy brick slab block ID.
|
||||
* @property {string|null} mossy_wall - Mossy brick wall block ID.
|
||||
* @property {string|null} smooth_brick - Smooth brick block ID.
|
||||
* @property {string|null} smooth_stairs - Smooth brick stairs block ID.
|
||||
* @property {string|null} smooth_slab - Smooth brick slab block ID.
|
||||
* @property {string|null} smooth_wall - Smooth brick wall block ID.
|
||||
* @property {string|null} chiseled_brick - Chiseled brick block ID.
|
||||
*/
|
||||
|
||||
const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio']
|
||||
|
||||
// #region BRICK_INDEX
|
||||
/** @type {BrickVariant[]} */
|
||||
global.BRICK_INDEX = (global.TFC_STONE_TYPES ? global.TFC_STONE_TYPES : []).map(tfc_stone => ({
|
||||
brick_type: tfc_stone,
|
||||
brick: `tfc:rock/bricks/${tfc_stone}`, brick_stairs: `tfc:rock/bricks/${tfc_stone}_stairs`, brick_slab: `tfc:rock/bricks/${tfc_stone}_slab`, brick_wall: `tfc:rock/bricks/${tfc_stone}_wall`,
|
||||
cracked_brick: `tfc:rock/cracked_bricks/${tfc_stone}`, cracked_stairs: `tfc:rock/cracked_bricks/${tfc_stone}_stairs`, cracked_slab: `tfc:rock/cracked_bricks/${tfc_stone}_slab`, cracked_wall: `tfc:rock/cracked_bricks/${tfc_stone}_wall`,
|
||||
mossy_brick: `tfc:rock/mossy_bricks/${tfc_stone}`, mossy_stairs: `tfc:rock/mossy_bricks/${tfc_stone}_stairs`, mossy_slab: `tfc:rock/mossy_bricks/${tfc_stone}_slab`, mossy_wall: `tfc:rock/mossy_bricks/${tfc_stone}_wall`,
|
||||
smooth_brick: `tfc:rock/smooth/${tfc_stone}`, smooth_stairs: `tfc:rock/smooth/${tfc_stone}_stairs`, smooth_slab: `tfc:rock/smooth/${tfc_stone}_slab`, smooth_wall: `tfc:rock/smooth/${tfc_stone}_wall`,
|
||||
chiseled_brick: `tfc:rock/chiseled/${tfc_stone}`
|
||||
}));
|
||||
(global.CREATE_DECO_BRICK_TYPES ? global.CREATE_DECO_BRICK_TYPES : []).slice(0, -1).forEach(create_brick => {
|
||||
global.BRICK_INDEX.push({
|
||||
brick_type: create_brick,
|
||||
brick: `createdeco:${create_brick}_bricks`, brick_stairs: `createdeco:${create_brick}_brick_stairs`, brick_slab: `createdeco:${create_brick}_brick_slab`, brick_wall: `createdeco:${create_brick}_brick_wall`,
|
||||
cracked_brick: `createdeco:cracked_${create_brick}_bricks`, cracked_stairs: `createdeco:cracked_${create_brick}_brick_stairs`, cracked_slab: `createdeco:cracked_${create_brick}_brick_slab`, cracked_wall: `createdeco:cracked_${create_brick}_brick_wall`,
|
||||
mossy_brick: `createdeco:mossy_${create_brick}_bricks`, mossy_stairs: `createdeco:mossy_${create_brick}_brick_stairs`, mossy_slab: `createdeco:mossy_${create_brick}_brick_slab`, mossy_wall: `createdeco:mossy_${create_brick}_brick_wall`,
|
||||
smooth_brick: `createdeco:corner_${create_brick}_bricks`, smooth_stairs: `createdeco:corner_${create_brick}_brick_stairs`, smooth_slab: `createdeco:corner_${create_brick}_brick_slab`, smooth_wall: `createdeco:corner_${create_brick}_brick_wall`,
|
||||
chiseled_brick: `createdeco:tiled_${create_brick}_bricks`
|
||||
})
|
||||
});
|
||||
global.BRICK_INDEX = global.BRICK_INDEX.concat([
|
||||
// { brick_type: '',
|
||||
// brick: '', brick_stairs: '', brick_slab: '', brick_wall: '',
|
||||
// cracked_brick: '', cracked_stairs: '', cracked_slab: '', cracked_wall: '',
|
||||
// mossy_brick: '', mossy_stairs: '', mossy_slab: '', mossy_wallL: '',
|
||||
// smooth_brick: '', smooth_stairs: '', smooth_slab: '', smooth_wall: '',
|
||||
// chiseled_brick: '' },
|
||||
|
||||
{
|
||||
brick_type: 'red',
|
||||
brick: 'minecraft:bricks', brick_stairs: 'minecraft:brick_stairs', brick_slab: 'minecraft:brick_slab', brick_wall: 'minecraft:brick_wall',
|
||||
cracked_brick: 'createdeco:cracked_red_bricks', cracked_stairs: 'createdeco:cracked_red_brick_stairs', cracked_slab: 'createdeco:cracked_red_brick_slab', cracked_wall: 'createdeco:cracked_red_brick_wall',
|
||||
mossy_brick: 'createdeco:mossy_red_bricks', mossy_stairs: 'createdeco:mossy_red_brick_stairs', mossy_slab: 'createdeco:mossy_red_brick_slab', mossy_wall: 'createdeco:mossy_red_brick_wall',
|
||||
smooth_brick: 'createdeco:corner_red_bricks', smooth_stairs: 'createdeco:corner_red_brick_stairs', smooth_slab: 'createdeco:corner_red_brick_slab', smooth_wall: 'createdeco:corner_red_brick_wall',
|
||||
chiseled_brick: 'createdeco:tiled_red_bricks'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'light_concrete',
|
||||
brick: 'gtceu:light_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null,
|
||||
cracked_brick: 'gtceu:cracked_light_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null,
|
||||
mossy_brick: 'gtceu:mossy_light_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null,
|
||||
smooth_brick: 'gtceu:polished_light_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null,
|
||||
chiseled_brick: 'gtceu:chiseled_light_concrete'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'dark_concrete',
|
||||
brick: 'gtceu:dark_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null,
|
||||
cracked_brick: 'gtceu:cracked_dark_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null,
|
||||
mossy_brick: 'gtceu:mossy_dark_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null,
|
||||
smooth_brick: 'gtceu:polished_dark_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null,
|
||||
chiseled_brick: 'gtceu:chiseled_dark_concrete'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'deepslate',
|
||||
brick: 'minecraft:deepslate_bricks', brick_stairs: 'minecraft:deepslate_brick_stairs', brick_slab: 'minecraft:deepslate_brick_slab', brick_wall: 'minecraft:deepslate_brick_wall',
|
||||
cracked_brick: 'minecraft:cracked_deepslate_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_bricks_deepslate_slab', cracked_wall: 'tfg:rock/cracked_bricks_deepslate_wall',
|
||||
mossy_brick: 'tfg:rock/mossy_bricks_deepslate', mossy_stairs: 'tfg:rock/mossy_bricks_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_bricks_deepslate_slab', mossy_wall: 'tfg:rock/mossy_bricks_deepslate_wall',
|
||||
smooth_brick: 'minecraft:polished_deepslate', smooth_stairs: 'minecraft:polished_deepslate_stairs', smooth_slab: 'minecraft:polished_deepslate_slab', smooth_wall: 'minecraft:polished_deepslate_wall',
|
||||
chiseled_brick: 'minecraft:chiseled_deepslate'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'deepslate_tiles',
|
||||
brick: 'minecraft:deepslate_tiles', brick_stairs: 'minecraft:deepslate_tile_stairs', brick_slab: 'minecraft:deepslate_tile_slab', brick_wall: 'minecraft:deepslate_tile_wall',
|
||||
cracked_brick: 'minecraft:cracked_deepslate_tiles', cracked_stairs: 'tfg:rock/cracked_tiles_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_tiles_deepslate_slab', cracked_wall: 'tfg:rock/cracked_tiles_deepslate_wall',
|
||||
mossy_brick: null, mossy_stairs: null, mossy_slab: null, mossy_wall: null,
|
||||
smooth_brick: 'minecraft:polished_deepslate', smooth_stairs: 'minecraft:polished_deepslate_stairs', smooth_slab: 'minecraft:polished_deepslate_slab', smooth_wall: 'minecraft:polished_deepslate_wall',
|
||||
chiseled_brick: 'minecraft:chiseled_deepslate'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'blackstone',
|
||||
brick: 'minecraft:polished_blackstone_bricks', brick_stairs: 'minecraft:polished_blackstone_brick_stairs', brick_slab: 'minecraft:polished_blackstone_brick_slab', brick_wall: 'minecraft:polished_blackstone_brick_wall',
|
||||
cracked_brick: 'minecraft:cracked_polished_blackstone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_blackstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_blackstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_blackstone_wall',
|
||||
mossy_brick: 'tfg:rock/mossy_bricks_blackstone', mossy_stairs: 'tfg:rock/mossy_bricks_blackstone_stairs', mossy_slab: 'tfg:rock/mossy_bricks_blackstone_slab', mossy_wall: 'tfg:rock/mossy_bricks_blackstone_wall',
|
||||
smooth_brick: 'minecraft:polished_blackstone', smooth_stairs: 'minecraft:polished_blackstone_stairs', smooth_slab: 'minecraft:polished_blackstone_slab', smooth_wall: 'minecraft:polished_blackstone_wall',
|
||||
chiseled_brick: 'minecraft:chiseled_polished_blackstone'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'dripstone',
|
||||
brick: 'create:cut_dripstone_bricks', brick_stairs: 'create:cut_dripstone_brick_stairs', brick_slab: 'create:cut_dripstone_brick_slab', brick_wall: 'create:cut_dripstone_brick_wall',
|
||||
cracked_brick: 'tfg:rock/cracked_bricks_dripstone', cracked_stairs: 'tfg:rock/cracked_bricks_dripstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_dripstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_dripstone_wall',
|
||||
mossy_brick: 'tfg:rock/mossy_bricks_dripstone', mossy_stairs: 'tfg:rock/mossy_bricks_dripstone_stairs', mossy_slab: 'tfg:rock/mossy_bricks_dripstone_slab', mossy_wall: 'tfg:rock/mossy_bricks_dripstone_wall',
|
||||
smooth_brick: 'create:polished_cut_dripstone', smooth_stairs: 'create:polished_cut_dripstone_stairs', smooth_slab: 'create:polished_cut_dripstone_slab', smooth_wall: 'create:polished_cut_dripstone_wall',
|
||||
chiseled_brick: 'create:small_dripstone_bricks'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'crackrack',
|
||||
brick: 'minecraft:nether_bricks', brick_stairs: 'minecraft:nether_bricks_stairs', brick_slab: 'minecraft:nether_bricks_slab', brick_wall: 'minecraft:nether_bricks_wall',
|
||||
cracked_brick: 'minecraft:cracked_nether_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_nether_stairs', cracked_slab: 'tfg:rock/cracked_bricks_nether_slab', cracked_wall: 'tfg:rock/cracked_bricks_nether_wall',
|
||||
mossy_brick: 'tfg:rock/mossy_bricks_nether', mossy_stairs: 'tfg:rock/mossy_bricks_nether_stairs', mossy_slab: 'tfg:rock/mossy_bricks_nether_slab', mossy_wall: 'tfg:rock/mossy_bricks_nether_wall',
|
||||
smooth_brick: 'tfg:rock/polished_crackrack', smooth_stairs: 'tfg:rock/polished_crackrack_stairs', smooth_slab: 'tfg:rock/polished_crackrack_slab', smooth_wall: 'tfg:rock/polished_crackrack_wall',
|
||||
chiseled_brick: 'minecraft:chiseled_nether_bricks'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'moon_deepslate',
|
||||
brick: 'tfg:rock/bricks_moon_deepslate', brick_stairs: 'tfg:rock/bricks_moon_deepslate_stairs', brick_slab: 'tfg:rock/bricks_moon_deepslate_slab', brick_wall: 'tfg:rock/bricks_moon_deepslate_wall',
|
||||
cracked_brick: 'tfg:rock/cracked_bricks_moon_deepslate', cracked_stairs: 'tfg:rock/cracked_bricks_moon_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_bricks_moon_slab', cracked_wall: 'tfg:rock/cracked_bricks_moon_wall',
|
||||
mossy_brick: 'tfg:rock/mossy_bricks_moon_deepslate', mossy_stairs: 'tfg:rock/mossy_bricks_moon_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_bricks_moon_slab', mossy_wall: 'tfg:rock/mossy_bricks_moon_deepslate_wall',
|
||||
smooth_brick: 'tfg:rock/polished_moon_deepslate', smooth_stairs: 'tfg:rock/polished_moon_deepslate_stairs', smooth_slab: 'ad_astra:polished_moon_stone_slab', smooth_wall: 'tfg:rock/polished_moon_deepslate_wall',
|
||||
chiseled_brick: 'tfg:rock/chiseled_bricks_moon_deepslate'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'permafrost',
|
||||
brick: 'ad_astra:permafrost_bricks', brick_stairs: 'ad_astra:permafrost_brick_stairs', brick_slab: 'ad_astra:permafrost_brick_slab', brick_wall: 'ad_astra:permafrost_brick_wall',
|
||||
cracked_brick: 'ad_astra:cracked_permafrost_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_permafrost_stairs', cracked_slab: 'tfg:rock/cracked_bricks_permafrost_slab', cracked_wall: 'tfg:rock/cracked_bricks_permafrost_wall',
|
||||
mossy_brick: 'tfg:rock/mossy_bricks_permafrost', mossy_stairs: 'tfg:rock/mossy_bricks_permafrost_stairs', mossy_slab: 'tfg:rock/mossy_bricks_permafrost_slab', mossy_wall: 'tfg:rock/mossy_bricks_permafrost_wall',
|
||||
smooth_brick: 'ad_astra:polished_permafrost', smooth_stairs: 'ad_astra:polished_permafrost_stairs', smooth_slab: 'ad_astra:polished_permafrost_slab', smooth_wall: 'tfg:rock/polished_permafrost_wall',
|
||||
chiseled_brick: 'ad_astra:chiseled_permafrost_bricks'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'red_granite',
|
||||
brick: 'gtceu:red_granite_bricks', brick_stairs: 'tfg:rock/bricks_red_granite_stairs', brick_slab: 'tfg:rock/bricks_red_granite_slab', brick_wall: 'tfg:rock/bricks_red_granite_wall',
|
||||
cracked_brick: 'gtceu:cracked_red_granite_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_red_granite_stairs', cracked_slab: 'tfg:rock/cracked_bricks_red_granite_slab', cracked_wall: 'tfg:rock/cracked_bricks_red_granite_wall',
|
||||
mossy_brick: 'gtceu:mossy_red_granite_bricks', mossy_stairs: 'tfg:rock/mossy_bricks_red_granite_stairs', mossy_slab: 'tfg:rock/mossy_bricks_red_granite_slab', mossy_wall: 'tfg:rock/mossy_bricks_red_granite_wall',
|
||||
smooth_brick: 'gtceu:polished_red_granite', smooth_stairs: 'tfg:rock/polished_red_granite_stairs', smooth_slab: 'tfg:rock/polished_red_granite_slab', smooth_wall: 'tfg:rock/polished_red_granite_wall',
|
||||
chiseled_brick: 'gtceu:chiseled_red_granite'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'venus_sandstone',
|
||||
brick: 'ad_astra:venus_sandstone_bricks', brick_stairs: 'ad_astra:venus_sandstone_brick_stairs', brick_slab: 'ad_astra:venus_sandstone_brick_slab', brick_wall: 'tfg:rock/bricks_venus_sandstone_wall',
|
||||
cracked_brick: 'ad_astra:cracked_venus_sandstone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_venus_sandstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_venus_sandstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_stone_wall',
|
||||
mossy_brick: null, mossy_stairs: null, mossy_slab: null, mossy_wall: null,
|
||||
smooth_brick: null, smooth_stairs: null, smooth_slab: null, smooth_wall: null,
|
||||
chiseled_brick: null
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'stone',
|
||||
brick: 'minecraft:stone_bricks', brick_stairs: 'minecraft:stone_brick_stairs', brick_slab: 'minecraft:stone_brick_slab', brick_wall: 'minecraft:stone_brick_wall',
|
||||
cracked_brick: 'minecraft:cracked_stone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_stone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_stone_slab', cracked_wall: 'tfg:rock/cracked_bricks_stone_wall',
|
||||
mossy_brick: 'minecraft:mossy_stone_bricks', mossy_stairs: 'minecraft:mossy_stone_brick_stairs', mossy_slab: 'minecraft:mossy_stone_brick_slab', mossy_wall: 'minecraft:mossy_stone_brick_wall',
|
||||
smooth_brick: 'minecraft:smooth_stone', smooth_stairs: 'tfg:rock/smooth_stone_stairs', smooth_slab: 'minecraft:smooth_stone_slab', smooth_wall: 'tfg:rock/smooth_stone_wall',
|
||||
chiseled_brick: 'minecraft:chiseled_stone_bricks'
|
||||
}
|
||||
]);
|
||||
|
||||
global.BRICK_INDEX = global.BRICK_INDEX.concat((AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => (
|
||||
{
|
||||
brick_type: stone,
|
||||
brick: `ad_astra:${stone}_stone_bricks`, brick_stairs: `ad_astra:${stone}_stone_brick_stairs`, brick_slab: `ad_astra:${stone}_stone_brick_slab`, brick_wall: `ad_astra:${stone}_stone_brick_wall`,
|
||||
cracked_brick: `ad_astra:cracked_${stone}_stone_bricks`, cracked_stairs: `tfg:rock/cracked_bricks_${stone}_stairs`, cracked_slab: `tfg:rock/cracked_bricks_${stone}_slab`, cracked_wall: `tfg:rock/cracked_bricks_${stone}_wall`,
|
||||
mossy_brick: `tfg:rock/mossy_bricks_${stone}`, mossy_stairs: `tfg:rock/mossy_bricks_${stone}_stairs`, mossy_slab: `tfg:rock/mossy_bricks_${stone}_slab`, mossy_wall: `tfg:rock/mossy_bricks_${stone}_wall`,
|
||||
smooth_brick: `ad_astra:polished_${stone}_stone`, smooth_stairs: `ad_astra:polished_${stone}_stone_stairs`, smooth_slab: `ad_astra:polished_${stone}_stone_slab`, smooth_wall: `tfg:rock/polished_${stone}_wall`,
|
||||
chiseled_brick: `ad_astra:chiseled_${stone}_stone_bricks`
|
||||
}
|
||||
)))
|
||||
|
||||
// #endregion BRICK_INDEX
|
||||
|
||||
// #region COBBLE_INDEX
|
||||
global.COBBLE_INDEX = (global.TFC_STONE_TYPES ? global.TFC_STONE_TYPES : []).map(tfc_stone => ({
|
||||
cobble_type: tfc_stone,
|
||||
block: `tfc:rock/cobble/${tfc_stone}`, stairs: `tfc:rock/cobble/${tfc_stone}_stairs`, slab: `tfc:rock/cobble/${tfc_stone}_slab`, wall: `tfc:rock/cobble/${tfc_stone}_wall`,
|
||||
mossy_block: `tfc:rock/mossy_cobble/${tfc_stone}`, mossy_stairs: `tfc:rock/mossy_cobble/${tfc_stone}_stairs`, mossy_slab: `tfc:rock/mossy_cobble/${tfc_stone}_slab`, mossy_wall: `tfc:rock/mossy_cobble/${tfc_stone}_wall`
|
||||
}));
|
||||
|
||||
global.COBBLE_INDEX = global.COBBLE_INDEX.concat([
|
||||
{
|
||||
cobble_type: 'deepslate',
|
||||
block: 'minecraft:cobbled_deepslate', stairs: 'minecraft:cobbled_deepslate_stairs', slab: 'minecraft:cobbled_deepslate_slab', wall: 'minecraft:cobbled_deepslate_wall',
|
||||
mossy_block: 'tfg:rock/mossy_cobble_deepslate', mossy_stairs: 'tfg:rock/mossy_cobble_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_cobble_deepslate_slab', mossy_wall: 'tfg:rock/mossy_cobble_deepslate_wall'
|
||||
},
|
||||
|
||||
{
|
||||
cobble_type: 'blackstone',
|
||||
block: 'tfg:rock/cobble_blackstone', stairs: 'tfg:rock/cobble_blackstone_stairs', slab: 'tfg:rock/cobble_blackstone_slab', wall: 'tfg:rock/cobble_blackstone_wall',
|
||||
mossy_block: 'tfg:rock/mossy_cobble_blackstone', mossy_stairs: 'tfg:rock/mossy_cobble_blackstone_stairs', mossy_slab: 'tfg:rock/mossy_cobble_blackstone_slab', mossy_wall: 'tfg:rock/mossy_cobble_blackstone_wall'
|
||||
},
|
||||
|
||||
{
|
||||
cobble_type: 'dripstone',
|
||||
block: 'tfg:rock/cobble_dripstone', stairs: 'tfg:rock/cobble_dripstone_stairs', slab: 'tfg:rock/cobble_dripstone_slab', wall: 'tfg:rock/cobble_dripstone_wall',
|
||||
mossy_block: 'tfg:rock/mossy_cobble_dripstone', mossy_stairs: 'tfg:rock/mossy_cobble_dripstone_stairs', mossy_slab: 'tfg:rock/mossy_cobble_dripstone_slab', mossy_wall: 'tfg:rock/mossy_cobble_dripstone_wall'
|
||||
},
|
||||
|
||||
{
|
||||
cobble_type: 'crackrack',
|
||||
block: 'tfg:rock/cobble_crackrack', stairs: 'tfg:rock/cobble_crackrack_stairs', slab: 'tfg:rock/cobble_crackrack_slab', wall: 'tfg:rock/cobble_crackrack_wall',
|
||||
mossy_block: 'tfg:rock/mossy_cobble_crackrack', mossy_stairs: 'tfg:rock/mossy_cobble_crackrack_stairs', mossy_slab: 'tfg:rock/mossy_cobble_crackrack_slab', mossy_wall: 'tfg:rock/mossy_cobble_crackrack_wall'
|
||||
},
|
||||
|
||||
{
|
||||
cobble_type: 'moon_deepslate',
|
||||
block: 'tfg:rock/cobble_moon_deepslate', stairs: 'tfg:rock/cobble_moon_deepslate_stairs', slab: 'tfg:rock/cobble_moon_deepslate_slab', wall: 'tfg:rock/cobble_moon_deepslate_wall',
|
||||
mossy_block: 'tfg:rock/mossy_cobble_moon_deepslate', mossy_stairs: 'tfg:rock/mossy_cobble_moon_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_cobble_moon_deepslate_slab', mossy_wall: 'tfg:rock/mossy_cobble_moon_deepslate_wall'
|
||||
},
|
||||
|
||||
{
|
||||
cobble_type: 'permafrost',
|
||||
block: 'tfg:rock/cobble_permafrost', stairs: 'tfg:rock/cobble_permafrost_stairs', slab: 'tfg:rock/cobble_permafrost_slab', wall: 'tfg:rock/cobble_permafrost_wall',
|
||||
mossy_block: 'tfg:rock/mossy_cobble_permafrost', mossy_stairs: 'tfg:rock/mossy_cobble_permafrost_stairs', mossy_slab: 'tfg:rock/mossy_cobble_permafrost_slab', mossy_wall: 'tfg:rock/mossy_cobble_permafrost_wall'
|
||||
},
|
||||
|
||||
{
|
||||
cobble_type: 'red_granite',
|
||||
block: 'gtceu:red_granite_cobblestone', stairs: 'tfg:rock/cobble_red_granite_stairs', slab: 'tfg:rock/cobble_red_granite_slab', wall: 'tfg:rock/cobble_red_granite_wall',
|
||||
mossy_block: 'gtceu:mossy_red_granite_cobblestone', mossy_stairs: 'tfg:rock/mossy_cobble_red_granite_stairs', mossy_slab: 'tfg:rock/mossy_cobble_red_granite_slab', mossy_wall: 'tfg:rock/mossy_cobble_red_granite_wall'
|
||||
},
|
||||
|
||||
{
|
||||
cobble_type: 'stone',
|
||||
block: 'minecraft:cobblestone', stairs: 'minecraft:cobblestone_stairs', slab: 'minecraft:cobblestone_slab', wall: 'minecraft:cobblestone_wall',
|
||||
mossy_block: 'minecraft:mossy_cobblestone', mossy_stairs: 'minecraft:mossy_cobblestone_stairs', mossy_slab: 'minecraft:mossy_cobblestone_slab', mossy_wall: 'minecraft:mossy_cobblestone_wall'
|
||||
}
|
||||
]);
|
||||
|
||||
global.COBBLE_INDEX = global.COBBLE_INDEX.concat((AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => (
|
||||
{
|
||||
cobble_type: stone,
|
||||
block: `ad_astra:${stone}_cobblestone`, stairs: `ad_astra:${stone}_cobblestone_stairs`, slab: `ad_astra:${stone}_cobblestone_slab`, wall: `tfg:rock/cobble_${stone}_wall`,
|
||||
mossy_block: `tfg:rock/mossy_cobble_${stone}`, mossy_stairs: `tfg:rock/mossy_cobble_${stone}_stairs`, mossy_slab: `tfg:rock/mossy_cobble_${stone}_slab`, mossy_wall: `tfg:rock/mossy_cobble_${stone}_wall`
|
||||
}
|
||||
)))
|
||||
|
||||
// #endregion COBBLE_INDEX
|
||||
|
||||
/**
|
||||
* Function for replacing a block with another block by crouch-right-clicking with a tool.
|
||||
*
|
||||
* If input and output is null recipe will just return.
|
||||
*
|
||||
* @param {*} event
|
||||
* @param {string} inputBlock -Block ID to be replaced. Accepts a Tag, but not recommended.
|
||||
* @param {string} outputBlock -Block ID of the replacement.
|
||||
* @param {string} toolId -Item ID of the tool.
|
||||
* @param {boolean} damageTool -Sets wether the tool should be damaged on use.
|
||||
* @param {string} soundId -Sound ID to be used as the flair sound effect. Can be null.
|
||||
* @param {string} particleId -SimpleParticleType ID to be used as the flair particle. Can be null.
|
||||
* @param {boolean} copyBlockstate - Sets wether the blockstate should be copied from the input block to the output block.
|
||||
*/
|
||||
function transformBlockWithTool(event, inputBlock, outputBlock, toolId, damageTool, soundId, particleId, copyBlockstate) {
|
||||
const { server, item, player, block } = event;
|
||||
|
||||
if (!inputBlock || !outputBlock) return;
|
||||
|
||||
if (inputBlock.startsWith('#')) {
|
||||
if (!block.hasTag(inputBlock.substring(1))) return;
|
||||
} else {
|
||||
if (block.id.toString() !== inputBlock) return;
|
||||
}
|
||||
|
||||
if (toolId.startsWith('#')) {
|
||||
if (item.isEmpty() || !player.mainHandItem.hasTag(toolId.substring(1))) return;
|
||||
} else {
|
||||
if (item.isEmpty() || player.mainHandItem.id !== toolId) return;
|
||||
}
|
||||
|
||||
if (!player.crouching) return;
|
||||
|
||||
let state = block.getBlockState().toString();
|
||||
if (state.includes('[') && copyBlockstate === true) {
|
||||
state = state.substring(state.indexOf('['));
|
||||
} else {
|
||||
state = '';
|
||||
}
|
||||
|
||||
if (soundId) {
|
||||
server.runCommandSilent(`playsound ${soundId} player ${player.username} ${player.x} ${player.y} ${player.z} 1 2 1`)
|
||||
}
|
||||
if (particleId) {
|
||||
server.runCommandSilent(`particle ${particleId} ${block.x} ${block.y + 0.8} ${block.z} 0.1 0.1 0.1 0.6 10`)
|
||||
}
|
||||
player.swing();
|
||||
|
||||
if (!player.isCreative() && damageTool) {
|
||||
item.damageValue++;
|
||||
if (item.damageValue >= item.maxDamage) {
|
||||
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`);
|
||||
item.count--;
|
||||
}
|
||||
}
|
||||
|
||||
const dim = block.level.name.getString();
|
||||
server.runCommandSilent(`execute in ${dim} run fill ${block.x} ${block.y} ${block.z} ${block.x} ${block.y} ${block.z} air`);
|
||||
server.runCommandSilent(`execute in ${dim} run setblock ${block.x} ${block.y} ${block.z} ${outputBlock}${state}`);
|
||||
};
|
||||
|
||||
/**
|
||||
* Function for replacing a block with another block by crouch-right-clicking with a tool and receiving an item.
|
||||
*
|
||||
* If input and output is null recipe will just return.
|
||||
*
|
||||
* @param {*} event
|
||||
* @param {string} inputBlock -Block ID to be replaced. Accepts a Tag, but not recommended.
|
||||
* @param {string} outputBlock -Block ID of the replacement.
|
||||
* @param {string} outputItem -Item ID of item to receive
|
||||
* @param {number} outputCount -Number of items to be returned
|
||||
* @param {string} toolId -Item ID of the tool.
|
||||
* @param {boolean} damageTool -Sets wether the tool should be damaged on use.
|
||||
* @param {string} soundId -Sound ID to be used as the flair sound effect. Can be null.
|
||||
* @param {string} particleId -SimpleParticleType ID to be used as the flair particle. Can be null.
|
||||
* @param {boolean} copyBlockstate - Sets wether the blockstate should be copied from the input block to the output block.
|
||||
*/
|
||||
function transformBlockWithToolReturn(event, inputBlock, outputBlock, outputItem, outputCount, toolId, damageTool, soundId, particleId, copyBlockstate) {
|
||||
const { server, item, player, block } = event;
|
||||
|
||||
if (!inputBlock || !outputBlock) return;
|
||||
|
||||
if (inputBlock.startsWith('#')) {
|
||||
if (!block.hasTag(inputBlock.substring(1))) return;
|
||||
} else {
|
||||
if (block.id.toString() !== inputBlock) return;
|
||||
}
|
||||
if (!player.crouching) return;
|
||||
|
||||
if (toolId.startsWith('#')) {
|
||||
if (item.isEmpty() || !player.mainHandItem.hasTag(toolId.substring(1))) return;
|
||||
} else {
|
||||
if (item.isEmpty() || player.mainHandItem.id !== toolId) return;
|
||||
}
|
||||
|
||||
transformBlockWithTool(event, inputBlock, outputBlock, toolId, damageTool, soundId, particleId, copyBlockstate)
|
||||
|
||||
const dim = block.level.name.getString();
|
||||
server.runCommandSilent(`execute in ${dim} run summon item ${player.x} ${player.y} ${player.z} {Item:{id:'${outputItem}', Count:${outputCount}b}}`);
|
||||
|
||||
}
|
||||
/**
|
||||
* Function for replacing a block with another block by crouch-right-clicking with an item.
|
||||
*
|
||||
* If input and output is null recipe will just return.
|
||||
*
|
||||
* @param {*} event
|
||||
* @param {string} inputBlock -Block ID to be replaced. Accepts a Tag, but not recommended.
|
||||
* @param {string} outputBlock -Block ID of the replacement.
|
||||
* @param {string} itemId -Item ID of the consumed item. Accepts Tags.
|
||||
* @param {boolean} consumeItem -Sets wether the item should be comsumed or not.
|
||||
* @param {number} consumeAmount -Number of items to consume, can't be greater than stacksize.
|
||||
* @param {string} soundId -Sound ID to be used as the flair sound effect. Can be null.
|
||||
* @param {string} particleId -SimpleParticleType ID to be used as the flair particle. Can be null.
|
||||
* @param {boolean} copyBlockstate - Sets wether the blockstate should be copied from the input block to the output block.
|
||||
*/
|
||||
function transformBlockWithItem(event, inputBlock, outputBlock, itemId, consumeItem, consumeAmount, soundId, particleId, copyBlockstate) {
|
||||
const { server, item, player, block } = event;
|
||||
|
||||
if (!inputBlock || !outputBlock) return;
|
||||
|
||||
if (inputBlock.startsWith('#')) {
|
||||
if (!block.hasTag(inputBlock.substring(1))) return;
|
||||
} else {
|
||||
if (block.id.toString() !== inputBlock) return;
|
||||
}
|
||||
|
||||
if (itemId.startsWith('#')) {
|
||||
if (item.isEmpty() || !player.mainHandItem.hasTag(itemId.substring(1))) return;
|
||||
} else {
|
||||
if (item.isEmpty() || player.mainHandItem.id !== itemId) return;
|
||||
}
|
||||
if (!player.crouching) return;
|
||||
|
||||
let state = block.getBlockState().toString()
|
||||
if (state.includes('[') && copyBlockstate === true) {
|
||||
state = state.substring(block.getBlockState().toString().indexOf('['));
|
||||
} else {
|
||||
state = ''
|
||||
}
|
||||
|
||||
if (!player.isCreative() && consumeItem === true) {
|
||||
if (item.count < consumeAmount) {
|
||||
player.tell(`Item count is too low. Held amount = ${item.count}, required amount = ${consumeAmount}`)
|
||||
return;
|
||||
}
|
||||
item.count -= consumeAmount;
|
||||
}
|
||||
if (soundId) {
|
||||
server.runCommandSilent(`playsound ${soundId} player ${player.username} ${player.x} ${player.y} ${player.z} 1 2 1`)
|
||||
}
|
||||
if (particleId) {
|
||||
server.runCommandSilent(`particle ${particleId} ${block.x} ${block.y + 0.8} ${block.z} 0.1 0.1 0.1 0.6 10`)
|
||||
}
|
||||
player.swing()
|
||||
event.server.runCommandSilent(`execute in ${event.block.level.name.getString()} run fill ${block.x} ${block.y} ${block.z} ${block.x} ${block.y} ${block.z} air`)
|
||||
event.server.runCommandSilent(`execute in ${event.block.level.name.getString()} run setblock ${block.x} ${block.y} ${block.z} ${outputBlock}${state}`)
|
||||
};
|
||||
|
||||
// Declare Events
|
||||
BlockEvents.rightClicked(event => {
|
||||
//Brick index events
|
||||
for (const b of global.BRICK_INDEX) {
|
||||
//brick -> cracked
|
||||
transformBlockWithTool(event, b.brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.brick_stairs, b.cracked_stairs, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.brick_slab, b.cracked_slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.brick_wall, b.cracked_wall, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
//brick -> mossy
|
||||
transformBlockWithItem(event, b.brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.brick_stairs, b.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.brick_stairs, b.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.brick_slab, b.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.brick_slab, b.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.brick_wall, b.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.brick_wall, b.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
//cracked -> mossy
|
||||
transformBlockWithItem(event, b.cracked_brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.cracked_brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.cracked_stairs, b.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.cracked_stairs, b.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.cracked_slab, b.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.cracked_slab, b.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.cracked_wall, b.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.cracked_wall, b.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
//mossy -> cracked
|
||||
transformBlockWithTool(event, b.mossy_brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.mossy_stairs, b.cracked_stairs, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.mossy_slab, b.cracked_slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.mossy_wall, b.cracked_wall, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
//mossy -> brick
|
||||
transformBlockWithTool(event, b.mossy_brick, b.brick, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.mossy_brick, b.brick, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithTool(event, b.mossy_stairs, b.brick_stairs, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.mossy_stairs, b.brick_stairs, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithTool(event, b.mossy_slab, b.brick_slab, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.mossy_slab, b.brick_slab, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithTool(event, b.mossy_wall, b.brick_wall, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.mossy_wall, b.brick_wall, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
//cracked -> brick
|
||||
transformBlockWithItem(event, b.cracked_brick, b.brick, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true);
|
||||
transformBlockWithItem(event, b.cracked_stairs, b.brick_stairs, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true);
|
||||
transformBlockWithItem(event, b.cracked_slab, b.brick_slab, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true);
|
||||
transformBlockWithItem(event, b.cracked_wall, b.brick_wall, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true);
|
||||
// brick -> smooth
|
||||
transformBlockWithTool(event, b.brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.mossy_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.cracked_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true);
|
||||
// smooth -> brick
|
||||
transformBlockWithTool(event, b.smooth_brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithTool(event, b.smooth_brick, b.brick, '#forge:tools/files', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true);
|
||||
}
|
||||
|
||||
//Cobble index events
|
||||
for (const c of global.COBBLE_INDEX) {
|
||||
//cobble -> mossy
|
||||
transformBlockWithItem(event, c.block, c.mossy_block, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.block, c.mossy_block, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.stairs, c.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.stairs, c.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.slab, c.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.slab, c.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.wall, c.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.wall, c.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
//mossy -> cobble
|
||||
transformBlockWithTool(event, c.mossy_block, c.block, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.mossy_block, c.block, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithTool(event, c.mossy_stairs, c.stairs, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.mossy_stairs, c.stairs, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithTool(event, c.mossy_slab, c.slab, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.mossy_slab, c.slab, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithTool(event, c.mossy_wall, c.wall, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.mossy_wall, c.wall, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
}
|
||||
|
||||
//Misc Events
|
||||
transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:glacian_wool_frame', 'tfg:glacian_wool', true, 2, 'block.wool.place', 'minecraft:happy_villager', true);
|
||||
transformBlockWithToolReturn(event, 'tfg:glacian_wool_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:glacian_wool', 2,'#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true);
|
||||
|
||||
transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:aes_insulation_frame', 'tfg:aes_insulation_roll', true, 1, 'block.wool.place', 'minecraft:happy_villager', true);
|
||||
transformBlockWithToolReturn(event, 'tfg:aes_insulation_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:aes_insulation_roll', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true);
|
||||
|
||||
transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:moderate_core_frame', 'tfg:graphite_moderator', true, 1, 'block.wool.place', 'minecraft:happy_villager', true);
|
||||
transformBlockWithToolReturn(event, 'tfg:moderate_core_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:graphite_moderator', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true);
|
||||
|
||||
transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:impure_moderate_core_frame', 'tfg:impure_graphite_moderator', true, 1, 'block.wool.place', 'minecraft:happy_villager', true);
|
||||
transformBlockWithToolReturn(event, 'tfg:impure_moderate_core_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:impure_graphite_moderator', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true);
|
||||
|
||||
});
|
||||
|
||||
// Makes scythes, hoes, and knives take damage when cutting grass
|
||||
BlockEvents.broken('tfc:mineable_with_sharp_tool', event => {
|
||||
let player = event.player;
|
||||
let toolUsed = player.mainHandItem;
|
||||
|
||||
if (!toolUsed.hasTag('tfc:sharp_tools')) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!player.isCreative()) {
|
||||
toolUsed.damageValue++;
|
||||
if (toolUsed.damageValue >= toolUsed.maxDamage) {
|
||||
event.server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`);
|
||||
toolUsed.count--;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -11,110 +11,6 @@ TFGServerEvents.dimensionalPowerConsumption(event => {
|
|||
event["add(java.lang.String,double)"]("ad_astra:mars_orbit", 100000);
|
||||
});
|
||||
|
||||
//#region Medicine
|
||||
|
||||
//Pills & Tablets
|
||||
const pill_event = [
|
||||
'haste',
|
||||
'luck',
|
||||
'night_vision',
|
||||
'poison',
|
||||
'regeneration',
|
||||
'slowness',
|
||||
'speed',
|
||||
'water_breathing',
|
||||
'weakness',
|
||||
];
|
||||
|
||||
pill_event.forEach(pill_event => {
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const { item, server, player, player: { x, y, z } } = event
|
||||
if (item.id !== `tfg:${pill_event}_pill`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 100)
|
||||
server.runCommandSilent(`effect give ${player.username} minecraft:${pill_event} 480 0 true`)
|
||||
server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`)
|
||||
});
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const { item, server, player, player: { x, y, z } } = event
|
||||
if (item.id !== `tfg:${pill_event}_tablet`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 100)
|
||||
server.runCommandSilent(`effect give ${player.username} minecraft:${pill_event} 1800 0 true`)
|
||||
server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`)
|
||||
});
|
||||
});
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const { item, server, player, player: { x, y, z } } = event
|
||||
if (item.id !== `tfg:antipoison_pill`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 50)
|
||||
event.player.removeEffect('minecraft:poison')
|
||||
server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`)
|
||||
});
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const { item, server, player, player: { x, y, z } } = event
|
||||
if (item.id !== `tfg:antipoison_tablet`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 50)
|
||||
event.player.removeEffect('minecraft:poison')
|
||||
event.player.removeEffect('minecraft:wither')
|
||||
event.player.removeEffect('minecraft:weakness')
|
||||
event.player.removeEffect('minecraft:slowness')
|
||||
event.player.removeEffect('minecraft:mining_fatigue')
|
||||
event.player.removeEffect('minecraft:nausea')
|
||||
event.player.removeEffect('minecraft:blindness')
|
||||
event.player.removeEffect('minecraft:hunger')
|
||||
event.player.removeEffect('minecraft:bad_omen')
|
||||
event.player.removeEffect('minecraft:darkness')
|
||||
event.player.removeEffect('minecraft:unluck')
|
||||
server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`)
|
||||
});
|
||||
|
||||
//salvos
|
||||
const salvo_event = [
|
||||
'fire_resistance',
|
||||
'invisibility',
|
||||
'luck',
|
||||
'resistance',
|
||||
];
|
||||
|
||||
salvo_event.forEach(salvo_event => {
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const { item, server, player, player: { x, y, z } } = event
|
||||
if (item.id !== `tfg:${salvo_event}_salvo`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 100)
|
||||
server.runCommandSilent(`effect give ${player.username} minecraft:${salvo_event} 480 0 true`)
|
||||
server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${player.username} ${x} ${y} ${z} 10 2 1`)
|
||||
});
|
||||
});
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const { item, server, player, player: { x, y, z } } = event
|
||||
if (item.id !== `tfg:absorption_salvo`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 200)
|
||||
server.runCommandSilent(`effect give ${player.username} minecraft:absorption 480 4 true`)
|
||||
server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${player.username} ${x} ${y} ${z} 10 2 1`)
|
||||
});
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const { item, server, player, player: { x, y, z } } = event
|
||||
if (item.id !== `tfg:instant_health_salvo`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 100)
|
||||
server.runCommandSilent(`effect give ${player.username} minecraft:instant_health 1 1 true`)
|
||||
server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${player.username} ${x} ${y} ${z} 10 2 1`)
|
||||
});
|
||||
|
||||
//#endregion
|
||||
|
||||
// Vase Sounds
|
||||
global.MINECRAFT_DYE_NAMES.forEach(color => {
|
||||
BlockEvents.rightClicked(event => {
|
||||
|
|
@ -158,623 +54,3 @@ function getTFGPersistentDataRoot(player) {
|
|||
return player.persistentData.getCompound("tfg:custom_data")
|
||||
}
|
||||
|
||||
//#region Fishing Net
|
||||
const fish = [
|
||||
'cod',
|
||||
'crappie',
|
||||
'jellyfish',
|
||||
'lake_trout',
|
||||
'largemouth_bass',
|
||||
'rainbow_trout',
|
||||
'salmon',
|
||||
'smallmouth_bass',
|
||||
'tropical_fish',
|
||||
'bluegill'
|
||||
];
|
||||
|
||||
const shellfish = [
|
||||
'lobster',
|
||||
'isopod',
|
||||
'crayfish'
|
||||
];
|
||||
|
||||
//tags wont work here (or at least I couldnt get it to work) so we need to manually declare each net tier.
|
||||
const tiers = [
|
||||
'wood',
|
||||
'brass',
|
||||
'rose_gold',
|
||||
'sterling_silver',
|
||||
'invar',
|
||||
'tin_alloy',
|
||||
'cupronickel',
|
||||
'magnalium'
|
||||
];
|
||||
|
||||
//Event detects if fish is right clicked with fishing net and then teleports the mob into the void, plays some actions and gives the player the proper item.
|
||||
tiers.forEach(tier => {
|
||||
fish.forEach(fish => {
|
||||
ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => {
|
||||
const { item, player, server, target } = event;
|
||||
|
||||
if (target.type !== `tfc:${fish}`) return
|
||||
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
|
||||
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
|
||||
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
|
||||
event.player.give(`tfc:food/${fish}`)
|
||||
player.swing()
|
||||
if (player.isCreative() === false) {
|
||||
item.damageValue++
|
||||
if (item.damageValue >= item.maxDamage) {
|
||||
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
|
||||
item.count--
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
//Shellfish Exception
|
||||
shellfish.forEach(shellfish => {
|
||||
ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => {
|
||||
const { item, player, server, target } = event;
|
||||
|
||||
if (target.type !== `tfc:${shellfish}`) return
|
||||
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
|
||||
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
|
||||
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
|
||||
event.player.give('tfc:food/shellfish')
|
||||
player.swing()
|
||||
if (player.isCreative() === false) {
|
||||
item.damageValue++
|
||||
if (item.damageValue >= item.maxDamage) {
|
||||
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
|
||||
item.count--
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
//Pufferfish Exception
|
||||
ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => {
|
||||
const { item, player, server, target } = event;
|
||||
|
||||
if (target.type !== 'tfc:pufferfish') return
|
||||
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
|
||||
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
|
||||
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
|
||||
event.player.give('minecraft:pufferfish')
|
||||
player.swing()
|
||||
if (player.isCreative() === false) {
|
||||
item.damageValue++
|
||||
if (item.damageValue >= item.maxDamage) {
|
||||
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
|
||||
item.count--
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
//#endregion
|
||||
|
||||
//#region Block Interactions
|
||||
|
||||
/**
|
||||
* @typedef {Object} BrickVariant
|
||||
* @property {string} brick_type - The name of the brick variant.
|
||||
* @property {string|null} brick - Main brick block ID.
|
||||
* @property {string|null} brick_stairs - Brick stairs block ID.
|
||||
* @property {string|null} brick_slab - Brick slab block ID.
|
||||
* @property {string|null} brick_wall - Brick wall block ID.
|
||||
* @property {string|null} cracked_brick - Cracked brick block ID.
|
||||
* @property {string|null} cracked_stairs - Cracked brick stairs block ID.
|
||||
* @property {string|null} cracked_slab - Cracked brick slab block ID.
|
||||
* @property {string|null} cracked_wall - Cracked brick wall block ID.
|
||||
* @property {string|null} mossy_brick - Mossy brick block ID.
|
||||
* @property {string|null} mossy_stairs - Mossy brick stairs block ID.
|
||||
* @property {string|null} mossy_slab - Mossy brick slab block ID.
|
||||
* @property {string|null} mossy_wall - Mossy brick wall block ID.
|
||||
* @property {string|null} smooth_brick - Smooth brick block ID.
|
||||
* @property {string|null} smooth_stairs - Smooth brick stairs block ID.
|
||||
* @property {string|null} smooth_slab - Smooth brick slab block ID.
|
||||
* @property {string|null} smooth_wall - Smooth brick wall block ID.
|
||||
* @property {string|null} chiseled_brick - Chiseled brick block ID.
|
||||
*/
|
||||
|
||||
const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio']
|
||||
|
||||
// #region BRICK_INDEX
|
||||
/** @type {BrickVariant[]} */
|
||||
global.BRICK_INDEX = (global.TFC_STONE_TYPES ? global.TFC_STONE_TYPES : []).map(tfc_stone => ({
|
||||
brick_type: tfc_stone,
|
||||
brick: `tfc:rock/bricks/${tfc_stone}`, brick_stairs: `tfc:rock/bricks/${tfc_stone}_stairs`, brick_slab: `tfc:rock/bricks/${tfc_stone}_slab`, brick_wall: `tfc:rock/bricks/${tfc_stone}_wall`,
|
||||
cracked_brick: `tfc:rock/cracked_bricks/${tfc_stone}`, cracked_stairs: `tfc:rock/cracked_bricks/${tfc_stone}_stairs`, cracked_slab: `tfc:rock/cracked_bricks/${tfc_stone}_slab`, cracked_wall: `tfc:rock/cracked_bricks/${tfc_stone}_wall`,
|
||||
mossy_brick: `tfc:rock/mossy_bricks/${tfc_stone}`, mossy_stairs: `tfc:rock/mossy_bricks/${tfc_stone}_stairs`, mossy_slab: `tfc:rock/mossy_bricks/${tfc_stone}_slab`, mossy_wall: `tfc:rock/mossy_bricks/${tfc_stone}_wall`,
|
||||
smooth_brick: `tfc:rock/smooth/${tfc_stone}`, smooth_stairs: `tfc:rock/smooth/${tfc_stone}_stairs`, smooth_slab: `tfc:rock/smooth/${tfc_stone}_slab`, smooth_wall: `tfc:rock/smooth/${tfc_stone}_wall`,
|
||||
chiseled_brick: `tfc:rock/chiseled/${tfc_stone}`
|
||||
}));
|
||||
(global.CREATE_DECO_BRICK_TYPES ? global.CREATE_DECO_BRICK_TYPES : []).slice(0, -1).forEach(create_brick => {
|
||||
global.BRICK_INDEX.push({
|
||||
brick_type: create_brick,
|
||||
brick: `createdeco:${create_brick}_bricks`, brick_stairs: `createdeco:${create_brick}_brick_stairs`, brick_slab: `createdeco:${create_brick}_brick_slab`, brick_wall: `createdeco:${create_brick}_brick_wall`,
|
||||
cracked_brick: `createdeco:cracked_${create_brick}_bricks`, cracked_stairs: `createdeco:cracked_${create_brick}_brick_stairs`, cracked_slab: `createdeco:cracked_${create_brick}_brick_slab`, cracked_wall: `createdeco:cracked_${create_brick}_brick_wall`,
|
||||
mossy_brick: `createdeco:mossy_${create_brick}_bricks`, mossy_stairs: `createdeco:mossy_${create_brick}_brick_stairs`, mossy_slab: `createdeco:mossy_${create_brick}_brick_slab`, mossy_wall: `createdeco:mossy_${create_brick}_brick_wall`,
|
||||
smooth_brick: `createdeco:corner_${create_brick}_bricks`, smooth_stairs: `createdeco:corner_${create_brick}_brick_stairs`, smooth_slab: `createdeco:corner_${create_brick}_brick_slab`, smooth_wall: `createdeco:corner_${create_brick}_brick_wall`,
|
||||
chiseled_brick: `createdeco:tiled_${create_brick}_bricks`
|
||||
})
|
||||
});
|
||||
global.BRICK_INDEX = global.BRICK_INDEX.concat([
|
||||
// { brick_type: '',
|
||||
// brick: '', brick_stairs: '', brick_slab: '', brick_wall: '',
|
||||
// cracked_brick: '', cracked_stairs: '', cracked_slab: '', cracked_wall: '',
|
||||
// mossy_brick: '', mossy_stairs: '', mossy_slab: '', mossy_wallL: '',
|
||||
// smooth_brick: '', smooth_stairs: '', smooth_slab: '', smooth_wall: '',
|
||||
// chiseled_brick: '' },
|
||||
|
||||
{
|
||||
brick_type: 'red',
|
||||
brick: 'minecraft:bricks', brick_stairs: 'minecraft:brick_stairs', brick_slab: 'minecraft:brick_slab', brick_wall: 'minecraft:brick_wall',
|
||||
cracked_brick: 'createdeco:cracked_red_bricks', cracked_stairs: 'createdeco:cracked_red_brick_stairs', cracked_slab: 'createdeco:cracked_red_brick_slab', cracked_wall: 'createdeco:cracked_red_brick_wall',
|
||||
mossy_brick: 'createdeco:mossy_red_bricks', mossy_stairs: 'createdeco:mossy_red_brick_stairs', mossy_slab: 'createdeco:mossy_red_brick_slab', mossy_wall: 'createdeco:mossy_red_brick_wall',
|
||||
smooth_brick: 'createdeco:corner_red_bricks', smooth_stairs: 'createdeco:corner_red_brick_stairs', smooth_slab: 'createdeco:corner_red_brick_slab', smooth_wall: 'createdeco:corner_red_brick_wall',
|
||||
chiseled_brick: 'createdeco:tiled_red_bricks'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'light_concrete',
|
||||
brick: 'gtceu:light_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null,
|
||||
cracked_brick: 'gtceu:cracked_light_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null,
|
||||
mossy_brick: 'gtceu:mossy_light_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null,
|
||||
smooth_brick: 'gtceu:polished_light_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null,
|
||||
chiseled_brick: 'gtceu:chiseled_light_concrete'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'dark_concrete',
|
||||
brick: 'gtceu:dark_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null,
|
||||
cracked_brick: 'gtceu:cracked_dark_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null,
|
||||
mossy_brick: 'gtceu:mossy_dark_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null,
|
||||
smooth_brick: 'gtceu:polished_dark_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null,
|
||||
chiseled_brick: 'gtceu:chiseled_dark_concrete'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'deepslate',
|
||||
brick: 'minecraft:deepslate_bricks', brick_stairs: 'minecraft:deepslate_brick_stairs', brick_slab: 'minecraft:deepslate_brick_slab', brick_wall: 'minecraft:deepslate_brick_wall',
|
||||
cracked_brick: 'minecraft:cracked_deepslate_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_bricks_deepslate_slab', cracked_wall: 'tfg:rock/cracked_bricks_deepslate_wall',
|
||||
mossy_brick: 'tfg:rock/mossy_bricks_deepslate', mossy_stairs: 'tfg:rock/mossy_bricks_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_bricks_deepslate_slab', mossy_wall: 'tfg:rock/mossy_bricks_deepslate_wall',
|
||||
smooth_brick: 'minecraft:polished_deepslate', smooth_stairs: 'minecraft:polished_deepslate_stairs', smooth_slab: 'minecraft:polished_deepslate_slab', smooth_wall: 'minecraft:polished_deepslate_wall',
|
||||
chiseled_brick: 'minecraft:chiseled_deepslate'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'deepslate_tiles',
|
||||
brick: 'minecraft:deepslate_tiles', brick_stairs: 'minecraft:deepslate_tile_stairs', brick_slab: 'minecraft:deepslate_tile_slab', brick_wall: 'minecraft:deepslate_tile_wall',
|
||||
cracked_brick: 'minecraft:cracked_deepslate_tiles', cracked_stairs: 'tfg:rock/cracked_tiles_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_tiles_deepslate_slab', cracked_wall: 'tfg:rock/cracked_tiles_deepslate_wall',
|
||||
mossy_brick: null, mossy_stairs: null, mossy_slab: null, mossy_wall: null,
|
||||
smooth_brick: 'minecraft:polished_deepslate', smooth_stairs: 'minecraft:polished_deepslate_stairs', smooth_slab: 'minecraft:polished_deepslate_slab', smooth_wall: 'minecraft:polished_deepslate_wall',
|
||||
chiseled_brick: 'minecraft:chiseled_deepslate'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'blackstone',
|
||||
brick: 'minecraft:polished_blackstone_bricks', brick_stairs: 'minecraft:polished_blackstone_brick_stairs', brick_slab: 'minecraft:polished_blackstone_brick_slab', brick_wall: 'minecraft:polished_blackstone_brick_wall',
|
||||
cracked_brick: 'minecraft:cracked_polished_blackstone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_blackstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_blackstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_blackstone_wall',
|
||||
mossy_brick: 'tfg:rock/mossy_bricks_blackstone', mossy_stairs: 'tfg:rock/mossy_bricks_blackstone_stairs', mossy_slab: 'tfg:rock/mossy_bricks_blackstone_slab', mossy_wall: 'tfg:rock/mossy_bricks_blackstone_wall',
|
||||
smooth_brick: 'minecraft:polished_blackstone', smooth_stairs: 'minecraft:polished_blackstone_stairs', smooth_slab: 'minecraft:polished_blackstone_slab', smooth_wall: 'minecraft:polished_blackstone_wall',
|
||||
chiseled_brick: 'minecraft:chiseled_polished_blackstone'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'dripstone',
|
||||
brick: 'create:cut_dripstone_bricks', brick_stairs: 'create:cut_dripstone_brick_stairs', brick_slab: 'create:cut_dripstone_brick_slab', brick_wall: 'create:cut_dripstone_brick_wall',
|
||||
cracked_brick: 'tfg:rock/cracked_bricks_dripstone', cracked_stairs: 'tfg:rock/cracked_bricks_dripstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_dripstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_dripstone_wall',
|
||||
mossy_brick: 'tfg:rock/mossy_bricks_dripstone', mossy_stairs: 'tfg:rock/mossy_bricks_dripstone_stairs', mossy_slab: 'tfg:rock/mossy_bricks_dripstone_slab', mossy_wall: 'tfg:rock/mossy_bricks_dripstone_wall',
|
||||
smooth_brick: 'create:polished_cut_dripstone', smooth_stairs: 'create:polished_cut_dripstone_stairs', smooth_slab: 'create:polished_cut_dripstone_slab', smooth_wall: 'create:polished_cut_dripstone_wall',
|
||||
chiseled_brick: 'create:small_dripstone_bricks'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'crackrack',
|
||||
brick: 'minecraft:nether_bricks', brick_stairs: 'minecraft:nether_bricks_stairs', brick_slab: 'minecraft:nether_bricks_slab', brick_wall: 'minecraft:nether_bricks_wall',
|
||||
cracked_brick: 'minecraft:cracked_nether_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_nether_stairs', cracked_slab: 'tfg:rock/cracked_bricks_nether_slab', cracked_wall: 'tfg:rock/cracked_bricks_nether_wall',
|
||||
mossy_brick: 'tfg:rock/mossy_bricks_nether', mossy_stairs: 'tfg:rock/mossy_bricks_nether_stairs', mossy_slab: 'tfg:rock/mossy_bricks_nether_slab', mossy_wall: 'tfg:rock/mossy_bricks_nether_wall',
|
||||
smooth_brick: 'tfg:rock/polished_crackrack', smooth_stairs: 'tfg:rock/polished_crackrack_stairs', smooth_slab: 'tfg:rock/polished_crackrack_slab', smooth_wall: 'tfg:rock/polished_crackrack_wall',
|
||||
chiseled_brick: 'minecraft:chiseled_nether_bricks'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'moon_deepslate',
|
||||
brick: 'tfg:rock/bricks_moon_deepslate', brick_stairs: 'tfg:rock/bricks_moon_deepslate_stairs', brick_slab: 'tfg:rock/bricks_moon_deepslate_slab', brick_wall: 'tfg:rock/bricks_moon_deepslate_wall',
|
||||
cracked_brick: 'tfg:rock/cracked_bricks_moon_deepslate', cracked_stairs: 'tfg:rock/cracked_bricks_moon_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_bricks_moon_slab', cracked_wall: 'tfg:rock/cracked_bricks_moon_wall',
|
||||
mossy_brick: 'tfg:rock/mossy_bricks_moon_deepslate', mossy_stairs: 'tfg:rock/mossy_bricks_moon_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_bricks_moon_slab', mossy_wall: 'tfg:rock/mossy_bricks_moon_deepslate_wall',
|
||||
smooth_brick: 'tfg:rock/polished_moon_deepslate', smooth_stairs: 'tfg:rock/polished_moon_deepslate_stairs', smooth_slab: 'ad_astra:polished_moon_stone_slab', smooth_wall: 'tfg:rock/polished_moon_deepslate_wall',
|
||||
chiseled_brick: 'tfg:rock/chiseled_bricks_moon_deepslate'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'permafrost',
|
||||
brick: 'ad_astra:permafrost_bricks', brick_stairs: 'ad_astra:permafrost_brick_stairs', brick_slab: 'ad_astra:permafrost_brick_slab', brick_wall: 'ad_astra:permafrost_brick_wall',
|
||||
cracked_brick: 'ad_astra:cracked_permafrost_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_permafrost_stairs', cracked_slab: 'tfg:rock/cracked_bricks_permafrost_slab', cracked_wall: 'tfg:rock/cracked_bricks_permafrost_wall',
|
||||
mossy_brick: 'tfg:rock/mossy_bricks_permafrost', mossy_stairs: 'tfg:rock/mossy_bricks_permafrost_stairs', mossy_slab: 'tfg:rock/mossy_bricks_permafrost_slab', mossy_wall: 'tfg:rock/mossy_bricks_permafrost_wall',
|
||||
smooth_brick: 'ad_astra:polished_permafrost', smooth_stairs: 'ad_astra:polished_permafrost_stairs', smooth_slab: 'ad_astra:polished_permafrost_slab', smooth_wall: 'tfg:rock/polished_permafrost_wall',
|
||||
chiseled_brick: 'ad_astra:chiseled_permafrost_bricks'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'red_granite',
|
||||
brick: 'gtceu:red_granite_bricks', brick_stairs: 'tfg:rock/bricks_red_granite_stairs', brick_slab: 'tfg:rock/bricks_red_granite_slab', brick_wall: 'tfg:rock/bricks_red_granite_wall',
|
||||
cracked_brick: 'gtceu:cracked_red_granite_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_red_granite_stairs', cracked_slab: 'tfg:rock/cracked_bricks_red_granite_slab', cracked_wall: 'tfg:rock/cracked_bricks_red_granite_wall',
|
||||
mossy_brick: 'gtceu:mossy_red_granite_bricks', mossy_stairs: 'tfg:rock/mossy_bricks_red_granite_stairs', mossy_slab: 'tfg:rock/mossy_bricks_red_granite_slab', mossy_wall: 'tfg:rock/mossy_bricks_red_granite_wall',
|
||||
smooth_brick: 'gtceu:polished_red_granite', smooth_stairs: 'tfg:rock/polished_red_granite_stairs', smooth_slab: 'tfg:rock/polished_red_granite_slab', smooth_wall: 'tfg:rock/polished_red_granite_wall',
|
||||
chiseled_brick: 'gtceu:chiseled_red_granite'
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'venus_sandstone',
|
||||
brick: 'ad_astra:venus_sandstone_bricks', brick_stairs: 'ad_astra:venus_sandstone_brick_stairs', brick_slab: 'ad_astra:venus_sandstone_brick_slab', brick_wall: 'tfg:rock/bricks_venus_sandstone_wall',
|
||||
cracked_brick: 'ad_astra:cracked_venus_sandstone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_venus_sandstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_venus_sandstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_stone_wall',
|
||||
mossy_brick: null, mossy_stairs: null, mossy_slab: null, mossy_wall: null,
|
||||
smooth_brick: null, smooth_stairs: null, smooth_slab: null, smooth_wall: null,
|
||||
chiseled_brick: null
|
||||
},
|
||||
|
||||
{
|
||||
brick_type: 'stone',
|
||||
brick: 'minecraft:stone_bricks', brick_stairs: 'minecraft:stone_brick_stairs', brick_slab: 'minecraft:stone_brick_slab', brick_wall: 'minecraft:stone_brick_wall',
|
||||
cracked_brick: 'minecraft:cracked_stone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_stone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_stone_slab', cracked_wall: 'tfg:rock/cracked_bricks_stone_wall',
|
||||
mossy_brick: 'minecraft:mossy_stone_bricks', mossy_stairs: 'minecraft:mossy_stone_brick_stairs', mossy_slab: 'minecraft:mossy_stone_brick_slab', mossy_wall: 'minecraft:mossy_stone_brick_wall',
|
||||
smooth_brick: 'minecraft:smooth_stone', smooth_stairs: 'tfg:rock/smooth_stone_stairs', smooth_slab: 'minecraft:smooth_stone_slab', smooth_wall: 'tfg:rock/smooth_stone_wall',
|
||||
chiseled_brick: 'minecraft:chiseled_stone_bricks'
|
||||
}
|
||||
]);
|
||||
|
||||
global.BRICK_INDEX = global.BRICK_INDEX.concat((AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => (
|
||||
{
|
||||
brick_type: stone,
|
||||
brick: `ad_astra:${stone}_stone_bricks`, brick_stairs: `ad_astra:${stone}_stone_brick_stairs`, brick_slab: `ad_astra:${stone}_stone_brick_slab`, brick_wall: `ad_astra:${stone}_stone_brick_wall`,
|
||||
cracked_brick: `ad_astra:cracked_${stone}_stone_bricks`, cracked_stairs: `tfg:rock/cracked_bricks_${stone}_stairs`, cracked_slab: `tfg:rock/cracked_bricks_${stone}_slab`, cracked_wall: `tfg:rock/cracked_bricks_${stone}_wall`,
|
||||
mossy_brick: `tfg:rock/mossy_bricks_${stone}`, mossy_stairs: `tfg:rock/mossy_bricks_${stone}_stairs`, mossy_slab: `tfg:rock/mossy_bricks_${stone}_slab`, mossy_wall: `tfg:rock/mossy_bricks_${stone}_wall`,
|
||||
smooth_brick: `ad_astra:polished_${stone}_stone`, smooth_stairs: `ad_astra:polished_${stone}_stone_stairs`, smooth_slab: `ad_astra:polished_${stone}_stone_slab`, smooth_wall: `tfg:rock/polished_${stone}_wall`,
|
||||
chiseled_brick: `ad_astra:chiseled_${stone}_stone_bricks`
|
||||
}
|
||||
)))
|
||||
|
||||
// #endregion BRICK_INDEX
|
||||
|
||||
// #region COBBLE_INDEX
|
||||
global.COBBLE_INDEX = (global.TFC_STONE_TYPES ? global.TFC_STONE_TYPES : []).map(tfc_stone => ({
|
||||
cobble_type: tfc_stone,
|
||||
block: `tfc:rock/cobble/${tfc_stone}`, stairs: `tfc:rock/cobble/${tfc_stone}_stairs`, slab: `tfc:rock/cobble/${tfc_stone}_slab`, wall: `tfc:rock/cobble/${tfc_stone}_wall`,
|
||||
mossy_block: `tfc:rock/mossy_cobble/${tfc_stone}`, mossy_stairs: `tfc:rock/mossy_cobble/${tfc_stone}_stairs`, mossy_slab: `tfc:rock/mossy_cobble/${tfc_stone}_slab`, mossy_wall: `tfc:rock/mossy_cobble/${tfc_stone}_wall`
|
||||
}));
|
||||
|
||||
global.COBBLE_INDEX = global.COBBLE_INDEX.concat([
|
||||
{
|
||||
cobble_type: 'deepslate',
|
||||
block: 'minecraft:cobbled_deepslate', stairs: 'minecraft:cobbled_deepslate_stairs', slab: 'minecraft:cobbled_deepslate_slab', wall: 'minecraft:cobbled_deepslate_wall',
|
||||
mossy_block: 'tfg:rock/mossy_cobble_deepslate', mossy_stairs: 'tfg:rock/mossy_cobble_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_cobble_deepslate_slab', mossy_wall: 'tfg:rock/mossy_cobble_deepslate_wall'
|
||||
},
|
||||
|
||||
{
|
||||
cobble_type: 'blackstone',
|
||||
block: 'tfg:rock/cobble_blackstone', stairs: 'tfg:rock/cobble_blackstone_stairs', slab: 'tfg:rock/cobble_blackstone_slab', wall: 'tfg:rock/cobble_blackstone_wall',
|
||||
mossy_block: 'tfg:rock/mossy_cobble_blackstone', mossy_stairs: 'tfg:rock/mossy_cobble_blackstone_stairs', mossy_slab: 'tfg:rock/mossy_cobble_blackstone_slab', mossy_wall: 'tfg:rock/mossy_cobble_blackstone_wall'
|
||||
},
|
||||
|
||||
{
|
||||
cobble_type: 'dripstone',
|
||||
block: 'tfg:rock/cobble_dripstone', stairs: 'tfg:rock/cobble_dripstone_stairs', slab: 'tfg:rock/cobble_dripstone_slab', wall: 'tfg:rock/cobble_dripstone_wall',
|
||||
mossy_block: 'tfg:rock/mossy_cobble_dripstone', mossy_stairs: 'tfg:rock/mossy_cobble_dripstone_stairs', mossy_slab: 'tfg:rock/mossy_cobble_dripstone_slab', mossy_wall: 'tfg:rock/mossy_cobble_dripstone_wall'
|
||||
},
|
||||
|
||||
{
|
||||
cobble_type: 'crackrack',
|
||||
block: 'tfg:rock/cobble_crackrack', stairs: 'tfg:rock/cobble_crackrack_stairs', slab: 'tfg:rock/cobble_crackrack_slab', wall: 'tfg:rock/cobble_crackrack_wall',
|
||||
mossy_block: 'tfg:rock/mossy_cobble_crackrack', mossy_stairs: 'tfg:rock/mossy_cobble_crackrack_stairs', mossy_slab: 'tfg:rock/mossy_cobble_crackrack_slab', mossy_wall: 'tfg:rock/mossy_cobble_crackrack_wall'
|
||||
},
|
||||
|
||||
{
|
||||
cobble_type: 'moon_deepslate',
|
||||
block: 'tfg:rock/cobble_moon_deepslate', stairs: 'tfg:rock/cobble_moon_deepslate_stairs', slab: 'tfg:rock/cobble_moon_deepslate_slab', wall: 'tfg:rock/cobble_moon_deepslate_wall',
|
||||
mossy_block: 'tfg:rock/mossy_cobble_moon_deepslate', mossy_stairs: 'tfg:rock/mossy_cobble_moon_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_cobble_moon_deepslate_slab', mossy_wall: 'tfg:rock/mossy_cobble_moon_deepslate_wall'
|
||||
},
|
||||
|
||||
{
|
||||
cobble_type: 'permafrost',
|
||||
block: 'tfg:rock/cobble_permafrost', stairs: 'tfg:rock/cobble_permafrost_stairs', slab: 'tfg:rock/cobble_permafrost_slab', wall: 'tfg:rock/cobble_permafrost_wall',
|
||||
mossy_block: 'tfg:rock/mossy_cobble_permafrost', mossy_stairs: 'tfg:rock/mossy_cobble_permafrost_stairs', mossy_slab: 'tfg:rock/mossy_cobble_permafrost_slab', mossy_wall: 'tfg:rock/mossy_cobble_permafrost_wall'
|
||||
},
|
||||
|
||||
{
|
||||
cobble_type: 'red_granite',
|
||||
block: 'gtceu:red_granite_cobblestone', stairs: 'tfg:rock/cobble_red_granite_stairs', slab: 'tfg:rock/cobble_red_granite_slab', wall: 'tfg:rock/cobble_red_granite_wall',
|
||||
mossy_block: 'gtceu:mossy_red_granite_cobblestone', mossy_stairs: 'tfg:rock/mossy_cobble_red_granite_stairs', mossy_slab: 'tfg:rock/mossy_cobble_red_granite_slab', mossy_wall: 'tfg:rock/mossy_cobble_red_granite_wall'
|
||||
},
|
||||
|
||||
{
|
||||
cobble_type: 'stone',
|
||||
block: 'minecraft:cobblestone', stairs: 'minecraft:cobblestone_stairs', slab: 'minecraft:cobblestone_slab', wall: 'minecraft:cobblestone_wall',
|
||||
mossy_block: 'minecraft:mossy_cobblestone', mossy_stairs: 'minecraft:mossy_cobblestone_stairs', mossy_slab: 'minecraft:mossy_cobblestone_slab', mossy_wall: 'minecraft:mossy_cobblestone_wall'
|
||||
}
|
||||
]);
|
||||
|
||||
global.COBBLE_INDEX = global.COBBLE_INDEX.concat((AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => (
|
||||
{
|
||||
cobble_type: stone,
|
||||
block: `ad_astra:${stone}_cobblestone`, stairs: `ad_astra:${stone}_cobblestone_stairs`, slab: `ad_astra:${stone}_cobblestone_slab`, wall: `tfg:rock/cobble_${stone}_wall`,
|
||||
mossy_block: `tfg:rock/mossy_cobble_${stone}`, mossy_stairs: `tfg:rock/mossy_cobble_${stone}_stairs`, mossy_slab: `tfg:rock/mossy_cobble_${stone}_slab`, mossy_wall: `tfg:rock/mossy_cobble_${stone}_wall`
|
||||
}
|
||||
)))
|
||||
|
||||
// #endregion COBBLE_INDEX
|
||||
|
||||
/**
|
||||
* Function for replacing a block with another block by crouch-right-clicking with a tool.
|
||||
*
|
||||
* If input and output is null recipe will just return.
|
||||
*
|
||||
* @param {*} event
|
||||
* @param {string} inputBlock -Block ID to be replaced. Accepts a Tag, but not recommended.
|
||||
* @param {string} outputBlock -Block ID of the replacement.
|
||||
* @param {string} toolId -Item ID of the tool.
|
||||
* @param {boolean} damageTool -Sets wether the tool should be damaged on use.
|
||||
* @param {string} soundId -Sound ID to be used as the flair sound effect. Can be null.
|
||||
* @param {string} particleId -SimpleParticleType ID to be used as the flair particle. Can be null.
|
||||
* @param {boolean} copyBlockstate - Sets wether the blockstate should be copied from the input block to the output block.
|
||||
*/
|
||||
function transformBlockWithTool(event, inputBlock, outputBlock, toolId, damageTool, soundId, particleId, copyBlockstate) {
|
||||
const { server, item, player, block } = event;
|
||||
|
||||
if (!inputBlock || !outputBlock) return;
|
||||
|
||||
if (inputBlock.startsWith('#')) {
|
||||
if (!block.hasTag(inputBlock.substring(1))) return;
|
||||
} else {
|
||||
if (block.id.toString() !== inputBlock) return;
|
||||
}
|
||||
|
||||
if (toolId.startsWith('#')) {
|
||||
if (item.isEmpty() || !player.mainHandItem.hasTag(toolId.substring(1))) return;
|
||||
} else {
|
||||
if (item.isEmpty() || player.mainHandItem.id !== toolId) return;
|
||||
}
|
||||
|
||||
if (!player.crouching) return;
|
||||
|
||||
let state = block.getBlockState().toString();
|
||||
if (state.includes('[') && copyBlockstate === true) {
|
||||
state = state.substring(state.indexOf('['));
|
||||
} else {
|
||||
state = '';
|
||||
}
|
||||
|
||||
if (soundId) {
|
||||
server.runCommandSilent(`playsound ${soundId} player ${player.username} ${player.x} ${player.y} ${player.z} 1 2 1`)
|
||||
}
|
||||
if (particleId) {
|
||||
server.runCommandSilent(`particle ${particleId} ${block.x} ${block.y + 0.8} ${block.z} 0.1 0.1 0.1 0.6 10`)
|
||||
}
|
||||
player.swing();
|
||||
|
||||
if (!player.isCreative() && damageTool) {
|
||||
item.damageValue++;
|
||||
if (item.damageValue >= item.maxDamage) {
|
||||
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`);
|
||||
item.count--;
|
||||
}
|
||||
}
|
||||
|
||||
const dim = block.level.name.getString();
|
||||
server.runCommandSilent(`execute in ${dim} run fill ${block.x} ${block.y} ${block.z} ${block.x} ${block.y} ${block.z} air`);
|
||||
server.runCommandSilent(`execute in ${dim} run setblock ${block.x} ${block.y} ${block.z} ${outputBlock}${state}`);
|
||||
};
|
||||
|
||||
/**
|
||||
* Function for replacing a block with another block by crouch-right-clicking with a tool and receiving an item.
|
||||
*
|
||||
* If input and output is null recipe will just return.
|
||||
*
|
||||
* @param {*} event
|
||||
* @param {string} inputBlock -Block ID to be replaced. Accepts a Tag, but not recommended.
|
||||
* @param {string} outputBlock -Block ID of the replacement.
|
||||
* @param {string} outputItem -Item ID of item to receive
|
||||
* @param {number} outputCount -Number of items to be returned
|
||||
* @param {string} toolId -Item ID of the tool.
|
||||
* @param {boolean} damageTool -Sets wether the tool should be damaged on use.
|
||||
* @param {string} soundId -Sound ID to be used as the flair sound effect. Can be null.
|
||||
* @param {string} particleId -SimpleParticleType ID to be used as the flair particle. Can be null.
|
||||
* @param {boolean} copyBlockstate - Sets wether the blockstate should be copied from the input block to the output block.
|
||||
*/
|
||||
function transformBlockWithToolReturn(event, inputBlock, outputBlock, outputItem, outputCount, toolId, damageTool, soundId, particleId, copyBlockstate) {
|
||||
const { server, item, player, block } = event;
|
||||
|
||||
if (!inputBlock || !outputBlock) return;
|
||||
|
||||
if (inputBlock.startsWith('#')) {
|
||||
if (!block.hasTag(inputBlock.substring(1))) return;
|
||||
} else {
|
||||
if (block.id.toString() !== inputBlock) return;
|
||||
}
|
||||
if (!player.crouching) return;
|
||||
|
||||
if (toolId.startsWith('#')) {
|
||||
if (item.isEmpty() || !player.mainHandItem.hasTag(toolId.substring(1))) return;
|
||||
} else {
|
||||
if (item.isEmpty() || player.mainHandItem.id !== toolId) return;
|
||||
}
|
||||
|
||||
transformBlockWithTool(event, inputBlock, outputBlock, toolId, damageTool, soundId, particleId, copyBlockstate)
|
||||
|
||||
const dim = block.level.name.getString();
|
||||
server.runCommandSilent(`execute in ${dim} run summon item ${player.x} ${player.y} ${player.z} {Item:{id:'${outputItem}', Count:${outputCount}b}}`);
|
||||
|
||||
}
|
||||
/**
|
||||
* Function for replacing a block with another block by crouch-right-clicking with an item.
|
||||
*
|
||||
* If input and output is null recipe will just return.
|
||||
*
|
||||
* @param {*} event
|
||||
* @param {string} inputBlock -Block ID to be replaced. Accepts a Tag, but not recommended.
|
||||
* @param {string} outputBlock -Block ID of the replacement.
|
||||
* @param {string} itemId -Item ID of the consumed item. Accepts Tags.
|
||||
* @param {boolean} consumeItem -Sets wether the item should be comsumed or not.
|
||||
* @param {number} consumeAmount -Number of items to consume, can't be greater than stacksize.
|
||||
* @param {string} soundId -Sound ID to be used as the flair sound effect. Can be null.
|
||||
* @param {string} particleId -SimpleParticleType ID to be used as the flair particle. Can be null.
|
||||
* @param {boolean} copyBlockstate - Sets wether the blockstate should be copied from the input block to the output block.
|
||||
*/
|
||||
function transformBlockWithItem(event, inputBlock, outputBlock, itemId, consumeItem, consumeAmount, soundId, particleId, copyBlockstate) {
|
||||
const { server, item, player, block } = event;
|
||||
|
||||
if (!inputBlock || !outputBlock) return;
|
||||
|
||||
if (inputBlock.startsWith('#')) {
|
||||
if (!block.hasTag(inputBlock.substring(1))) return;
|
||||
} else {
|
||||
if (block.id.toString() !== inputBlock) return;
|
||||
}
|
||||
|
||||
if (itemId.startsWith('#')) {
|
||||
if (item.isEmpty() || !player.mainHandItem.hasTag(itemId.substring(1))) return;
|
||||
} else {
|
||||
if (item.isEmpty() || player.mainHandItem.id !== itemId) return;
|
||||
}
|
||||
if (!player.crouching) return;
|
||||
|
||||
let state = block.getBlockState().toString()
|
||||
if (state.includes('[') && copyBlockstate === true) {
|
||||
state = state.substring(block.getBlockState().toString().indexOf('['));
|
||||
} else {
|
||||
state = ''
|
||||
}
|
||||
|
||||
if (!player.isCreative() && consumeItem === true) {
|
||||
if (item.count < consumeAmount) {
|
||||
player.tell(`Item count is too low. Held amount = ${item.count}, required amount = ${consumeAmount}`)
|
||||
return;
|
||||
}
|
||||
item.count -= consumeAmount;
|
||||
}
|
||||
if (soundId) {
|
||||
server.runCommandSilent(`playsound ${soundId} player ${player.username} ${player.x} ${player.y} ${player.z} 1 2 1`)
|
||||
}
|
||||
if (particleId) {
|
||||
server.runCommandSilent(`particle ${particleId} ${block.x} ${block.y + 0.8} ${block.z} 0.1 0.1 0.1 0.6 10`)
|
||||
}
|
||||
player.swing()
|
||||
event.server.runCommandSilent(`execute in ${event.block.level.name.getString()} run fill ${block.x} ${block.y} ${block.z} ${block.x} ${block.y} ${block.z} air`)
|
||||
event.server.runCommandSilent(`execute in ${event.block.level.name.getString()} run setblock ${block.x} ${block.y} ${block.z} ${outputBlock}${state}`)
|
||||
};
|
||||
|
||||
// Declare Events
|
||||
BlockEvents.rightClicked(event => {
|
||||
//Brick index events
|
||||
for (const b of global.BRICK_INDEX) {
|
||||
//brick -> cracked
|
||||
transformBlockWithTool(event, b.brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.brick_stairs, b.cracked_stairs, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.brick_slab, b.cracked_slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.brick_wall, b.cracked_wall, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
//brick -> mossy
|
||||
transformBlockWithItem(event, b.brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.brick_stairs, b.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.brick_stairs, b.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.brick_slab, b.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.brick_slab, b.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.brick_wall, b.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.brick_wall, b.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
//cracked -> mossy
|
||||
transformBlockWithItem(event, b.cracked_brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.cracked_brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.cracked_stairs, b.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.cracked_stairs, b.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.cracked_slab, b.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.cracked_slab, b.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.cracked_wall, b.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.cracked_wall, b.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
//mossy -> cracked
|
||||
transformBlockWithTool(event, b.mossy_brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.mossy_stairs, b.cracked_stairs, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.mossy_slab, b.cracked_slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.mossy_wall, b.cracked_wall, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
//mossy -> brick
|
||||
transformBlockWithTool(event, b.mossy_brick, b.brick, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.mossy_brick, b.brick, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithTool(event, b.mossy_stairs, b.brick_stairs, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.mossy_stairs, b.brick_stairs, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithTool(event, b.mossy_slab, b.brick_slab, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.mossy_slab, b.brick_slab, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithTool(event, b.mossy_wall, b.brick_wall, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.mossy_wall, b.brick_wall, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
//cracked -> brick
|
||||
transformBlockWithItem(event, b.cracked_brick, b.brick, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true);
|
||||
transformBlockWithItem(event, b.cracked_stairs, b.brick_stairs, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true);
|
||||
transformBlockWithItem(event, b.cracked_slab, b.brick_slab, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true);
|
||||
transformBlockWithItem(event, b.cracked_wall, b.brick_wall, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true);
|
||||
// brick -> smooth
|
||||
transformBlockWithTool(event, b.brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.mossy_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true);
|
||||
transformBlockWithTool(event, b.cracked_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true);
|
||||
// smooth -> brick
|
||||
transformBlockWithTool(event, b.smooth_brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true);
|
||||
transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithTool(event, b.smooth_brick, b.brick, '#forge:tools/files', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true);
|
||||
}
|
||||
|
||||
//Cobble index events
|
||||
for (const c of global.COBBLE_INDEX) {
|
||||
//cobble -> mossy
|
||||
transformBlockWithItem(event, c.block, c.mossy_block, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.block, c.mossy_block, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.stairs, c.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.stairs, c.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.slab, c.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.slab, c.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.wall, c.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.wall, c.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true);
|
||||
//mossy -> cobble
|
||||
transformBlockWithTool(event, c.mossy_block, c.block, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.mossy_block, c.block, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithTool(event, c.mossy_stairs, c.stairs, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.mossy_stairs, c.stairs, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithTool(event, c.mossy_slab, c.slab, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.mossy_slab, c.slab, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithTool(event, c.mossy_wall, c.wall, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
transformBlockWithItem(event, c.mossy_wall, c.wall, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true);
|
||||
}
|
||||
|
||||
//Misc Events
|
||||
transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:glacian_wool_frame', 'tfg:glacian_wool', true, 2, 'block.wool.place', 'minecraft:happy_villager', true);
|
||||
transformBlockWithToolReturn(event, 'tfg:glacian_wool_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:glacian_wool', 2,'#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true);
|
||||
|
||||
transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:aes_insulation_frame', 'tfg:aes_insulation_roll', true, 1, 'block.wool.place', 'minecraft:happy_villager', true);
|
||||
transformBlockWithToolReturn(event, 'tfg:aes_insulation_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:aes_insulation_roll', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true);
|
||||
|
||||
transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:moderate_core_frame', 'tfg:graphite_moderator', true, 1, 'block.wool.place', 'minecraft:happy_villager', true);
|
||||
transformBlockWithToolReturn(event, 'tfg:moderate_core_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:graphite_moderator', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true);
|
||||
|
||||
transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:impure_moderate_core_frame', 'tfg:impure_graphite_moderator', true, 1, 'block.wool.place', 'minecraft:happy_villager', true);
|
||||
transformBlockWithToolReturn(event, 'tfg:impure_moderate_core_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:impure_graphite_moderator', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true);
|
||||
|
||||
});
|
||||
|
||||
// Makes scythes, hoes, and knives take damage when cutting grass
|
||||
BlockEvents.broken('tfc:mineable_with_sharp_tool', event => {
|
||||
let player = event.player;
|
||||
let toolUsed = player.mainHandItem;
|
||||
|
||||
if (!toolUsed.hasTag('tfc:sharp_tools')) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!player.isCreative()) {
|
||||
toolUsed.damageValue++;
|
||||
if (toolUsed.damageValue >= toolUsed.maxDamage) {
|
||||
event.server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`);
|
||||
toolUsed.count--;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//#endregion
|
||||
|
|
|
|||
88
kubejs/server_scripts/tfg/food/data.crops.js
Normal file
88
kubejs/server_scripts/tfg/food/data.crops.js
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
"use strict";
|
||||
|
||||
|
||||
/** @param {Internal.TFCDataEventJS} event */
|
||||
function registerTFGCropRanges(event) {
|
||||
// Earth
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(20);
|
||||
climate.maxHydration(80);
|
||||
climate.minTemperature(5);
|
||||
climate.maxTemperature(40);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(5.5);
|
||||
}, "tfg:sunflower");
|
||||
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(10);
|
||||
climate.maxHydration(60);
|
||||
climate.minTemperature(-5);
|
||||
climate.maxTemperature(25);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(1.5);
|
||||
}, "tfg:rapeseed");
|
||||
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(15);
|
||||
climate.maxHydration(65);
|
||||
climate.minTemperature(-8);
|
||||
climate.maxTemperature(25);
|
||||
climate.hydrationWiggle(6.5);
|
||||
climate.temperatureWiggle(3);
|
||||
}, "tfg:flax");
|
||||
|
||||
// Mars
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(0);
|
||||
climate.maxHydration(40);
|
||||
climate.minTemperature(-150);
|
||||
climate.maxTemperature(15);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(5.5);
|
||||
}, "betterend:amber_root");
|
||||
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(70);
|
||||
climate.maxHydration(100);
|
||||
climate.minTemperature(-80);
|
||||
climate.maxTemperature(30);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(5.5);
|
||||
}, "betterend:blossom_berry");
|
||||
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(0);
|
||||
climate.maxHydration(40);
|
||||
climate.minTemperature(-150);
|
||||
climate.maxTemperature(15);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(5.5);
|
||||
}, "betterend:bolux_mushroom");
|
||||
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(0);
|
||||
climate.maxHydration(60);
|
||||
climate.minTemperature(-100);
|
||||
climate.maxTemperature(30);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(5.5);
|
||||
}, "betterend:cave_pumpkin_plant");
|
||||
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(0);
|
||||
climate.maxHydration(40);
|
||||
climate.minTemperature(-150);
|
||||
climate.maxTemperature(15);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(5.5);
|
||||
}, "betterend:chorus_mushroom");
|
||||
|
||||
event.climateRange((climate) => {
|
||||
climate.minHydration(50);
|
||||
climate.maxHydration(100);
|
||||
climate.minTemperature(-80);
|
||||
climate.maxTemperature(30);
|
||||
climate.hydrationWiggle(7.5);
|
||||
climate.temperatureWiggle(5.5);
|
||||
}, "betterend:shadow_berry");
|
||||
}
|
||||
583
kubejs/server_scripts/tfg/food/data.food.js
Normal file
583
kubejs/server_scripts/tfg/food/data.food.js
Normal file
|
|
@ -0,0 +1,583 @@
|
|||
"use strict";
|
||||
|
||||
/** @param {Internal.TFCDataEventJS} event */
|
||||
function registerTFGFoodData(event) {
|
||||
|
||||
// Ice shavings
|
||||
event.foodItem('firmalife:ice_shavings', food => {
|
||||
food.water(5)
|
||||
food.decayModifier(0)
|
||||
})
|
||||
|
||||
// Birt
|
||||
event.foodItem("tfg:food/raw_birt", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_birt", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(2.2);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Crawlermari
|
||||
event.foodItem("tfg:food/raw_crawlermari", (food) => {
|
||||
food.hunger(2);
|
||||
food.water(5);
|
||||
food.protein(1.2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_crawlermari", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(2.2);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Limpet
|
||||
event.foodItem("tfg:food/raw_limpet", (food) => {
|
||||
food.hunger(2);
|
||||
food.water(5);
|
||||
food.protein(1.2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_limpet", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(2.2);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Moon Rabbit
|
||||
event.foodItem("tfg:food/raw_moon_rabbit", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_moon_rabbit", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(2.2);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Glacian Mutton
|
||||
event.foodItem("tfg:food/raw_glacian_mutton", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_glacian_mutton", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Sniffer Beef
|
||||
event.foodItem("tfg:food/raw_sniffer_beef", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_sniffer_beef", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Wraptor
|
||||
event.foodItem("tfg:food/raw_wraptor", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_wraptor", (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);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_springling_collar", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Surfer Steak
|
||||
event.foodItem("tfg:food/raw_surfer_steak", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_surfer_steak", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Cruncher Ribs
|
||||
event.foodItem("tfg:food/raw_cruncher_ribs", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(2.0);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_cruncher_ribs", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2.2);
|
||||
food.protein(4);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Long Pig Filet
|
||||
event.foodItem("tfg:food/raw_long_pig_filet", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_long_pig_filet", (food) => {
|
||||
food.hunger(2);
|
||||
food.saturation(2);
|
||||
food.protein(2);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Stackatick Chunks
|
||||
event.foodItem("tfg:food/raw_stackatick_chunks", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/raw_stickastackatick", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_stickastackatick", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Walker Steak
|
||||
event.foodItem("tfg:food/raw_walker_steak", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(2.0);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_walker_steak", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2.2);
|
||||
food.protein(4);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Glider Wings
|
||||
event.foodItem("tfg:food/raw_glider_wings", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_glider_wings", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(2.75);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Soarer
|
||||
event.foodItem("tfg:food/raw_whole_soarer", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_whole_soarer", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3.1);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Crusher Meat
|
||||
event.foodItem("tfg:food/raw_crusher_meat", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_crusher_meat", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// Goober Meat
|
||||
event.foodItem("tfg:food/raw_goober_meat", (food) => {
|
||||
food.hunger(2);
|
||||
food.protein(1.5);
|
||||
food.decayModifier(3);
|
||||
food.water(1);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/cooked_goober_meat", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2);
|
||||
food.protein(3);
|
||||
food.decayModifier(2.25);
|
||||
});
|
||||
|
||||
// high-tech food
|
||||
global.FOOD_FRUIT.forEach((fruit) => {
|
||||
event.foodItem(`tfg:food/freeze_dried/${fruit.name}`, (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(fruit.saturation);
|
||||
food.water(0);
|
||||
food.fruit(fruit.fruit);
|
||||
food.decayModifier(fruit.decay);
|
||||
});
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/calorie_paste", (food) => {
|
||||
food.hunger(6);
|
||||
food.saturation(4);
|
||||
food.decayModifier(4.5);
|
||||
food.grain(0.1);
|
||||
food.vegetables(0.2);
|
||||
food.protein(0.2);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:food/meal_bag", (food) => {
|
||||
food.type("dynamic");
|
||||
});
|
||||
|
||||
// Sunflower products
|
||||
event.foodItem("tfg:roasted_sunflower_seeds", (food) => {
|
||||
food.hunger(4);
|
||||
food.decayModifier(0.5);
|
||||
food.grain(0.1);
|
||||
food.saturation(0.5);
|
||||
});
|
||||
|
||||
event.foodItem("tfg:sunflower_product", (food) => {
|
||||
food.decayModifier(0.5);
|
||||
});
|
||||
|
||||
// Amber Roots
|
||||
event.foodItem("betterend:amber_root_product", (food) => {
|
||||
food.hunger(4);
|
||||
food.decayModifier(1);
|
||||
food.saturation(1);
|
||||
food.grain(3);
|
||||
});
|
||||
|
||||
// Blossom Berries
|
||||
event.foodItem("betterend:blossom_berry_product", (food) => {
|
||||
food.hunger(5);
|
||||
food.decayModifier(2);
|
||||
food.saturation(1);
|
||||
food.water(7.5);
|
||||
food.fruit(2.1);
|
||||
});
|
||||
|
||||
// Cave Pumpkin
|
||||
event.foodItem("betterend:cave_pumpkin", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(0);
|
||||
food.decayModifier(0.5);
|
||||
});
|
||||
|
||||
event.foodItem("betterend:cave_pumpkin_chunks", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(1);
|
||||
food.decayModifier(2.5);
|
||||
food.water(5);
|
||||
food.fruit(0.8);
|
||||
});
|
||||
|
||||
event.foodItem("betterend:cave_pumpkin_pie_dough", (food) => {
|
||||
food.hunger(2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("betterend:cave_pumpkin_pie_raw", (food) => {
|
||||
food.hunger(2);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem("betterend:cave_pumpkin_pie", (food) => {
|
||||
food.hunger(4);
|
||||
food.saturation(2.8);
|
||||
food.decayModifier(1.5);
|
||||
food.water(5);
|
||||
food.protein(1);
|
||||
food.fruit(5);
|
||||
food.grain(4);
|
||||
food.dairy(1);
|
||||
});
|
||||
|
||||
// Chorus Mushroom
|
||||
event.foodItem("betterend:chorus_mushroom_product", (food) => {
|
||||
food.hunger(2);
|
||||
food.saturation(1);
|
||||
food.decayModifier(3);
|
||||
food.water(3);
|
||||
food.vegetables(1.5);
|
||||
});
|
||||
|
||||
event.foodItem("betterend:chorus_mushroom_cooked", (food) => {
|
||||
food.hunger(2);
|
||||
food.saturation(2.1);
|
||||
food.decayModifier(1.5);
|
||||
food.vegetables(2.5);
|
||||
});
|
||||
|
||||
// Shadow Berry
|
||||
event.foodItem("betterend:shadow_berry_product", (food) => {
|
||||
food.hunger(5);
|
||||
food.decayModifier(2);
|
||||
food.saturation(1);
|
||||
food.water(5);
|
||||
food.fruit(1.9);
|
||||
});
|
||||
|
||||
event.foodItem("betterend:shadow_berry_cooked", (food) => {
|
||||
food.hunger(5);
|
||||
food.decayModifier(1);
|
||||
food.saturation(2);
|
||||
food.fruit(2.2);
|
||||
});
|
||||
|
||||
// Bolux Mushroom
|
||||
event.foodItem("betterend:bolux_mushroom_product", (food) => {
|
||||
food.hunger(2);
|
||||
food.saturation(1);
|
||||
food.decayModifier(3);
|
||||
food.water(3);
|
||||
food.vegetables(1.5);
|
||||
});
|
||||
|
||||
event.foodItem("betterend:bolux_mushroom_cooked", (food) => {
|
||||
food.hunger(2);
|
||||
food.saturation(2);
|
||||
food.decayModifier(1.5);
|
||||
food.vegetables(2.4);
|
||||
});
|
||||
|
||||
// Dino Nuggets
|
||||
event.foodItem('tfg:food/raw_dino_nugget', (food) => {
|
||||
food.type("dynamic");
|
||||
food.hunger(1);
|
||||
food.decayModifier(3);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/cooked_dino_nugget', (food) => {
|
||||
food.type("dynamic");
|
||||
food.hunger(3);
|
||||
food.saturation(2);
|
||||
food.decayModifier(1.5);
|
||||
});
|
||||
|
||||
// Ice Soup
|
||||
event.foodItem("tfg:food/ice_soup", (food) => {
|
||||
food.hunger(1);
|
||||
food.water(20);
|
||||
food.decayModifier(0);
|
||||
});
|
||||
|
||||
// Fries
|
||||
event.foodItem('tfg:food/raw_fries', (food) => {
|
||||
food.hunger(1);
|
||||
food.decayModifier(3);
|
||||
food.vegetables(0.25);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/cooked_fries', (food) => {
|
||||
food.hunger(2);
|
||||
food.decayModifier(1.5);
|
||||
food.vegetables(0.6);
|
||||
food.saturation(2);
|
||||
});
|
||||
|
||||
// Cheese Curds
|
||||
event.foodItem('tfg:food/raw_beer_battered_cheese_curds', (food) => {
|
||||
food.hunger(1);
|
||||
food.decayModifier(1.3);
|
||||
food.dairy(1);
|
||||
food.saturation(1);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/cooked_beer_battered_cheese_curds', (food) => {
|
||||
food.hunger(3);
|
||||
food.decayModifier(0.8);
|
||||
food.dairy(1.2);
|
||||
food.saturation(2);
|
||||
food.grain(0.5);
|
||||
});
|
||||
|
||||
// Hamburgers
|
||||
event.foodItem('tfg:food/raw_burger_patty', (food) => {
|
||||
food.hunger(2);
|
||||
food.decayModifier(2.3);
|
||||
food.protein(2);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/cooked_burger_patty', (food) => {
|
||||
food.hunger(4);
|
||||
food.decayModifier(2);
|
||||
food.protein(2.5);
|
||||
food.saturation(2);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/brioche_dough', (food) => {
|
||||
food.hunger(1.5);
|
||||
food.decayModifier(2.3);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/brioche_bun', (food) => {
|
||||
food.hunger(3.5);
|
||||
food.decayModifier(1.5);
|
||||
food.grain(1.5);
|
||||
food.dairy(0.5);
|
||||
food.saturation(1);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/hamburger', (food) => {
|
||||
food.type("dynamic");
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/cheeseburger', (food) => {
|
||||
food.type("dynamic");
|
||||
});
|
||||
|
||||
// Poutine
|
||||
event.foodItem('tfg:food/poutine', (food) => {
|
||||
food.type("dynamic_bowl");
|
||||
});
|
||||
|
||||
// Oatmeal
|
||||
event.foodItem('tfg:food/oatmeal', (food) => {
|
||||
food.type("dynamic_bowl");
|
||||
});
|
||||
|
||||
// Biochem Items
|
||||
event.foodItem("tfg:progenitor_cells", (food) => {
|
||||
food.decayModifier(1);
|
||||
});
|
||||
event.foodItem("tfg:rough_endoplasmic_reticula", (food) => {
|
||||
food.decayModifier(0.5);
|
||||
});
|
||||
event.foodItem("tfg:smooth_endoplasmic_reticula", (food) => {
|
||||
food.decayModifier(0.5);
|
||||
});
|
||||
|
||||
// Instant Mac
|
||||
event.foodItem('tfg:food/raw_instant_mac', (food) => {
|
||||
food.hunger(2);
|
||||
food.decayModifier(0.2);
|
||||
});
|
||||
|
||||
event.foodItem('tfg:food/cooked_instant_mac', (food) => {
|
||||
food.hunger(3.5);
|
||||
food.decayModifier(1.6);
|
||||
food.grain(1.5);
|
||||
food.dairy(2.5);
|
||||
food.protein(0.8);
|
||||
food.saturation(1.8);
|
||||
});
|
||||
|
||||
//#region Drinkables
|
||||
// Proto Growth Medium
|
||||
event.drinkable("tfg:proto_growth_medium", (data) => {
|
||||
data.thirst(10);
|
||||
data.food(food => {
|
||||
food.dairy(5);
|
||||
food.protein(1);
|
||||
});
|
||||
data.effect("minecraft:absorption", (effect) => {
|
||||
effect.amplifier(2);
|
||||
effect.chance(0.25);
|
||||
effect.duration(1200);
|
||||
});
|
||||
});
|
||||
|
||||
// Semiheavy Ammoniacal Water
|
||||
event.drinkable("tfg:semiheavy_ammoniacal_water", (data) => {
|
||||
data.thirst(10);
|
||||
data.effect("minecraft:nausea", (effect) => {
|
||||
effect.chance(0.5);
|
||||
effect.duration(200);
|
||||
});
|
||||
});
|
||||
|
||||
// Rich Stock
|
||||
event.drinkable('tfg:rich_stock', (data) => {
|
||||
data.thirst(4);
|
||||
data.effect("tfc:thirst", (effect) => {
|
||||
effect.chance(0.2);
|
||||
effect.duration(20*5);
|
||||
});
|
||||
data.food(food => {
|
||||
food.protein(0.25);
|
||||
food.vegetables(0.25);
|
||||
});
|
||||
});
|
||||
|
||||
// Light Stock
|
||||
event.drinkable('tfg:light_stock', (data) => {
|
||||
data.thirst(4);
|
||||
data.effect("tfc:thirst", (effect) => {
|
||||
effect.chance(0.2);
|
||||
effect.duration(20*5);
|
||||
});
|
||||
data.food(food => {
|
||||
food.protein(0.25);
|
||||
food.vegetables(0.25);
|
||||
});
|
||||
});
|
||||
|
||||
// Brown Gravy
|
||||
event.drinkable('tfg:brown_gravy', (data) => {
|
||||
data.thirst(2);
|
||||
data.effect("tfc:thirst", (effect) => {
|
||||
effect.chance(0.3);
|
||||
effect.duration(20*5);
|
||||
});
|
||||
data.food(food => {
|
||||
food.protein(0.5);
|
||||
food.vegetables(0.5);
|
||||
food.grain(0.25);
|
||||
});
|
||||
});
|
||||
|
||||
//#endregion
|
||||
}
|
||||
167
kubejs/server_scripts/tfg/food/data.planters.js
Normal file
167
kubejs/server_scripts/tfg/food/data.planters.js
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
"use strict";
|
||||
|
||||
|
||||
/** @param {Internal.TFCDataEventJS} event */
|
||||
function registerTFGFLPlanters(event) {
|
||||
event.firmalifePlantable(
|
||||
"tfg:sunflower_seeds",
|
||||
"large",
|
||||
0,
|
||||
3,
|
||||
0.15,
|
||||
"tfg:sunflower_seeds",
|
||||
"tfg:sunflower_product",
|
||||
"nitrogen",
|
||||
[
|
||||
"tfg:block/crop/sunflower_greenhouse_0",
|
||||
"tfg:block/crop/sunflower_greenhouse_1",
|
||||
"tfg:block/crop/sunflower_greenhouse_2",
|
||||
"tfg:block/crop/sunflower_greenhouse_3"
|
||||
],
|
||||
null
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"tfg:rapeseed_seeds",
|
||||
"large",
|
||||
0,
|
||||
3,
|
||||
0.15,
|
||||
"tfg:rapeseed_seeds",
|
||||
"tfg:rapeseed_product",
|
||||
"phosphorous",
|
||||
[
|
||||
"tfg:block/crop/rapeseed_greenhouse_0",
|
||||
"tfg:block/crop/rapeseed_greenhouse_1",
|
||||
"tfg:block/crop/rapeseed_greenhouse_2",
|
||||
"tfg:block/crop/rapeseed_greenhouse_3"
|
||||
],
|
||||
null
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"tfg:flax_seeds",
|
||||
"large",
|
||||
0,
|
||||
3,
|
||||
0.2,
|
||||
"tfg:flax_seeds",
|
||||
"tfg:flax_product",
|
||||
"nitrogen",
|
||||
[
|
||||
"tfg:block/crop/flax_age_0",
|
||||
"tfg:block/crop/flax_age_1",
|
||||
"tfg:block/crop/flax_age_5_top",
|
||||
"tfg:block/crop/flax_age_6_top"
|
||||
],
|
||||
null
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"betterend:amber_root_seeds",
|
||||
"large",
|
||||
0,
|
||||
3,
|
||||
0.15,
|
||||
"betterend:amber_root_seeds",
|
||||
"betterend:amber_root_product",
|
||||
"phosphorous",
|
||||
[
|
||||
"betterend:block/amber_root_0",
|
||||
"betterend:block/amber_root_1",
|
||||
"betterend:block/amber_root_2",
|
||||
"betterend:block/amber_root_3"
|
||||
],
|
||||
null
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"betterend:blossom_berry_seeds",
|
||||
"large",
|
||||
0,
|
||||
3,
|
||||
0.15,
|
||||
"betterend:blossom_berry_seeds",
|
||||
"betterend:blossom_berry_product",
|
||||
"potassium",
|
||||
[
|
||||
"betterend:block/blossom_berry_seed_0",
|
||||
"betterend:block/blossom_berry_seed_1",
|
||||
"betterend:block/blossom_berry_seed_2",
|
||||
"betterend:block/blossom_berry_seed_3"
|
||||
],
|
||||
null
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"betterend:bolux_mushroom_seeds",
|
||||
"quad",
|
||||
1,
|
||||
3,
|
||||
0.15,
|
||||
"betterend:bolux_mushroom_seeds",
|
||||
"betterend:bolux_mushroom_product",
|
||||
"phosphorous",
|
||||
[
|
||||
"betterend:block/bolux_mushroom_greenhouse_0",
|
||||
"betterend:block/bolux_mushroom_greenhouse_1",
|
||||
"betterend:block/bolux_mushroom_greenhouse_2",
|
||||
"betterend:block/bolux_mushroom_greenhouse_3"
|
||||
],
|
||||
null
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"betterend:chorus_mushroom_seeds",
|
||||
"quad",
|
||||
1,
|
||||
3,
|
||||
0.15,
|
||||
"betterend:chorus_mushroom_seeds",
|
||||
"betterend:chorus_mushroom_product",
|
||||
"phosphorous",
|
||||
[
|
||||
"betterend:block/chorus_mushroom_0",
|
||||
"betterend:block/chorus_mushroom_1",
|
||||
"betterend:block/chorus_mushroom_2",
|
||||
"betterend:block/chorus_mushroom_3"
|
||||
],
|
||||
null
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"betterend:cave_pumpkin_plant_seeds",
|
||||
"hanging",
|
||||
2,
|
||||
3,
|
||||
0.15,
|
||||
"betterend:cave_pumpkin_plant_seeds",
|
||||
"betterend:cave_pumpkin",
|
||||
"phosphorous",
|
||||
[
|
||||
"betterend:block/cave_pumpkin_greenhouse_0",
|
||||
"betterend:block/cave_pumpkin_greenhouse_1",
|
||||
"betterend:block/cave_pumpkin_greenhouse_2",
|
||||
"betterend:block/cave_pumpkin_greenhouse_3"
|
||||
],
|
||||
"betterend:block/cave_pumpkin_top"
|
||||
);
|
||||
|
||||
event.firmalifePlantable(
|
||||
"betterend:shadow_berry_seeds",
|
||||
"quad",
|
||||
1,
|
||||
3,
|
||||
0.15,
|
||||
"betterend:shadow_berry_seeds",
|
||||
"betterend:shadow_berry_product",
|
||||
"potassium",
|
||||
[
|
||||
"betterend:block/shadow_berry_greenhouse_0",
|
||||
"betterend:block/shadow_berry_greenhouse_1",
|
||||
"betterend:block/shadow_berry_greenhouse_2",
|
||||
"betterend:block/shadow_berry_greenhouse_3"
|
||||
],
|
||||
null
|
||||
);
|
||||
}
|
||||
182
kubejs/server_scripts/tfg/food/recipes.biomass.js
Normal file
182
kubejs/server_scripts/tfg/food/recipes.biomass.js
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGBiomassRecipes(event) {
|
||||
|
||||
//#region Biomass
|
||||
|
||||
event.recipes.gtceu.brewery('biomass_from_tfc_seeds')
|
||||
.itemInputs('#tfc:seeds')
|
||||
.inputFluids("#tfc:any_water 20")
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 100))
|
||||
.duration(100)
|
||||
.EUt(3)
|
||||
|
||||
event.recipes.gtceu.brewery('biomass_from_tfc_food')
|
||||
.itemInputs('#tfc:foods')
|
||||
.inputFluids("#tfc:any_water 20")
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 100))
|
||||
.duration(100)
|
||||
.EUt(3)
|
||||
|
||||
event.recipes.gtceu.brewery('biomass_from_tfc_plants')
|
||||
.itemInputs('#tfc:plants')
|
||||
.inputFluids("#tfc:any_water 20")
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 100))
|
||||
.duration(100)
|
||||
.EUt(3)
|
||||
|
||||
event.recipes.gtceu.brewery('biomass_from_moon_plants')
|
||||
.itemInputs('#tfg:moon_plants')
|
||||
.inputFluids("#tfc:any_water 20")
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 100))
|
||||
.duration(100)
|
||||
.EUt(3)
|
||||
|
||||
event.recipes.gtceu.brewery('biomass_from_mars_plants')
|
||||
.itemInputs('#tfg:mars_plants')
|
||||
.inputFluids("#tfc:any_water 20")
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 100))
|
||||
.duration(100)
|
||||
.EUt(3)
|
||||
|
||||
event.recipes.gtceu.brewery('biomass_from_tfc_corals')
|
||||
.itemInputs('#tfc:corals')
|
||||
.inputFluids("#tfc:any_water 20")
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 100))
|
||||
.duration(100)
|
||||
.EUt(3)
|
||||
|
||||
event.recipes.gtceu.brewery('biomass_from_spider_eyes')
|
||||
.itemInputs('minecraft:spider_eye')
|
||||
.inputFluids("#tfc:any_water 20")
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 100))
|
||||
.duration(100)
|
||||
.EUt(3)
|
||||
|
||||
event.recipes.gtceu.brewery('biomass_from_leaves')
|
||||
.itemInputs('#minecraft:leaves')
|
||||
.inputFluids("#tfc:any_water 20")
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 20))
|
||||
.duration(100)
|
||||
.EUt(3)
|
||||
|
||||
event.recipes.gtceu.brewery('biomass_from_fallen_leaves')
|
||||
.itemInputs('#tfc:fallen_leaves')
|
||||
.inputFluids("#tfc:any_water 20")
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 20))
|
||||
.duration(100)
|
||||
.EUt(3)
|
||||
|
||||
event.recipes.gtceu.brewery('biomass_from_minecraft_plants')
|
||||
.itemInputs('#createaddition:plants')
|
||||
.inputFluids("#tfc:any_water 20")
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 100))
|
||||
.duration(100)
|
||||
.EUt(3)
|
||||
|
||||
event.recipes.gtceu.brewery('biomass_from_wart_blocks')
|
||||
.itemInputs('#minecraft:wart_blocks')
|
||||
.inputFluids("#tfc:any_water 20")
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 50))
|
||||
.duration(100)
|
||||
.EUt(3)
|
||||
|
||||
event.replaceOutput({ id: 'gtceu:distillery/distill_biomass_to_water' }, 'gtceu:wood_dust', 'gtceu:carbon_dust')
|
||||
event.replaceOutput({ id: 'gtceu:distillery/distill_biomass_to_ethanol' }, 'gtceu:wood_dust', 'gtceu:carbon_dust')
|
||||
event.replaceOutput({ id: 'gtceu:distillation_tower/distill_biomass' }, 'gtceu:wood_dust', 'gtceu:carbon_dust')
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Plant ball
|
||||
|
||||
event.recipes.gtceu.compressor('plant_ball_from_tfc_seeds')
|
||||
.itemInputs('4x #tfc:seeds')
|
||||
.itemOutputs('gtceu:plant_ball')
|
||||
.duration(300)
|
||||
.EUt(2)
|
||||
|
||||
let food = Ingredient.of('#tfc:foods')
|
||||
.subtract('minecraft:brown_mushroom')
|
||||
.subtract('minecraft:red_mushroom')
|
||||
.withCount(8)
|
||||
|
||||
event.recipes.gtceu.compressor('plant_ball_from_tfc_food')
|
||||
.itemInputs(food)
|
||||
.itemOutputs('gtceu:plant_ball')
|
||||
.duration(300)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor('plant_ball_from_tfc_plants')
|
||||
.itemInputs('4x #tfc:plants')
|
||||
.itemOutputs('gtceu:plant_ball')
|
||||
.duration(300)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor('plant_ball_from_moon_plants')
|
||||
.itemInputs('4x #tfg:moon_plants')
|
||||
.itemOutputs('gtceu:plant_ball')
|
||||
.duration(300)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor('plant_ball_from_mars_plants')
|
||||
.itemInputs('4x #tfg:mars_plants')
|
||||
.itemOutputs('gtceu:plant_ball')
|
||||
.duration(300)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor('plant_ball_from_tfc_corals')
|
||||
.itemInputs('4x #tfc:corals')
|
||||
.itemOutputs('gtceu:plant_ball')
|
||||
.duration(300)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor('plant_ball_from_misc_plants')
|
||||
.itemInputs('4x #createaddition:plants')
|
||||
.itemOutputs('gtceu:plant_ball')
|
||||
.duration(300)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor('plant_ball_from_wart_blocks')
|
||||
.itemInputs('4x #minecraft:wart_blocks')
|
||||
.itemOutputs('gtceu:plant_ball')
|
||||
.duration(300)
|
||||
.EUt(2)
|
||||
|
||||
//#endregion
|
||||
|
||||
// Sugar
|
||||
event.recipes.gtceu.centrifuge('sugar_from_sugarcane')
|
||||
.itemInputs('tfc:food/sugarcane')
|
||||
.inputFluids("#tfg:clean_water 600")
|
||||
.itemOutputs('minecraft:sugar', 'gtceu:plant_ball')
|
||||
.duration(800)
|
||||
.EUt(6)
|
||||
|
||||
event.recipes.gtceu.centrifuge('sugar_from_honey')
|
||||
.itemInputs('firmalife:raw_honey')
|
||||
.itemOutputs('minecraft:sugar')
|
||||
.duration(400)
|
||||
.EUt(6)
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:beets_to_sugar')
|
||||
.itemInputs('5x tfc:food/beet')
|
||||
.inputFluids(Fluid.of('tfc:salt_water', 1000))
|
||||
.itemOutputs('3x minecraft:sugar', '3x gtceu:plant_ball', '1x #forge:dusts/salt')
|
||||
.outputFluids(Fluid.of('minecraft:water', 1000))
|
||||
.duration(800)
|
||||
.EUt(7)
|
||||
.circuit(3)
|
||||
|
||||
// Misc
|
||||
event.recipes.gtceu.macerator('macerate_cocoa')
|
||||
.itemInputs('firmalife:food/roasted_cocoa_beans')
|
||||
.itemOutputs('gtceu:cocoa_dust')
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.macerator('macerate_meat_to_dust')
|
||||
.itemInputs('#tfc:foods/meats')
|
||||
.itemOutputs('gtceu:meat_dust', 'gtceu:tiny_bone_dust')
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
}
|
||||
|
|
@ -1720,87 +1720,5 @@ function registerTFGFoodRecipes(event) {
|
|||
});
|
||||
|
||||
//#endregion
|
||||
//#region Machine Recipes
|
||||
|
||||
event.remove({id: 'gtceu:shaped/mv_food_refrigerator'})
|
||||
event.remove({id: 'gtceu:shaped/hv_food_refrigerator'})
|
||||
event.remove({id: 'gtceu:shaped/ev_food_refrigerator'})
|
||||
event.remove({id: 'gtceu:shaped/iv_food_refrigerator'})
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/mv_food_refrigerator')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Copper, 2),
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2),
|
||||
ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Bronze, 1),
|
||||
'2x gtceu:mv_electric_pump',
|
||||
'gtceu:mv_hermetic_casing',
|
||||
'#gtceu:circuits/mv'
|
||||
)
|
||||
.inputFluids(Fluid.of('tfg:chlorodifluoromethane', 6000))
|
||||
.itemOutputs('1x tfg:mv_food_refrigerator')
|
||||
.duration(200)
|
||||
.circuit(7)
|
||||
.addMaterialInfo(true)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/hv_food_refrigerator')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Gold, 2),
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2),
|
||||
ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Steel, 1),
|
||||
'2x gtceu:hv_electric_pump',
|
||||
'gtceu:hv_hermetic_casing',
|
||||
'#gtceu:circuits/hv'
|
||||
)
|
||||
.inputFluids(Fluid.of('tfg:1_1_1_2_tetrafluoroethane', 6000))
|
||||
.itemOutputs('1x tfg:hv_food_refrigerator')
|
||||
.duration(200)
|
||||
.circuit(7)
|
||||
.addMaterialInfo(true)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/ev_food_refrigerator')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Aluminium, 2),
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2),
|
||||
ChemicalHelper.get(TagPrefix.rotor, GTMaterials.StainlessSteel, 1),
|
||||
'2x gtceu:ev_electric_pump',
|
||||
'gtceu:ev_hermetic_casing',
|
||||
'#gtceu:circuits/ev'
|
||||
)
|
||||
.inputFluids(Fluid.of('tfg:cryogenized_fluix', 6000))
|
||||
.itemOutputs('1x tfg:ev_food_refrigerator')
|
||||
.duration(200)
|
||||
.circuit(7)
|
||||
.addMaterialInfo(true)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/iv_food_refrigerator')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Platinum, 2),
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2),
|
||||
ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Titanium, 1),
|
||||
'2x gtceu:iv_electric_pump',
|
||||
'gtceu:iv_hermetic_casing',
|
||||
'#gtceu:circuits/iv'
|
||||
)
|
||||
.inputFluids(Fluid.of('tfg:solar_coolant_tier2', 6000))
|
||||
.itemOutputs('1x tfg:iv_food_refrigerator')
|
||||
.duration(200)
|
||||
.circuit(7)
|
||||
.addMaterialInfo(true)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.shaped('tfg:electric_greenhouse', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'BCB'
|
||||
], {
|
||||
A: '#gtceu:circuits/mv',
|
||||
B: '#forge:single_cables/copper',
|
||||
C: 'tfc:compost',
|
||||
D: 'gtceu:steel_machine_casing'
|
||||
}).id('tfg:shaped/electric_greenhouse')
|
||||
|
||||
//#endregion
|
||||
}
|
||||
108
kubejs/server_scripts/tfg/food/recipes.meal_bags.js
Normal file
108
kubejs/server_scripts/tfg/food/recipes.meal_bags.js
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGMealBagRecipes(event) {
|
||||
|
||||
// Food related
|
||||
event.recipes.gtceu.forming_press('tfg:forming_press/foil_pack')
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.foil, GTMaterials.Aluminium, 1), ChemicalHelper.get(TagPrefix.foil, GTMaterials.Polyethylene, 1))
|
||||
.itemOutputs('1x tfg:foil_pack')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.gas_pressurizer('tfg:fluid_solidifier/dry_ice')
|
||||
.inputFluids(Fluid.of('gtceu:carbon_dioxide', 1000))
|
||||
.notConsumable('gtceu:block_casting_mold')
|
||||
.itemOutputs('2x tfg:dry_ice')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/liq_co2')
|
||||
.inputFluids(Fluid.of('gtceu:carbon_dioxide', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:liquid_carbon_dioxide', 1000))
|
||||
.duration(160)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/dry_ice')
|
||||
.inputFluids(Fluid.of('gtceu:liquid_carbon_dioxide', 1000))
|
||||
.notConsumable('gtceu:block_casting_mold')
|
||||
.itemOutputs('10x tfg:dry_ice')
|
||||
.duration(60)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.fluid_heater('tfg:fluid_heater/decompress_liq_co2')
|
||||
.itemInputs('1x tfg:dry_ice')
|
||||
.outputFluids(Fluid.of('gtceu:carbon_dioxide', 100))
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.fluid_heater('tfg:fluid_heater/decompress_dry_ice')
|
||||
.inputFluids(Fluid.of('gtceu:liquid_carbon_dioxide', 100))
|
||||
.outputFluids(Fluid.of('gtceu:carbon_dioxide', 100))
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:clean_foil_pack')
|
||||
.itemInputs('1x tfg:used_foil_pack')
|
||||
.inputFluids("#tfg:clean_water 100")
|
||||
.itemOutputs('1x tfg:clean_foil_pack')
|
||||
.duration(200)
|
||||
.circuit(1)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.ore_washer('tfg:ore_washer/distilled/clean_foil_pack')
|
||||
.itemInputs('1x tfg:used_foil_pack')
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 10))
|
||||
.itemOutputs('1x tfg:clean_foil_pack')
|
||||
.duration(200)
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.custom({
|
||||
type: "ae2:transform",
|
||||
circumstance: {
|
||||
type: "fluid",
|
||||
tag: "tfc:water"
|
||||
},
|
||||
ingredients: [
|
||||
{ item: 'tfg:used_foil_pack' }],
|
||||
result: { item: 'tfg:clean_foil_pack' }
|
||||
}).id('tfg:ae_transform/clean_foil_pack')
|
||||
|
||||
event.recipes.greate.splashing(['tfg:clean_foil_pack'], 'tfg:used_foil_pack')
|
||||
.id('tfg:splashing/clean_foil_pack')
|
||||
|
||||
event.shapeless('1x tfg:used_foil_pack', [
|
||||
'tfg:food/calorie_paste'
|
||||
]).id('tfg:shapeless/emptying/calorie_paste')
|
||||
|
||||
event.shapeless('1x tfg:used_foil_pack', [
|
||||
'tfg:food/meal_bag'
|
||||
]).id('tfg:shapeless/emptying/meal_bag')
|
||||
|
||||
global.FOOD_FRUIT.forEach(fruit => {
|
||||
event.shapeless('1x tfg:used_foil_pack', [
|
||||
`tfg:food/freeze_dried/${fruit.name}`
|
||||
]).id(`tfg:shapeless/emptying/freeze_dried/${fruit.name}`)
|
||||
})
|
||||
|
||||
// Recycling
|
||||
event.recipes.gtceu.macerator('gtceu:macerator/recycling/clean_foil_pack')
|
||||
.itemInputs('tfg:clean_foil_pack')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Aluminium, 1),
|
||||
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Polyethylene, 1)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 1)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/clean_foil_pack')
|
||||
.itemInputs('tfg:clean_foil_pack')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Aluminium, 2),
|
||||
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Ash, 1)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 1)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
}
|
||||
113
kubejs/server_scripts/tfg/food/recipes.refrigerators.js
Normal file
113
kubejs/server_scripts/tfg/food/recipes.refrigerators.js
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGRefrigeratorRecipes(event) {
|
||||
|
||||
//#region Machine Recipes
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/mv_food_refrigerator' })
|
||||
event.remove({ id: 'gtceu:shaped/hv_food_refrigerator' })
|
||||
event.remove({ id: 'gtceu:shaped/ev_food_refrigerator' })
|
||||
event.remove({ id: 'gtceu:shaped/iv_food_refrigerator' })
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/mv_food_refrigerator')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Copper, 2),
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2),
|
||||
ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Bronze, 1),
|
||||
'2x gtceu:mv_electric_pump',
|
||||
'gtceu:mv_hermetic_casing',
|
||||
'#gtceu:circuits/mv'
|
||||
)
|
||||
.inputFluids(Fluid.of('tfg:chlorodifluoromethane', 6000))
|
||||
.itemOutputs('1x tfg:mv_food_refrigerator')
|
||||
.duration(200)
|
||||
.circuit(7)
|
||||
.addMaterialInfo(true)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/hv_food_refrigerator')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Gold, 2),
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2),
|
||||
ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Steel, 1),
|
||||
'2x gtceu:hv_electric_pump',
|
||||
'gtceu:hv_hermetic_casing',
|
||||
'#gtceu:circuits/hv'
|
||||
)
|
||||
.inputFluids(Fluid.of('tfg:1_1_1_2_tetrafluoroethane', 6000))
|
||||
.itemOutputs('1x tfg:hv_food_refrigerator')
|
||||
.duration(200)
|
||||
.circuit(7)
|
||||
.addMaterialInfo(true)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/ev_food_refrigerator')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Aluminium, 2),
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2),
|
||||
ChemicalHelper.get(TagPrefix.rotor, GTMaterials.StainlessSteel, 1),
|
||||
'2x gtceu:ev_electric_pump',
|
||||
'gtceu:ev_hermetic_casing',
|
||||
'#gtceu:circuits/ev'
|
||||
)
|
||||
.inputFluids(Fluid.of('tfg:cryogenized_fluix', 6000))
|
||||
.itemOutputs('1x tfg:ev_food_refrigerator')
|
||||
.duration(200)
|
||||
.circuit(7)
|
||||
.addMaterialInfo(true)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/iv_food_refrigerator')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Platinum, 2),
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2),
|
||||
ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Titanium, 1),
|
||||
'2x gtceu:iv_electric_pump',
|
||||
'gtceu:iv_hermetic_casing',
|
||||
'#gtceu:circuits/iv'
|
||||
)
|
||||
.inputFluids(Fluid.of('tfg:solar_coolant_tier2', 6000))
|
||||
.itemOutputs('1x tfg:iv_food_refrigerator')
|
||||
.duration(200)
|
||||
.circuit(7)
|
||||
.addMaterialInfo(true)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//#endregion
|
||||
|
||||
// Refrigerants
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/chlorodifluoromethane')
|
||||
.inputFluids(Fluid.of('gtceu:chloroform', 1000), Fluid.of('gtceu:hydrofluoric_acid', 2000))
|
||||
.outputFluids(Fluid.of('tfg:chlorodifluoromethane', 1000), Fluid.of('gtceu:hydrochloric_acid', 2000))
|
||||
.duration(480)
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/breakdown/chlorodifluoromethane')
|
||||
.inputFluids(Fluid.of('tfg:chlorodifluoromethane', 200))
|
||||
.outputFluids(Fluid.of('gtceu:tetrafluoroethylene', 100), Fluid.of('gtceu:hydrochloric_acid', 200))
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/acetylene')
|
||||
.inputFluids(Fluid.of('gtceu:methane', 2000), Fluid.of('gtceu:oxygen', 3000))
|
||||
.outputFluids(Fluid.of('tfg:acetylene', 1000), Fluid.of('minecraft:water', 3000))
|
||||
.circuit(4)
|
||||
.duration(120)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/1_1_1_2_tetrafluoroethane')
|
||||
.inputFluids(Fluid.of('tfg:acetylene', 1000), Fluid.of('gtceu:chlorine', 4000), Fluid.of('gtceu:hydrofluoric_acid', 4000))
|
||||
.outputFluids(Fluid.of('tfg:1_1_1_2_tetrafluoroethane', 1000), Fluid.of('gtceu:hydrochloric_acid', 4000))
|
||||
.circuit(4)
|
||||
.duration(480)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.cracker('tfg:cracker/isobutane')
|
||||
.inputFluids(Fluid.of('gtceu:butane', 4000))
|
||||
.outputFluids(Fluid.of('tfg:isobutane', 1000), Fluid.of('gtceu:lpg', 3000))
|
||||
.circuit(4)
|
||||
.duration(2400)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
}
|
||||
182
kubejs/server_scripts/tfg/machines/recipes.casings.js
Normal file
182
kubejs/server_scripts/tfg/machines/recipes.casings.js
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGCasingRecipes(event) {
|
||||
|
||||
event.recipes.gtceu.assembler('steel_machine_casing')
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4))
|
||||
.itemOutputs('gtceu:steel_machine_casing')
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(16)
|
||||
|
||||
// Railgun
|
||||
global.GTCEU_SUPERCONDUCTORS.forEach((type, index) => {
|
||||
const multiplier = index + 1
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:assembler/superconductor_coil_small_from_${type.name}`)
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.HSLASteel, 4),
|
||||
ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 2),
|
||||
ChemicalHelper.get(TagPrefix.rod, GTMaterials.SteelMagnetic, 1),
|
||||
ChemicalHelper.get(TagPrefix.wireFine, GTMaterials[type.materialId], 4)
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:epoxy', 144))
|
||||
.itemOutputs(Item.of('tfg:superconductor_coil_small', 4 * multiplier))
|
||||
.circuit(4)
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:assembler/superconductor_coil_large_from_${type.name}`)
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.HSLASteel, 4),
|
||||
ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 2),
|
||||
ChemicalHelper.get(TagPrefix.rod, GTMaterials.SteelMagnetic, 1),
|
||||
ChemicalHelper.get(TagPrefix.wireGtSingle, GTMaterials[type.materialId], 4))
|
||||
.inputFluids(Fluid.of('gtceu:epoxy', 144))
|
||||
.itemOutputs(Item.of('tfg:superconductor_coil_large', 4 * multiplier))
|
||||
.circuit(7)
|
||||
.duration(600)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
})
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/electromagnetic_accelerator')
|
||||
.itemInputs(
|
||||
'2x #forge:plates/desh',
|
||||
'gtceu:mv_voltage_coil',
|
||||
'5x tfg:dry_ice',
|
||||
'gtceu:nonconducting_casing'
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:blue_alloy', 288))
|
||||
.itemOutputs('6x tfg:electromagnetic_accelerator')
|
||||
.circuit(4)
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/machine_casing_aluminium_plated_steel')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Aluminium, 6),
|
||||
ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.Steel, 1)
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:silicon', 72))
|
||||
.itemOutputs('2x tfg:machine_casing_aluminium_plated_steel')
|
||||
.circuit(6)
|
||||
.duration(20 * (2.5))
|
||||
.EUt(GTValues.VH[GTValues.LV])
|
||||
|
||||
// Solar
|
||||
event.recipes.gtceu.assembler('basic_solar_casing')
|
||||
.itemInputs('gtceu:steel_machine_casing', 'tfg:photo_cell_t1')
|
||||
.itemOutputs('8x tfg:casings/machine_casing_blue_solar_panel')
|
||||
.inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.assembler('advanced_solar_casing')
|
||||
.itemInputs('8x tfg:casings/machine_casing_blue_solar_panel', 'ad_astra:photovoltaic_etrium_cell')
|
||||
.itemOutputs('8x tfg:casings/machine_casing_green_solar_panel')
|
||||
.inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.assembler('elite_solar_casing')
|
||||
.itemInputs('8x tfg:casings/machine_casing_green_solar_panel', 'ad_astra:photovoltaic_vesnium_cell')
|
||||
.itemOutputs('8x tfg:casings/machine_casing_red_solar_panel')
|
||||
.inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:reflector_from_lens')
|
||||
.itemInputs(
|
||||
'24x #forge:lenses',
|
||||
ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.BlackSteel, 1)
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:silver', 1296))
|
||||
.itemOutputs('1x tfg:reflector')
|
||||
.circuit(6)
|
||||
.duration(20 * (60))
|
||||
.EUt(GTValues.VH[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:reflector_from_inr')
|
||||
.itemInputs(
|
||||
'1x gtceu:neutron_reflector',
|
||||
ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.BlackSteel, 1)
|
||||
)
|
||||
.itemOutputs('2x tfg:reflector')
|
||||
.circuit(9)
|
||||
.duration(20 * (20))
|
||||
.EUt(GTValues.VH[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:reflector_from_certus')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.CertusQuartz, 12),
|
||||
ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.BlackSteel, 1)
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:silver', 488))
|
||||
.itemOutputs('1x tfg:reflector')
|
||||
.circuit(6)
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20 * (60))
|
||||
.EUt(GTValues.VH[GTValues.MV])
|
||||
|
||||
// Moon
|
||||
event.recipes.gtceu.assembler('iron_desh_casing')
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.plate, GTMaterials.Steel, 6), 'gtceu:desh_frame')
|
||||
.itemOutputs('2x tfg:casings/machine_casing_iron_desh')
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(16)
|
||||
|
||||
// Evaporation
|
||||
event.recipes.gtceu.assembler('tfg:casings/machine_casing_stainless_evaporation')
|
||||
.itemInputs('gtceu:clean_machine_casing', '4x gtceu:annealed_copper_double_wire')
|
||||
.inputFluids(Fluid.of('gtceu:polyvinyl_chloride', 288))
|
||||
.itemOutputs('tfg:casings/machine_casing_stainless_evaporation')
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
// Ostrum Linear Acclerator
|
||||
event.recipes.gtceu.assembler('tfg:casings/machine_casing_mars')
|
||||
.itemInputs('gtceu:clean_machine_casing', '4x #forge:double_wires/kanthal')
|
||||
.inputFluids(Fluid.of('gtceu:polybenzimidazole', 288))
|
||||
.itemOutputs('tfg:casings/machine_casing_mars')
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.assembler('gtceu:atomic_casing')
|
||||
.itemInputs('4x #forge:dense_plates/lead', '2x #forge:plates/rtm_alloy', '#forge:frames/titanium')
|
||||
.inputFluids(Fluid.of('gtceu:polyvinyl_butyral', 288))
|
||||
.itemOutputs('2x gtceu:atomic_casing')
|
||||
.circuit(6)
|
||||
.duration(2.5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
// Vacuum Intake
|
||||
event.shaped('tfg:casings/machine_casing_vacuum_engine_intake', [
|
||||
'USU',
|
||||
'WZW',
|
||||
'UTU'
|
||||
], {
|
||||
S: '#forge:tools/hammers',
|
||||
T: '#forge:tools/wrenches',
|
||||
W: '#forge:rotors/ultimet',
|
||||
U: 'gtceu:ultimet_normal_item_pipe',
|
||||
Z: 'gtceu:inert_machine_casing'
|
||||
}).id('tfg:shaped/casing_machine_casing_vacuum_engine_intake')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:casings/machine_casing_vacuum_engine_intake')
|
||||
.itemInputs(
|
||||
'2x #forge:rotors/ultimet',
|
||||
'4x gtceu:ultimet_normal_item_pipe',
|
||||
'1x gtceu:inert_machine_casing')
|
||||
.itemOutputs('tfg:casings/machine_casing_vacuum_engine_intake')
|
||||
.duration(50)
|
||||
.EUt(GTValues.VH[GTValues.LV])
|
||||
.circuit(2)
|
||||
|
||||
|
||||
}
|
||||
254
kubejs/server_scripts/tfg/machines/recipes.components.js
Normal file
254
kubejs/server_scripts/tfg/machines/recipes.components.js
Normal file
|
|
@ -0,0 +1,254 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGElectronicComponentsRecipes(event) {
|
||||
|
||||
// Electron tubes
|
||||
event.shaped('1x create:electron_tube', [
|
||||
'FAG',
|
||||
'BCB',
|
||||
'DED'
|
||||
], {
|
||||
A: 'gtceu:glass_tube',
|
||||
B: '#forge:bolts/steel',
|
||||
C: 'gtceu:wood_plate',
|
||||
D: 'gtceu:red_alloy_single_wire',
|
||||
E: '#forge:plates/wrought_iron',
|
||||
F: '#forge:tools/screwdrivers',
|
||||
G: '#forge:tools/wire_cutters'
|
||||
}).id('tfg:create/shaped/electron_tube')
|
||||
|
||||
event.recipes.createSequencedAssembly([
|
||||
'2x create:electron_tube',
|
||||
], 'gtceu:wood_plate', [
|
||||
event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', '#forge:plates/wrought_iron']),
|
||||
event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', 'gtceu:red_alloy_single_wire']),
|
||||
event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', 'gtceu:red_alloy_single_wire']),
|
||||
event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', 'gtceu:glass_tube']),
|
||||
]).transitionalItem('tfg:unfinished_electron_tube').loops(1).id('tfg:create/sequenced_assembly/electron_tube')
|
||||
|
||||
event.recipes.gtceu.assembler('create:electron_tube')
|
||||
.itemInputs('#forge:plates/wrought_iron', 'gtceu:glass_tube', '2x gtceu:red_alloy_single_wire')
|
||||
.itemOutputs('2x create:electron_tube')
|
||||
.duration(50)
|
||||
.EUt(7)
|
||||
.circuit(14)
|
||||
|
||||
event.shaped('4x create:electron_tube', [
|
||||
'FAG',
|
||||
'DCD'
|
||||
], {
|
||||
A: 'gtceu:glass_tube',
|
||||
C: 'gtceu:plastic_circuit_board',
|
||||
D: 'gtceu:red_alloy_single_wire',
|
||||
F: '#forge:tools/screwdrivers',
|
||||
G: '#forge:tools/wire_cutters'
|
||||
}).id('tfg:create/shaped/electron_tube2')
|
||||
|
||||
event.recipes.gtceu.assembler('create:electron_tube2')
|
||||
.itemInputs('gtceu:plastic_circuit_board', 'gtceu:glass_tube', '2x gtceu:red_alloy_single_wire')
|
||||
.itemOutputs('4x create:electron_tube')
|
||||
.duration(50)
|
||||
.EUt(7)
|
||||
|
||||
event.shaped('4x create:electron_tube', [
|
||||
' A ',
|
||||
' B ',
|
||||
' C '
|
||||
], {
|
||||
A: '#forge:tools/screwdrivers',
|
||||
B: 'gtceu:nand_chip',
|
||||
C: 'gtceu:plastic_circuit_board'
|
||||
}).id('tfg:create/shaped/electron_tube3')
|
||||
|
||||
event.recipes.gtceu.assembler('create:electron_tube3')
|
||||
.itemInputs('gtceu:plastic_circuit_board', 'gtceu:nand_chip')
|
||||
.itemOutputs('4x create:electron_tube')
|
||||
.duration(50)
|
||||
.EUt(7)
|
||||
|
||||
// Vacuum Tubes
|
||||
event.remove({ id: 'gtceu:shaped/vacuum_tube' })
|
||||
event.replaceInput({ id: 'gtceu:assembler/vacuum_tube_plain' }, 'gtceu:steel_bolt', 'gtceu:resin_circuit_board')
|
||||
event.replaceInput({ id: 'gtceu:assembler/vacuum_tube_red_alloy' }, 'gtceu:steel_bolt', 'gtceu:resin_circuit_board')
|
||||
event.replaceInput({ id: 'gtceu:assembler/vacuum_tube_red_alloy_annealed' }, 'gtceu:steel_bolt', 'gtceu:resin_circuit_board')
|
||||
|
||||
event.recipes.createSequencedAssembly([
|
||||
'gtceu:vacuum_tube',
|
||||
], 'gtceu:resin_circuit_board', [
|
||||
event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', '#forge:bolts/steel']),
|
||||
event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:copper_single_wire']),
|
||||
event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:copper_single_wire']),
|
||||
event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:glass_tube']),
|
||||
event.custom({ type: 'vintageimprovements:vacuumizing', ingredients: [{ item: 'tfg:unfinished_vacuum_tube' }], results: [{ item: 'tfg:unfinished_vacuum_tube' }], processingTime: 80 })
|
||||
]).transitionalItem('tfg:unfinished_vacuum_tube').loops(1).id('tfg:gtceu/sequenced_assembly/vacuum_tube')
|
||||
|
||||
// ULV Coil
|
||||
event.recipes.createSequencedAssembly([
|
||||
'gtceu:ulv_voltage_coil',
|
||||
], 'gtceu:magnetic_iron_rod', [
|
||||
event.recipes.createDeploying('gtceu:magnetic_iron_rod', ['gtceu:magnetic_iron_rod', '#forge:fine_wires/lead'])
|
||||
]).transitionalItem('gtceu:magnetic_iron_rod').loops(32).id('tfg:sequenced_assembly/ulv_voltage_coil')
|
||||
|
||||
// LV basic circuit
|
||||
event.remove({ id: 'gtceu:shaped/electronic_circuit_lv' })
|
||||
|
||||
event.recipes.createSequencedAssembly([
|
||||
'gtceu:basic_electronic_circuit',
|
||||
], 'gtceu:resin_printed_circuit_board', [
|
||||
event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:resistor']),
|
||||
event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:resistor']),
|
||||
event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:vacuum_tube']),
|
||||
event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:vacuum_tube']),
|
||||
event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'create:electron_tube']),
|
||||
event.recipes.createFilling('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', Fluid.of('gtceu:glue', 50)]),
|
||||
event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', '#forge:plates/steel']),
|
||||
]).transitionalItem('tfg:unfinished_basic_electronic_circuit').loops(1).id('tfg:gtceu/sequenced_assembly/basic_electronic_circuit')
|
||||
|
||||
// MV basic circuit
|
||||
event.remove({ id: 'gtceu:shaped/electronic_circuit_mv' })
|
||||
|
||||
event.recipes.createSequencedAssembly([
|
||||
'gtceu:good_electronic_circuit',
|
||||
], 'gtceu:phenolic_printed_circuit_board', [
|
||||
event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', 'gtceu:diode']),
|
||||
event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', 'gtceu:diode']),
|
||||
event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', '#forge:single_wires/copper']),
|
||||
event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', '#forge:single_wires/copper']),
|
||||
event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', 'gtceu:basic_electronic_circuit']),
|
||||
event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', 'gtceu:basic_electronic_circuit']),
|
||||
event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', 'gtceu:basic_electronic_circuit']),
|
||||
event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', '#forge:plates/steel']),
|
||||
]).transitionalItem('tfg:unfinished_good_electronic_circuit').loops(1).id('tfg:gtceu/sequenced_assembly/good_electronic_circuit')
|
||||
|
||||
// Vitrified Pearl
|
||||
event.recipes.gtceu.shaped('gtceu:mv_field_generator', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'ABA'
|
||||
], {
|
||||
A: ChemicalHelper.get(TagPrefix.wireGtQuadruple, GTMaterials.MagnesiumDiboride, 1),
|
||||
B: ChemicalHelper.get(TagPrefix.plate, GTMaterials.Aluminium, 1),
|
||||
C: '#gtceu:circuits/mv',
|
||||
D: 'tfg:vitrified_pearl'
|
||||
}).addMaterialInfo().id('gtceu:shaped/field_generator_mv')
|
||||
|
||||
event.recipes.gtceu.assembler('field_generator_mv')
|
||||
.itemInputs('tfg:vitrified_pearl', '2x #forge:plates/aluminium', '2x #gtceu:circuits/mv', '4x #forge:quadruple_wires/magnesium_diboride')
|
||||
.itemOutputs('gtceu:mv_field_generator')
|
||||
.duration(100)
|
||||
.EUt(30)
|
||||
|
||||
// Cryo Fluix Pearl
|
||||
event.replaceInput({ id: 'gtceu:assembler/field_generator_hv' }, 'gtceu:quantum_eye', 'tfg:cryo_fluix_pearl')
|
||||
|
||||
event.recipes.gtceu.shaped('gtceu:hv_field_generator', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'ABA'
|
||||
], {
|
||||
A: ChemicalHelper.get(TagPrefix.wireGtQuadruple, GTMaterials.MercuryBariumCalciumCuprate, 1),
|
||||
B: ChemicalHelper.get(TagPrefix.plate, GTMaterials.StainlessSteel, 1),
|
||||
C: '#gtceu:circuits/hv',
|
||||
D: 'tfg:cryo_fluix_pearl'
|
||||
}).addMaterialInfo().id('gtceu:shaped/field_generator_hv')
|
||||
|
||||
// Change recipes to want EV circuit instead of IV
|
||||
event.replaceInput({ id: 'gtceu:shaped/large_combustion_engine' }, '#gtceu:circuits/iv', '#gtceu:circuits/ev')
|
||||
event.replaceInput({ id: 'gtceu:shaped/nano_chestplate_advanced' }, '#gtceu:circuits/iv', '#gtceu:circuits/ev')
|
||||
event.replaceInput({ id: 'gtceu:assembler/ev_large_miner' }, '#gtceu:circuits/iv', '#gtceu:circuits/ev')
|
||||
|
||||
// Nano wafer
|
||||
event.remove({ id: 'gtceu:chemical_reactor/nano_cpu_wafer' })
|
||||
event.remove({ id: 'gtceu:large_chemical_reactor/nano_cpu_wafer' })
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:nano_cpu_wafer')
|
||||
.inputFluids(Fluid.of('gtceu:tritiated_water', 576))
|
||||
.itemInputs('gtceu:cpu_wafer', '16x gtceu:carbon_fibers')
|
||||
.itemOutputs('gtceu:nano_cpu_wafer')
|
||||
.duration(20*60)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
// Change components of IV mainframe to nano chip
|
||||
event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv_asmd_soldering_alloy'})
|
||||
event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv'})
|
||||
event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv_soldering_alloy'})
|
||||
event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv_asmd'})
|
||||
|
||||
event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv')
|
||||
.itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '8x #gtceu:inductors', '16x #gtceu:capacitors', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire')
|
||||
.inputFluids(Fluid.of('gtceu:tin', 576))
|
||||
.itemOutputs('gtceu:micro_processor_mainframe')
|
||||
.duration(20 * 40)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv_soldering_alloy')
|
||||
.itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '8x #gtceu:inductors', '16x #gtceu:capacitors', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire')
|
||||
.inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
|
||||
.itemOutputs('gtceu:micro_processor_mainframe')
|
||||
.duration(20 * 40)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv_asmd')
|
||||
.itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '2x gtceu:advanced_smd_inductor', '4x gtceu:advanced_smd_capacitor', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire')
|
||||
.inputFluids(Fluid.of('gtceu:tin', 576))
|
||||
.itemOutputs('gtceu:micro_processor_mainframe')
|
||||
.duration(20 * 20)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv_asmd_soldering_alloy')
|
||||
.itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '2x gtceu:advanced_smd_inductor', '4x gtceu:advanced_smd_capacitor', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire')
|
||||
.inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
|
||||
.itemOutputs('gtceu:micro_processor_mainframe')
|
||||
.duration(20 * 20)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
// Quantum Eye
|
||||
event.replaceInput({ id: 'gtceu:assembler/field_generator_ev' }, 'minecraft:nether_star', 'gtceu:quantum_eye')
|
||||
|
||||
event.recipes.gtceu.shaped('gtceu:ev_field_generator', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'ABA'
|
||||
], {
|
||||
A: ChemicalHelper.get(TagPrefix.wireGtQuadruple, GTMaterials.UraniumTriplatinum, 1),
|
||||
B: ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.Titanium, 1),
|
||||
C: '#gtceu:circuits/ev',
|
||||
D: 'gtceu:quantum_eye'
|
||||
}).addMaterialInfo().id('gtceu:shaped/field_generator_ev')
|
||||
|
||||
event.remove({ id: 'gtceu:chemical_bath/quantum_eye' })
|
||||
event.recipes.gtceu.chemical_bath('tfg:quantum_eye')
|
||||
.itemInputs('tfg:cryo_fluix_pearl')
|
||||
.inputFluids(Fluid.of('gtceu:radon', 250))
|
||||
.itemOutputs('gtceu:quantum_eye')
|
||||
.duration(20 * 24)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
// Nether Star
|
||||
event.replaceInput({ id: 'gtceu:assembler/field_generator_iv' }, 'gtceu:quantum_star', 'minecraft:nether_star')
|
||||
|
||||
event.recipes.gtceu.shaped('gtceu:iv_field_generator', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'ABA'
|
||||
], {
|
||||
A: ChemicalHelper.get(TagPrefix.wireGtQuadruple, GTMaterials.SamariumIronArsenicOxide, 1),
|
||||
B: ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.TungstenSteel, 1),
|
||||
C: '#gtceu:circuits/iv',
|
||||
D: 'minecraft:nether_star'
|
||||
}).addMaterialInfo().id('gtceu:shaped/field_generator_iv')
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:gtceu/nether_star_dust')
|
||||
.itemInputs('2x #forge:dusts/iridium', '#forge:dusts/diamond')
|
||||
.circuit(10)
|
||||
.itemOutputs('gtceu:nether_star_dust')
|
||||
// TODO: change to something else with venus
|
||||
.inputFluids(Fluid.of('gtceu:neon', 1000))
|
||||
.duration(700)
|
||||
.EUt(2720)
|
||||
}
|
||||
61
kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js
Normal file
61
kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGEnderPearlRecipes(event) {
|
||||
event.recipes.gtceu.chemical_reactor('kaolinite')
|
||||
.itemInputs('5x #tfg:aluminium_oxide', '2x #forge:dusts/silicon')
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 6000), Fluid.of('gtceu:chlorine', 8000))
|
||||
.itemOutputs('17x tfc:powder/kaolinite')
|
||||
.outputFluids(Fluid.of('gtceu:hydrochloric_acid', 8000))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('kaolinite_ruby')
|
||||
.itemInputs('6x #forge:dusts/ruby', '2x #forge:dusts/silicon')
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 6000), Fluid.of('gtceu:chlorine', 8000))
|
||||
.itemOutputs('17x tfc:powder/kaolinite', '1x #forge:dusts/chromium')
|
||||
.outputFluids(Fluid.of('gtceu:hydrochloric_acid', 8000))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.pyrolyse_oven('vitrified_ender_dust')
|
||||
.itemInputs('minecraft:ender_pearl', '2x tfc:powder/kaolinite', '4x #forge:insulation_t1')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 100))
|
||||
.itemOutputs('tfg:vitrified_pearl')
|
||||
.chancedOutput('gtceu:ash_dust', 2500, 0)
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_dynamite')
|
||||
.itemInputs('4x #forge:dusts/vitrified_pearl', '2x gtceu:dynamite')
|
||||
.itemOutputs('3x tfg:vitrified_pearl')
|
||||
.chancedOutput('#forge:dusts/dark_ash', 2500, 0)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_powderbarrel')
|
||||
.itemInputs('4x #forge:dusts/vitrified_pearl', '8x gtceu:powderbarrel')
|
||||
.itemOutputs('3x tfg:vitrified_pearl')
|
||||
.chancedOutput('#forge:dusts/dark_ash', 2500, 0)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_tnt')
|
||||
.itemInputs('4x #forge:dusts/vitrified_pearl', '4x minecraft:tnt')
|
||||
.itemOutputs('3x tfg:vitrified_pearl')
|
||||
.chancedOutput('#forge:dusts/dark_ash', 2500, 0)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_itnt')
|
||||
.itemInputs('4x #forge:dusts/vitrified_pearl', 'gtceu:industrial_tnt')
|
||||
.itemOutputs('3x tfg:vitrified_pearl')
|
||||
.chancedOutput('#forge:dusts/dark_ash', 2500, 0)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('vitrified_ender_pearl')
|
||||
.itemInputs('tfg:vitrified_pearl')
|
||||
.itemOutputs('#forge:dusts/vitrified_pearl')
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
177
kubejs/server_scripts/tfg/machines/recipes.multiblocks.js
Normal file
177
kubejs/server_scripts/tfg/machines/recipes.multiblocks.js
Normal file
|
|
@ -0,0 +1,177 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGMultiblockRecipes(event) {
|
||||
|
||||
// Multi-Smelter
|
||||
event.shaped('gtceu:multi_smelter', [
|
||||
'AAA',
|
||||
'BCB',
|
||||
'DBD'
|
||||
], {
|
||||
A: 'gtceu:hp_steam_furnace',
|
||||
B: '#gtceu:circuits/hv',
|
||||
C: 'gtceu:heatproof_machine_casing',
|
||||
D: 'gtceu:copper_single_cable'
|
||||
}).id('gtceu:shaped/multi_furnace')
|
||||
|
||||
event.shaped('gtceu:multi_smelter', [
|
||||
'AAA',
|
||||
'BCB',
|
||||
'DBD'
|
||||
], {
|
||||
A: 'gtceu:lv_electric_furnace',
|
||||
B: '#gtceu:circuits/hv',
|
||||
C: 'gtceu:heatproof_machine_casing',
|
||||
D: 'gtceu:copper_single_cable'
|
||||
}).id('gtceu:shaped/multi_furnace2')
|
||||
|
||||
// Electric Blast Furnace
|
||||
event.shaped('gtceu:electric_blast_furnace', [
|
||||
'AAA',
|
||||
'BCB',
|
||||
'DBD'
|
||||
], {
|
||||
A: 'gtceu:hp_steam_furnace',
|
||||
B: '#gtceu:circuits/lv',
|
||||
C: 'gtceu:heatproof_machine_casing',
|
||||
D: 'gtceu:tin_single_cable'
|
||||
}).id('gtceu:shaped/electric_blast_furnace')
|
||||
|
||||
event.shaped('gtceu:electric_blast_furnace', [
|
||||
'AAA',
|
||||
'BCB',
|
||||
'DBD'
|
||||
], {
|
||||
A: 'gtceu:lv_electric_furnace',
|
||||
B: '#gtceu:circuits/lv',
|
||||
C: 'gtceu:heatproof_machine_casing',
|
||||
D: 'gtceu:tin_single_cable'
|
||||
}).id('gtceu:shaped/electric_blast_furnace2')
|
||||
|
||||
// TFG customs
|
||||
event.shaped('tfg:electric_greenhouse', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'BCB'
|
||||
], {
|
||||
A: '#gtceu:circuits/mv',
|
||||
B: '#forge:single_cables/copper',
|
||||
C: 'tfc:compost',
|
||||
D: 'gtceu:steel_machine_casing'
|
||||
}).id('tfg:shaped/electric_greenhouse')
|
||||
|
||||
event.shaped('gtceu:steam_bloomery', [
|
||||
'CEC',
|
||||
'DAD',
|
||||
'CBC'
|
||||
], {
|
||||
A: 'tfc:bloomery',
|
||||
B: '#forge:frames/bronze',
|
||||
C: '#forge:rods/black_steel',
|
||||
D: '#forge:screws/wrought_iron',
|
||||
E: '#forge:tools/wrenches'
|
||||
})
|
||||
|
||||
event.shaped('tfg:ostrum_linear_accelerator', [
|
||||
'USU',
|
||||
'WZW',
|
||||
'PTP'
|
||||
], {
|
||||
S: 'tfg:casings/machine_casing_vacuum_engine_intake',
|
||||
Z: 'gtceu:iv_machine_hull',
|
||||
W: '#gtceu:circuits/iv',
|
||||
U: '#forge:double_plates/stellite_100',
|
||||
T: '#forge:single_cables/platinum',
|
||||
P: 'gtceu:iv_electric_pump'
|
||||
}
|
||||
).id('tfg:shaped/ostrum_linear_accelerator')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:ostrum_harvester')
|
||||
.itemInputs(
|
||||
'1x gtceu:ev_machine_hull',
|
||||
'4x #gtceu:circuits/ev',
|
||||
'4x gtceu:ev_electric_motor',
|
||||
'4x #forge:rotors/black_steel',
|
||||
'4x gtceu:ev_electric_pump',
|
||||
'4x #forge:gears/desh')
|
||||
.itemOutputs('gtceu:ostrum_harvester')
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.circuit(2)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:moon_dust_harvester')
|
||||
.itemInputs(
|
||||
'1x gtceu:hv_machine_hull',
|
||||
'4x #gtceu:circuits/hv',
|
||||
'4x gtceu:hv_electric_motor',
|
||||
'4x #forge:rotors/titanium',
|
||||
'4x gtceu:hv_electric_pump',
|
||||
'4x #forge:gears/rocket_alloy_t1')
|
||||
.itemOutputs('gtceu:moon_dust_harvester')
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.circuit(2)
|
||||
|
||||
event.recipes.gtceu.shaped('tfg:evaporation_tower', [
|
||||
'TUT',
|
||||
'WZW',
|
||||
'TUT'
|
||||
], {
|
||||
T: '#gtceu:circuits/iv',
|
||||
W: 'gtceu:ev_electric_pump',
|
||||
U: '#forge:double_wires/nichrome',
|
||||
Z: 'gtceu:ev_machine_hull'
|
||||
}).addMaterialInfo().id('tfg:shaped/evaporation_tower')
|
||||
|
||||
event.shaped('deafission:fission_reactor_mk1', [
|
||||
'TUT',
|
||||
'WZW',
|
||||
'TUT'
|
||||
], {
|
||||
T: 'gtceu:atomic_casing',
|
||||
W: '#gtceu:circuits/ev',
|
||||
U: 'gtceu:hv_field_generator',
|
||||
Z: 'gtceu:ev_machine_hull'
|
||||
}
|
||||
).id('tfg:shaped/fission_reactor_mk1')
|
||||
|
||||
event.shaped('gtceu:nuclear_fuel_factory', [
|
||||
'TUT',
|
||||
'WZW',
|
||||
'TBT'
|
||||
], {
|
||||
T: 'gtceu:atomic_casing',
|
||||
W: '#gtceu:circuits/ev',
|
||||
U: 'gtceu:ev_emitter',
|
||||
Z: 'gtceu:ev_machine_hull',
|
||||
B: 'gtceu:ev_robot_arm'
|
||||
}
|
||||
).id('tfg:shaped/nuclear_fuel_factory')
|
||||
|
||||
event.shaped('gtceu:heat_exchanger', [
|
||||
'TUT',
|
||||
'WZW',
|
||||
'GBG'
|
||||
], {
|
||||
T: 'gtceu:high_temperature_smelting_casing',
|
||||
W: '#gtceu:circuits/ev',
|
||||
U: 'gtceu:ev_sensor',
|
||||
Z: 'gtceu:ev_machine_hull',
|
||||
B: 'gtceu:ev_fluid_regulator',
|
||||
G: '#forge:gears/ostrum_iodide'
|
||||
}
|
||||
).id('tfg:shaped/heat_exchanger')
|
||||
|
||||
event.shaped('tfg:nuclear_turbine', [
|
||||
'CTC',
|
||||
'TZT',
|
||||
'BTB'
|
||||
], {
|
||||
T: '#forge:gears/magnalium',
|
||||
Z: 'gtceu:ev_machine_hull',
|
||||
B: 'gtceu:ultimet_large_item_pipe',
|
||||
C: '#gtceu:circuits/ev'
|
||||
}
|
||||
).id('tfg:shaped/nuclear_turbine')
|
||||
|
||||
}
|
||||
38
kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js
Normal file
38
kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGSteamBloomeryRecipes(event) {
|
||||
|
||||
event.recipes.gtceu.steam_bloomery('steam_raw_iron_bloom_coal')
|
||||
.itemInputs('#forge:ingots/iron', '#tfc:steam_bloomery_basic_fuels')
|
||||
.itemOutputs('tfc:raw_iron_bloom')
|
||||
.duration(2400)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.steam_bloomery('steam_raw_iron_bloom_coalcoke')
|
||||
.itemInputs('2x #forge:ingots/iron', '#tfc:blast_furnace_fuel')
|
||||
.itemOutputs('2x tfc:raw_iron_bloom')
|
||||
.duration(2400)
|
||||
.EUt(2)
|
||||
|
||||
forEachMaterial(material => {
|
||||
|
||||
const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY)
|
||||
if (tfcProperty === null)
|
||||
return;
|
||||
|
||||
const outputMaterial = tfcProperty.getOutputMaterial() === null ? material : tfcProperty.getOutputMaterial()
|
||||
if (outputMaterial === GTMaterials.Iron) {
|
||||
event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coal_${material.getName()}`)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 1), '#tfc:steam_bloomery_basic_fuels')
|
||||
.itemOutputs('tfc:raw_iron_bloom')
|
||||
.duration(2400)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coalcoke_${material.getName()}`)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 2), '#tfc:blast_furnace_fuel')
|
||||
.itemOutputs('2x tfc:raw_iron_bloom')
|
||||
.duration(2400)
|
||||
.EUt(2)
|
||||
}
|
||||
})
|
||||
}
|
||||
74
kubejs/server_scripts/tfg/mars/recipes.iodine.js
Normal file
74
kubejs/server_scripts/tfg/mars/recipes.iodine.js
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGMarsIodineRecipes(event) {
|
||||
|
||||
// This file is specifically for the crappy mars-based iodine recipe chain.
|
||||
// The "proper" venus one is elsewhere
|
||||
|
||||
event.recipes.gtceu.autoclave('tfg:crimsene')
|
||||
.inputFluids(Fluid.of('tfg:crimsene', 144), Fluid.of('gtceu:liquid_carbon_dioxide', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:carbon_monoxide', 1000))
|
||||
.itemOutputs('#forge:gems/crimsene')
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.autoclave('tfg:warpane')
|
||||
.inputFluids(Fluid.of('tfg:warpane', 144), Fluid.of('gtceu:liquid_carbon_dioxide', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:hydrogen', 1000))
|
||||
.itemOutputs('#forge:gems/warpane')
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:crimsene')
|
||||
.itemInputs('#forge:gems/crimsene')
|
||||
.itemOutputs('#forge:dusts/crimsene')
|
||||
.duration(20 * 5)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:warpane')
|
||||
.itemInputs('#forge:gems/warpane')
|
||||
.itemOutputs('#forge:dusts/warpane')
|
||||
.duration(20 * 5)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:mars_sap')
|
||||
.itemInputs('#forge:dusts/warpane', '#forge:dusts/crimsene')
|
||||
.inputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000), Fluid.of('gtceu:krypton', 500))
|
||||
.itemOutputs('#forge:dusts/mycelienzene')
|
||||
.duration(30 * 20)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.deafission.fission_reactor_processing('tfg:mars_sap')
|
||||
.itemInputs('#forge:dusts/mycelienzene')
|
||||
.outputFluids(Fluid.of('tfg:cooked_mycelienzane', 1000))
|
||||
.blastFurnaceTemp(100)
|
||||
.duration(30 * 10)
|
||||
|
||||
event.recipes.gtceu.centrifuge('mars_sap_separation')
|
||||
.inputFluids(Fluid.of('tfg:cooked_mycelienzane', 2000))
|
||||
.outputFluids(
|
||||
Fluid.of('tfg:iodomethane', 1000),
|
||||
Fluid.of('tfg:trideuteroiodomethane', 1000),
|
||||
Fluid.of('gtceu:krypton', 1000),
|
||||
Fluid.of('gtceu:diluted_hydrochloric_acid', 4000))
|
||||
.duration(20 * 20)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:iodomethane_separation')
|
||||
.inputFluids(
|
||||
Fluid.of('tfg:iodomethane', 1000),
|
||||
Fluid.of('gtceu:hydrogen', 1000))
|
||||
.itemOutputs('#forge:dusts/iodine')
|
||||
.outputFluids(Fluid.of('gtceu:methane', 1000))
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:trideuteroiodomethane_separation')
|
||||
.inputFluids(
|
||||
Fluid.of('tfg:trideuteroiodomethane', 1000),
|
||||
Fluid.of('gtceu:oxygen', 1500))
|
||||
.itemOutputs('#forge:dusts/iodine', '#forge:dusts/carbon')
|
||||
.outputFluids(Fluid.of('tfg:heavy_water', 1500))
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
}
|
||||
231
kubejs/server_scripts/tfg/mars/recipes.mars.js
Normal file
231
kubejs/server_scripts/tfg/mars/recipes.mars.js
Normal file
|
|
@ -0,0 +1,231 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGMarsRecipes(event) {
|
||||
|
||||
// Mars air
|
||||
|
||||
event.recipes.gtceu.vacuum_freezer('tfg:liquid_mars_air')
|
||||
.inputFluids(Fluid.of('tfg:mars_air', 4000))
|
||||
.outputFluids(Fluid.of('tfg:liquid_mars_air', 4000))
|
||||
.duration(80)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:centrifuge_mars_air')
|
||||
.inputFluids(Fluid.of('tfg:mars_air', 10000))
|
||||
.outputFluids(Fluid.of('gtceu:carbon_dioxide', 3900), Fluid.of('gtceu:nitrogen', 1000), Fluid.of('gtceu:argon', 500))
|
||||
.duration(1600)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
// TODO: move neon and xenon somewhere else
|
||||
event.recipes.gtceu.distillation_tower('tfg:distill_liquid_mars_air')
|
||||
.inputFluids(Fluid.of('tfg:liquid_mars_air', 100000))
|
||||
.outputFluids(Fluid.of('gtceu:carbon_dioxide', 80000))
|
||||
.outputFluids(Fluid.of('gtceu:nitrogen', 7000))
|
||||
.outputFluids(Fluid.of('gtceu:argon', 5000))
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 3000))
|
||||
.outputFluids(Fluid.of('gtceu:krypton', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:neon', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:xenon', 1000))
|
||||
.chancedOutput('gtceu:ammonium_chloride_dust', 2250, 0)
|
||||
.disableDistilleryRecipes(true)
|
||||
.duration(2000)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
//#region Mars Water
|
||||
|
||||
event.recipes.gtceu.centrifuge('mars_heavy_water')
|
||||
.inputFluids(Fluid.of('tfg:heavy_ammoniacal_water', 1000))
|
||||
.outputFluids(Fluid.of('tfg:heavy_water', 500))
|
||||
.itemOutputs('#forge:dusts/ammonium_chloride', '2x #forge:small_dusts/ammonium_chloride')
|
||||
.duration(20*9)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.centrifuge('mars_semiheavy_water')
|
||||
.inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 1000))
|
||||
.outputFluids(Fluid.of('tfg:semiheavy_water', 500))
|
||||
.itemOutputs('2x #forge:tiny_dusts/ammonium_chloride')
|
||||
.duration(20*9)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.distillery('mars_semiheavy_water')
|
||||
.inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 1000))
|
||||
.outputFluids(Fluid.of('minecraft:water', 250))
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
// Mars plants
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:bio_glowstone')
|
||||
.itemInputs('betterend:cave_pumpkin_chunks', '4x species:alphacene_mushroom_block')
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 100))
|
||||
.itemOutputs('2x minecraft:glowstone_dust')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.dimension('ad_astra:mars')
|
||||
|
||||
// Ad astra woods
|
||||
|
||||
global.AD_ASTRA_WOOD.forEach(wood => {
|
||||
woodBuilder(event, wood.name, wood.lumber, wood.logs, wood.log, wood.stripped_log, wood.plank, wood.stair, wood.slab, wood.door, wood.trapdoor, wood.fence, wood.fence_gate, wood.support, wood.pressure_plate, wood.button)
|
||||
})
|
||||
|
||||
event.shaped('16x ad_astra:aeronos_ladder', [
|
||||
'A A',
|
||||
'ABA',
|
||||
'A A'
|
||||
], {
|
||||
A: 'tfg:wood/lumber/aeronos',
|
||||
B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1),
|
||||
}).id('tfg:shaped/aeronos_ladder')
|
||||
|
||||
event.shaped('16x ad_astra:strophar_ladder', [
|
||||
'A A',
|
||||
'ABA',
|
||||
'A A'
|
||||
], {
|
||||
A: 'tfg:wood/lumber/strophar',
|
||||
B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1),
|
||||
}).id('tfg:shaped/strophar_ladder')
|
||||
|
||||
|
||||
generateGreenHouseRecipe(event, '8x tfg:saplings/strophar', 'tfg:semiheavy_ammoniacal_water', 16000,
|
||||
'64x ad_astra:strophar_stem', 'tfg:green_house/strophar_mushroom', 'ad_astra:mars', 8,
|
||||
'16x ad_astra:strophar_cap', GTValues.VA[GTValues.MV])
|
||||
generateGreenHouseRecipe(event, '8x tfg:saplings/aeronos', 'tfg:semiheavy_ammoniacal_water', 16000,
|
||||
'64x ad_astra:aeronos_stem', 'tfg:green_house/aeronos_mushroom', 'ad_astra:mars', 8,
|
||||
'16x ad_astra:aeronos_cap', GTValues.VA[GTValues.MV])
|
||||
generateGreenHouseRecipe(event, '8x tfg:saplings/glacian', 'tfg:semiheavy_ammoniacal_water', 16000,
|
||||
'64x ad_astra:glacian_log', 'tfg:green_house/glacian_tree', 'ad_astra:mars', 8,
|
||||
'8x species:alphacene_moss_block', GTValues.VA[GTValues.MV])
|
||||
|
||||
// Beneath woods
|
||||
|
||||
generateGreenHouseRecipe(event, '8x tfg:saplings/warped', 'tfg:semiheavy_ammoniacal_water', 16000,
|
||||
'64x beneath:wood/log/warped', 'tfg:green_house/warped_fungus', 'ad_astra:mars', 8,
|
||||
'32x minecraft:warped_wart_block', GTValues.VA[GTValues.MV])
|
||||
generateGreenHouseRecipe(event, '8x tfg:saplings/crimson', 'tfg:semiheavy_ammoniacal_water', 16000,
|
||||
'64x beneath:wood/log/crimson', 'tfg:green_house/crimson_fungus', 'ad_astra:mars', 8,
|
||||
'32x minecraft:nether_wart_block', GTValues.VA[GTValues.MV])
|
||||
|
||||
// don't pass in the items like doors, trapdoors etc because beneath already has good recipes for those
|
||||
woodBuilder(event, 'crimson', 'beneath:wood/lumber/crimson', '#tfc:crimson_logs', 'beneath:wood/log/crimson',
|
||||
'beneath:wood/stripped_log/crimson', 'beneath:wood/planks/crimson', null,
|
||||
'beneath:wood/planks/crimson_slab', null, null, null, null, null, 'beneath:wood/planks/crimson_pressure_plate',
|
||||
'beneath:wood/planks/crimson_button')
|
||||
|
||||
event.recipes.gtceu.lathe(`tfg:cutter/crimson_stripped_wood_from_wood`)
|
||||
.itemInputs('beneath:wood/wood/crimson')
|
||||
.itemOutputs('beneath:wood/stripped_wood/crimson')
|
||||
.duration(50)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.custom({
|
||||
type: 'vintageimprovements:polishing',
|
||||
ingredients: [{ item: 'beneath:wood/wood/crimson' }],
|
||||
results: [{ item: 'beneath:wood/stripped_wood/crimson' }],
|
||||
speed_limits: 0,
|
||||
processingTime: 50
|
||||
}).id(`tfg:vi/lathe/stripping_crimson_wood`)
|
||||
|
||||
woodBuilder(event, 'warped', 'beneath:wood/lumber/warped', '#tfc:warped_logs', 'beneath:wood/log/warped',
|
||||
'beneath:wood/stripped_log/warped', 'beneath:wood/planks/warped', null,
|
||||
'beneath:wood/planks/warped_slab', null, null, null, null, null, 'beneath:wood/planks/warped_pressure_plate',
|
||||
'beneath:wood/planks/warped_button')
|
||||
|
||||
event.recipes.gtceu.lathe(`tfg:cutter/warped_stripped_wood_from_wood`)
|
||||
.itemInputs('beneath:wood/wood/warped')
|
||||
.itemOutputs('beneath:wood/stripped_wood/warped')
|
||||
.duration(50)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.custom({
|
||||
type: 'vintageimprovements:polishing',
|
||||
ingredients: [{ item: 'beneath:wood/wood/warped' }],
|
||||
results: [{ item: 'beneath:wood/stripped_wood/warped' }],
|
||||
speed_limits: 0,
|
||||
processingTime: 50
|
||||
}).id(`tfg:vi/lathe/stripping_warped_wood`)
|
||||
|
||||
// Alphacene
|
||||
|
||||
generateGreenHouseRecipe(event, '8x tfg:saplings/alphacene', 'tfg:semiheavy_ammoniacal_water', 16000,
|
||||
'64x species:alphacene_mushroom_block', 'tfg:green_house/alphacene_mushroom', 'ad_astra:mars', 8,
|
||||
'8x minecraft:mushroom_stem', GTValues.VA[GTValues.MV])
|
||||
|
||||
//Large Nest
|
||||
event.shaped('tfg:large_nest_box',
|
||||
[
|
||||
'B B',
|
||||
'ABA',
|
||||
'AAA'
|
||||
], {
|
||||
A: 'beneath:crimson_thatch',
|
||||
B: 'beneath:crimson_straw'
|
||||
}).id('tfg:shaped_large_nest_crimson')
|
||||
|
||||
event.shaped('tfg:large_nest_box_warped',
|
||||
[
|
||||
'B B',
|
||||
'ABA',
|
||||
'AAA'
|
||||
], {
|
||||
A: 'beneath:warped_thatch',
|
||||
B: 'beneath:warped_straw'
|
||||
}).id('tfg:shaped_large_nest_warped')
|
||||
|
||||
// Animal stuff
|
||||
|
||||
event.shapeless('species:cracked_wraptor_egg', ['tfg:wraptor_egg', '#forge:tools/hammers']).id('tfg:shapeless/crack_egg')
|
||||
event.shapeless('2x tfg:wraptor_sugar', ['species:cracked_wraptor_egg']).id('tfg:shapeless/juice_egg')
|
||||
|
||||
event.recipes.gtceu.extractor('tfg:juice_wraptor_egg_mv')
|
||||
.itemInputs('species:cracked_wraptor_egg')
|
||||
.itemOutputs('4x tfg:wraptor_sugar')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
event.recipes.gtceu.extractor('tfg:juice_wraptor_egg_full')
|
||||
.itemInputs('tfg:wraptor_egg')
|
||||
.itemOutputs('4x tfg:wraptor_sugar')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.extractor('tfg:juice_sniffer_egg')
|
||||
.itemInputs('tfg:sniffer_egg')
|
||||
.outputFluids(Fluid.of('firmalife:cream', 1000))
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.tfc.loom(
|
||||
'8x ad_astra:glacian_fur',
|
||||
'8x tfg:glacian_wool',
|
||||
8,
|
||||
'ad_astra:block/glacian_fur'
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/glacian_fur')
|
||||
.itemInputs('tfg:glacian_wool')
|
||||
.circuit(10)
|
||||
.itemOutputs('ad_astra:glacian_fur')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless('8x tfc:wool_yarn', [
|
||||
'tfc:spindle',
|
||||
'tfg:glacian_wool'
|
||||
]).id('tfg:shapeless/glacian_wool_to_yarn'))
|
||||
|
||||
event.recipes.gtceu.wiremill('tfg:glacian_wool_yarn')
|
||||
.itemInputs('tfg:glacian_wool')
|
||||
.itemOutputs('8x tfc:wool_yarn')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
event.shaped('minecraft:pink_bed', [
|
||||
'AAA',
|
||||
'BBB'
|
||||
], {
|
||||
A: 'ad_astra:glacian_fur',
|
||||
B: '#tfc:lumber'
|
||||
}).id('tfg:shaped/glacian_bed')
|
||||
}
|
||||
140
kubejs/server_scripts/tfg/mars/recipes.ostrum.js
Normal file
140
kubejs/server_scripts/tfg/mars/recipes.ostrum.js
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGMarsOstrumRecipes(event) {
|
||||
|
||||
var $HeatRecipeCapability = Java.loadClass("fi.dea.mc.deafission.common.data.recipe.HeatRecipeCapability");
|
||||
var $HeatIngredient = Java.loadClass("fi.dea.mc.deafission.common.data.recipe.HeatIngredient");
|
||||
const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic')
|
||||
|
||||
// Ostrum Harvester
|
||||
|
||||
event.recipes.gtceu.ostrum_harvester(`tfg:ostrum_harvesting`)
|
||||
.perTick(true)
|
||||
.inputFluids('gtceu:drilling_fluid 4')
|
||||
.perTick(false)
|
||||
.dimension('ad_astra:mars')
|
||||
.itemOutputsRanged('gtceu:ostrum_dust', 1, 5)
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VA[GTValues.LV]);
|
||||
|
||||
// Ostrum Linear Accelerator Recipes
|
||||
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum_transformation')
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 100')
|
||||
.itemInputs('32x #forge:dusts/ostrum')
|
||||
.chancedFluidOutputLogic($ChanceLogic.XOR)
|
||||
.chancedFluidOutput('gtceu:lightweight_ostrum_vapor', 6000, 0)
|
||||
.chancedFluidOutput('gtceu:ostrum_vapor', 3000, 0)
|
||||
.chancedFluidOutput('gtceu:dense_ostrum_vapor', 1000, 0)
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.EV]);
|
||||
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum')
|
||||
.inputFluids('gtceu:lightweight_ostrum_vapor 1000')
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 100')
|
||||
.inputFluids(Fluid.of('tfg:heavy_water', 1000))
|
||||
.itemOutputsRanged('#forge:dusty_raw_materials/pitchblende', 1, 10)
|
||||
.itemOutputsRanged('#forge:dusty_raw_materials/silver', 1, 10)
|
||||
.itemOutputsRanged('#forge:dusty_raw_materials/tricalcium_phosphate', 1, 10)
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.IV]);
|
||||
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum')
|
||||
.inputFluids('gtceu:ostrum_vapor 1000')
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 100')
|
||||
.inputFluids(Fluid.of('gtceu:radon', 100))
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/beryllium'), 1, 10)
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.IV]);
|
||||
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:dense_ostrum')
|
||||
.inputFluids('gtceu:dense_ostrum_vapor 1000')
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 100')
|
||||
.inputFluids(Fluid.of('gtceu:tritiated_water', 500))
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/uraninite'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/hematite'), 1, 10)
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.IV]);
|
||||
|
||||
// Ostrum Linear Accelerator Recipes
|
||||
|
||||
// .input($HeatRecipeCapability.CAP, new $HeatIngredient(X, Y)) where X is Minimal Temperature to run and where Y is HU consummed per craft
|
||||
/*
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum_transformation')
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 100')
|
||||
.itemInputs('32x #forge:dusts/ostrum')
|
||||
.chancedFluidOutputLogic($ChanceLogic.XOR)
|
||||
.chancedFluidOutput('gtceu:lightweight_ostrum_vapor', 6000, 0)
|
||||
.chancedFluidOutput('gtceu:ostrum_vapor', 3000, 0)
|
||||
.chancedFluidOutput('gtceu:dense_ostrum_vapor', 1000, 0)
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.EV]);
|
||||
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t1')
|
||||
.perTick(true)
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 1')
|
||||
.perTick(false)
|
||||
.inputFluids(Fluid.of('gtceu:lightweight_ostrum_vapor',1000))
|
||||
.inputFluids(Fluid.of('gtceu:radon', 10))
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 10)
|
||||
//.input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500))
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 20)
|
||||
.circuit(1);
|
||||
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t2')
|
||||
.perTick(true)
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 1')
|
||||
.inputFluids(Fluid.of('tfg:semiheavy_water', 1))
|
||||
.perTick(false)
|
||||
.inputFluids(Fluid.of('gtceu:lightweight_ostrum_vapor',1000))
|
||||
.inputFluids(Fluid.of('gtceu:radon', 10))
|
||||
.inputFluids(Fluid.of('gtceu:krypton', 10))
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 10, 20)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('gtceu:dusty_raw_pitchblende'), 1, 10)
|
||||
//.input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500))
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 20)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.circuit(2);
|
||||
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t3')
|
||||
.perTick(true)
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 1')
|
||||
.inputFluids(Fluid.of('tfg:semiheavy_water', 1))
|
||||
.perTick(false)
|
||||
.inputFluids(Fluid.of('gtceu:lightweight_ostrum_vapor',1000))
|
||||
.inputFluids(Fluid.of('gtceu:radon', 10))
|
||||
.inputFluids(Fluid.of('gtceu:krypton', 10))
|
||||
.inputFluids(Fluid.of('gtceu:tritiated_water', 10))
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 10, 20)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 10, 10)
|
||||
.itemOutputsRanged(Item.of('gtceu:dusty_raw_pitchblende'), 10, 20)
|
||||
.input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500))
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 20)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.circuit(3);
|
||||
*/
|
||||
//#endregion
|
||||
|
||||
}
|
||||
27
kubejs/server_scripts/tfg/moon/recipes.moon.js
Normal file
27
kubejs/server_scripts/tfg/moon/recipes.moon.js
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGMoonRecipes(event) {
|
||||
|
||||
// Cryo Fluix
|
||||
event.recipes.gtceu.vacuum_freezer('gtceu:cryo_fluix')
|
||||
.inputFluids(Fluid.of('gtceu:helium_3', 1000))
|
||||
.inputFluids(Fluid.of('tfg:fluix', 144))
|
||||
.outputFluids(Fluid.of('tfg:cryogenized_fluix', 576))
|
||||
.duration(30 * 20)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.fluid_heater('tfg:cryo_fluix')
|
||||
.inputFluids(Fluid.of('tfg:cryogenized_fluix', 576))
|
||||
.outputFluids(Fluid.of('tfg:fluix', 144))
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.autoclave('tfg:cryo_fluix_pearl')
|
||||
.inputFluids(Fluid.of('tfg:cryogenized_fluix', 576))
|
||||
.itemInputs('tfg:vitrified_pearl')
|
||||
.itemOutputs('tfg:cryo_fluix_pearl')
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
}
|
||||
90
kubejs/server_scripts/tfg/moon/recipes.plants.js
Normal file
90
kubejs/server_scripts/tfg/moon/recipes.plants.js
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGMoonPlantRecipes(event) {
|
||||
|
||||
// Plants - Can't use the default builder here because fertiliser is much harder to get on the moon,
|
||||
// and we're using helium-3 as the fertiliser
|
||||
|
||||
// Chorus
|
||||
event.recipes.gtceu.greenhouse('tfg:chorus')
|
||||
.notConsumable('8x tfg:lunar_chorus_flower')
|
||||
.itemOutputs('64x minecraft:chorus_fruit')
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 750, 0)
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 500, 0)
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 750, 0)
|
||||
.duration(36000) // 30 mins
|
||||
.circuit(1)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.greenhouse('tfg:chorus_helium')
|
||||
.notConsumable('8x tfg:lunar_chorus_flower')
|
||||
.inputFluids(Fluid.of('gtceu:helium_3', 2000))
|
||||
.itemOutputs('64x minecraft:chorus_fruit')
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 4000, 0)
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 3000, 0)
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 4000, 0)
|
||||
.duration(12000) // 10 mins
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
// Replace the built-in greg one to add a circuit
|
||||
event.recipes.gtceu.fermenter('fermented_biomass')
|
||||
.inputFluids(Fluid.of('gtceu:biomass', 100))
|
||||
.outputFluids(Fluid.of('gtceu:fermented_biomass', 100))
|
||||
.circuit(1)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:chorus')
|
||||
.itemInputs('minecraft:chorus_fruit')
|
||||
.inputFluids(Fluid.of('gtceu:biomass', 20))
|
||||
.chancedOutput('ae2:ender_dust', 100, 0)
|
||||
.outputFluids(Fluid.of('gtceu:nitrogen', 1000))
|
||||
.circuit(2)
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:chorus_flower')
|
||||
.itemInputs('tfg:lunar_chorus_flower')
|
||||
.inputFluids(Fluid.of('gtceu:biomass', 20))
|
||||
.chancedOutput('ae2:ender_dust', 100, 0)
|
||||
.outputFluids(Fluid.of('gtceu:nitrogen', 1000))
|
||||
.circuit(2)
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
// Lightblooms
|
||||
event.recipes.gtceu.greenhouse('tfg:lightbloom')
|
||||
.notConsumable('8x minecraft:twisting_vines')
|
||||
.itemOutputs('16x minecraft:twisting_vines')
|
||||
.chancedOutput('minecraft:pearlescent_froglight', 2500, 0)
|
||||
.chancedOutput('minecraft:verdant_froglight', 2500, 0)
|
||||
.chancedOutput('minecraft:ochre_froglight', 2500, 0)
|
||||
.duration(36000) // 30 mins
|
||||
.circuit(1)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.greenhouse('tfg:lightbloom_helium')
|
||||
.notConsumable('8x minecraft:twisting_vines')
|
||||
.inputFluids(Fluid.of('gtceu:helium_3', 2000))
|
||||
.itemOutputs('16x minecraft:twisting_vines')
|
||||
.chancedOutput('minecraft:pearlescent_froglight', 3500, 0)
|
||||
.chancedOutput('minecraft:verdant_froglight', 3500, 0)
|
||||
.chancedOutput('minecraft:ochre_froglight', 3500, 0)
|
||||
.duration(12000) // 30 mins
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.brewery('biomass_from_twisting_vines')
|
||||
.itemInputs('minecraft:twisting_vines')
|
||||
.inputFluids("#tfg:clean_water 20")
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 20))
|
||||
.duration(50)
|
||||
.EUt(3)
|
||||
}
|
||||
144
kubejs/server_scripts/tfg/moon/recipes.regolith.js
Normal file
144
kubejs/server_scripts/tfg/moon/recipes.regolith.js
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGMoonRegolithRecipes(event) {
|
||||
|
||||
//#region Moon Harvester
|
||||
|
||||
event.recipes.gtceu.moon_dust_harvester('tfg:lunar_assurine_harvester')
|
||||
.biome('tfg:moon/lunar_asurine_dense')
|
||||
.itemOutputsRanged('#forge:dusts/certus_regolith', 1, 5)
|
||||
.duration(20 * 80)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.moon_dust_harvester('tfg:lunar_chorus_dense')
|
||||
.biome('tfg:moon/lunar_chorus_dense')
|
||||
.itemOutputsRanged('#forge:dusts/goethe_regolith', 1, 5)
|
||||
.duration(20 * 80)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.circuit(2)
|
||||
|
||||
event.recipes.gtceu.moon_dust_harvester('tfg:lunar_corals_dense')
|
||||
.biome('tfg:moon/lunar_corals_dense')
|
||||
.itemOutputsRanged('#forge:dusts/bright_regolith', 1, 5)
|
||||
.duration(20 * 80)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.circuit(3)
|
||||
|
||||
event.recipes.gtceu.moon_dust_harvester('tfg:lunar_lights_dense')
|
||||
.biome('tfg:moon/lunar_lights_dense')
|
||||
.itemOutputsRanged('#forge:dusts/cassiterite_regolith', 1, 5)
|
||||
.duration(20 * 80)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.circuit(4)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Regolith Vapor Processing
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:regolith_slurry_suspension')
|
||||
.itemInputs('ad_astra:moon_sand', 'tfg:dry_ice')
|
||||
.itemOutputs('#forge:dusts/regolith_mush')
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20 * 60)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:regolith_vapor')
|
||||
.itemInputs('#forge:dusts/regolith_mush')
|
||||
.inputFluids('gtceu:nitrogen 1000')
|
||||
.itemOutputs('#forge:dusts/silicon_dioxide')
|
||||
.outputFluids('gtceu:regolith_vapor 1000')
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20 * 28)
|
||||
.EUt(GTValues.VHA[GTValues.LV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Making Dusty Ores
|
||||
|
||||
const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic')
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:dusty_certus_reactor')
|
||||
.itemInputs('#forge:dusts/certus_regolith')
|
||||
.inputFluids('gtceu:regolith_vapor 100')
|
||||
.itemOutputs('gtceu:dusty_raw_certus_quartz')
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20 * 68)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:dusty_goethite_reactor')
|
||||
.itemInputs('#forge:dusts/goethe_regolith')
|
||||
.inputFluids('gtceu:regolith_vapor 100')
|
||||
.itemOutputs('gtceu:dusty_raw_goethite')
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20 * 68)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:dusty_shiny_reactor')
|
||||
.itemInputs('#forge:dusts/bright_regolith')
|
||||
.inputFluids('gtceu:regolith_vapor 100')
|
||||
.chancedItemOutputLogic($ChanceLogic.XOR)
|
||||
.chancedOutput('gtceu:dusty_raw_diamond', 2000, 0)
|
||||
.chancedOutput('gtceu:dusty_raw_gold', 8000, 0)
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20 * 68)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:dusty_cassiterite_reactor')
|
||||
.itemInputs('#forge:dusts/cassiterite_regolith')
|
||||
.inputFluids('gtceu:regolith_vapor 100')
|
||||
.itemOutputs('gtceu:dusty_raw_cassiterite')
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20 * 68)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Basic dusty ore centrifuging
|
||||
|
||||
// These have special recipes
|
||||
const DUSTY_ORE_EXCEPTIONS = [
|
||||
GTMaterials.Goethite,
|
||||
GTMaterials.Cassiterite,
|
||||
GTMaterials.Bauxite
|
||||
]
|
||||
|
||||
// Otherwise everything else just centrifuges into its dust version
|
||||
forEachMaterial(material => {
|
||||
if (DUSTY_ORE_EXCEPTIONS.indexOf(material) >= 0)
|
||||
return;
|
||||
|
||||
const dustyOre = ChemicalHelper.get(TFGTagPrefix.dustyRawOre, material, 1)
|
||||
const dust = ChemicalHelper.get(TagPrefix.dust, material, 1)
|
||||
|
||||
if (dustyOre !== null && dust !== null) {
|
||||
event.recipes.gtceu.centrifuge(`tfg:dusty_to_dust_${material.getName()}`)
|
||||
.itemInputs(dustyOre)
|
||||
.itemOutputs(dust)
|
||||
.duration(20 * 45)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
}
|
||||
})
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:dusty_to_dust_goethite')
|
||||
.itemInputs('#forge:dusty_raw_materials/goethite')
|
||||
.chancedItemOutputLogic($ChanceLogic.XOR)
|
||||
.chancedOutput('#forge:dusts/iron', 5000, 0)
|
||||
.chancedOutput('#forge:dusts/copper', 5000, 0)
|
||||
.duration(20 * 45)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:dusty_to_dust_bauxite')
|
||||
.itemInputs('#forge:dusty_raw_materials/bauxite')
|
||||
.itemOutputs('#forge:dusts/aluminium')
|
||||
.duration(20 * 45)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:dusty_to_dust_tin')
|
||||
.itemInputs('#forge:dusty_raw_materials/cassiterite')
|
||||
.itemOutputs('#forge:dusts/tin')
|
||||
.duration(20 * 45)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
// #endregion
|
||||
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
function registerTFCAlabasterRecipes(event) {
|
||||
function registerTFGAlabasterRecipes(event) {
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('4x tfc:alabaster_brick', ['#forge:raw_materials/gypsum', '#tfc:chisels']))
|
||||
.id('tfc:crafting/alabaster_brick/raw_gypsum')
|
||||
|
|
@ -122,6 +122,10 @@ function registerTFGCollapseRecipes(event) {
|
|||
// #endregion
|
||||
|
||||
// #region Other
|
||||
event.recipes.tfc.collapse('#tfg:rock_slabs').id('tfg:collapse/rock_slabs')
|
||||
event.recipes.tfc.collapse('#tfg:rock_stairs').id('tfg:collapse/rock_stairs')
|
||||
event.recipes.tfc.collapse('#tfg:rock_walls').id('tfg:collapse/rock_walls')
|
||||
|
||||
event.recipes.tfc.collapse('minecraft:cobblestone', 'minecraft:stone')
|
||||
event.recipes.tfc.landslide('minecraft:cobblestone', 'minecraft:cobblestone')
|
||||
event.recipes.tfc.landslide('minecraft:mossy_cobblestone', 'minecraft:mossy_cobblestone')
|
||||
144
kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js
Normal file
144
kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGConcreteRecipes(event) {
|
||||
|
||||
const recipe = event.recipes.gtceu.mixer('concrete_from_marble')
|
||||
.itemInputs(Ingredient.of('#tfg:stone_dusts').subtract('gtceu:marble_dust').withCount(2), 'gtceu:marble_dust', 'gtceu:gypsum_dust')
|
||||
.inputFluids("#tfg:clean_water 1000")
|
||||
.outputFluids('gtceu:concrete 1152')
|
||||
.duration(40)
|
||||
.EUt(16)
|
||||
|
||||
generateMixerRecipe(event, ['3x #tfg:stone_dusts', 'gtceu:clay_dust'],
|
||||
"#tfg:clean_water 500", [], null, 'gtceu:concrete 576', 20, 16, 64, 'concrete_from_clay')
|
||||
|
||||
generateMixerRecipe(event, ['3x #tfg:stone_dusts', 'gtceu:calcite_dust', 'gtceu:gypsum_dust'],
|
||||
"#tfg:clean_water 1000", [], null, 'gtceu:concrete 1152', 40, 16, 64, 'concrete_from_calcite')
|
||||
|
||||
//GT light/dark concrete recipe fix
|
||||
|
||||
event.remove({ id: 'gtceu:fluid_solidifier/solidify_concrete_block' })
|
||||
event.remove({ id: 'gtceu:chemical_bath/light_to_dark_concrete' })
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier('gtceu:fluid_solidifier/solidify_light_concrete')
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 144))
|
||||
.notConsumable('1x gtceu:block_casting_mold')
|
||||
.itemOutputs('1x gtceu:light_concrete')
|
||||
.duration(98)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('gtceu:chemical_bath/dark_concrete')
|
||||
.inputFluids(Fluid.of('tfc:black_dye', 18))
|
||||
.itemInputs('1x gtceu:light_concrete')
|
||||
.itemOutputs('1x gtceu:dark_concrete')
|
||||
.duration(20)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.extractor('gtceu:extractor/extract_light_concrete')
|
||||
.itemInputs('1x gtceu:light_concrete')
|
||||
.outputFluids(Fluid.of('gtceu:concrete', 144))
|
||||
.duration(98)
|
||||
.EUt(30)
|
||||
|
||||
event.stonecutting('gtceu:light_concrete_bricks', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_bricks')
|
||||
event.stonecutting('gtceu:chiseled_light_concrete', 'gtceu:light_concrete').id('tfg:stonecutting/chiseled_light_concrete')
|
||||
event.stonecutting('gtceu:light_concrete_tile', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_tile')
|
||||
event.stonecutting('gtceu:light_concrete_small_tile', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_small_tile')
|
||||
event.stonecutting('gtceu:light_concrete_windmill_a', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_windmill_a')
|
||||
event.stonecutting('gtceu:light_concrete_windmill_b', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_windmill_b')
|
||||
event.stonecutting('gtceu:small_light_concrete_bricks', 'gtceu:light_concrete').id('tfg:stonecutting/small_light_concrete_bricks')
|
||||
event.stonecutting('gtceu:square_light_concrete_bricks', 'gtceu:light_concrete').id('tfg:stonecutting/square_light_concrete_bricks')
|
||||
|
||||
event.stonecutting('gtceu:dark_concrete_bricks', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_bricks')
|
||||
event.stonecutting('gtceu:chiseled_dark_concrete', 'gtceu:dark_concrete').id('tfg:stonecutting/chiseled_dark_concrete')
|
||||
event.stonecutting('gtceu:dark_concrete_tile', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_tile')
|
||||
event.stonecutting('gtceu:dark_concrete_small_tile', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_small_tile')
|
||||
event.stonecutting('gtceu:dark_concrete_windmill_a', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_windmill_a')
|
||||
event.stonecutting('gtceu:dark_concrete_windmill_b', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_windmill_b')
|
||||
event.stonecutting('gtceu:small_dark_concrete_bricks', 'gtceu:dark_concrete').id('tfg:stonecutting/small_dark_concrete_bricks')
|
||||
event.stonecutting('gtceu:square_dark_concrete_bricks', 'gtceu:dark_concrete').id('tfg:stonecutting/square_dark_concrete_bricks')
|
||||
|
||||
// Handcrafted artisanal concrete
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#tfg:stone_dusts', '#tfg:stone_dusts', '#forge:dusts/marble', '#forge:dusts/gypsum'], Fluid.of('minecraft:water', 1000))
|
||||
.outputFluid(Fluid.of('gtceu:concrete', 1000))
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#tfg:stone_dusts', '#tfg:stone_dusts', '#tfg:stone_dusts', '#forge:dusts/clay'], Fluid.of('minecraft:water', 500))
|
||||
.outputFluid(Fluid.of('gtceu:concrete', 500))
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#tfg:stone_dusts', '#tfg:stone_dusts', '#tfg:stone_dusts', '#forge:dusts/calcite', '#forge:dusts/gypsum'], Fluid.of('minecraft:water', 1000))
|
||||
.outputFluid(Fluid.of('gtceu:concrete', 1000))
|
||||
|
||||
event.recipes.tfc.barrel_sealed(1000)
|
||||
.inputFluid(Fluid.of('gtceu:concrete', 144))
|
||||
.inputItem('gtceu:wood_frame')
|
||||
.outputItem('gtceu:light_concrete')
|
||||
.id('tfg:barrel/light_concrete')
|
||||
|
||||
event.recipes.tfc.barrel_sealed(1000)
|
||||
.inputFluid(Fluid.of('gtceu:concrete', 96))
|
||||
.inputItem('tfg:rebar_support')
|
||||
.outputItem('tfg:reinforced_light_concrete_support')
|
||||
.id('tfg:barrel/reinforced_light_concrete_support')
|
||||
|
||||
event.recipes.tfc.barrel_sealed(500)
|
||||
.inputItem('gtceu:light_concrete')
|
||||
.inputFluid(Fluid.of('tfc:black_dye', 18))
|
||||
.outputItem('gtceu:dark_concrete')
|
||||
.id('tfg:barrel/dark_concrete')
|
||||
|
||||
event.recipes.tfc.barrel_sealed(500)
|
||||
.inputItem('tfg:light_concrete_support')
|
||||
.inputFluid(Fluid.of('tfc:black_dye', 10))
|
||||
.outputItem('tfg:dark_concrete_support')
|
||||
.id('tfg:barrel/dark_concrete_support')
|
||||
|
||||
event.recipes.tfc.barrel_sealed(500)
|
||||
.inputItem('tfg:reinforced_light_concrete_support')
|
||||
.inputFluid(Fluid.of('tfc:black_dye', 10))
|
||||
.outputItem('tfg:reinforced_dark_concrete_support')
|
||||
.id('tfg:barrel/reinforced_dark_concrete_support')
|
||||
|
||||
// Titanium concrete
|
||||
event.recipes.gtceu.assembler('tfg:titanium_concrete')
|
||||
.itemInputs('2x #forge:rods/titanium', '#forge:dusts/kaolinite')
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 144 * 1.5))
|
||||
.itemOutputs('tfg:titanium_concrete')
|
||||
.circuit(2)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VH[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.laser_engraver('tfg:titanium_concrete_bricks')
|
||||
.itemInputs('tfg:polished_titanium_concrete')
|
||||
.notConsumable('#forge:lenses/light_blue')
|
||||
.itemOutputs('tfg:titanium_concrete_bricks')
|
||||
.duration(20 * (2.5))
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.laser_engraver('tfg:titanium_concrete_bricks_small')
|
||||
.itemInputs('tfg:polished_titanium_concrete')
|
||||
.notConsumable('#forge:lenses/pink')
|
||||
.itemOutputs('tfg:titanium_concrete_bricks_small')
|
||||
.duration(20 * (2.5))
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.laser_engraver('tfg:titanium_concrete_bricks_square')
|
||||
.itemInputs('tfg:polished_titanium_concrete')
|
||||
.notConsumable('#forge:lenses/green')
|
||||
.itemOutputs('tfg:titanium_concrete_bricks_square')
|
||||
.duration(20 * (2.5))
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.laser_engraver('tfg:titanium_concrete_tile')
|
||||
.itemInputs('tfg:polished_titanium_concrete')
|
||||
.notConsumable('#forge:lenses/red')
|
||||
.itemOutputs('tfg:titanium_concrete_tile')
|
||||
.duration(20 * (2.5))
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.laser_engraver('tfg:titanium_concrete_tile_small')
|
||||
.itemInputs('tfg:polished_titanium_concrete')
|
||||
.notConsumable('#forge:lenses/black')
|
||||
.itemOutputs('tfg:titanium_concrete_tile_small')
|
||||
.duration(20 * (2.5))
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
}
|
||||
|
|
@ -1,7 +1,14 @@
|
|||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
function registerTFCDirtRecipes(event) {
|
||||
function registerTFGDirtRecipes(event) {
|
||||
|
||||
// Dirt creation
|
||||
event.recipes.gtceu.macerator('dirt_from_bio_chaff')
|
||||
.itemInputs('gtceu:bio_chaff')
|
||||
.itemOutputs('tfc:dirt/loam')
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
|
||||
// Loam + Silt -> Silty Loam (Миксер)
|
||||
event.recipes.gtceu.mixer('silty_loam_dirt')
|
||||
|
|
@ -1238,4 +1238,29 @@ function registerTFGRockRecipes(event) {
|
|||
})
|
||||
|
||||
//#endregion Magma Blocks
|
||||
|
||||
//#region GT marble
|
||||
event.stonecutting('gtceu:polished_marble', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_polished_marble')
|
||||
event.stonecutting('gtceu:chiseled_marble', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_chiseled_marble')
|
||||
event.stonecutting('gtceu:marble_tile', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_tile')
|
||||
event.stonecutting('gtceu:marble_small_tile', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_small_tile')
|
||||
event.stonecutting('gtceu:marble_windmill_a', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_windmill_a')
|
||||
event.stonecutting('gtceu:marble_windmill_b', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_windmill_b')
|
||||
event.stonecutting('gtceu:small_marble_bricks', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_small_marble_bricks')
|
||||
event.stonecutting('gtceu:square_marble_bricks', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_square_marble_bricks')
|
||||
//#endregion
|
||||
|
||||
// Blackstone Buttons
|
||||
removeCutterRecipe(event, 'blackstone_button')
|
||||
removeCutterRecipe(event, 'blackstone_button_water')
|
||||
removeCutterRecipe(event, 'blackstone_button_distilled_water')
|
||||
removeCutterRecipe(event, 'cut_polished_blackstone_brickslab_into_button')
|
||||
removeCutterRecipe(event, 'cut_polished_blackstone_brickslab_into_button_water')
|
||||
removeCutterRecipe(event, 'cut_polished_blackstone_brickslab_into_button_distilled_water')
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:blackstone_button')
|
||||
.itemInputs('minecraft:polished_blackstone_pressure_plate')
|
||||
.itemOutputs('6x minecraft:polished_blackstone_button')
|
||||
.EUt(7)
|
||||
.duration(100)
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
function registerTFCSandRecipes(event) {
|
||||
function registerTFGSandRecipes(event) {
|
||||
|
||||
// Нефтеносный -> Желтый песок
|
||||
event.recipes.gtceu.centrifuge('oilsands_ore_separation')
|
||||
|
|
@ -210,4 +210,25 @@ function registerTFCSandRecipes(event) {
|
|||
event.recipes.greate.pressing('tfc:sand/pink', '#tfc:pink_gravel')
|
||||
.recipeTier(1)
|
||||
.id(`greate:pressing/pink_gravel_to_sand`)
|
||||
|
||||
// Quartz sand
|
||||
event.shaped('gtceu:quartz_sand_dust', [
|
||||
'A',
|
||||
'B'
|
||||
], {
|
||||
A: '#forge:sand',
|
||||
B: '#forge:tools/mortars'
|
||||
}).id('gtceu:shaped/quartz_sand')
|
||||
|
||||
event.recipes.gtceu.macerator('quartz_sand_from_sand')
|
||||
.itemInputs('#forge:sand')
|
||||
.itemOutputs('gtceu:quartz_sand_dust')
|
||||
.duration(30)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.electrolyzer('sand_electrolysis')
|
||||
.itemInputs('8x #forge:sand')
|
||||
.itemOutputs('gtceu:silicon_dioxide_dust')
|
||||
.duration(500)
|
||||
.EUt(25)
|
||||
}
|
||||
|
|
@ -6,6 +6,24 @@
|
|||
*/
|
||||
function registerTFGStoneDustRecipes(event) {
|
||||
|
||||
event.recipes.gtceu.electrolyzer('gtceu:decomposition_electrolyzing_clay')
|
||||
.itemInputs('13x #forge:dusts/clay')
|
||||
.itemOutputs('2x #forge:dusts/sodium', '1x #forge:dusts/lithium', '2x #forge:dusts/aluminium', '2x #forge:dusts/silicon')
|
||||
.outputFluids(Fluid.of('minecraft:water', 6000))
|
||||
.duration(GTMaterials.Clay.getMass() * 13)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.centrifuge('gtceu:stone_dust_separation')
|
||||
.itemInputs('gtceu:stone_dust')
|
||||
.chancedOutput('#forge:small_dusts/quartzite', 2500, 0)
|
||||
.chancedOutput('#forge:small_dusts/potassium_feldspar', 2500, 0)
|
||||
.chancedOutput('#forge:small_dusts/marble', 2222, 0)
|
||||
.chancedOutput('#forge:small_dusts/biotite', 1111, 0)
|
||||
.chancedOutput('#forge:small_dusts/metal_mixture', 825, 80)
|
||||
.chancedOutput('#forge:small_dusts/sodalite', 550, 55)
|
||||
.duration(12 * 20)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_blackstone' })
|
||||
|
||||
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__diorite')
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFGNOstrumRecipes(event) {
|
||||
|
||||
var $HeatRecipeCapability = Java.loadClass("fi.dea.mc.deafission.common.data.recipe.HeatRecipeCapability");
|
||||
var $HeatIngredient = Java.loadClass("fi.dea.mc.deafission.common.data.recipe.HeatIngredient");
|
||||
const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic')
|
||||
|
||||
// Ostrum Linear Accelerator Recipes
|
||||
|
||||
// .input($HeatRecipeCapability.CAP, new $HeatIngredient(X, Y)) where X is Minimal Temperature to run and where Y is HU consummed per craft
|
||||
/*
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum_transformation')
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 100')
|
||||
.itemInputs('32x #forge:dusts/ostrum')
|
||||
.chancedFluidOutputLogic($ChanceLogic.XOR)
|
||||
.chancedFluidOutput('gtceu:lightweight_ostrum_vapor', 6000, 0)
|
||||
.chancedFluidOutput('gtceu:ostrum_vapor', 3000, 0)
|
||||
.chancedFluidOutput('gtceu:dense_ostrum_vapor', 1000, 0)
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.EV]);
|
||||
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t1')
|
||||
.perTick(true)
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 1')
|
||||
.perTick(false)
|
||||
.inputFluids(Fluid.of('gtceu:lightweight_ostrum_vapor',1000))
|
||||
.inputFluids(Fluid.of('gtceu:radon', 10))
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 10)
|
||||
//.input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500))
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 20)
|
||||
.circuit(1);
|
||||
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t2')
|
||||
.perTick(true)
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 1')
|
||||
.inputFluids(Fluid.of('tfg:semiheavy_water', 1))
|
||||
.perTick(false)
|
||||
.inputFluids(Fluid.of('gtceu:lightweight_ostrum_vapor',1000))
|
||||
.inputFluids(Fluid.of('gtceu:radon', 10))
|
||||
.inputFluids(Fluid.of('gtceu:krypton', 10))
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 10, 20)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('gtceu:dusty_raw_pitchblende'), 1, 10)
|
||||
//.input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500))
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 20)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.circuit(2);
|
||||
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t3')
|
||||
.perTick(true)
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 1')
|
||||
.inputFluids(Fluid.of('tfg:semiheavy_water', 1))
|
||||
.perTick(false)
|
||||
.inputFluids(Fluid.of('gtceu:lightweight_ostrum_vapor',1000))
|
||||
.inputFluids(Fluid.of('gtceu:radon', 10))
|
||||
.inputFluids(Fluid.of('gtceu:krypton', 10))
|
||||
.inputFluids(Fluid.of('gtceu:tritiated_water', 10))
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 10, 20)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 10, 10)
|
||||
.itemOutputsRanged(Item.of('gtceu:dusty_raw_pitchblende'), 10, 20)
|
||||
.input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500))
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 20)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.circuit(3);
|
||||
*/
|
||||
//#endregion
|
||||
|
||||
}
|
||||
|
|
@ -34,7 +34,7 @@ const STONE_TYPES_TO_COBBLE = {
|
|||
permafrost: 'gtceu:ice_dust'
|
||||
}
|
||||
|
||||
const registerGTCEULoots = (event) => {
|
||||
const registerTFGOreLoots = (event) => {
|
||||
|
||||
// Have to define these here because normal loot table jsons don't support checking for hammers
|
||||
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
// priority: 0
|
||||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
function registerGTCEuTFCMetalsRecipes(event) {
|
||||
function registerTFGAlloyingRecipes(event) {
|
||||
|
||||
// #region Colored steels
|
||||
|
||||
|
|
@ -93,7 +93,40 @@ function registerGTCEuTFCMetalsRecipes(event) {
|
|||
|
||||
//#endregion
|
||||
|
||||
// red alloy, because crucible always makes 4+1=5
|
||||
// Rose Gold + Sterling Silver
|
||||
const copper_types = [
|
||||
"#forge:ingots/copper",
|
||||
"#forge:dusts/copper",
|
||||
"#forge:ingots/annealed_copper",
|
||||
"#forge:dusts/annealed_copper"
|
||||
];
|
||||
const gold_types = [
|
||||
"#forge:ingots/gold",
|
||||
"#forge:dusts/gold"
|
||||
];
|
||||
const silver_types = [
|
||||
"#forge:ingots/silver",
|
||||
"#forge:dusts/silver"
|
||||
];
|
||||
|
||||
copper_types.forEach(copper_types_array => {
|
||||
gold_types.forEach(gold_types_array => {
|
||||
event.recipes.gtceu.alloy_smelter(`rose_gold_from_${copper_types_array.replace(/:/g, "/").replace(/#/g, "")}_and_${gold_types_array.replace(/:/g, "/").replace(/#/g, "")}`)
|
||||
.itemInputs(Ingredient.of(copper_types_array).withCount(1), Ingredient.of(gold_types_array).withCount(4))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RoseGold, 5))
|
||||
.duration(20*10)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
});
|
||||
silver_types.forEach(silver_types_array => {
|
||||
event.recipes.gtceu.alloy_smelter(`sterling_silver_from_${copper_types_array.replace(/:/g, "/").replace(/#/g, "")}_and_${silver_types_array.replace(/:/g, "/").replace(/#/g, "")}`)
|
||||
.itemInputs(Ingredient.of(copper_types_array).withCount(1), Ingredient.of(silver_types_array).withCount(4))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.SterlingSilver, 5))
|
||||
.duration(20*10)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
});
|
||||
});
|
||||
|
||||
// Red alloy, because crucible always makes 4+1=5
|
||||
|
||||
event.recipes.gtceu.alloy_blast_smelter('red_alloy')
|
||||
.itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone')
|
||||
|
|
@ -140,4 +173,44 @@ function registerGTCEuTFCMetalsRecipes(event) {
|
|||
.itemOutputs('5x gtceu:red_alloy_ingot')
|
||||
.duration(50)
|
||||
.EUt(16)
|
||||
|
||||
event.remove({ id: 'gtceu:mixer/sterling_silver' })
|
||||
generateMixerRecipe(event, ['#forge:dusts/copper', '4x #forge:dusts/silver'], [], '5x gtceu:sterling_silver_dust',
|
||||
1, [], 500, 7, 64, 'gtceu:mixer/sterling_silver')
|
||||
|
||||
event.remove({ id: 'gtceu:mixer/rose_gold' })
|
||||
generateMixerRecipe(event, ['#forge:dusts/copper', '4x #forge:dusts/gold'], [], '5x gtceu:rose_gold_dust',
|
||||
3, [], 500, 7, 64, 'gtceu:mixer/rose_gold')
|
||||
|
||||
// Glowstone
|
||||
event.recipes.gtceu.mixer('gtceu:lv_glowstone')
|
||||
.itemInputs('gtceu:gold_dust', 'minecraft:redstone', 'gtceu:sulfur_dust')
|
||||
.itemOutputs('2x minecraft:glowstone_dust')
|
||||
.circuit(8)
|
||||
.duration(1200)
|
||||
.EUt(30)
|
||||
|
||||
event.recipes.gtceu.alloy_blast_smelter('abs:liquid_glowstone')
|
||||
.itemInputs('#forge:dusts/gold', '#forge:dusts/redstone', '#forge:dusts/sulfur')
|
||||
.outputFluids(Fluid.of('gtceu:glowstone', 288))
|
||||
.duration(20 * 60 / 1.3)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.blastFurnaceTemp(1064)
|
||||
.circuit(9)
|
||||
|
||||
// New Alloys
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:ostrum_iodide')
|
||||
.itemInputs('1x #forge:dusts/iodine', '2x #forge:dusts/ostrum')
|
||||
.itemOutputs('3x #forge:dusts/ostrum_iodide')
|
||||
.duration(20 * 12)
|
||||
.circuit(1)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:tungsten_bismuth_oxide_composite')
|
||||
.itemInputs('2x #forge:dusts/bismuth', 'gtceu:tungsten_dust')
|
||||
.inputFluids(Fluid.of('gtceu:oxygen', 3000))
|
||||
.itemOutputs('3x tfg:tungsten_bismuth_oxide_composite_dust')
|
||||
.duration(20 * 12)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
}
|
||||
126
kubejs/server_scripts/tfg/ores_and_materials/recipes.bromine.js
Normal file
126
kubejs/server_scripts/tfg/ores_and_materials/recipes.bromine.js
Normal file
|
|
@ -0,0 +1,126 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGBromineRecipes(event) {
|
||||
|
||||
/*
|
||||
|
||||
event.recipes.gtceu.evaporation_tower('evaporation_brine')
|
||||
.inputFluids(Fluid.of('tfc:salt_water', 20000))
|
||||
.outputFluids(Fluid.of('gtceu:raw_brine', 1000))
|
||||
.duration(20*50)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.evaporation_tower('evaporation_brine_mars')
|
||||
.inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 20000))
|
||||
.outputFluids(Fluid.of('gtceu:raw_brine', 1000))
|
||||
.duration(20*50)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.fluid_heater('heat_brine')
|
||||
.inputFluids(Fluid.of("gtceu:raw_brine", 1000))
|
||||
.outputFluids(Fluid.of("gtceu:hot_brine", 1000))
|
||||
.duration(20*600)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.heat_exchanger('heat_brine_nuclear')
|
||||
.inputFluids(Fluid.of("gtceu:raw_brine", 1000))
|
||||
.inputFluids(Fluid.of("gtceu:irradiated_steam", 1000))
|
||||
.outputFluids(Fluid.of("gtceu:hot_brine", 1000))
|
||||
.outputFluids(Fluid.of("gtceu:dense_steam", 1000))
|
||||
.duration(20*100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('debrominated_brine_raw_brine_mixing')
|
||||
.inputFluids(Fluid.of("gtceu:raw_brine", 1000))
|
||||
.inputFluids(Fluid.of('gtceu:hot_debrominated_brine', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:hot_brine', 2000))
|
||||
.outputFluids(Fluid.of('gtceu:debrominated_brine', 1000))
|
||||
.duration(20*10)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('brine_acidification')
|
||||
.inputFluids(Fluid.of("gtceu:hot_brine", 2000))
|
||||
.inputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:hot_alkaline_debrominated_brine', 2000))
|
||||
.outputFluids(Fluid.of('gtceu:hydrogen_iodide', 1000))
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('aciditic_bromine_exhaust_heating')
|
||||
.inputFluids(Fluid.of("gtceu:hot_brine", 1000))
|
||||
.inputFluids(Fluid.of('gtceu:acidic_bromine_exhaust', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:steam', 3000))
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('brine_chloroination')
|
||||
.inputFluids(Fluid.of("gtceu:hot_brine", 1000))
|
||||
.inputFluids(Fluid.of('gtceu:chlorine', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000))
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('brine_neutralization')
|
||||
.inputFluids(Fluid.of("gtceu:hot_alkaline_debrominated_brine", 3000))
|
||||
.itemInputs('gtceu:potassium_dust')
|
||||
.outputFluids(Fluid.of('gtceu:hot_debrominated_brine', 2000))
|
||||
.itemOutputs(Item.of('2x gtceu:rock_salt_dust'))
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.centrifuge('debrominated_brine_decomposition')
|
||||
.inputFluids(Fluid.of('gtceu:debrominated_brine', 2000))
|
||||
.outputFluids(Fluid.of('tfc:salt_water'), 1000)
|
||||
.duration(20*3)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('brine_filtration')
|
||||
.inputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000))
|
||||
.inputFluids(Fluid.of('gtceu:chlorine', 1000))
|
||||
.inputFluids(Fluid.of('gtceu:steam', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:hot_alkaline_debrominated_brine', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:brominated_chlorine_vapor', 2000))
|
||||
.duration(20*15)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('brominated_chlorine_vapor_condensation')
|
||||
.inputFluids(Fluid.of('gtceu:brominated_chlorine_vapor', 1000))
|
||||
.inputFluids(Fluid.of('minecraft:water', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:acidic_bromine_solution', 1000))
|
||||
.outputFluids(Fluid.of('minecraft:water', 2000))
|
||||
.duration(20*15)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('bromine_vapor_concentration')
|
||||
.inputFluids(Fluid.of('gtceu:acidic_bromine_solution', 1000))
|
||||
.inputFluids(Fluid.of('gtceu:steam', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:acidic_bromine_exhaust', 1000))
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.distillery('bromine_distillation_to_chlorine')
|
||||
.inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 100))
|
||||
.outputFluids(Fluid.of('gtceu:chlorine', 50))
|
||||
.duration(20*5)
|
||||
.circuit(1)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.distillery('bromine_distillation_to_bromine')
|
||||
.inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 40))
|
||||
.outputFluids(Fluid.of('gtceu:bromine', 40))
|
||||
.duration(20*2)
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.distillation_tower('bromine_distillation')
|
||||
.inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:chlorine', 500))
|
||||
.outputFluids(Fluid.of('gtceu:bromine', 1000))
|
||||
.duration(20*25)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
*/
|
||||
|
||||
}
|
||||
132
kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js
Normal file
132
kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGQuartzRecipes(event) {
|
||||
|
||||
//#region Rose Quartz fabrication + decomposition
|
||||
event.remove({ id: 'gtceu:autoclave/autoclave_dust_rose_quartz_water' })
|
||||
event.remove({ id: 'gtceu:autoclave/autoclave_dust_rose_quartz_distilled' })
|
||||
|
||||
generateMixerRecipe(event, ['gtceu:nether_quartz_dust', '8x minecraft:redstone'], [], '9x gtceu:rose_quartz_dust', 2, [], 180, 60, 64, 'rose_quartz_dust_mixing')
|
||||
generateMixerRecipe(event, ['gtceu:tiny_nether_quartz_dust', '8x gtceu:tiny_redstone_dust'], [], 'gtceu:rose_quartz_dust', 2, [], 20, 60, 64, 'tiny_rose_quartz_dust_mixing')
|
||||
|
||||
event.recipes.gtceu.autoclave("autoclave_dust_rose_quartz_ice")
|
||||
.itemInputs('#forge:dusts/rose_quartz')
|
||||
.inputFluids(Fluid.of("gtceu:ice", 144))
|
||||
.itemOutputs("#forge:gems/rose_quartz")
|
||||
.duration(2000)
|
||||
.EUt(120)
|
||||
|
||||
event.recipes.gtceu.electrolyzer('electrolyze_rose_quartz_dust')
|
||||
.itemInputs('9x gtceu:rose_quartz_dust')
|
||||
.itemOutputs('1x gtceu:nether_quartz_dust', '8x minecraft:redstone')
|
||||
.duration(7 * 20)
|
||||
.EUt(60)
|
||||
//#endregion
|
||||
|
||||
//#region Glass
|
||||
|
||||
event.recipes.gtceu.arc_furnace('glass_from_sand')
|
||||
.itemInputs('#forge:sand')
|
||||
.itemOutputs('2x minecraft:glass')
|
||||
.duration(20)
|
||||
.EUt(30)
|
||||
|
||||
global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS.forEach(element => {
|
||||
event.recipes.gtceu.alloy_smelter(`tfg:tfc/${element.name}`)
|
||||
.itemInputs(element.input)
|
||||
.notConsumable('gtceu:bottle_casting_mold')
|
||||
.itemOutputs(element.output)
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.INGOT_MOLDING)
|
||||
})
|
||||
|
||||
// Lamp Glass
|
||||
event.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass`)
|
||||
.itemInputs('#tfc:glass_batches')
|
||||
.notConsumable('#tfg:unfinished_lamps')
|
||||
.itemOutputs('tfc:lamp_glass')
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass_from_dust`)
|
||||
.itemInputs('#forge:dusts/glass')
|
||||
.notConsumable('#tfg:unfinished_lamps')
|
||||
.itemOutputs('tfc:lamp_glass')
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
// Empty Jar
|
||||
event.recipes.gtceu.alloy_smelter('tfc:jar_alloying')
|
||||
.itemInputs('#tfc:glass_batches_tier_2')
|
||||
.notConsumable('gtceu:ball_casting_mold')
|
||||
.itemOutputs('tfc:empty_jar')
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.INGOT_MOLDING)
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier('tfc:jar_solidification')
|
||||
.inputFluids(Fluid.of('gtceu:glass', 144))
|
||||
.notConsumable('gtceu:cylinder_casting_mold')
|
||||
.itemOutputs('tfc:empty_jar')
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.extractor('tfc:jar_extraction')
|
||||
.itemInputs('#tfc:jars')
|
||||
.outputFluids(Fluid.of('gtceu:glass', 144))
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.extractor('tfc:glass_batch_extraction')
|
||||
.itemInputs('#tfc:glass_batches')
|
||||
.outputFluids(Fluid.of('gtceu:glass', 144))
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.lathe('tfc:lens')
|
||||
.itemInputs('#forge:glass')
|
||||
.itemOutputs('tfc:lens')
|
||||
.duration(100)
|
||||
.EUt(16)
|
||||
|
||||
// Add all glass colors to macerator/hammer
|
||||
removeMaceratorRecipe(event, 'macerate_glass');
|
||||
event.recipes.gtceu.macerator("gtceu:macerator/macerate_glass")
|
||||
.itemInputs(
|
||||
"#forge:glass"
|
||||
)
|
||||
.itemOutputs("gtceu:glass_dust")
|
||||
.duration(20)
|
||||
.EUt(2);
|
||||
|
||||
removeMaceratorRecipe(event, 'macerate_glass_pane');
|
||||
event.recipes.gtceu.macerator("gtceu:macerator/macerate_glass_pane")
|
||||
.itemInputs(
|
||||
"#forge:glass_panes"
|
||||
)
|
||||
.itemOutputs("3x gtceu:tiny_glass_dust")
|
||||
.duration(6)
|
||||
.EUt(2)
|
||||
|
||||
event.replaceInput({ id: "gtceu:shaped/glass_dust_hammer" },
|
||||
"minecraft:glass",
|
||||
"#forge:glass"
|
||||
);
|
||||
|
||||
|
||||
event.recipes.gtceu.alloy_smelter('glass_bottle')
|
||||
.itemInputs('#forge:dusts/glass')
|
||||
.itemOutputs('tfc:silica_glass_bottle')
|
||||
.notConsumable('gtceu:bottle_casting_mold')
|
||||
.EUt(2)
|
||||
.duration(20 * 5)
|
||||
.category(GTRecipeCategories.INGOT_MOLDING)
|
||||
|
||||
|
||||
// Glass Tube
|
||||
event.recipes.tfc.glassworking('gtceu:glass_tube', '#tfc:glass_batches_tier_3', ['blow', 'stretch', 'stretch'])
|
||||
.id('tfg:gtceu/glassworking/glass_tube')
|
||||
|
||||
//#endregion
|
||||
}
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGTungstenRecipes(event) {
|
||||
|
||||
event.remove({ id: 'gtceu:chemical_bath/tungstic_acid_from_scheelite' })
|
||||
event.remove({ id: 'gtceu:chemical_bath/tungstic_acid_from_tungstate' })
|
||||
event.remove({ id: 'gtceu:electrolyzer/tungstic_acid_electrolysis' })
|
||||
|
||||
// Transform Tungstate and Scheelite
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor('tfg:scheelite_to_sodium_tungstate')
|
||||
.itemInputs(Item.of('gtceu:scheelite_dust', 6))
|
||||
.itemInputs(Item.of('gtceu:soda_ash_dust', 6))
|
||||
.itemOutputs(Item.of('tfg:sodium_tungstate_dust', 7))
|
||||
.itemOutputs(Item.of('gtceu:calcite_dust', 5))
|
||||
.duration(20*12)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor('tfg:tungstate_to_sodium_tungstate')
|
||||
.itemInputs(Item.of('gtceu:tungstate_dust', 7))
|
||||
.itemInputs(Item.of('gtceu:soda_ash_dust', 6))
|
||||
.itemOutputs(Item.of('tfg:sodium_tungstate_dust', 7))
|
||||
.itemOutputs(Item.of('gtceu:lithium_dust', 2))
|
||||
.itemOutputs(Item.of('gtceu:carbon_dust', 1))
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 3000))
|
||||
.duration(20*12)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:tungstate_to_tungsten_acid')
|
||||
.inputFluids(Fluid.of('gtceu:hydrochloric_acid', 2000))
|
||||
.itemInputs(Item.of('tfg:sodium_tungstate_dust', 7))
|
||||
.itemOutputs(Item.of('gtceu:salt_dust', 4))
|
||||
.itemOutputs(Item.of('gtceu:tungstic_acid_dust', 7))
|
||||
.duration(20*24)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:tungsten_acid_to_ammonium_tungstate')
|
||||
.inputFluids(Fluid.of('gtceu:ammonia', 10000))
|
||||
.itemInputs(Item.of('gtceu:tungstic_acid_dust', 7))
|
||||
.itemOutputs(Item.of('tfg:ammonium_tungstate_dust', 1))
|
||||
.duration(20*16)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.evaporation_tower('tfg:ammonium_tungstate_to_apt_h')
|
||||
.itemInputs(Item.of('tfg:ammonium_tungstate_dust', 1))
|
||||
.itemOutputs(Item.of('tfg:apt_gem', 1))
|
||||
.outputFluids(Fluid.of('gtceu:hydrogen', 500))
|
||||
.outputFluids(Fluid.of('gtceu:hydrogen', 500))
|
||||
.outputFluids(Fluid.of('gtceu:hydrogen', 500))
|
||||
.outputFluids(Fluid.of('gtceu:hydrogen', 500))
|
||||
.outputFluids(Fluid.of('gtceu:hydrogen', 500))
|
||||
.outputFluids(Fluid.of('gtceu:hydrogen', 500))
|
||||
.duration(20*48)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.distillery('tfg:ammonium_tungstate_to_apt')
|
||||
.itemInputs(Item.of('tfg:ammonium_tungstate_dust', 1))
|
||||
.itemOutputs(Item.of('tfg:apt_gem', 1))
|
||||
.outputFluids(Fluid.of('gtceu:hydrogen', 500))
|
||||
.duration(20*48)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.pyrolyse_oven('tfg:apt')
|
||||
.itemInputs(Item.of('tfg:apt_gem', 1))
|
||||
.itemOutputs(Item.of('tfg:tungsten_oxide_dust', 1))
|
||||
.outputFluids(Fluid.of('gtceu:ammonia', 10000))
|
||||
.duration(20*36)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.pyrolyse_oven('tfg:apt_nitrogen')
|
||||
.itemInputs(Item.of('tfg:apt_gem', 1))
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 1000))
|
||||
.itemOutputs(Item.of('tfg:tungsten_oxide_dust', 1))
|
||||
.outputFluids(Fluid.of('gtceu:ammonia', 10000))
|
||||
.duration(20*18)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.circuit(2)
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:tungsten_apt')
|
||||
.itemInputs(Item.of('tfg:tungsten_oxide_dust', 1))
|
||||
.inputFluids(Fluid.of('gtceu:hydrogen', 3000))
|
||||
.itemOutputs(Item.of('gtceu:tungsten_dust', 1))
|
||||
.duration(20*2.8)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
}
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFGZirconiumRecipes(event) {
|
||||
|
||||
// #region Zirconium
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride')
|
||||
.itemInputs('#forge:dusts/silicon')
|
||||
.inputFluids('gtceu:chlorine 4000')
|
||||
.outputFluids('tfg:silicon_tetrachloride 1000')
|
||||
.duration(20 * 20)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride_decomp')
|
||||
.inputFluids('tfg:silicon_tetrachloride 1000', 'minecraft:water 2000')
|
||||
.itemOutputs('#forge:dusts/silicon')
|
||||
.outputFluids('gtceu:hydrochloric_acid 4000', 'gtceu:oxygen 2000')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:zirconium_tetrachloride')
|
||||
.itemInputs('4x #forge:dusts/carbon', '6x #forge:dusts/zircon')
|
||||
.inputFluids('gtceu:chlorine 8000')
|
||||
.outputFluids('gtceu:carbon_monoxide 4000', 'tfg:silicon_tetrachloride 1000')
|
||||
.itemOutputs('5x #forge:dusts/zirconium_tetrachloride')
|
||||
.duration(20 * 20)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace('tfg:zirconium')
|
||||
.itemInputs('2x #forge:dusts/magnesium', '5x #forge:dusts/zirconium_tetrachloride')
|
||||
.itemOutputs('#forge:hot_ingots/zirconium', '6x #forge:dusts/magnesium_chloride')
|
||||
.duration(55 * 20)
|
||||
.blastFurnaceTemp(4241)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:zirconium_bromide')
|
||||
.itemInputs('#forge:dusts/zirconium', '2x #forge:dusts/carbon')
|
||||
.inputFluids('gtceu:bromine 4000', 'gtceu:oxygen 2000')
|
||||
.itemOutputs('5x #forge:dusts/zirconium_bromide')
|
||||
.outputFluids('gtceu:carbon_monoxide 2000')
|
||||
.duration(10 * 20)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:zirconium_diboride')
|
||||
.itemInputs('10x #forge:dusts/zirconium_bromide', '5x #forge:dusts/boron_carbide')
|
||||
.notConsumable('#forge:dusts/carbon')
|
||||
.itemOutputs('6x #forge:dusts/zirconium_diboride', '#forge:dusts/carbon')
|
||||
.outputFluids('gtceu:bromine 8000')
|
||||
.duration(10 * 20)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:boron_carbide')
|
||||
.itemInputs('4x #forge:dusts/boron', '7x #forge:dusts/carbon')
|
||||
.inputFluids('gtceu:oxygen 6000')
|
||||
.itemOutputs('5x #forge:dusts/boron_carbide')
|
||||
.outputFluids('gtceu:carbon_monoxide 6000')
|
||||
.duration(10 * 20)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
// #endregion
|
||||
}
|
||||
|
|
@ -85,28 +85,6 @@ function registerTFGNuclearRecipes(event) {
|
|||
|
||||
//#endregion
|
||||
|
||||
//#region Mars Water
|
||||
|
||||
event.recipes.gtceu.centrifuge('mars_heavy_water')
|
||||
.inputFluids(Fluid.of('tfg:heavy_ammoniacal_water', 1000))
|
||||
.outputFluids(Fluid.of('tfg:heavy_water', 500))
|
||||
.itemOutputs('#forge:dusts/ammonium_chloride', '2x #forge:small_dusts/ammonium_chloride')
|
||||
.duration(20*9)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.centrifuge('mars_semiheavy_water')
|
||||
.inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 1000))
|
||||
.outputFluids(Fluid.of('tfg:semiheavy_water', 500))
|
||||
.itemOutputs('2x #forge:tiny_dusts/ammonium_chloride')
|
||||
.duration(20*9)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.distillery('mars_semiheavy_water')
|
||||
.inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 1000))
|
||||
.outputFluids(Fluid.of('minecraft:water', 250))
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
// Martian Sludge
|
||||
|
||||
event.recipes.gtceu.chemical_bath('dirty_hexafluorosilicic_acid')
|
||||
|
|
@ -590,129 +568,6 @@ function registerTFGNuclearRecipes(event) {
|
|||
|
||||
//#endregion
|
||||
|
||||
//#region Bromine Line - SCRAP FROM MARS TO VENUS
|
||||
|
||||
/*
|
||||
|
||||
event.recipes.gtceu.evaporation_tower('evaporation_brine')
|
||||
.inputFluids(Fluid.of('tfc:salt_water', 20000))
|
||||
.outputFluids(Fluid.of('gtceu:raw_brine', 1000))
|
||||
.duration(20*50)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.evaporation_tower('evaporation_brine_mars')
|
||||
.inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 20000))
|
||||
.outputFluids(Fluid.of('gtceu:raw_brine', 1000))
|
||||
.duration(20*50)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.fluid_heater('heat_brine')
|
||||
.inputFluids(Fluid.of("gtceu:raw_brine", 1000))
|
||||
.outputFluids(Fluid.of("gtceu:hot_brine", 1000))
|
||||
.duration(20*600)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.heat_exchanger('heat_brine_nuclear')
|
||||
.inputFluids(Fluid.of("gtceu:raw_brine", 1000))
|
||||
.inputFluids(Fluid.of("gtceu:irradiated_steam", 1000))
|
||||
.outputFluids(Fluid.of("gtceu:hot_brine", 1000))
|
||||
.outputFluids(Fluid.of("gtceu:dense_steam", 1000))
|
||||
.duration(20*100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('debrominated_brine_raw_brine_mixing')
|
||||
.inputFluids(Fluid.of("gtceu:raw_brine", 1000))
|
||||
.inputFluids(Fluid.of('gtceu:hot_debrominated_brine', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:hot_brine', 2000))
|
||||
.outputFluids(Fluid.of('gtceu:debrominated_brine', 1000))
|
||||
.duration(20*10)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('brine_acidification')
|
||||
.inputFluids(Fluid.of("gtceu:hot_brine", 2000))
|
||||
.inputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:hot_alkaline_debrominated_brine', 2000))
|
||||
.outputFluids(Fluid.of('gtceu:hydrogen_iodide', 1000))
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('aciditic_bromine_exhaust_heating')
|
||||
.inputFluids(Fluid.of("gtceu:hot_brine", 1000))
|
||||
.inputFluids(Fluid.of('gtceu:acidic_bromine_exhaust', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:steam', 3000))
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('brine_chloroination')
|
||||
.inputFluids(Fluid.of("gtceu:hot_brine", 1000))
|
||||
.inputFluids(Fluid.of('gtceu:chlorine', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000))
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('brine_neutralization')
|
||||
.inputFluids(Fluid.of("gtceu:hot_alkaline_debrominated_brine", 3000))
|
||||
.itemInputs('gtceu:potassium_dust')
|
||||
.outputFluids(Fluid.of('gtceu:hot_debrominated_brine', 2000))
|
||||
.itemOutputs(Item.of('2x gtceu:rock_salt_dust'))
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.centrifuge('debrominated_brine_decomposition')
|
||||
.inputFluids(Fluid.of('gtceu:debrominated_brine', 2000))
|
||||
.outputFluids(Fluid.of('tfc:salt_water'), 1000)
|
||||
.duration(20*3)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('brine_filtration')
|
||||
.inputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000))
|
||||
.inputFluids(Fluid.of('gtceu:chlorine', 1000))
|
||||
.inputFluids(Fluid.of('gtceu:steam', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:hot_alkaline_debrominated_brine', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:brominated_chlorine_vapor', 2000))
|
||||
.duration(20*15)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('brominated_chlorine_vapor_condensation')
|
||||
.inputFluids(Fluid.of('gtceu:brominated_chlorine_vapor', 1000))
|
||||
.inputFluids(Fluid.of('minecraft:water', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:acidic_bromine_solution', 1000))
|
||||
.outputFluids(Fluid.of('minecraft:water', 2000))
|
||||
.duration(20*15)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('bromine_vapor_concentration')
|
||||
.inputFluids(Fluid.of('gtceu:acidic_bromine_solution', 1000))
|
||||
.inputFluids(Fluid.of('gtceu:steam', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:acidic_bromine_exhaust', 1000))
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.distillery('bromine_distillation_to_chlorine')
|
||||
.inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 100))
|
||||
.outputFluids(Fluid.of('gtceu:chlorine', 50))
|
||||
.duration(20*5)
|
||||
.circuit(1)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.distillery('bromine_distillation_to_bromine')
|
||||
.inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 40))
|
||||
.outputFluids(Fluid.of('gtceu:bromine', 40))
|
||||
.duration(20*2)
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.distillation_tower('bromine_distillation')
|
||||
.inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:chlorine', 500))
|
||||
.outputFluids(Fluid.of('gtceu:bromine', 1000))
|
||||
.duration(20*25)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
}
|
||||
116
kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js
Normal file
116
kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGBiodieselRecipes(event) {
|
||||
|
||||
// Biofuels
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`seed_oil_alcohol_biodiesel`)
|
||||
.inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:seed_oil', 6000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
// So you can craft Biodiesel without Chemical Reactor
|
||||
event.recipes.gtceu.mixer(`tfg:seed_oil_alcohol_biodiesel`)
|
||||
.inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:seed_oil', 1000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:bio_diesel', 500))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`olive_oil_alcohol_biodiesel`)
|
||||
.inputFluids("#tfc:alcohols 1000", Fluid.of('tfc:olive_oil', 4000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
// So you can craft Biodiesel without Chemical Reactor
|
||||
event.recipes.gtceu.mixer(`tfg:olive_oil_alcohol_biodiesel`)
|
||||
.inputFluids("#tfc:alcohols 1000", Fluid.of('tfc:olive_oil', 1000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:bio_diesel', 500))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`soybean_oil_alcohol_biodiesel`)
|
||||
.inputFluids("#tfc:alcohols 1000", Fluid.of('firmalife:soybean_oil', 4000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
// So you can craft Biodiesel without Chemical Reactor
|
||||
event.recipes.gtceu.mixer(`tfg:soybean_oil_alcohol_biodiesel`)
|
||||
.inputFluids("#tfc:alcohols 1000", Fluid.of('firmalife:soybean_oil', 1000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:bio_diesel', 500))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`fish_oil_alcohol_biodiesel`)
|
||||
.inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:fish_oil', 6000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
// So you can craft Biodiesel without Chemical Reactor
|
||||
event.recipes.gtceu.mixer(`tfg:fish_oil_alcohol_biodiesel`)
|
||||
.inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:fish_oil', 1000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:bio_diesel', 500))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`olive_oil_ethanol_biodiesel`)
|
||||
.inputFluids(Fluid.of('tfc:olive_oil', 4000), Fluid.of('gtceu:ethanol', 1000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VHA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`olive_oil_methanol_biodiesel`)
|
||||
.inputFluids(Fluid.of('tfc:olive_oil', 4000), Fluid.of('gtceu:methanol', 1000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VHA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`soybean_oil_ethanol_biodiesel`)
|
||||
.inputFluids(Fluid.of('firmalife:soybean_oil', 4000), Fluid.of('gtceu:ethanol', 1000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VHA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`soybean_oil_methanol_biodiesel`)
|
||||
.inputFluids(Fluid.of('firmalife:soybean_oil', 4000), Fluid.of('gtceu:methanol', 1000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VHA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.extractor(`rapeseed_oil`)
|
||||
.itemInputs('tfg:rapeseed_product')
|
||||
.outputFluids(Fluid.of('gtceu:seed_oil', 600))
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.extractor(`sunflower_oil`)
|
||||
.itemInputs('tfg:sunflower_product')
|
||||
.outputFluids(Fluid.of('gtceu:seed_oil', 350))
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.tfc.barrel_sealed(1000)
|
||||
.inputs('tfg:rapeseed_product', Fluid.of('minecraft:water', 100))
|
||||
.outputFluid(Fluid.of('gtceu:seed_oil', 250))
|
||||
.id('tfg:barrel/rapeseed_to_oil')
|
||||
|
||||
event.recipes.tfc.barrel_sealed(1000)
|
||||
.inputs('tfg:sunflower_product', Fluid.of('minecraft:water', 100))
|
||||
.outputFluid(Fluid.of('gtceu:seed_oil', 120))
|
||||
.id('tfg:barrel/sunflower_to_oil')
|
||||
}
|
||||
91
kubejs/server_scripts/tfg/powergen/recipes.boiler.js
Normal file
91
kubejs/server_scripts/tfg/powergen/recipes.boiler.js
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGBoilerRecipes(event) {
|
||||
|
||||
// The 9x buff for large boiler recipes above does not apply to this for some reason, so it gets 3x duration for an effective 1/3 reduction instead
|
||||
|
||||
event.forEachRecipe({ id: /gtceu:large_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => {
|
||||
var newDuration = recipe.get("duration")
|
||||
recipe.set("duration", newDuration*3)
|
||||
})
|
||||
|
||||
event.forEachRecipe({ id: /gtceu:steam_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => {
|
||||
var newDuration = recipe.get("duration")
|
||||
recipe.set("duration", newDuration/3)
|
||||
})
|
||||
|
||||
// Allow oil in small boilers
|
||||
|
||||
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" })
|
||||
// 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))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
event.recipes.gtceu.steam_boiler('tfg:heavy_oil')
|
||||
.inputFluids(Fluid.of('gtceu:oil_heavy', 32))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
event.recipes.gtceu.steam_boiler('tfg:fish_oil')
|
||||
.inputFluids(Fluid.of('gtceu:fish_oil', 160))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
// These aren't in base GT, but they have the same stats as oil
|
||||
event.recipes.gtceu.steam_boiler('tfg:raw_oil')
|
||||
.inputFluids(Fluid.of('gtceu:oil_medium', 200))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
event.recipes.gtceu.steam_boiler('tfg:light_oil')
|
||||
.inputFluids(Fluid.of('gtceu:oil_light', 200))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
// Same stats as fish oil
|
||||
event.recipes.gtceu.steam_boiler('tfg:olive_oil')
|
||||
.inputFluids(Fluid.of('tfc:olive_oil', 160))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
event.recipes.gtceu.steam_boiler('tfg:seed_oil')
|
||||
.inputFluids(Fluid.of('gtceu:seed_oil', 160))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
event.recipes.gtceu.steam_boiler('tfg:soybean_oil')
|
||||
.inputFluids(Fluid.of('firmalife:soybean_oil', 160))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
// fish oil (aka tallowate) extraction
|
||||
event.recipes.gtceu.extractor(`tfg:fish_oil`)
|
||||
.itemInputs('#minecraft:fishes')
|
||||
.outputFluids(Fluid.of('gtceu:fish_oil', 200))
|
||||
.duration(40)
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.gtceu.extractor(`tfg:tallow`)
|
||||
.itemInputs('tfc:blubber')
|
||||
.outputFluids(Fluid.of('tfc:tallow', 200))
|
||||
.duration(40)
|
||||
.EUt(4)
|
||||
|
||||
// you get tallow from killing things like orcas, so this seems close enough
|
||||
event.recipes.gtceu.mixer('tallow_to_fish_oil')
|
||||
.inputFluids('tfc:tallow 100', 'tfc:lye 100')
|
||||
.outputFluids('gtceu:fish_oil 200')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Seed oil
|
||||
event.recipes.gtceu.extractor(`tfg:seed_oil`)
|
||||
.itemInputs('#tfc:seeds')
|
||||
.outputFluids(Fluid.of('gtceu:seed_oil', 50))
|
||||
.duration(32)
|
||||
.EUt(2)
|
||||
}
|
||||
96
kubejs/server_scripts/tfg/powergen/recipes.coal.js
Normal file
96
kubejs/server_scripts/tfg/powergen/recipes.coal.js
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGCoalRecipes(event) {
|
||||
|
||||
event.recipes.gtceu.coke_oven("tfg:poor_coal_to_coke")
|
||||
.itemInputs('2x gtceu:poor_raw_coal')
|
||||
.itemOutputs('1x gtceu:coke_gem')
|
||||
.outputFluids(Fluid.of('gtceu:creosote', 500))
|
||||
.duration(900)
|
||||
|
||||
event.recipes.gtceu.coke_oven("tfg:coal_to_coke")
|
||||
.itemInputs('gtceu:raw_coal')
|
||||
.itemOutputs('2x gtceu:coke_gem')
|
||||
.outputFluids(Fluid.of('gtceu:creosote', 1000))
|
||||
.duration(900)
|
||||
|
||||
event.recipes.gtceu.coke_oven("tfg:rich_coal_to_coke")
|
||||
.itemInputs('gtceu:rich_raw_coal')
|
||||
.itemOutputs('4x gtceu:coke_gem')
|
||||
.outputFluids(Fluid.of('gtceu:creosote', 2000))
|
||||
.duration(900)
|
||||
|
||||
event.recipes.gtceu.pyrolyse_oven("tfg:rich_coal_to_tar")
|
||||
.itemInputs('3x gtceu:rich_raw_coal')
|
||||
.chancedOutput('gtceu:dark_ash_dust', 5000, 0)
|
||||
.outputFluids(Fluid.of('gtceu:coal_tar', 3000))
|
||||
.duration(288)
|
||||
.EUt(96)
|
||||
.circuit(8)
|
||||
|
||||
event.recipes.gtceu.pyrolyse_oven("tfg:rich_coal_to_coke_creosote")
|
||||
.itemInputs('4x gtceu:rich_raw_coal')
|
||||
.itemOutputs('16x gtceu:coke_gem')
|
||||
.outputFluids(Fluid.of('gtceu:creosote', 8000))
|
||||
.duration(576)
|
||||
.EUt(64)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.pyrolyse_oven("tfg:coal_to_coal_gas")
|
||||
.itemInputs('4x gtceu:rich_raw_coal')
|
||||
.itemOutputs('16x gtceu:coke_gem')
|
||||
.inputFluids(Fluid.of('gtceu:steam'))
|
||||
.outputFluids(Fluid.of('gtceu:coal_gas', 4000))
|
||||
.duration(288)
|
||||
.EUt(96)
|
||||
.circuit(22)
|
||||
|
||||
event.recipes.gtceu.pyrolyse_oven("tfg:coal_to_coke_creosote_nitrogen")
|
||||
.itemInputs('4x gtceu:rich_raw_coal')
|
||||
.itemOutputs('16x gtceu:coke_gem')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen'))
|
||||
.outputFluids(Fluid.of('gtceu:creosote', 8000))
|
||||
.duration(288)
|
||||
.EUt(96)
|
||||
.circuit(2)
|
||||
|
||||
event.recipes.gtceu.coke_oven("tfg:raw_coal_to_coke")
|
||||
.itemInputs('gtceu:raw_coal')
|
||||
.itemOutputs('2x gtceu:coke_gem')
|
||||
.outputFluids(Fluid.of('gtceu:creosote', 2000))
|
||||
.duration(1710)
|
||||
|
||||
event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_tar")
|
||||
.itemInputs('6x gtceu:raw_coal')
|
||||
.chancedOutput('gtceu:dark_ash_dust', 5000, 0)
|
||||
.outputFluids(Fluid.of('gtceu:coal_tar', 3000))
|
||||
.duration(288)
|
||||
.EUt(96)
|
||||
.circuit(8)
|
||||
|
||||
event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coke_creosote")
|
||||
.itemInputs('8x gtceu:raw_coal')
|
||||
.itemOutputs('16x gtceu:coke_gem')
|
||||
.outputFluids(Fluid.of('gtceu:creosote', 8000))
|
||||
.duration(576)
|
||||
.EUt(64)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coal_gas")
|
||||
.itemInputs('8x gtceu:raw_coal')
|
||||
.itemOutputs('16x gtceu:coke_gem')
|
||||
.inputFluids(Fluid.of('gtceu:steam'))
|
||||
.outputFluids(Fluid.of('gtceu:coal_gas', 4000))
|
||||
.duration(288)
|
||||
.EUt(96)
|
||||
.circuit(22)
|
||||
|
||||
event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coke_creosote_nitrogen")
|
||||
.itemInputs('8x gtceu:raw_coal')
|
||||
.itemOutputs('16x gtceu:coke_gem')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen'))
|
||||
.outputFluids(Fluid.of('gtceu:creosote', 8000))
|
||||
.duration(288)
|
||||
.EUt(96)
|
||||
.circuit(2)
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFGEarlyPower(event) {
|
||||
function registerTFGEarlyGasRecipes(event) {
|
||||
|
||||
const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic')
|
||||
|
||||
|
|
@ -204,72 +204,8 @@ function registerTFGEarlyPower(event) {
|
|||
|
||||
//#endregion
|
||||
|
||||
//#region Rebalance Fuel
|
||||
|
||||
// Change
|
||||
|
||||
// The 9x buff for large boiler recipes above does not apply to this for some reason, so it gets 3x duration for an effective 1/3 reduction instead
|
||||
|
||||
event.forEachRecipe({ id: /gtceu:large_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => {
|
||||
var newDuration = recipe.get("duration")
|
||||
recipe.set("duration", newDuration*3)
|
||||
})
|
||||
|
||||
event.forEachRecipe({ id: /gtceu:steam_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => {
|
||||
var newDuration = recipe.get("duration")
|
||||
recipe.set("duration", newDuration/3)
|
||||
})
|
||||
|
||||
// Allow oil in small boilers
|
||||
|
||||
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" })
|
||||
// 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))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
event.recipes.gtceu.steam_boiler('tfg:heavy_oil')
|
||||
.inputFluids(Fluid.of('gtceu:oil_heavy', 32))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
event.recipes.gtceu.steam_boiler('tfg:fish_oil')
|
||||
.inputFluids(Fluid.of('gtceu:fish_oil', 160))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
// These aren't in base GT, but they have the same stats as oil
|
||||
event.recipes.gtceu.steam_boiler('tfg:raw_oil')
|
||||
.inputFluids(Fluid.of('gtceu:oil_medium', 200))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
event.recipes.gtceu.steam_boiler('tfg:light_oil')
|
||||
.inputFluids(Fluid.of('gtceu:oil_light', 200))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
// Same stats as fish oil
|
||||
event.recipes.gtceu.steam_boiler('tfg:olive_oil')
|
||||
.inputFluids(Fluid.of('tfc:olive_oil', 160))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
event.recipes.gtceu.steam_boiler('tfg:seed_oil')
|
||||
.inputFluids(Fluid.of('gtceu:seed_oil', 160))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
event.recipes.gtceu.steam_boiler('tfg:soybean_oil')
|
||||
.inputFluids(Fluid.of('firmalife:soybean_oil', 160))
|
||||
.duration(200)
|
||||
.dimension('minecraft:overworld')
|
||||
|
||||
//#region New Power Generation
|
||||
|
||||
// Add Syngas
|
||||
|
||||
event.recipes.gtceu.steam_boiler('tfg:syngas') // Small Boiler and Large Boiler divided by 4
|
||||
184
kubejs/server_scripts/tfg/powergen/recipes.solar.js
Normal file
184
kubejs/server_scripts/tfg/powergen/recipes.solar.js
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGSolarRecipes(event) {
|
||||
|
||||
//#region Large Solar Panel
|
||||
|
||||
event.shaped(
|
||||
'gtceu:large_solar_panel',
|
||||
['WSW', 'TZT', 'WUW'],
|
||||
{
|
||||
S: 'tfg:photo_cell_t1',
|
||||
Z: 'ad_astra:solar_panel',
|
||||
W: '#gtceu:circuits/ev',
|
||||
U: '#forge:gears/rocket_alloy_t1',
|
||||
T: '#forge:gears/desh'
|
||||
}
|
||||
).id('gtceu:shaped/large_solar_panel')
|
||||
|
||||
event.shaped(
|
||||
'gtceu:large_solar_panel_tier2',
|
||||
['WSW', 'TZT', 'WUW'],
|
||||
{
|
||||
S: 'ad_astra:photovoltaic_etrium_cell',
|
||||
Z: 'gtceu:large_solar_panel',
|
||||
W: '#gtceu:circuits/iv',
|
||||
U: '#forge:gears/rocket_alloy_t1',
|
||||
T: '#forge:gears/desh'
|
||||
}
|
||||
).id('gtceu:shaped/large_solar_panel_tier2')
|
||||
|
||||
event.shaped(
|
||||
'gtceu:large_solar_panel_tier3',
|
||||
['WSW', 'TZT', 'WUW'],
|
||||
{
|
||||
S: 'ad_astra:photovoltaic_vesnium_cell',
|
||||
Z: 'gtceu:large_solar_panel_tier2',
|
||||
W: '#gtceu:circuits/luv',
|
||||
U: '#forge:gears/rocket_alloy_t1',
|
||||
T: '#forge:gears/desh'
|
||||
}
|
||||
).id('gtceu:shaped/large_solar_panel_tier3')
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('advanced_photovoltaic_cell')
|
||||
.itemInputs('8x tfg:photo_cell_t1',
|
||||
'6x #forge:dusts/vanadium_gallium',
|
||||
'#forge:insulation_t2/sheet')
|
||||
.inputFluids(Fluid.of('gtceu:helium_3', 1000))
|
||||
.itemOutputs('8x ad_astra:photovoltaic_etrium_cell')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('expert_photovoltaic_cell')
|
||||
.itemInputs('8x ad_astra:photovoltaic_etrium_cell',
|
||||
'6x gtceu:energium_dust',
|
||||
'#forge:insulation_t3/sheet')
|
||||
.inputFluids(Fluid.of('tfg:cryogenized_fluix', 1000))
|
||||
.itemOutputs('8x ad_astra:photovoltaic_vesnium_cell')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
//#region Chemical Reaction for Solar Panel
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:chlorine_pentafluoride')
|
||||
.inputFluids(Fluid.of('gtceu:fluorine', 5000), Fluid.of('gtceu:chlorine', 1000))
|
||||
.outputFluids(Fluid.of('tfg:chlorine_pentafluoride', 1000))
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:chloryl_fluoride')
|
||||
.inputFluids(Fluid.of('tfg:chlorine_pentafluoride', 1000), Fluid.of('minecraft:water', 2000))
|
||||
.outputFluids(Fluid.of('tfg:chloryl_fluoride', 1000), Fluid.of('gtceu:hydrofluoric_acid', 4000))
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor('tfg:solar_coolant')
|
||||
.inputFluids(Fluid.of('tfg:chloryl_fluoride', 3000), Fluid.of('gtceu:helium_3', 8000), Fluid.of('minecraft:water', 8000))
|
||||
.outputFluids(Fluid.of('tfg:solar_coolant', 1000), Fluid.of('gtceu:hydrofluoric_acid', 3000), Fluid.of('gtceu:hypochlorous_acid', 3000))
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VH[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor('tfg:solar_coolant_t2')
|
||||
.inputFluids(Fluid.of('tfg:solar_coolant', 8000), Fluid.of('gtceu:argon', 1000))
|
||||
.itemInputs(Item.of('#forge:aerogels'))
|
||||
.outputFluids(Fluid.of('tfg:solar_coolant_tier2', 8000))
|
||||
.duration(20 * 15)
|
||||
.EUt(GTValues.VH[GTValues.IV])
|
||||
|
||||
//#endregion
|
||||
|
||||
// LSP Generating recipes
|
||||
|
||||
// Solar T1
|
||||
|
||||
event.recipes.gtceu.large_solar_panel('solar_panel_t1_emergency')
|
||||
.chancedInput('tfg:photo_cell_t1', 100, 0)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-((GTValues.V[GTValues.HV])), 2)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.large_solar_panel('solar_panel_t1')
|
||||
.notConsumable('tfg:photo_cell_t1')
|
||||
.perTick(true)
|
||||
.chancedFluidInput('tfg:compressed_trimix_3 4', 5000, 0)
|
||||
.perTick(false)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-(GTValues.V[GTValues.EV]), 2)
|
||||
.circuit(2)
|
||||
|
||||
// Solar T2
|
||||
|
||||
event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2_emergency')
|
||||
.chancedInput('ad_astra:photovoltaic_etrium_cell', 100, 0)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-(GTValues.V[GTValues.EV]), 2)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2_strong')
|
||||
.notConsumable('ad_astra:photovoltaic_etrium_cell')
|
||||
.perTick(true)
|
||||
.chancedFluidInput('tfg:solar_coolant 10', 5000, 0)
|
||||
.inputFluids('tfg:cryogenized_fluix 4')
|
||||
.outputFluids('tfg:fluix 1')
|
||||
.perTick(false)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-(GTValues.V[GTValues.IV]), 2)
|
||||
.circuit(2)
|
||||
|
||||
event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2_cheap')
|
||||
.notConsumable('ad_astra:photovoltaic_etrium_cell')
|
||||
.perTick(true)
|
||||
.inputFluids('tfg:compressed_trimix_3 1')
|
||||
.perTick(false)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-(GTValues.V[GTValues.EV]), 2)
|
||||
.circuit(3)
|
||||
|
||||
// Solar T3
|
||||
|
||||
event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3_emergency')
|
||||
.chancedInput('ad_astra:photovoltaic_vesnium_cell', 100, 0)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-(GTValues.V[GTValues.IV]), 2)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3_strong')
|
||||
.notConsumable('ad_astra:photovoltaic_vesnium_cell')
|
||||
.perTick(true)
|
||||
.chancedFluidInput('tfg:solar_coolant_tier2 10', 5000, 0)
|
||||
.inputFluids('tfg:cryogenized_fluix 4')
|
||||
.outputFluids('tfg:fluix 1')
|
||||
.perTick(false)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-(GTValues.V[GTValues.LuV]), 2)
|
||||
.circuit(2)
|
||||
|
||||
event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3_cheap')
|
||||
.notConsumable('ad_astra:photovoltaic_vesnium_cell')
|
||||
.perTick(true)
|
||||
.chancedFluidInput('tfg:solar_coolant 10', 5000, 0)
|
||||
.inputFluids('tfg:cryogenized_fluix 4')
|
||||
.outputFluids('tfg:fluix 1')
|
||||
.perTick(false)
|
||||
.duration(20 * 20)
|
||||
.daytime(false)
|
||||
.dimension('ad_astra:moon')
|
||||
.EUt(-(GTValues.V[GTValues.IV]), 2)
|
||||
.circuit(2)
|
||||
|
||||
//#endregion
|
||||
}
|
||||
93
kubejs/server_scripts/tfg/primitive/events.fishing_nets.js
Normal file
93
kubejs/server_scripts/tfg/primitive/events.fishing_nets.js
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
const fish = [
|
||||
'cod',
|
||||
'crappie',
|
||||
'jellyfish',
|
||||
'lake_trout',
|
||||
'largemouth_bass',
|
||||
'rainbow_trout',
|
||||
'salmon',
|
||||
'smallmouth_bass',
|
||||
'tropical_fish',
|
||||
'bluegill'
|
||||
];
|
||||
|
||||
const shellfish = [
|
||||
'lobster',
|
||||
'isopod',
|
||||
'crayfish'
|
||||
];
|
||||
|
||||
//tags wont work here (or at least I couldnt get it to work) so we need to manually declare each net tier.
|
||||
const tiers = [
|
||||
'wood',
|
||||
'brass',
|
||||
'rose_gold',
|
||||
'sterling_silver',
|
||||
'invar',
|
||||
'tin_alloy',
|
||||
'cupronickel',
|
||||
'magnalium'
|
||||
];
|
||||
|
||||
//Event detects if fish is right clicked with fishing net and then teleports the mob into the void, plays some actions and gives the player the proper item.
|
||||
tiers.forEach(tier => {
|
||||
fish.forEach(fish => {
|
||||
ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => {
|
||||
const { item, player, server, target } = event;
|
||||
|
||||
if (target.type !== `tfc:${fish}`) return
|
||||
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
|
||||
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
|
||||
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
|
||||
event.player.give(`tfc:food/${fish}`)
|
||||
player.swing()
|
||||
if (player.isCreative() === false) {
|
||||
item.damageValue++
|
||||
if (item.damageValue >= item.maxDamage) {
|
||||
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
|
||||
item.count--
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
//Shellfish Exception
|
||||
shellfish.forEach(shellfish => {
|
||||
ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => {
|
||||
const { item, player, server, target } = event;
|
||||
|
||||
if (target.type !== `tfc:${shellfish}`) return
|
||||
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
|
||||
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
|
||||
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
|
||||
event.player.give('tfc:food/shellfish')
|
||||
player.swing()
|
||||
if (player.isCreative() === false) {
|
||||
item.damageValue++
|
||||
if (item.damageValue >= item.maxDamage) {
|
||||
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
|
||||
item.count--
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
//Pufferfish Exception
|
||||
ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => {
|
||||
const { item, player, server, target } = event;
|
||||
|
||||
if (target.type !== 'tfc:pufferfish') return
|
||||
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
|
||||
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
|
||||
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
|
||||
event.player.give('minecraft:pufferfish')
|
||||
player.swing()
|
||||
if (player.isCreative() === false) {
|
||||
item.damageValue++
|
||||
if (item.damageValue >= item.maxDamage) {
|
||||
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
|
||||
item.count--
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
100
kubejs/server_scripts/tfg/primitive/events.medicine.js
Normal file
100
kubejs/server_scripts/tfg/primitive/events.medicine.js
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
|
||||
//Pills & Tablets
|
||||
const pill_event = [
|
||||
'haste',
|
||||
'luck',
|
||||
'night_vision',
|
||||
'poison',
|
||||
'regeneration',
|
||||
'slowness',
|
||||
'speed',
|
||||
'water_breathing',
|
||||
'weakness',
|
||||
];
|
||||
|
||||
pill_event.forEach(pill_event => {
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const { item, server, player, player: { x, y, z } } = event
|
||||
if (item.id !== `tfg:${pill_event}_pill`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 100)
|
||||
server.runCommandSilent(`effect give ${player.username} minecraft:${pill_event} 480 0 true`)
|
||||
server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`)
|
||||
});
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const { item, server, player, player: { x, y, z } } = event
|
||||
if (item.id !== `tfg:${pill_event}_tablet`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 100)
|
||||
server.runCommandSilent(`effect give ${player.username} minecraft:${pill_event} 1800 0 true`)
|
||||
server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`)
|
||||
});
|
||||
});
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const { item, server, player, player: { x, y, z } } = event
|
||||
if (item.id !== `tfg:antipoison_pill`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 50)
|
||||
event.player.removeEffect('minecraft:poison')
|
||||
server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`)
|
||||
});
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const { item, server, player, player: { x, y, z } } = event
|
||||
if (item.id !== `tfg:antipoison_tablet`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 50)
|
||||
event.player.removeEffect('minecraft:poison')
|
||||
event.player.removeEffect('minecraft:wither')
|
||||
event.player.removeEffect('minecraft:weakness')
|
||||
event.player.removeEffect('minecraft:slowness')
|
||||
event.player.removeEffect('minecraft:mining_fatigue')
|
||||
event.player.removeEffect('minecraft:nausea')
|
||||
event.player.removeEffect('minecraft:blindness')
|
||||
event.player.removeEffect('minecraft:hunger')
|
||||
event.player.removeEffect('minecraft:bad_omen')
|
||||
event.player.removeEffect('minecraft:darkness')
|
||||
event.player.removeEffect('minecraft:unluck')
|
||||
server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`)
|
||||
});
|
||||
|
||||
//salvos
|
||||
const salvo_event = [
|
||||
'fire_resistance',
|
||||
'invisibility',
|
||||
'luck',
|
||||
'resistance',
|
||||
];
|
||||
|
||||
salvo_event.forEach(salvo_event => {
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const { item, server, player, player: { x, y, z } } = event
|
||||
if (item.id !== `tfg:${salvo_event}_salvo`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 100)
|
||||
server.runCommandSilent(`effect give ${player.username} minecraft:${salvo_event} 480 0 true`)
|
||||
server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${player.username} ${x} ${y} ${z} 10 2 1`)
|
||||
});
|
||||
});
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const { item, server, player, player: { x, y, z } } = event
|
||||
if (item.id !== `tfg:absorption_salvo`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 200)
|
||||
server.runCommandSilent(`effect give ${player.username} minecraft:absorption 480 4 true`)
|
||||
server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${player.username} ${x} ${y} ${z} 10 2 1`)
|
||||
});
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const { item, server, player, player: { x, y, z } } = event
|
||||
if (item.id !== `tfg:instant_health_salvo`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 100)
|
||||
server.runCommandSilent(`effect give ${player.username} minecraft:instant_health 1 1 true`)
|
||||
server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${player.username} ${x} ${y} ${z} 10 2 1`)
|
||||
});
|
||||
75
kubejs/server_scripts/tfg/primitive/recipes.arrows.js
Normal file
75
kubejs/server_scripts/tfg/primitive/recipes.arrows.js
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGArrowRecipes(event) {
|
||||
// Arrow Parts
|
||||
event.recipes.tfc.knapping(
|
||||
'4x tfg:flint_arrow_head',
|
||||
'tfg:flint',
|
||||
[
|
||||
' XXX',
|
||||
' XXXX',
|
||||
'XXXXX',
|
||||
' XXX ',
|
||||
' X '
|
||||
]
|
||||
).outsideSlotRequired(false)
|
||||
.id('tfg:knapping/flint_arrow_head')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/flint_arrow_head')
|
||||
.itemInputs('1x minecraft:flint')
|
||||
.itemOutputs('4x tfg:flint_arrow_head')
|
||||
.duration(20)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless('4x tfg:fletching', [
|
||||
'minecraft:feather',
|
||||
'#forge:tools/knives'
|
||||
]).id('tfg:shapeless/fletching'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/fletching')
|
||||
.itemInputs('1x minecraft:feather')
|
||||
.itemOutputs('4x tfg:fletching')
|
||||
.duration(20)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.shaped('4x minecraft:arrow', [
|
||||
' A ',
|
||||
' B ',
|
||||
' C '
|
||||
], {
|
||||
A: 'tfg:flint_arrow_head',
|
||||
B: '#forge:rods/wooden',
|
||||
C: 'tfg:fletching'
|
||||
}).id('tfg:shaped/arrow')
|
||||
|
||||
// Wraptor feathers
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless('4x tfg:fletching', [
|
||||
'tfg:wraptor_wool',
|
||||
'#forge:tools/knives'
|
||||
]).id('tfg:shapeless/wraptor_feather_fletching'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/wraptor_feather_fletching')
|
||||
.itemInputs('1x tfg:wraptor_wool')
|
||||
.itemOutputs('4x tfg:fletching')
|
||||
.duration(20)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
// Glider feathers
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless('4x tfg:fletching', [
|
||||
'wan_ancient_beasts:glider_feather',
|
||||
'#forge:tools/knives'
|
||||
]).id('tfg:shapeless/glider_feather_fletching'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/glider_feather_fletching')
|
||||
.itemInputs('1x wan_ancient_beasts:glider_feather')
|
||||
.itemOutputs('4x tfg:fletching')
|
||||
.duration(20)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
64
kubejs/server_scripts/tfg/primitive/recipes.baskets.js
Normal file
64
kubejs/server_scripts/tfg/primitive/recipes.baskets.js
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGBasketRecipes(event) {
|
||||
event.shaped('tfg:harvest_basket', [
|
||||
'BDB',
|
||||
'ACA',
|
||||
'AAA'
|
||||
], {
|
||||
A: 'tfg:soaked_hardwood_strip',
|
||||
B: ChemicalHelper.get(TagPrefix.bolt, GTMaterials.SterlingSilver, 1),
|
||||
C: 'tfc:glue',
|
||||
D: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1)
|
||||
}).id('tfg:shaped/harvest_basket_from_wood')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/harvest_basket_from_wood')
|
||||
.itemInputs(
|
||||
'5x tfg:soaked_hardwood_strip',
|
||||
ChemicalHelper.get(TagPrefix.bolt, GTMaterials.SterlingSilver, 2),
|
||||
ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1)
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:glue', 50))
|
||||
.itemOutputs('tfg:harvest_basket')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.shaped('tfg:harvest_basket', [
|
||||
'BDB',
|
||||
'ACA',
|
||||
'AAA'
|
||||
], {
|
||||
A: 'tfc:soaked_papyrus_strip',
|
||||
B: ChemicalHelper.get(TagPrefix.bolt, GTMaterials.SterlingSilver, 1),
|
||||
C: 'tfc:glue',
|
||||
D: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1)
|
||||
}).id('tfg:shaped/harvest_basket_from_papyrus')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/harvest_basket_from_papyrus')
|
||||
.itemInputs(
|
||||
'5x tfc:soaked_papyrus_strip',
|
||||
ChemicalHelper.get(TagPrefix.bolt, GTMaterials.SterlingSilver, 2),
|
||||
ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1)
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:glue', 50))
|
||||
.itemOutputs('tfg:harvest_basket')
|
||||
.circuit(2)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/aluminium_harvest_basket')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Aluminium, 3),
|
||||
ChemicalHelper.get(TagPrefix.foil, GTMaterials.Aluminium, 2),
|
||||
ChemicalHelper.get(TagPrefix.bolt, GTMaterials.Steel, 2),
|
||||
ChemicalHelper.get(TagPrefix.rodLong,
|
||||
GTMaterials.Aluminium, 1)
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:cobalt_brass', 144))
|
||||
.itemOutputs('tfg:aluminium_harvest_basket')
|
||||
.duration(200)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
}
|
||||
144
kubejs/server_scripts/tfg/primitive/recipes.clay.js
Normal file
144
kubejs/server_scripts/tfg/primitive/recipes.clay.js
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGClayRecipes(event) {
|
||||
|
||||
event.shapeless('tfc:crucible', ['tfc:crucible']).id('tfg:empty_crucible')
|
||||
|
||||
event.shaped('minecraft:clay', [
|
||||
'AA',
|
||||
'AA'
|
||||
], {
|
||||
A: 'minecraft:clay_ball'
|
||||
}).id('tfg:shaped/clay_balls_to_block')
|
||||
|
||||
event.shapeless('4x minecraft:clay_ball', ['minecraft:clay'])
|
||||
.id('tfg:shapeless/clay_block_to_balls')
|
||||
|
||||
global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS.forEach(element => {
|
||||
event.smelting(element.output, element.input)
|
||||
.id(`tfg:smelting/${element.name}`)
|
||||
})
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dye => {
|
||||
event.smelting(`tfc:ceramic/${dye}_glazed_vessel`, `tfc:ceramic/${dye}_unfired_vessel`)
|
||||
.id(`tfg:smelting/${dye}_glazed_vessel`)
|
||||
|
||||
event.smelting(`tfc:ceramic/large_vessel/${dye}`, `tfc:ceramic/unfired_large_vessel/${dye}`)
|
||||
.id(`tfg:smelting/${dye}_large_vessel`)
|
||||
})
|
||||
|
||||
for (let i = 0; i < global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) {
|
||||
let element = global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i];
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`)
|
||||
.itemInputs(element.input)
|
||||
.circuit(i)
|
||||
.itemOutputs(element.output)
|
||||
.duration(450)
|
||||
.EUt(2)
|
||||
}
|
||||
|
||||
for (let i = 0; i < global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) {
|
||||
let element = global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i];
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`)
|
||||
.itemInputs(element.input)
|
||||
.circuit(i)
|
||||
.itemOutputs(element.output)
|
||||
.duration(450)
|
||||
.EUt(2)
|
||||
}
|
||||
|
||||
event.recipes.gtceu.extruder('tfg:unfired_clay_brick')
|
||||
.itemInputs('minecraft:clay_ball')
|
||||
.notConsumable('gtceu:ingot_extruder_mold')
|
||||
.itemOutputs('tfc:ceramic/unfired_brick')
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.extruder('tfg:unfired_fire_clay_brick')
|
||||
.itemInputs('tfc:fire_clay')
|
||||
.notConsumable('gtceu:ingot_extruder_mold')
|
||||
.itemOutputs('tfc:ceramic/unfired_fire_brick')
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
// Kaolinite Clay - regular smelting recipes can't have multiple inputs
|
||||
event.recipes.gtceu.alloy_smelter('tfg:kaolinite')
|
||||
.itemInputs('tfc:kaolin_clay')
|
||||
.circuit(1)
|
||||
.chancedOutput('tfc:powder/kaolinite', 2000, 0)
|
||||
.duration(100)
|
||||
.EUt(16)
|
||||
|
||||
// Fire Clay
|
||||
event.recipes.gtceu.alloy_smelter('tfg:cheaper_fire_clay')
|
||||
.itemInputs('#forge:dusts/graphite', '4x tfc:kaolin_clay')
|
||||
.itemOutputs('2x tfc:fire_clay')
|
||||
.duration(600)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.alloy_smelter('tfg:oops_i_smelted_all_my_kaolin')
|
||||
.itemInputs('minecraft:clay_ball', 'tfc:powder/kaolinite')
|
||||
.itemOutputs('tfc:kaolin_clay')
|
||||
.duration(600)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
// Compressed Coke Clay
|
||||
event.shaped('gtceu:compressed_coke_clay', [
|
||||
'AAA',
|
||||
'BCB',
|
||||
'BBB'
|
||||
], {
|
||||
A: 'minecraft:clay_ball',
|
||||
B: '#minecraft:sand',
|
||||
C: 'gtceu:brick_wooden_form'
|
||||
}).replaceIngredient('gtceu:brick_wooden_form', 'gtceu:brick_wooden_form').id('gtceu:shaped/compressed_coke_clay')
|
||||
|
||||
// Coke Oven Brick
|
||||
event.recipes.tfc.heating('gtceu:compressed_coke_clay', 1399)
|
||||
.resultItem('gtceu:coke_oven_brick')
|
||||
.id('tfg:heating/coke_oven_bricks')
|
||||
|
||||
event.recipes.gtceu.alloy_smelter('gtceu:coke_oven_brick')
|
||||
.itemInputs('3x #minecraft:sand', '2x minecraft:clay_ball')
|
||||
.itemOutputs('gtceu:coke_oven_brick')
|
||||
.duration(7.5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
// Ceramic Recycling
|
||||
event.recipes.gtceu.macerator('tfg:sherd_to_brick_dust')
|
||||
.itemInputs('firmalife:pottery_sherd')
|
||||
.itemOutputs('#forge:dusts/brick')
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:ceramic_molds')
|
||||
.itemInputs('#tfc:fired_molds')
|
||||
.itemOutputs('2x #forge:dusts/brick')
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:large_vessels')
|
||||
.itemInputs('#tfc:fired_large_vessels')
|
||||
.itemOutputs('5x #forge:dusts/brick')
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:casting_channel')
|
||||
.itemInputs('tfcchannelcasting:channel')
|
||||
.itemOutputs('1x #forge:dusts/brick')
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:mold_table')
|
||||
.itemInputs('tfcchannelcasting:mold_table')
|
||||
.itemOutputs('5x #forge:dusts/brick')
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
}
|
||||
263
kubejs/server_scripts/tfg/primitive/recipes.cloth.js
Normal file
263
kubejs/server_scripts/tfg/primitive/recipes.cloth.js
Normal file
|
|
@ -0,0 +1,263 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGClothRecipes(event) {
|
||||
|
||||
//Cloth & String
|
||||
event.recipes.gtceu.wiremill('tfg:wiremill/phantom_thread')
|
||||
.itemInputs('1x minecraft:phantom_membrane')
|
||||
.itemOutputs('16x tfg:phantom_thread')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.wiremill('tfg:wiremill/polycaprolactam_string')
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Polycaprolactam, 1))
|
||||
.itemOutputs('32x tfg:polycaprolactam_string')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/phantom_silk')
|
||||
.itemInputs('16x tfg:phantom_thread')
|
||||
.itemOutputs('1x tfg:phantom_silk')
|
||||
.duration(100)
|
||||
.circuit(3)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/polycaprolactam_fabric')
|
||||
.itemInputs('16x tfg:polycaprolactam_string')
|
||||
.itemOutputs('1x tfg:polycaprolactam_fabric')
|
||||
.duration(100)
|
||||
.circuit(3)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:chemical_bath/bleaching/polycaprolactam_string')
|
||||
.itemInputs('tfg:polycaprolactam_string')
|
||||
.inputFluids(Fluid.of('gtceu:chlorine', 16))
|
||||
.itemOutputs('minecraft:string')
|
||||
.duration(80)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
event.recipes.tfc.loom(
|
||||
'1x tfg:phantom_silk',
|
||||
'16x tfg:phantom_thread',
|
||||
8,
|
||||
'tfg:block/phantom_silk_block'
|
||||
)
|
||||
|
||||
event.recipes.tfc.loom(
|
||||
'1x tfg:polycaprolactam_fabric',
|
||||
'16x tfg:polycaprolactam_string',
|
||||
8,
|
||||
'tfg:block/polycaprolactam_fabric_block'
|
||||
)
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless('16x tfg:phantom_thread', [
|
||||
'minecraft:phantom_membrane',
|
||||
'tfc:spindle'
|
||||
]).id('tfg:shapeless/phantom_thread'))
|
||||
|
||||
// Wool Yarn
|
||||
event.recipes.gtceu.wiremill('tfg:tfc/wool_yarn')
|
||||
.itemInputs('tfc:wool')
|
||||
.itemOutputs('8x tfc:wool_yarn')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Burlap Cloth
|
||||
event.recipes.gtceu.assembler('tfg:tfc/burlap_cloth')
|
||||
.itemInputs('12x tfc:jute_fiber')
|
||||
.circuit(0)
|
||||
.itemOutputs('tfc:burlap_cloth')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Silk Cloth
|
||||
event.recipes.gtceu.assembler('tfg:tfc/silk_cloth')
|
||||
.itemInputs('24x minecraft:string')
|
||||
.circuit(0)
|
||||
.itemOutputs('tfc:silk_cloth')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Wool Cloth
|
||||
event.recipes.gtceu.assembler('tfg:tfc/wool_cloth')
|
||||
.itemInputs('16x tfc:wool_yarn')
|
||||
.circuit(0)
|
||||
.itemOutputs('tfc:wool_cloth')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Cloths to Wool
|
||||
event.recipes.gtceu.assembler('tfg:tfc/cloth_to_wool')
|
||||
.itemInputs('4x #tfc:sewing_light_cloth')
|
||||
.itemOutputs('8x minecraft:white_wool')
|
||||
.circuit(16)
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Wool Yarn
|
||||
event.recipes.gtceu.macerator('macerate_wool')
|
||||
.itemInputs('#minecraft:wool')
|
||||
.itemOutputs('tfc:wool_yarn')
|
||||
.chancedOutput('tfc:wool_yarn', 9000, 0)
|
||||
.chancedOutput('tfc:wool_yarn', 5000, 0)
|
||||
.chancedOutput('tfc:wool_yarn', 2000, 0)
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
// Jute Fiber
|
||||
generateMixerRecipe(event, 'tfc:jute', "#tfg:clean_water 200",
|
||||
'tfc:jute_fiber', null, [], 100, 4, 16, 'tfg:tfc/jute_fiber')
|
||||
|
||||
//#region flax stuff
|
||||
|
||||
event.shapeless('1x tfg:flax_bundle', ['9x tfg:flax_product'])
|
||||
event.recipes.gtceu.packer('tfg:packer/flax_bundle')
|
||||
.itemInputs('9x tfg:flax_product')
|
||||
.itemOutputs('tfg:flax_bundle')
|
||||
.duration('100')
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.shapeless('1x tfg:bundled_scraped_flax', ['9x tfg:flax_waste'])
|
||||
event.recipes.gtceu.packer('tfg:packer/bundled_scraped_flax')
|
||||
.itemInputs('9x tfg:flax_waste')
|
||||
.itemOutputs('tfg:bundled_scraped_flax')
|
||||
.duration('100')
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.tfc.scraping(
|
||||
'tfg:flax_waste',
|
||||
'tfg:flax_product',
|
||||
'tfg:item/flax_waste',
|
||||
'tfg:item/flax_product',
|
||||
'2x tfg:flax_line'
|
||||
).id('tfg:scraping/flax_line')
|
||||
|
||||
event.recipes.tfc.scraping(
|
||||
'tfg:bundled_scraped_flax',
|
||||
'tfg:flax_bundle',
|
||||
'tfg:item/bundled_scraped_flax',
|
||||
'tfg:item/flax_bundle',
|
||||
'18x tfg:flax_line'
|
||||
).id('tfg:scraping/flax_line_from_bundle')
|
||||
|
||||
event.recipes.tfc.scraping(
|
||||
'tfc:groundcover/humus',
|
||||
'tfg:flax_waste',
|
||||
'tfc:item/groundcover/humus',
|
||||
'tfg:item/flax_waste',
|
||||
'tfg:flax_tow'
|
||||
).id('tfg:scraping/flax_tow')
|
||||
|
||||
event.recipes.tfc.scraping(
|
||||
'9x tfc:groundcover/humus',
|
||||
'tfg:bundled_scraped_flax',
|
||||
'tfc:item/groundcover/humus',
|
||||
'tfg:item/bundled_scraped_flax',
|
||||
'9x tfg:flax_tow'
|
||||
).id('tfg:scraping/flax_tow_from_pile')
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:flax_line_in_cutter')
|
||||
.itemInputs('tfg:flax_product')
|
||||
.itemOutputs('2x tfg:flax_line', 'tfg:flax_waste')
|
||||
.duration(60)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:flax_line_from_bundle_in_cutter')
|
||||
.itemInputs('tfg:flax_bundle')
|
||||
.itemOutputs('18x tfg:flax_line', 'tfg:bundled_scraped_flax')
|
||||
.duration(540)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:flax_tow_in_cutter')
|
||||
.itemInputs('tfg:flax_waste')
|
||||
.itemOutputs('1x tfg:flax_tow', '1x tfc:groundcover/humus')
|
||||
.duration(60)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:flax_tow_from_bundle_in_cutter')
|
||||
.itemInputs('tfg:bundled_scraped_flax')
|
||||
.itemOutputs('9x tfg:flax_tow', '9x tfc:groundcover/humus')
|
||||
.duration(540)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:flax_product')
|
||||
.itemInputs('tfg:flax_product')
|
||||
.itemOutputs('2x tfg:flax_line', 'tfg:flax_tow', 'tfc:groundcover/humus')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:flax_product_from_bundle')
|
||||
.itemInputs('tfg:flax_bundle')
|
||||
.itemOutputs('18x tfg:flax_line', '9x tfg:flax_tow', '9x tfc:groundcover/humus')
|
||||
.duration(1800)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.custom({
|
||||
type: 'vintageimprovements:centrifugation',
|
||||
ingredients: [{ item: 'tfg:flax_product' }],
|
||||
results: [{ item: 'tfg:flax_line', count: 2 }, { item: 'tfg:flax_tow' }, { item: 'tfc:groundcover/humus' }],
|
||||
processingTime: 40 * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER
|
||||
}).id('tfg:vi_seperate_flax')
|
||||
|
||||
event.custom({
|
||||
type: 'vintageimprovements:centrifugation',
|
||||
ingredients: [{ item: 'tfg:flax_bundle' }],
|
||||
results: [{ item: 'tfg:flax_line', count: 18 }, { item: 'tfg:flax_tow', count: 9 }, { item: 'tfc:groundcover/humus', count: 9 }],
|
||||
processingTime: 360 * 90 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER
|
||||
}).id('tfg:vi_seperate_flax_from_bundle')
|
||||
|
||||
// #endregion
|
||||
|
||||
//#region flax line spinning
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless('4x tfg:linen_thread', [
|
||||
'tfg:flax_line',
|
||||
'tfc:spindle'
|
||||
]).id('tfg:shapeless/linen_thread')
|
||||
)
|
||||
|
||||
event.custom({
|
||||
type: 'vintageimprovements:coiling',
|
||||
ingredients: [{ item: 'tfg:flax_line' }],
|
||||
results: [{ item: 'tfg:linen_thread', count: 4 }],
|
||||
processingTime: 2 * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER
|
||||
}).id('tfg:vi_spin_flax_line')
|
||||
|
||||
event.recipes.gtceu.wiremill('tfg:spin_flax_line')
|
||||
.itemInputs('tfg:flax_line')
|
||||
.itemOutputs('4x tfg:linen_thread')
|
||||
.duration(80)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
//#endregion
|
||||
//#region flax looming
|
||||
event.recipes.tfc.loom(
|
||||
'1x tfg:linen_cloth',
|
||||
'16x tfg:linen_thread',
|
||||
8,
|
||||
'tfc:block/burlap'
|
||||
)
|
||||
|
||||
event.recipes.tfc.loom(
|
||||
'1x tfc:burlap_cloth',
|
||||
'16x tfg:flax_tow',
|
||||
12,
|
||||
'tfc:block/burlap'
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/linen_cloth')
|
||||
.itemInputs('16x tfg:linen_thread')
|
||||
.circuit(10)
|
||||
.itemOutputs('tfg:linen_cloth')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/flax_burlap')
|
||||
.itemInputs('16x tfg:flax_tow')
|
||||
.circuit(10)
|
||||
.itemOutputs('tfc:burlap_cloth')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
//#endregion
|
||||
}
|
||||
194
kubejs/server_scripts/tfg/primitive/recipes.compost.js
Normal file
194
kubejs/server_scripts/tfg/primitive/recipes.compost.js
Normal file
|
|
@ -0,0 +1,194 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGCompostRecipes(event) {
|
||||
//#region Fertiliser
|
||||
event.recipes.gtceu.mixer('tfg:fertilizer')
|
||||
.itemInputs(
|
||||
'#tfc:dirt',
|
||||
'2x #tfg:wood_dusts',
|
||||
'4x #forge:sand'
|
||||
)
|
||||
.circuit(1)
|
||||
.inputFluids("#tfg:clean_water 1000")
|
||||
.itemOutputs('4x gtceu:fertilizer')
|
||||
.duration(300)
|
||||
.EUt(30)
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:fertilizer_2')
|
||||
.itemInputs('tfc:compost')
|
||||
.inputFluids('#tfg:clean_water 1000')
|
||||
.itemOutputs('4x gtceu:fertilizer')
|
||||
.duration(300)
|
||||
.EUt(30)
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:gtceu/centrifuge/pure_fertilizers')
|
||||
.itemInputs('1x gtceu:fertilizer')
|
||||
.itemOutputs('1x tfc:pure_nitrogen', '1x tfc:pure_potassium', '1x tfc:pure_phosphorus')
|
||||
.duration(340)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:tfc/mixer/fertilizer')
|
||||
.itemInputs('1x tfc:pure_nitrogen', '1x tfc:pure_potassium', '1x tfc:pure_phosphorus', ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Clay, 1))
|
||||
.itemOutputs('1x gtceu:fertilizer')
|
||||
.duration(160)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.gas_pressurizer('tfg:pure_nitrogen')
|
||||
.itemInputs('#forge:wax')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 1000))
|
||||
.itemOutputs('16x tfc:pure_nitrogen')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
//#endregion
|
||||
|
||||
// Humus and compost
|
||||
event.recipes.gtceu.extractor('tfg:humus_from_leaves')
|
||||
.itemInputs('#minecraft:leaves')
|
||||
.itemOutputs('tfc:groundcover/humus')
|
||||
.duration(600)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.extractor('tfg:humus_from_fallen_leaves')
|
||||
.itemInputs('#tfc:fallen_leaves')
|
||||
.itemOutputs('tfc:groundcover/humus')
|
||||
.duration(600)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:fertilizer_to_compost')
|
||||
.itemInputs('4x gtceu:fertilizer')
|
||||
.itemOutputs('tfc:compost')
|
||||
.duration(1200)
|
||||
.EUt(2)
|
||||
|
||||
const BROWNS = [ '16x #tfc:compost_browns_low', '8x #tfc:compost_browns', '4x #tfc:compost_browns_high' ];
|
||||
const GREENS = [ '16x #tfc:compost_greens_low', '8x #tfc:compost_greens', '4x #tfc:compost_greens_high' ];
|
||||
|
||||
let i = 0;
|
||||
BROWNS.forEach(brown => {
|
||||
GREENS.forEach(green => {
|
||||
event.recipes.gtceu.mixer(`tfg:compost_${i++}`)
|
||||
.itemInputs(brown, green)
|
||||
.itemOutputs('tfc:compost')
|
||||
.duration(1200)
|
||||
.EUt(2)
|
||||
})
|
||||
})
|
||||
|
||||
//Greens
|
||||
// Lows via crafting with mortar
|
||||
event.shaped(Item.of('tfg:universal_compost_greens', 1), [
|
||||
'AB'
|
||||
], {
|
||||
A: '#tfc:compost_greens_low',
|
||||
B: '#forge:tools/mortars'
|
||||
}).id('tfg:shaped/universal_compost_greens_from_low')
|
||||
|
||||
// Mediums via crafting with mortar
|
||||
event.shaped(Item.of('tfg:universal_compost_greens', 2), [
|
||||
'AB'
|
||||
], {
|
||||
A: '#tfc:compost_greens',
|
||||
B: '#forge:tools/mortars'
|
||||
}).id('tfg:shaped/universal_compost_greens_from_medium')
|
||||
|
||||
// Highs via crafting with mortar
|
||||
event.shaped(Item.of('tfg:universal_compost_greens', 4), [
|
||||
'AB'
|
||||
], {
|
||||
A: '#tfc:compost_greens_high',
|
||||
B: '#forge:tools/mortars'
|
||||
}).id('tfg:shaped/universal_compost_greens_from_high')
|
||||
|
||||
// Filters
|
||||
const greens_low = Ingredient.of('#tfc:compost_greens_low')
|
||||
const browns_low = Ingredient.of('#tfc:compost_browns_low').itemIds
|
||||
const greens_medium = Ingredient.of('#tfc:compost_greens')
|
||||
const browns_medium = Ingredient.of('#tfc:compost_browns').itemIds
|
||||
const greens_high = Ingredient.of('#tfc:compost_greens_high')
|
||||
const browns_high = Ingredient.of('#tfc:compost_browns_high').itemIds
|
||||
|
||||
let low_filtered = greens_low
|
||||
let medium_filtered = greens_medium
|
||||
let high_filtered = greens_high
|
||||
|
||||
browns_low.forEach(item => {
|
||||
low_filtered = low_filtered.subtract(item)
|
||||
low_filtered = low_filtered.subtract('tfg:universal_compost_greens')
|
||||
})
|
||||
browns_medium.forEach(item => {
|
||||
medium_filtered = medium_filtered.subtract(item)
|
||||
})
|
||||
browns_high.forEach(item => {
|
||||
high_filtered = high_filtered.subtract(item)
|
||||
})
|
||||
|
||||
// Lows via forge hammer
|
||||
event.recipes.gtceu.forge_hammer('tfg:universal_compost_greens_low')
|
||||
.itemInputs(low_filtered)
|
||||
.itemOutputs('tfg:universal_compost_greens')
|
||||
.duration(20)
|
||||
.EUt(8)
|
||||
|
||||
// Mediums via forge hammer
|
||||
event.recipes.gtceu.forge_hammer('tfg:universal_compost_greens_medium')
|
||||
.itemInputs(medium_filtered)
|
||||
.itemOutputs(Item.of('tfg:universal_compost_greens', 2))
|
||||
.duration(20)
|
||||
.EUt(8)
|
||||
|
||||
// Highs via forge hammer
|
||||
event.recipes.gtceu.forge_hammer('tfg:universal_compost_greens_high')
|
||||
.itemInputs(high_filtered)
|
||||
.itemOutputs(Item.of('tfg:universal_compost_greens', 4))
|
||||
.duration(20)
|
||||
.EUt(8)
|
||||
|
||||
//Browns
|
||||
// Lows via crafting with mortar
|
||||
event.shaped(Item.of('tfg:universal_compost_browns', 1), [
|
||||
'A',
|
||||
'B'
|
||||
], {
|
||||
A: '#tfc:compost_browns_low',
|
||||
B: '#forge:tools/mortars'
|
||||
}).id('tfg:shaped/universal_compost_browns_from_low')
|
||||
|
||||
// Mediums via crafting with mortar
|
||||
event.shaped(Item.of('tfg:universal_compost_browns', 2), [
|
||||
'A',
|
||||
'B'
|
||||
], {
|
||||
A: '#tfc:compost_browns',
|
||||
B: '#forge:tools/mortars'
|
||||
}).id('tfg:shaped/universal_compost_browns_from_medium')
|
||||
|
||||
// Highs via crafting with mortar
|
||||
event.shaped(Item.of('tfg:universal_compost_browns', 4), [
|
||||
'A',
|
||||
'B'
|
||||
], {
|
||||
A: '#tfc:compost_browns_high',
|
||||
B: '#forge:tools/mortars'
|
||||
}).id('tfg:shaped/universal_compost_browns_from_high')
|
||||
|
||||
// Lows via forge hammer
|
||||
event.recipes.gtceu.forge_hammer('tfg:universal_compost_browns_low')
|
||||
.itemInputs('#tfc:compost_browns_low')
|
||||
.itemOutputs('tfg:universal_compost_browns')
|
||||
.duration(20)
|
||||
.EUt(8)
|
||||
|
||||
// Mediums via forge hammer
|
||||
event.recipes.gtceu.forge_hammer('tfg:universal_compost_browns_medium')
|
||||
.itemInputs('#tfc:compost_browns')
|
||||
.itemOutputs(Item.of('tfg:universal_compost_browns', 2))
|
||||
.duration(20)
|
||||
.EUt(8)
|
||||
|
||||
// Highs via forge hammer
|
||||
event.recipes.gtceu.forge_hammer('tfg:universal_compost_browns_high')
|
||||
.itemInputs('#tfc:compost_browns_high')
|
||||
.itemOutputs(Item.of('tfg:universal_compost_browns', 4))
|
||||
.duration(20)
|
||||
.EUt(8)
|
||||
}
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGChipboardRecipes(event) {
|
||||
|
||||
// Glue from resin
|
||||
event.recipes.gtceu.extractor('tfg:glue_from_tfc_glue')
|
||||
.itemInputs('tfc:glue')
|
||||
.outputFluids(Fluid.of('gtceu:glue', 50))
|
||||
.duration(20 * 10)
|
||||
.EUt(5)
|
||||
|
||||
event.recipes.gtceu.extractor('tfg:glue_from_sticky_resin')
|
||||
.itemInputs('gtceu:sticky_resin')
|
||||
.outputFluids(Fluid.of('gtceu:glue', 100))
|
||||
.duration(20 * 10)
|
||||
.EUt(5)
|
||||
|
||||
event.recipes.gtceu.extractor('tfg:glue_from_conifer_resin')
|
||||
.itemInputs('tfg:conifer_rosin')
|
||||
.outputFluids(Fluid.of('gtceu:glue', 50))
|
||||
.duration(20 * 10)
|
||||
.EUt(5)
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:glue_from_bone_meal')
|
||||
.itemInputs('minecraft:bone_meal')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 500))
|
||||
.outputFluids(Fluid.of('gtceu:glue', 50))
|
||||
.duration(100)
|
||||
.EUt(5)
|
||||
|
||||
// Chipboard
|
||||
event.recipes.gtceu.mixer('gtceu:chipboard_composite_wax')
|
||||
.itemInputs('2x #tfg:wood_dusts',
|
||||
'1x #forge:wax')
|
||||
.itemOutputs('2x tfg:chipboard_composite')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.mixer('gtceu:chipboard_composite_resin')
|
||||
.itemInputs('4x #tfg:wood_dusts',
|
||||
'1x gtceu:sticky_resin')
|
||||
.itemOutputs('4x tfg:chipboard_composite')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.mixer('gtceu:chipboard_composite_glue')
|
||||
.itemInputs('2x #tfg:wood_dusts',
|
||||
'1x tfc:glue')
|
||||
.itemOutputs('2x tfg:chipboard_composite')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
|
||||
event.recipes.gtceu.mixer('gtceu:chipboard_composite_fluid_glue')
|
||||
.itemInputs('1x #tfg:wood_dusts')
|
||||
.inputFluids(Fluid.of('gtceu:glue', 25))
|
||||
.itemOutputs('1x tfg:chipboard_composite')
|
||||
.duration(10)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.compressor('gtceu:wood_mdf')
|
||||
.itemInputs('1x tfg:chipboard_composite')
|
||||
.itemOutputs('gtceu:wood_plate')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath('gtceu:treated_chipboard_composite')
|
||||
.itemInputs('1x tfg:chipboard_composite')
|
||||
.inputFluids(Fluid.of('gtceu:creosote', 50))
|
||||
.itemOutputs('tfg:treated_chipboard_composite')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath('gtceu:bath_high_density_treated_fiberboard')
|
||||
.itemInputs('1x gtceu:wood_plate')
|
||||
.inputFluids(Fluid.of('gtceu:creosote', 50))
|
||||
.itemOutputs('tfg:high_density_treated_fiberboard')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath('gtceu:bath_treated_wood_dust')
|
||||
.itemInputs('#tfg:wood_dusts')
|
||||
.inputFluids(Fluid.of('gtceu:creosote', 50))
|
||||
.itemOutputs('gtceu:treated_wood_dust')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.compressor('tfg:compressed_treated_chipboard_composite')
|
||||
.itemInputs('tfg:treated_chipboard_composite')
|
||||
.itemOutputs('tfg:high_density_treated_fiberboard')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:resin_circuit_assembler')
|
||||
.itemInputs('gtceu:wood_plate', '2x gtceu:sticky_resin')
|
||||
.itemOutputs('gtceu:resin_circuit_board')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.replaceInput({ id: 'gtceu:assembler/phenolic_board' }, '#tfg:wood_dusts', 'tfg:high_density_treated_fiberboard')
|
||||
}
|
||||
104
kubejs/server_scripts/tfg/primitive/recipes.ice.js
Normal file
104
kubejs/server_scripts/tfg/primitive/recipes.ice.js
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGIceRecipes(event) {
|
||||
|
||||
// Ice
|
||||
event.remove({ id: 'gtceu:compressor/ice_from_dust' })
|
||||
event.remove({ id: 'gtceu:compressor/ice_from_snow' })
|
||||
|
||||
event.shapeless('#forge:dusts/ice', ['#forge:tools/mortars', '4x firmalife:ice_shavings'])
|
||||
.id('tfg:shaped/ice_shavings')
|
||||
|
||||
event.recipes.tfc.quern('#forge:small_dusts/ice', 'firmalife:ice_shavings')
|
||||
.id('tfg:quern/ice_dust')
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:macerating_ice_shavings')
|
||||
.itemInputs('firmalife:ice_shavings')
|
||||
.itemOutputs('#forge:small_dusts/ice')
|
||||
.duration(10)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:macerating_ice_shavings_reverse')
|
||||
.itemInputs('#forge:dusts/ice')
|
||||
.itemOutputs('4x firmalife:ice_shavings')
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier('tfg:ice')
|
||||
.inputFluids("#tfg:clean_water 144")
|
||||
.notConsumable('gtceu:block_casting_mold')
|
||||
.itemOutputs('minecraft:ice')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.shapeless('4x firmalife:ice_shavings', ['#forge:dusts/ice', '#forge:tools/hammers'])
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:ice_slush_from_dry_ice')
|
||||
.itemInputs('1x tfg:dry_ice')
|
||||
.inputFluids("#tfc:water 8000")
|
||||
.outputFluids(Fluid.of('gtceu:ice', 8000))
|
||||
.duration(80)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
// Cooling water
|
||||
event.recipes.tfc.barrel_sealed(250)
|
||||
.inputItem('1x tfg:dry_ice')
|
||||
.inputFluid(Fluid.of('minecraft:water', 5000))
|
||||
.outputFluid(Fluid.of('gtceu:ice', 5000))
|
||||
.id('tfg:barrel/cooling_water_0')
|
||||
|
||||
event.recipes.tfc.barrel_sealed(1000)
|
||||
.inputItem('1x #forge:dusts/ice')
|
||||
.inputFluid(Fluid.of('minecraft:water', 144))
|
||||
.outputFluid(Fluid.of('gtceu:ice', 144))
|
||||
.id('tfg:barrel/cooling_water_1')
|
||||
|
||||
event.recipes.tfc.barrel_sealed(1000)
|
||||
.inputItem('16x minecraft:snowball')
|
||||
.inputFluid(Fluid.of('minecraft:water', 144))
|
||||
.outputFluid(Fluid.of('gtceu:ice', 144))
|
||||
.id('tfg:barrel/cooling_water_2')
|
||||
|
||||
event.recipes.tfc.barrel_sealed(2000)
|
||||
.inputItem('1x #forge:dusts/ice')
|
||||
.inputFluid(Fluid.of('tfc:salt_water', 144))
|
||||
.outputFluid(Fluid.of('gtceu:ice', 144))
|
||||
.id('tfg:barrel/cooling_water_3')
|
||||
|
||||
event.recipes.tfc.barrel_sealed(2000)
|
||||
.inputItem('16x minecraft:snowball')
|
||||
.inputFluid(Fluid.of('tfc:salt_water', 144))
|
||||
.outputFluid(Fluid.of('gtceu:ice', 144))
|
||||
.id('tfg:barrel/cooling_water_4')
|
||||
|
||||
// Freezing it
|
||||
event.recipes.tfc.barrel_sealed(3000)
|
||||
.inputItem('9x #forge:dusts/ice')
|
||||
.inputFluid(Fluid.of('gtceu:ice', 144))
|
||||
.outputItem('minecraft:packed_ice')
|
||||
.id('tfg:barrel/packed_ice')
|
||||
|
||||
// Heating it back up
|
||||
event.recipes.tfc.pot([], Fluid.of('gtceu:ice', 144), 300, 100)
|
||||
.fluidOutput(Fluid.of('minecraft:water', 144))
|
||||
|
||||
event.recipes.firmalife.vat()
|
||||
.inputFluid(Fluid.of('gtceu:ice', 144))
|
||||
.outputFluid(Fluid.of('minecraft:water', 144))
|
||||
.length(300)
|
||||
.temperature(100)
|
||||
|
||||
// Snow
|
||||
event.recipes.firmalife.stomping('minecraft:snow', 'minecraft:snowball',
|
||||
'minecraft:block/snow', 'minecraft:block/snow', 'minecraft:block.snow.place')
|
||||
.id('tfg:stomping/snow_layer')
|
||||
|
||||
event.shapeless('minecraft:snow_block', ['8x minecraft:snow'])
|
||||
.id('tfg:shapeless/snow_block')
|
||||
|
||||
event.shapeless('8x minecraft:snowball', ['minecraft:snow_block'])
|
||||
.id('tfg:shapeless/snowball')
|
||||
|
||||
event.shapeless('8x minecraft:snow', ['minecraft:snow_block', '#forge:tools/saws'])
|
||||
.id('tfg:shapeless/snow')
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
function registerTFCKnappingRecipes(event) {
|
||||
function registerTFGKnappingRecipes(event) {
|
||||
|
||||
//#region Топор
|
||||
|
||||
212
kubejs/server_scripts/tfg/primitive/recipes.leather.js
Normal file
212
kubejs/server_scripts/tfg/primitive/recipes.leather.js
Normal file
|
|
@ -0,0 +1,212 @@
|
|||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
function registerTFGLeatherRecipes(event) {
|
||||
|
||||
// Limewater
|
||||
event.recipes.gtceu.mixer('tfg:limewater_from_lime')
|
||||
.itemInputs('tfc:powder/lime')
|
||||
.inputFluids(Fluid.of('water', 500))
|
||||
.outputFluids(Fluid.of('tfc:limewater', 500))
|
||||
.duration(20)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:limewater_from_flux')
|
||||
.itemInputs('tfc:powder/flux')
|
||||
.inputFluids(Fluid.of('water', 500))
|
||||
.outputFluids(Fluid.of('tfc:limewater', 500))
|
||||
.duration(20)
|
||||
.EUt(16)
|
||||
|
||||
// Tannin
|
||||
event.recipes.gtceu.chemical_bath('tfg:tannin')
|
||||
.itemInputs('#tfc:makes_tannin')
|
||||
.inputFluids(Fluid.of('water', 1000))
|
||||
.outputFluids(Fluid.of('tfc:tannin', 1000))
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
// Soaked hides
|
||||
event.recipes.gtceu.chemical_bath('tfg:small_soaked_hide')
|
||||
.itemInputs('tfc:small_raw_hide')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 300))
|
||||
.itemOutputs('tfc:small_soaked_hide')
|
||||
.duration(1600)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:medium_soaked_hide')
|
||||
.itemInputs('tfc:medium_raw_hide')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 400))
|
||||
.itemOutputs('tfc:medium_soaked_hide')
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:large_soaked_hide')
|
||||
.itemInputs('tfc:large_raw_hide')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 500))
|
||||
.itemOutputs('tfc:large_soaked_hide')
|
||||
.duration(3200)
|
||||
.EUt(16)
|
||||
|
||||
// Scraped Hides
|
||||
event.recipes.gtceu.cutter('tfg:small_scraped_hide')
|
||||
.itemInputs('tfc:small_soaked_hide')
|
||||
.itemOutputs('tfc:small_scraped_hide')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:medium_scraped_hide')
|
||||
.itemInputs('tfc:medium_soaked_hide')
|
||||
.itemOutputs('tfc:medium_scraped_hide')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:large_scraped_hide')
|
||||
.itemInputs('tfc:large_soaked_hide')
|
||||
.itemOutputs('tfc:large_scraped_hide')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
// Prepared hides
|
||||
event.recipes.gtceu.chemical_bath('tfg:small_prepared_hide')
|
||||
.itemInputs('tfc:small_soaked_hide')
|
||||
.inputFluids(Fluid.of('water', 300))
|
||||
.itemOutputs('tfc:small_prepared_hide')
|
||||
.duration(1600)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:medium_prepared_hide')
|
||||
.itemInputs('tfc:medium_soaked_hide')
|
||||
.inputFluids(Fluid.of('water', 400))
|
||||
.itemOutputs('tfc:medium_prepared_hide')
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:large_prepared_hide')
|
||||
.itemInputs('tfc:large_soaked_hide')
|
||||
.inputFluids(Fluid.of('water', 500))
|
||||
.itemOutputs('tfc:large_prepared_hide')
|
||||
.duration(3200)
|
||||
.EUt(16)
|
||||
|
||||
// Leather
|
||||
event.recipes.gtceu.chemical_bath('tfg:small_leather')
|
||||
.itemInputs('tfc:small_prepared_hide')
|
||||
.inputFluids(Fluid.of('tfc:tannin', 300))
|
||||
.itemOutputs('minecraft:leather')
|
||||
.duration(1600)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:medium_leather')
|
||||
.itemInputs('tfc:medium_prepared_hide')
|
||||
.inputFluids(Fluid.of('tfc:tannin', 400))
|
||||
.itemOutputs('2x minecraft:leather')
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:large_leather')
|
||||
.itemInputs('tfc:large_prepared_hide')
|
||||
.inputFluids(Fluid.of('tfc:tannin', 500))
|
||||
.itemOutputs('3x minecraft:leather')
|
||||
.duration(3200)
|
||||
.EUt(16)
|
||||
|
||||
// 1x Small SheepSkin -> 1x Wool
|
||||
event.recipes.gtceu.assembler('tfg:tfc/wool_1')
|
||||
.itemInputs('tfc:small_sheepskin_hide')
|
||||
.itemOutputs('tfc:wool')
|
||||
.duration(100)
|
||||
.circuit(3)
|
||||
.EUt(4)
|
||||
|
||||
// 1x Medium SheepSkin -> 1x Wool
|
||||
event.recipes.gtceu.assembler('tfg:tfc/wool_2')
|
||||
.itemInputs('tfc:medium_sheepskin_hide')
|
||||
.itemOutputs('2x tfc:wool')
|
||||
.duration(100)
|
||||
.circuit(3)
|
||||
.EUt(4)
|
||||
|
||||
// 1x Large SheepSkin -> 1x Wool
|
||||
event.recipes.gtceu.assembler('tfg:tfc/wool_3')
|
||||
.itemInputs('tfc:large_sheepskin_hide')
|
||||
.itemOutputs('3x tfc:wool')
|
||||
.duration(100)
|
||||
.circuit(3)
|
||||
.EUt(4)
|
||||
|
||||
//Hide Sewing
|
||||
const stages = [
|
||||
'raw',
|
||||
'soaked',
|
||||
'scraped',
|
||||
'prepared',
|
||||
'sheepskin'
|
||||
];
|
||||
|
||||
stages.forEach(stage => {
|
||||
//Combining
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless(`1x tfc:medium_${stage}_hide`, [
|
||||
`2x tfc:small_${stage}_hide`,
|
||||
'#tfc:sewing_needles',
|
||||
'#forge:string',
|
||||
'tfc:glue'
|
||||
]).id(`tfg:tfc/small_to_medium_${stage}_hide`)
|
||||
)
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless(`1x tfc:large_${stage}_hide`, [
|
||||
`3x tfc:small_${stage}_hide`,
|
||||
'#tfc:sewing_needles',
|
||||
'#forge:string',
|
||||
'tfc:glue'
|
||||
]).id(`tfg:tfc/small_to_large_${stage}_hide`)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:gtceu/assembler/small_to_medium_${stage}_hide`)
|
||||
.inputFluids(Fluid.of('gtceu:glue', 25))
|
||||
.itemOutputs(`1x tfc:medium_${stage}_hide`)
|
||||
.itemInputs(`2x tfc:small_${stage}_hide`)
|
||||
.duration(60)
|
||||
.circuit(7)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:gtceu/assembler/small_to_large_${stage}_hide`)
|
||||
.inputFluids(Fluid.of('gtceu:glue', 25))
|
||||
.itemOutputs(`1x tfc:large_${stage}_hide`)
|
||||
.itemInputs(`3x tfc:small_${stage}_hide`)
|
||||
.duration(60)
|
||||
.circuit(9)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
//Cutting
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless(`2x tfc:small_${stage}_hide`, [
|
||||
`1x tfc:medium_${stage}_hide`,
|
||||
'#forge:shears'
|
||||
]).id(`tfg:tfc/medium_to_small_${stage}_hide`)
|
||||
)
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(
|
||||
event.shapeless(`3x tfc:small_${stage}_hide`, [
|
||||
`1x tfc:large_${stage}_hide`,
|
||||
'#forge:shears'
|
||||
]).id(`tfg:tfc/large_to_small_${stage}_hide`)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:gtceu/assembler/medium_to_small_${stage}_hide`)
|
||||
.itemOutputs(`2x tfc:small_${stage}_hide`)
|
||||
.itemInputs(`1x tfc:medium_${stage}_hide`)
|
||||
.duration(60)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:gtceu/assembler/large_to_small_${stage}_hide`)
|
||||
.itemOutputs(`3x tfc:small_${stage}_hide`)
|
||||
.itemInputs(`1x tfc:large_${stage}_hide`)
|
||||
.duration(60)
|
||||
.circuit(6)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
});
|
||||
|
||||
}
|
||||
|
|
@ -5,7 +5,34 @@
|
|||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
function registerTFGPapermakingRecipes(event) {
|
||||
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:unrefined_paper')
|
||||
.itemInputs('tfc:unrefined_paper')
|
||||
.itemOutputs('minecraft:paper')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('paper_from_papyrus_distilled')
|
||||
.itemInputs('tfc:papyrus')
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 100))
|
||||
.itemOutputs('4x tfc:soaked_papyrus_strip')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('paper_from_papyrus')
|
||||
.itemInputs('tfc:papyrus')
|
||||
.inputFluids("#tfg:clean_water 100")
|
||||
.itemOutputs('4x tfc:soaked_papyrus_strip')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.assembler('papyrus_strips')
|
||||
.itemInputs('4x tfc:soaked_papyrus_strip')
|
||||
.itemOutputs('minecraft:paper')
|
||||
.circuit(1)
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
const generateVatRecipe = (id, inputItem, fluid, fluidAmount, output) => {
|
||||
event.custom({
|
||||
"type": "firmalife:vat",
|
||||
133
kubejs/server_scripts/tfg/primitive/recipes.rubber.js
Normal file
133
kubejs/server_scripts/tfg/primitive/recipes.rubber.js
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGRubberRecipes(event) {
|
||||
|
||||
// Sticky resin
|
||||
event.recipes.tfc.pot('tfc:powder/wood_ash', Fluid.of('tfg:latex', 1000), 1200, 300)
|
||||
.itemOutput('gtceu:sticky_resin')
|
||||
.id('tfg:pot/sticky_resin_from_latex')
|
||||
|
||||
event.recipes.tfc.pot('tfc:powder/wood_ash', Fluid.of('tfg:conifer_pitch', 1000), 1200, 300)
|
||||
.itemOutput('gtceu:sticky_resin')
|
||||
.id('tfg:pot/sticky_resin_from_conifer_pitch')
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier('tfg:fluid_solidifier/latex_to_sticky_resin')
|
||||
.duration(12 * 20)
|
||||
.EUt(30)
|
||||
.itemInputs('tfc:powder/wood_ash')
|
||||
.itemOutputs('gtceu:sticky_resin')
|
||||
.inputFluids(Fluid.of('tfg:latex', 1000))
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier('tfg:fluid_solidifier/pitch_to_sticky_resin')
|
||||
.duration(12 * 20)
|
||||
.EUt(30)
|
||||
.itemInputs('tfc:powder/wood_ash')
|
||||
.itemOutputs('gtceu:sticky_resin')
|
||||
.inputFluids(Fluid.of('tfg:conifer_pitch', 1000))
|
||||
|
||||
// Rubber Processing Line
|
||||
event.recipes.firmalife.vat()
|
||||
.inputs('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000))
|
||||
.outputFluid(Fluid.of('tfg:vulcanized_latex', 1000))
|
||||
.length(300)
|
||||
.temperature(300)
|
||||
.id('tfg:vat/vulcanized_latex')
|
||||
|
||||
event.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000), 1200, 300)
|
||||
.fluidOutput(Fluid.of('tfg:vulcanized_latex', 1000))
|
||||
.id('tfg:pot/vulcanized_latex')
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:latex_to_vulcanized_latex')
|
||||
.duration(100)
|
||||
.EUt(20)
|
||||
.itemInputs('tfc:powder/sulfur')
|
||||
.inputFluids(Fluid.of('tfg:latex', 1000))
|
||||
.outputFluids(Fluid.of('tfg:vulcanized_latex', 1000))
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier('tfg:vulcanized_latex_to_raw_rubber_pulp')
|
||||
.duration(100)
|
||||
.EUt(20)
|
||||
.inputFluids(Fluid.of('tfg:vulcanized_latex', 1000))
|
||||
.itemOutputs('4x gtceu:raw_rubber_dust')
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier('tfg:solidify_glue')
|
||||
.inputFluids(Fluid.of('gtceu:glue', 50))
|
||||
.notConsumable('gtceu:ball_casting_mold')
|
||||
.itemOutputs('tfc:glue')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:centrifuge_rosin')
|
||||
.itemInputs('tfg:conifer_rosin')
|
||||
.outputFluids(Fluid.of('gtceu:glue', 50))
|
||||
.itemOutputs('2x #forge:dusts/carbon')
|
||||
.chancedOutput('gtceu:plant_ball', 7500, 0)
|
||||
.duration(20 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:centrifuge_sticky_resin')
|
||||
.itemInputs('gtceu:sticky_resin')
|
||||
.outputFluids(Fluid.of('gtceu:glue', 100))
|
||||
.itemOutputs('3x #forge:dusts/carbon')
|
||||
.chancedOutput('gtceu:plant_ball', 5000, 0)
|
||||
.duration(20 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`tfg:treat_latex_plants_into_latex`)
|
||||
.itemInputs('16x #tfg:rubber_plants', 'gtceu:tiny_sodium_hydroxide_dust')
|
||||
.circuit(1)
|
||||
.outputFluids(Fluid.of('tfg:latex', 1000))
|
||||
.duration(200)
|
||||
.EUt(20)
|
||||
|
||||
|
||||
// #region Primitive protection
|
||||
|
||||
event.recipes.tfc.barrel_sealed(2000)
|
||||
.outputItem('tfg:prepared_leather_gloves')
|
||||
.inputs('tfchotornot:mittens', Fluid.of('tfc:vinegar', 1000))
|
||||
.id('tfg:sealed_barrel/prepared_leather_gloves')
|
||||
|
||||
event.recipes.firmalife.vat()
|
||||
.outputItem('tfg:latex_soaked_gloves')
|
||||
.inputs('tfg:prepared_leather_gloves', Fluid.of('tfg:vulcanized_latex', 1000))
|
||||
.length(300)
|
||||
.temperature(200)
|
||||
.id('tfg:vat/latex_soaked_gloves')
|
||||
|
||||
event.recipes.firmalife.oven('tfg:latex_soaked_gloves', 120, 1200, 'gtceu:rubber_gloves')
|
||||
.id('tfg:oven/rubber_gloves')
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/rubber_gloves' })
|
||||
|
||||
event.recipes.gtceu.alloy_smelter('rubber_gloves_alloy_smelter')
|
||||
.itemInputs('2x #forge:plates/rubber')
|
||||
.notConsumable('create:brass_hand')
|
||||
.itemOutputs('gtceu:rubber_gloves')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.category(GTRecipeCategories.INGOT_MOLDING)
|
||||
|
||||
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('gtceu:face_mask', [
|
||||
'ACA',
|
||||
'ABA',
|
||||
' D '
|
||||
], {
|
||||
A: '#forge:string',
|
||||
B: '#forge:cloth',
|
||||
C: 'minecraft:paper',
|
||||
D: '#tfc:sewing_needles'
|
||||
})
|
||||
).id('gtceu:shaped/face_mask')
|
||||
|
||||
event.recipes.gtceu.assembler('assemble_face_mask')
|
||||
.itemInputs('4x #forge:string', '#forge:cloth', 'minecraft:paper')
|
||||
.itemOutputs('gtceu:face_mask')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.circuit(7)
|
||||
|
||||
// #endregion
|
||||
}
|
||||
59
kubejs/server_scripts/tfg/primitive/recipes.vases.js
Normal file
59
kubejs/server_scripts/tfg/primitive/recipes.vases.js
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGVaseRecipes(event) {
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(color => {
|
||||
event.recipes.gtceu.chemical_bath(`tfg:chemical_bath/dyeing/decorative_vase/unfired/${color}`)
|
||||
.itemInputs('#tfg:decorative_vases/unfired')
|
||||
.inputFluids(Fluid.of(`tfc:${color}_dye`, 25))
|
||||
.itemOutputs(`tfg:decorative_vase/unfired/${color}`)
|
||||
.duration(80)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
event.recipes.tfc.heating(`tfg:decorative_vase/unfired/${color}`, 1399)
|
||||
.resultItem(`tfg:decorative_vase/${color}`)
|
||||
.id(`tfg:heating/decorative_vase/unfired/${color}`)
|
||||
|
||||
event.recipes.tfc.barrel_sealed(1000)
|
||||
.outputItem(`tfg:decorative_vase/unfired/${color}`)
|
||||
.inputItem(Ingredient.of('#tfg:decorative_vases/unfired').subtract(`tfg:decorative_vase/unfired/${color}`))
|
||||
.inputFluid(Fluid.of(`tfc:${color}_dye`, 25))
|
||||
.id(`tfg:barrel/dyeing/decorative_vase/${color}`)
|
||||
|
||||
event.smelting(
|
||||
`1x tfg:decorative_vase/${color}`,
|
||||
`tfg:decorative_vase/unfired/${color}`
|
||||
).id(`tfg:smelting/decorative_vase/${color}`)
|
||||
})
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`tfg:chemical_bath/bleaching/decorative_vase/unfired`)
|
||||
.itemInputs('#tfg:decorative_vases/unfired')
|
||||
.inputFluids(Fluid.of('gtceu:chlorine', 72))
|
||||
.itemOutputs('tfg:decorative_vase/unfired')
|
||||
.duration(80)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
event.smelting(
|
||||
'1x tfg:decorative_vase',
|
||||
'tfg:decorative_vase/unfired'
|
||||
).id('tfg:smelting/decorative_vase')
|
||||
|
||||
event.recipes.tfc.heating('tfg:decorative_vase/unfired', 1399)
|
||||
.resultItem('tfg:decorative_vase')
|
||||
.id('tfg:heating/decorative_vase/unfired')
|
||||
|
||||
event.recipes.tfc.knapping(
|
||||
'tfg:decorative_vase/unfired',
|
||||
'tfc:clay',
|
||||
[
|
||||
' X X ',
|
||||
'XX XX',
|
||||
'X X',
|
||||
'X X',
|
||||
'XXXXX'
|
||||
]
|
||||
).outsideSlotRequired(false)
|
||||
.id('tfg:knapping/decorative_vase/unfired')
|
||||
}
|
||||
64
kubejs/server_scripts/tfg/primitive/recipes.wax.js
Normal file
64
kubejs/server_scripts/tfg/primitive/recipes.wax.js
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGWaxRecipes(event) {
|
||||
|
||||
//forge:wax
|
||||
event.replaceInput({}, 'firmalife:beeswax', '#forge:wax')
|
||||
|
||||
//paraffin
|
||||
event.recipes.gtceu.chemical_reactor('tfg:paraffin_wax_from_lubricant')
|
||||
.circuit(7)
|
||||
.itemOutputs('6x tfg:paraffin_wax')
|
||||
.outputFluids(Fluid.of('gtceu:oil_light', 25))
|
||||
.inputFluids(Fluid.of('gtceu:lubricant', 250), Fluid.of('gtceu:acetone', 25))
|
||||
.duration(500)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Rosin
|
||||
event.recipes.firmalife.vat()
|
||||
.inputs('tfc:powder/charcoal', Fluid.of('tfg:conifer_pitch', 1000))
|
||||
.outputItem('tfg:conifer_rosin')
|
||||
.id('tfg:vat/conifer_pitch_to_rosin');
|
||||
|
||||
event.recipes.tfc.pot('tfc:powder/charcoal', Fluid.of('tfg:conifer_pitch', 1000), 1200, 300)
|
||||
.itemOutput('tfg:conifer_rosin')
|
||||
.id('tfg:pot/conifer_pitch_to_rosin')
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier('tfg:pitch_to_rosin')
|
||||
.inputFluids(Fluid.of('tfg:conifer_pitch', 1000))
|
||||
.itemInputs('tfc:powder/charcoal')
|
||||
.itemOutputs('tfg:conifer_rosin')
|
||||
.duration(20 * 12)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//#region Wax Unification
|
||||
|
||||
// Recipe Removals
|
||||
event.remove({ id: 'gtceu:extractor/extract_honeycomb_block' });
|
||||
event.remove({ id: 'gtceu:extractor/extract_honeycomb' });
|
||||
event.remove({ id: 'gtceu:extractor/extract_wax_dust' });
|
||||
|
||||
// Extractor Recipe
|
||||
event.recipes.gtceu.extractor('tfg:wax_melting')
|
||||
.itemInputs(Ingredient.of('#forge:wax'))
|
||||
.outputFluids(Fluid.of('gtceu:wax', 144))
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.EXTRACTOR_RECYCLING);
|
||||
|
||||
event.recipes.gtceu.extractor('tfg:tiny_wax_dust_melting')
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Wax, 1))
|
||||
.outputFluids(Fluid.of('gtceu:wax', 16))
|
||||
.duration(10)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.EXTRACTOR_RECYCLING);
|
||||
|
||||
event.recipes.gtceu.extractor('tfg:small_wax_dust_melting')
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Wax, 1))
|
||||
.outputFluids(Fluid.of('gtceu:wax', 36))
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.EXTRACTOR_RECYCLING);
|
||||
|
||||
//#endregion
|
||||
}
|
||||
236
kubejs/server_scripts/tfg/primitive/recipes.wood.js
Normal file
236
kubejs/server_scripts/tfg/primitive/recipes.wood.js
Normal file
|
|
@ -0,0 +1,236 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGWoodRecipes(event) {
|
||||
|
||||
event.replaceInput({ output: '#tfc:sewing_tables'}, '#forge:shears', '#forge:tools/knives')
|
||||
event.replaceInput({ id: 'gtceu:shaped/powderbarrel' }, 'gtceu:wood_plate', '#tfc:lumber')
|
||||
|
||||
// Wood ash
|
||||
event.smelting('4x tfc:powder/wood_ash', '1x #minecraft:logs_that_burn').id('tfg:wood_ash')
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:wood_ash_to_wood_gas_air')
|
||||
.itemInputs('8x tfc:powder/wood_ash')
|
||||
.inputFluids(Fluid.of('gtceu:air', 100))
|
||||
.outputFluids('gtceu:wood_gas 100')
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.create.splashing([Item.of('tfc:powder/wood_ash').withChance(0.25), Item.of('minecraft:stick').withChance(0.25)], 'tfc:torch')
|
||||
.id('tfg:splashing/wash_torch')
|
||||
|
||||
// Just a dummy recipe to tell people they can get wood ash by throwing torches in water via TFC
|
||||
event.custom({
|
||||
type: "ae2:transform",
|
||||
circumstance: {
|
||||
type: "fluid",
|
||||
tag: "tfc:water"
|
||||
},
|
||||
ingredients: [{ item: 'tfc:torch' }],
|
||||
result: { item: 'tfc:powder/wood_ash' }
|
||||
}).id(`tfg:ae_transform/torch_to_wood_ash`)
|
||||
|
||||
// Ladder
|
||||
event.shaped('8x minecraft:ladder', [
|
||||
'A A',
|
||||
'AAA',
|
||||
'A A'
|
||||
], {
|
||||
A: '#forge:rods/wooden'
|
||||
}).id('gtceu:shaped/ladder')
|
||||
|
||||
event.shaped('8x minecraft:ladder', [
|
||||
'A A',
|
||||
'AAA',
|
||||
'A A'
|
||||
], {
|
||||
A: '#tfc:lumber'
|
||||
}).id('tfc:crafting/vanilla/ladder')
|
||||
|
||||
event.replaceInput({ id: 'tfc:crafting/vanilla/armor_stand' }, '#minecraft:planks', '#tfc:lumber')
|
||||
event.remove({ id: 'tfc:crafting/vanilla/armor_stand_bulk' })
|
||||
|
||||
// Treated Wood
|
||||
event.remove({ id: 'gtceu:shaped/treated_wood_planks' })
|
||||
|
||||
event.recipes.tfc.barrel_sealed(4000)
|
||||
.outputItem('gtceu:treated_wood_planks')
|
||||
.inputs('#minecraft:planks', TFC.fluidStackIngredient('#forge:creosote', 100))
|
||||
.id('tfg:barrel/treated_wood_planks')
|
||||
|
||||
event.recipes.tfc.barrel_sealed(2000)
|
||||
.outputItem('gtceu:treated_wood_dust')
|
||||
.inputs('#tfg:wood_dusts', TFC.fluidStackIngredient('#forge:creosote', 50))
|
||||
.id('tfg:barrel/treated_wood_dust')
|
||||
|
||||
event.shaped('2x gtceu:treated_wood_door', [
|
||||
'AA ',
|
||||
'AA ',
|
||||
'AA '
|
||||
], {
|
||||
A: 'gtceu:treated_wood_plate'
|
||||
}).id('tfg:shaped/treated_door')
|
||||
|
||||
event.shaped('3x gtceu:treated_wood_trapdoor', [
|
||||
'AAA',
|
||||
'AAA',
|
||||
' '
|
||||
], {
|
||||
A: 'gtceu:treated_wood_plate'
|
||||
}).id('tfg:shaped/treated_trapdoor')
|
||||
|
||||
event.shaped('gtceu:treated_wood_pressure_plate', [
|
||||
' B ',
|
||||
'CDC',
|
||||
' E '
|
||||
], {
|
||||
B: '#tfc:hammers',
|
||||
C: 'gtceu:treated_wood_slab',
|
||||
D: '#forge:small_springs',
|
||||
E: '#forge:tools/screwdrivers'
|
||||
}).id('gtceu:shaped/treated_pressure_plate')
|
||||
|
||||
event.recipes.gtceu.assembler('gtceu:treated_pressure_plate')
|
||||
.itemInputs('#forge:small_springs', '2x gtceu:treated_wood_slab')
|
||||
.itemOutputs('gtceu:treated_wood_pressure_plate')
|
||||
.circuit(3)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
event.replaceOutput({ id: 'gtceu:cutter/treated_button' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button')
|
||||
event.replaceOutput({ id: 'gtceu:cutter/treated_button_water' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button')
|
||||
event.replaceOutput({ id: 'gtceu:cutter/treated_button_distilled_water' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button')
|
||||
|
||||
event.replaceOutput({ id: 'gtceu:cutter/bamboo_button' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button')
|
||||
event.replaceOutput({ id: 'gtceu:cutter/bamboo_button_water' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button')
|
||||
event.replaceOutput({ id: 'gtceu:cutter/bamboo_button_distilled_water' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button')
|
||||
|
||||
// Empty Wooden Form
|
||||
event.shaped('gtceu:empty_wooden_form', [
|
||||
' AA',
|
||||
'BAA'
|
||||
], {
|
||||
A: '#minecraft:planks',
|
||||
B: '#forge:tools/saws'
|
||||
}).id('gtceu:shaped/plank_to_wooden_shape')
|
||||
|
||||
// Wood gears
|
||||
event.shaped('gtceu:small_wood_gear', [
|
||||
'AB ',
|
||||
'BCB',
|
||||
' B '
|
||||
], {
|
||||
A: '#forge:tools/saws',
|
||||
B: '#forge:rods/wooden',
|
||||
C: 'tfc:glue'
|
||||
}).id('gtceu:shaped/small_gear_wood')
|
||||
|
||||
event.shaped('gtceu:wood_gear', [
|
||||
'AB ',
|
||||
'BCB',
|
||||
' B '
|
||||
], {
|
||||
A: '#forge:tools/saws',
|
||||
B: '#minecraft:planks',
|
||||
C: 'tfc:glue'
|
||||
}).id('gtceu:shaped/gear_wood')
|
||||
|
||||
// Sticks
|
||||
event.shapeless('2x minecraft:stick', ['#minecraft:saplings', '#forge:tools/knives']).id('tfg:strip_saplings')
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:saplings_to_sticks')
|
||||
.itemInputs('#minecraft:saplings')
|
||||
.itemOutputs('2x minecraft:stick')
|
||||
.duration(20)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.packer('tfg:stick_bunch')
|
||||
.itemInputs('9x #forge:rods/wooden')
|
||||
.circuit(5)
|
||||
.itemOutputs('tfc:stick_bunch')
|
||||
.duration(50)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.packer('tfg:stick_bundle')
|
||||
.itemInputs('18x #forge:rods/wooden')
|
||||
.circuit(8)
|
||||
.itemOutputs('tfc:stick_bundle')
|
||||
.duration(50)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
|
||||
// Какие то рецепты дерева
|
||||
global.TFC_WOOD_TYPES.forEach(wood => {
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_axle` })
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_bladed_axle` })
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_encased_axle` })
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_clutch` })
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_gear_box` })
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_water_wheel` })
|
||||
|
||||
// Бревна -> Пиломатериалы
|
||||
generateCutterRecipe(event, `#tfc:${wood}_logs`, `16x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_log`)
|
||||
|
||||
// Доски -> Пиломатериалы
|
||||
generateCutterRecipe(event, `tfc:wood/planks/${wood}`, `4x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_planks`)
|
||||
|
||||
// Ступень -> Пиломатериалы
|
||||
generateCutterRecipe(event, `tfc:wood/planks/${wood}_stairs`, `3x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_stairs`)
|
||||
|
||||
|
||||
// Плита -> Пиломатериалы
|
||||
generateCutterRecipe(event, `tfc:wood/planks/${wood}_slab`, `2x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_slab`)
|
||||
|
||||
// ? -> Деревянная нажимная пластина
|
||||
event.shaped(`tfc:wood/planks/${wood}_pressure_plate`, [
|
||||
' B ',
|
||||
'CDC',
|
||||
' E '
|
||||
], {
|
||||
B: '#tfc:hammers',
|
||||
C: `tfc:wood/planks/${wood}_slab`,
|
||||
D: '#forge:small_springs',
|
||||
E: '#forge:tools/screwdrivers'
|
||||
}).id(`tfc:crafting/wood/${wood}_pressure_plate`)
|
||||
|
||||
event.recipes.gtceu.assembler(`${wood}_pressure_plate`)
|
||||
.itemInputs('#forge:small_springs', `2x tfc:wood/planks/${wood}_slab`)
|
||||
.circuit(3)
|
||||
.itemOutputs(`2x tfc:wood/planks/${wood}_pressure_plate`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
// ? -> Деревянная кнопка
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_button` })
|
||||
|
||||
generateCutterRecipe(event, `tfc:wood/planks/${wood}_pressure_plate`, `6x tfc:wood/planks/${wood}_button`, 50, 7, `${wood}_button`)
|
||||
|
||||
// Stripped logs
|
||||
event.recipes.gtceu.lathe(`tfg:stripping_${wood}_log`)
|
||||
.itemInputs(`tfc:wood/log/${wood}`)
|
||||
.itemOutputs(`tfc:wood/stripped_log/${wood}`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.lathe(`tfg:stripping_${wood}_wood`)
|
||||
.itemInputs(`tfc:wood/wood/${wood}`)
|
||||
.itemOutputs(`tfc:wood/stripped_wood/${wood}`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
event.custom({
|
||||
type: 'vintageimprovements:polishing',
|
||||
ingredients: [{ item: `tfc:wood/log/${wood}` }],
|
||||
results: [{ item: `tfc:wood/stripped_log/${wood}` }],
|
||||
speed_limits: 0,
|
||||
processingTime: 50
|
||||
}).id(`tfg:vi/lathe/stripping_${wood}_log`)
|
||||
|
||||
event.custom({
|
||||
type: 'vintageimprovements:polishing',
|
||||
ingredients: [{ item: `tfc:wood/wood/${wood}` }],
|
||||
results: [{ item: `tfc:wood/stripped_wood/${wood}` }],
|
||||
speed_limits: 0,
|
||||
processingTime: 50
|
||||
}).id(`tfg:vi/lathe/stripping_${wood}_wood`)
|
||||
})
|
||||
}
|
||||
|
|
@ -6,22 +6,77 @@
|
|||
*/
|
||||
const registerTFGRecipes = (event) => {
|
||||
|
||||
registerTFGPapermakingRecipes(event)
|
||||
registerTFGMoldRecipes(event)
|
||||
registerTFGMiscellaneousRecipes(event)
|
||||
registerTFGConvertingRecipes(event)
|
||||
|
||||
registerTFGFoodRecipes(event)
|
||||
registerTFGRefrigeratorRecipes(event)
|
||||
registerTFGMealBagRecipes(event)
|
||||
registerTFGBiomassRecipes(event)
|
||||
|
||||
// TFC stone types
|
||||
registerTFCStoneRecipes(event)
|
||||
// Non-TFC stone types
|
||||
registerTFGRockRecipes(event)
|
||||
registerTFGCollapseRecipes(event)
|
||||
registerTFGEarlyPower(event)
|
||||
registerTFGMoldRecipes(event)
|
||||
registerTFGMedicineRecipes(event)
|
||||
registerTFGMiscellaneousRecipes(event)
|
||||
registerTFGSupportRecipes(event)
|
||||
registerTFGFishingNetsRecipes(event)
|
||||
registerTFGConvertingRecipes(event)
|
||||
registerTFGFoodRecipes(event)
|
||||
registerTFGSpaceRecipes(event)
|
||||
registerTFGStoneDustRecipes(event)
|
||||
registerTFGConcreteRecipes(event)
|
||||
registerTFGAlabasterRecipes(event)
|
||||
registerTFGDirtRecipes(event)
|
||||
registerTFGSandRecipes(event)
|
||||
|
||||
registerTFGPapermakingRecipes(event)
|
||||
registerTFGMedicineRecipes(event)
|
||||
registerTFGFishingNetsRecipes(event)
|
||||
registerTFGSupportRecipes(event)
|
||||
registerTFGVaseRecipes(event)
|
||||
registerTFGIceRecipes(event)
|
||||
registerTFGBasketRecipes(event)
|
||||
registerTFGArrowRecipes(event)
|
||||
registerTFGCompostRecipes(event)
|
||||
registerTFGClothRecipes(event)
|
||||
registerTFGChipboardRecipes(event)
|
||||
registerTFGWaxRecipes(event)
|
||||
registerTFGRubberRecipes(event)
|
||||
registerTFGWoodRecipes(event)
|
||||
registerTFGKnappingRecipes(event)
|
||||
registerTFGLeatherRecipes(event)
|
||||
registerTFGClayRecipes(event)
|
||||
|
||||
registerTFGCasingRecipes(event)
|
||||
registerTFGEnderPearlRecipes(event)
|
||||
registerTFGMultiblockRecipes(event)
|
||||
registerTFGSteamBloomeryRecipes(event)
|
||||
registerTFGElectronicComponentsRecipes(event)
|
||||
|
||||
registerTFGEarlyGasRecipes(event)
|
||||
registerTFGBoilerRecipes(event)
|
||||
registerTFGBiodieselRecipes(event)
|
||||
registerTFGNuclearRecipes(event)
|
||||
registerTFGNuclearComponentsRecipes(event)
|
||||
registerTFGNOstrumRecipes(event)
|
||||
registerTFGSolarRecipes(event)
|
||||
registerTFGCoalRecipes(event)
|
||||
|
||||
registerTFGZirconiumRecipes(event)
|
||||
registerTFGBromineRecipes(event)
|
||||
registerTFGTungstenRecipes(event)
|
||||
registerTFGAlloyingRecipes(event)
|
||||
registerTFGQuartzRecipes(event)
|
||||
|
||||
registerTFGSpaceRecipes(event)
|
||||
registerTFGRailgunRecipes(event)
|
||||
registerTFGRocketRecipes(event)
|
||||
registerTFGSpaceSuitRecipes(event)
|
||||
registerTFGInsulationRecipes(event)
|
||||
|
||||
registerTFGMoonRecipes(event)
|
||||
registerTFGMoonPlantRecipes(event)
|
||||
registerTFGMoonRegolithRecipes(event)
|
||||
|
||||
registerTFGMarsRecipes(event)
|
||||
registerTFGMarsIodineRecipes(event)
|
||||
registerTFGMarsOstrumRecipes(event)
|
||||
|
||||
registerTFGBiochemRecipes(event)
|
||||
registerTFGSpaceOres(event)
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,457 +0,0 @@
|
|||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
function registerTFGSpaceRecipes(event) {
|
||||
|
||||
const allowedCombustibleDims = [
|
||||
{
|
||||
dimension: "minecraft:the_nether",
|
||||
type: "dimension"
|
||||
},
|
||||
{
|
||||
dimension: "minecraft:overworld",
|
||||
type: "dimension"
|
||||
}
|
||||
]
|
||||
|
||||
event.findRecipes({ type: "gtceu:large_boiler" }).forEach(recipe => {
|
||||
recipe.json.add("recipeConditions", allowedCombustibleDims)
|
||||
})
|
||||
event.findRecipes({ type: "gtceu:steam_boiler" }).forEach(recipe => {
|
||||
recipe.json.add("recipeConditions", allowedCombustibleDims)
|
||||
})
|
||||
event.findRecipes({ type: "gtceu:combustion_generator" }).forEach(recipe => {
|
||||
recipe.json.add("recipeConditions", allowedCombustibleDims)
|
||||
})
|
||||
event.findRecipes({ type: "gtceu:gas_turbine" }).forEach(recipe => {
|
||||
recipe.json.add("recipeConditions", allowedCombustibleDims)
|
||||
})
|
||||
|
||||
// Air collector
|
||||
|
||||
event.recipes.gtceu.gas_collector('tfg:nether')
|
||||
.circuit(2)
|
||||
.outputFluids(Fluid.of('gtceu:air', 10000))
|
||||
.dimension('minecraft:the_nether')
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.gas_collector('tfg:moon')
|
||||
.circuit(3)
|
||||
.outputFluids(Fluid.of('gtceu:argon', 1))
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20*60*30)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.gas_collector('tfg:mars')
|
||||
.circuit(4)
|
||||
.outputFluids(Fluid.of('tfg:mars_air', 10000))
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20*10)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.vacuum_freezer('tfg:liquid_mars_air')
|
||||
.inputFluids(Fluid.of('tfg:mars_air', 4000))
|
||||
.outputFluids(Fluid.of('tfg:liquid_mars_air', 4000))
|
||||
.duration(80)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:centrifuge_mars_air')
|
||||
.inputFluids(Fluid.of('tfg:mars_air', 10000))
|
||||
.outputFluids(Fluid.of('gtceu:carbon_dioxide', 3900), Fluid.of('gtceu:nitrogen', 1000), Fluid.of('gtceu:argon', 500))
|
||||
.duration(1600)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
// TODO: move neon and xenon somewhere else
|
||||
event.recipes.gtceu.distillation_tower('tfg:distill_liquid_mars_air')
|
||||
.inputFluids(Fluid.of('tfg:liquid_mars_air', 100000))
|
||||
.outputFluids(Fluid.of('gtceu:carbon_dioxide', 80000))
|
||||
.outputFluids(Fluid.of('gtceu:nitrogen', 7000))
|
||||
.outputFluids(Fluid.of('gtceu:argon', 5000))
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 3000))
|
||||
.outputFluids(Fluid.of('gtceu:krypton', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:neon', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:xenon', 1000))
|
||||
.chancedOutput('gtceu:ammonium_chloride_dust', 2250, 0)
|
||||
.disableDistilleryRecipes(true)
|
||||
.duration(2000)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
// Aqueous accumulator -- use adjacentFluids (plural) to avoid rhino ambiguous method issues
|
||||
|
||||
let aaCircuit = 1;
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('water')
|
||||
.circuit(aaCircuit++)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
.adjacentFluids(["minecraft:water"])
|
||||
.outputFluids(Fluid.of("minecraft:water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('sea_water')
|
||||
.circuit(aaCircuit++)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.adjacentFluids(["tfc:salt_water"])
|
||||
.outputFluids(Fluid.of("tfc:salt_water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('semiheavy_water_mars')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
.adjacentFluids(["tfg:semiheavy_ammoniacal_water"])
|
||||
.outputFluids(Fluid.of("tfg:semiheavy_ammoniacal_water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('lava_overworld')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('minecraft:overworld')
|
||||
.duration(20*15)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
.adjacentFluids(["minecraft:lava"])
|
||||
.outputFluids(Fluid.of("minecraft:lava", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('lava_nether')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('minecraft:the_nether')
|
||||
.duration(20*15)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
.adjacentFluids(["minecraft:lava"])
|
||||
.outputFluids(Fluid.of("minecraft:lava", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('spring_water')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('minecraft:overworld')
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.adjacentFluids(["tfc:spring_water"])
|
||||
.outputFluids(Fluid.of("tfc:spring_water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('more_water')
|
||||
.circuit(aaCircuit++)
|
||||
.duration(10)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
.adjacentFluids(["minecraft:water"])
|
||||
.outputFluids(Fluid.of("minecraft:water", 16000))
|
||||
|
||||
|
||||
// Plants - Can't use the default builder here because fertiliser is much harder to get on the moon,
|
||||
// and we're using helium-3 as the fertiliser
|
||||
|
||||
// Chorus
|
||||
event.recipes.gtceu.greenhouse('tfg:chorus')
|
||||
.notConsumable('8x tfg:lunar_chorus_flower')
|
||||
.itemOutputs('64x minecraft:chorus_fruit')
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 750, 0)
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 500, 0)
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 750, 0)
|
||||
.duration(36000) // 30 mins
|
||||
.circuit(1)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.greenhouse('tfg:chorus_helium')
|
||||
.notConsumable('8x tfg:lunar_chorus_flower')
|
||||
.inputFluids(Fluid.of('gtceu:helium_3', 2000))
|
||||
.itemOutputs('64x minecraft:chorus_fruit')
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 4000, 0)
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 3000, 0)
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 4000, 0)
|
||||
.duration(12000) // 10 mins
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
// Replace the built-in greg one to add a circuit
|
||||
event.recipes.gtceu.fermenter('fermented_biomass')
|
||||
.inputFluids(Fluid.of('gtceu:biomass', 100))
|
||||
.outputFluids(Fluid.of('gtceu:fermented_biomass', 100))
|
||||
.circuit(1)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:chorus')
|
||||
.itemInputs('minecraft:chorus_fruit')
|
||||
.inputFluids(Fluid.of('gtceu:biomass', 20))
|
||||
.chancedOutput('ae2:ender_dust', 100, 0)
|
||||
.outputFluids(Fluid.of('gtceu:nitrogen', 1000))
|
||||
.circuit(2)
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:chorus_flower')
|
||||
.itemInputs('tfg:lunar_chorus_flower')
|
||||
.inputFluids(Fluid.of('gtceu:biomass', 20))
|
||||
.chancedOutput('ae2:ender_dust', 100, 0)
|
||||
.outputFluids(Fluid.of('gtceu:nitrogen', 1000))
|
||||
.circuit(2)
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:bio_glowstone')
|
||||
.itemInputs('betterend:cave_pumpkin_chunks', '4x species:alphacene_mushroom_block')
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 100))
|
||||
.itemOutputs('2x minecraft:glowstone_dust')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.dimension('ad_astra:mars')
|
||||
|
||||
// Lightblooms
|
||||
event.recipes.gtceu.greenhouse('tfg:lightbloom')
|
||||
.notConsumable('8x minecraft:twisting_vines')
|
||||
.itemOutputs('16x minecraft:twisting_vines')
|
||||
.chancedOutput('minecraft:pearlescent_froglight', 2500, 0)
|
||||
.chancedOutput('minecraft:verdant_froglight', 2500, 0)
|
||||
.chancedOutput('minecraft:ochre_froglight', 2500, 0)
|
||||
.duration(36000) // 30 mins
|
||||
.circuit(1)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.greenhouse('tfg:lightbloom_helium')
|
||||
.notConsumable('8x minecraft:twisting_vines')
|
||||
.inputFluids(Fluid.of('gtceu:helium_3', 2000))
|
||||
.itemOutputs('16x minecraft:twisting_vines')
|
||||
.chancedOutput('minecraft:pearlescent_froglight', 3500, 0)
|
||||
.chancedOutput('minecraft:verdant_froglight', 3500, 0)
|
||||
.chancedOutput('minecraft:ochre_froglight', 3500, 0)
|
||||
.duration(12000) // 30 mins
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.brewery('biomass_from_twisting_vines')
|
||||
.itemInputs('minecraft:twisting_vines')
|
||||
.inputFluids("#tfg:clean_water 20")
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 20))
|
||||
.duration(50)
|
||||
.EUt(3)
|
||||
|
||||
// Space suit gases
|
||||
|
||||
event.recipes.gtceu.gas_pressurizer('compressed_nitrox')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 8000), Fluid.of('gtceu:oxygen', 2000))
|
||||
.outputFluids(Fluid.of('tfg:compressed_nitrox', 1000))
|
||||
.circuit(1)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.gas_pressurizer('compressed_heliox')
|
||||
.inputFluids(Fluid.of('gtceu:helium', 8000), Fluid.of('gtceu:oxygen', 2000))
|
||||
.outputFluids(Fluid.of('tfg:compressed_heliox', 1000))
|
||||
.circuit(1)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.gas_pressurizer('compressed_heliox_3')
|
||||
.inputFluids(Fluid.of('gtceu:helium_3', 8000), Fluid.of('gtceu:oxygen', 2000))
|
||||
.outputFluids(Fluid.of('tfg:compressed_heliox_3', 1000))
|
||||
.circuit(1)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.gas_pressurizer('compressed_trimix')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 5000), Fluid.of('gtceu:oxygen', 3000), Fluid.of('gtceu:helium', 2000))
|
||||
.outputFluids(Fluid.of('tfg:compressed_trimix', 1000))
|
||||
.circuit(2)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.gas_pressurizer('compressed_trimix_3')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 5000), Fluid.of('gtceu:oxygen', 3000), Fluid.of('gtceu:helium_3', 2000))
|
||||
.outputFluids(Fluid.of('tfg:compressed_trimix_3', 1000))
|
||||
.circuit(2)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
//Cryo Fluix Pearl
|
||||
event.recipes.gtceu.autoclave('tfg:cryo_fluix_pearl')
|
||||
.inputFluids(Fluid.of('tfg:cryogenized_fluix', 576))
|
||||
.itemInputs('tfg:vitrified_pearl')
|
||||
.itemOutputs('tfg:cryo_fluix_pearl')
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
// Railgun stuff
|
||||
// (the railgun inputs and outputs are in tfg-core)
|
||||
|
||||
|
||||
//item bus to railgun item bus conversion recipes
|
||||
const GTTiers = ['ulv', 'lv', 'mv', 'hv', 'ev', 'iv', 'luv', 'zpm', 'uv', 'uhv']
|
||||
GTTiers.forEach(x => {
|
||||
event.recipes.gtceu.assembler(`tfg:${x}_input_to_${x}_railgun_input_assembler`)
|
||||
.itemInputs(`gtceu:${x}_input_bus`)
|
||||
.circuit(4)
|
||||
.itemOutputs(`tfg:${x}_railgun_item_loader_in`)
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:${x}_output_to_${x}_railgun_output_assembler`)
|
||||
.itemInputs(`gtceu:${x}_output_bus`)
|
||||
.circuit(4)
|
||||
.itemOutputs(`tfg:${x}_railgun_item_loader_out`)
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
})
|
||||
|
||||
//Railgun ammo
|
||||
event.recipes.gtceu.assembler('tfg:railgun_ammo_basic')
|
||||
.itemInputs('#forge:double_plates/steel', '2x #forge:rods/magnetic_iron', '2x #forge:fine_wires/annealed_copper')
|
||||
.inputFluids('gtceu:rocket_fuel 250')
|
||||
.itemOutputs('tfg:railgun_ammo_shell')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railgun_ammo_advanced')
|
||||
.itemInputs('#forge:double_plates/titanium', '2x #forge:rods/magnetic_steel', '2x #forge:fine_wires/gold')
|
||||
.inputFluids('gtceu:rocket_fuel 250')
|
||||
.itemOutputs('4x tfg:railgun_ammo_shell')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railgun_ammo_best')
|
||||
.itemInputs('#forge:double_plates/tungsten', '2x #forge:rods/magnetic_neodymium', '2x #forge:fine_wires/aluminium')
|
||||
.inputFluids('gtceu:rocket_fuel 250')
|
||||
.itemOutputs('8x tfg:railgun_ammo_shell')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railgun_ammo_moon')
|
||||
.itemInputs('#forge:double_plates/steel', '2x ae2:charged_certus_quartz_crystal', '2x ae2:quartz_fiber')
|
||||
.inputFluids('gtceu:rocket_fuel 250')
|
||||
.itemOutputs('4x tfg:railgun_ammo_shell')
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railgun_ammo_mars')
|
||||
.itemInputs('#forge:double_plates/lead', '2x #forge:rods/ostrum', '2x #forge:fine_wires/silver')
|
||||
.inputFluids('gtceu:rocket_fuel 250')
|
||||
.itemOutputs('8x tfg:railgun_ammo_shell')
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.shaped('tfg:railgun_ammo_loader', [
|
||||
'RMR',
|
||||
'MBM',
|
||||
'CCC'
|
||||
], {
|
||||
B: 'gtceu:mv_input_bus',
|
||||
R: 'gtceu:mv_robot_arm',
|
||||
M: 'gtceu:mv_electric_motor',
|
||||
C: '#forge:single_cables/annealed_copper'
|
||||
}).addMaterialInfo().id('tfg:shaped/railgun_ammo_loader')
|
||||
|
||||
event.recipes.gtceu.shaped('tfg:interplanetary_logistics_monitor', [
|
||||
'CDC',
|
||||
'SHE',
|
||||
'WCW'
|
||||
], {
|
||||
C: '#gtceu:circuits/hv',
|
||||
D: 'gtceu:computer_monitor_cover',
|
||||
S: 'gtceu:hv_sensor',
|
||||
H: 'gtceu:hv_machine_hull',
|
||||
E: 'gtceu:hv_emitter',
|
||||
W: '#forge:single_cables/silver'
|
||||
}).addMaterialInfo().id('tfg:shaped/interplanetary_logistics_monitor')
|
||||
|
||||
event.recipes.gtceu.shaped('tfg:interplanetary_item_launcher', [
|
||||
'NSN',
|
||||
'CHC',
|
||||
'NEN'
|
||||
], {
|
||||
C: '#gtceu:circuits/ev',
|
||||
S: 'gtceu:hv_sensor',
|
||||
E: 'gtceu:hv_emitter',
|
||||
H: 'gtceu:ev_machine_hull',
|
||||
N: '#forge:plates/hsla_steel'
|
||||
}).addMaterialInfo().id('tfg:shaped/interplanetary_item_launcher')
|
||||
|
||||
event.recipes.gtceu.shaped('tfg:interplanetary_item_receiver', [
|
||||
'CSC',
|
||||
'WHW',
|
||||
'CSC'
|
||||
], {
|
||||
C: '#gtceu:circuits/mv',
|
||||
S: 'gtceu:mv_sensor',
|
||||
W: '#forge:double_cables/copper',
|
||||
H: 'gtceu:mv_machine_hull'
|
||||
}).addMaterialInfo().id('tfg:shaped/interplanetary_item_receiver')
|
||||
|
||||
// Mars tree tapping
|
||||
|
||||
event.recipes.gtceu.autoclave('tfg:crimsene')
|
||||
.inputFluids(Fluid.of('tfg:crimsene', 144), Fluid.of('gtceu:liquid_carbon_dioxide', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:carbon_monoxide', 1000))
|
||||
.itemOutputs('#forge:gems/crimsene')
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.autoclave('tfg:warpane')
|
||||
.inputFluids(Fluid.of('tfg:warpane', 144), Fluid.of('gtceu:liquid_carbon_dioxide', 1000))
|
||||
.outputFluids(Fluid.of('gtceu:hydrogen', 1000))
|
||||
.itemOutputs('#forge:gems/warpane')
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:crimsene')
|
||||
.itemInputs('#forge:gems/crimsene')
|
||||
.itemOutputs('#forge:dusts/crimsene')
|
||||
.duration(20 * 5)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:warpane')
|
||||
.itemInputs('#forge:gems/warpane')
|
||||
.itemOutputs('#forge:dusts/warpane')
|
||||
.duration(20 * 5)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:mars_sap')
|
||||
.itemInputs('#forge:dusts/warpane', '#forge:dusts/crimsene')
|
||||
.inputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000), Fluid.of('gtceu:krypton', 500))
|
||||
.itemOutputs('#forge:dusts/mycelienzene')
|
||||
.duration(30 * 20)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.deafission.fission_reactor_processing('tfg:mars_sap')
|
||||
.itemInputs('#forge:dusts/mycelienzene')
|
||||
.outputFluids(Fluid.of('tfg:cooked_mycelienzane', 1000))
|
||||
// TODO: change these to something appropriate
|
||||
.blastFurnaceTemp(100)
|
||||
.duration(30 * 10)
|
||||
|
||||
event.recipes.gtceu.centrifuge('mars_sap_separation')
|
||||
.inputFluids(Fluid.of('tfg:cooked_mycelienzane', 2000))
|
||||
.outputFluids(
|
||||
Fluid.of('tfg:iodomethane', 1000),
|
||||
Fluid.of('tfg:trideuteroiodomethane', 1000),
|
||||
Fluid.of('gtceu:krypton', 1000),
|
||||
Fluid.of('gtceu:diluted_hydrochloric_acid', 4000))
|
||||
.duration(20 * 20)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:iodomethane_separation')
|
||||
.inputFluids(
|
||||
Fluid.of('tfg:iodomethane', 1000),
|
||||
Fluid.of('gtceu:hydrogen', 1000))
|
||||
.itemOutputs('#forge:dusts/iodine')
|
||||
.outputFluids(Fluid.of('gtceu:methane', 1000))
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:trideuteroiodomethane_separation')
|
||||
.inputFluids(
|
||||
Fluid.of('tfg:trideuteroiodomethane', 1000),
|
||||
Fluid.of('gtceu:oxygen', 1500))
|
||||
.itemOutputs('#forge:dusts/iodine', '#forge:dusts/carbon')
|
||||
.outputFluids(Fluid.of('tfg:heavy_water', 1500))
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
}
|
||||
|
|
@ -1,259 +0,0 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFGSpaceOres(event) {
|
||||
|
||||
//#region Moon Harvester
|
||||
|
||||
event.recipes.gtceu.moon_dust_harvester('tfg:lunar_assurine_harvester')
|
||||
.biome('tfg:moon/lunar_asurine_dense')
|
||||
.itemOutputsRanged('#forge:dusts/certus_regolith', 1, 5)
|
||||
.duration(20 * 80)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.moon_dust_harvester('tfg:lunar_chorus_dense')
|
||||
.biome('tfg:moon/lunar_chorus_dense')
|
||||
.itemOutputsRanged('#forge:dusts/goethe_regolith', 1, 5)
|
||||
.duration(20 * 80)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.circuit(2)
|
||||
|
||||
event.recipes.gtceu.moon_dust_harvester('tfg:lunar_corals_dense')
|
||||
.biome('tfg:moon/lunar_corals_dense')
|
||||
.itemOutputsRanged('#forge:dusts/bright_regolith', 1, 5)
|
||||
.duration(20 * 80)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.circuit(3)
|
||||
|
||||
event.recipes.gtceu.moon_dust_harvester('tfg:lunar_lights_dense')
|
||||
.biome('tfg:moon/lunar_lights_dense')
|
||||
.itemOutputsRanged('#forge:dusts/cassiterite_regolith', 1, 5)
|
||||
.duration(20 * 80)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.circuit(4)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Regolith Vapor Processing
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:regolith_slurry_suspension')
|
||||
.itemInputs('ad_astra:moon_sand', 'tfg:dry_ice')
|
||||
.itemOutputs('#forge:dusts/regolith_mush')
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20 * 60)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:regolith_vapor')
|
||||
.itemInputs('#forge:dusts/regolith_mush')
|
||||
.inputFluids('gtceu:nitrogen 1000')
|
||||
.itemOutputs('#forge:dusts/silicon_dioxide')
|
||||
.outputFluids('gtceu:regolith_vapor 1000')
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20 * 28)
|
||||
.EUt(GTValues.VHA[GTValues.LV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Making Dusty Ores
|
||||
|
||||
const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic')
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:dusty_certus_reactor')
|
||||
.itemInputs('#forge:dusts/certus_regolith')
|
||||
.inputFluids('gtceu:regolith_vapor 100')
|
||||
.itemOutputs('gtceu:dusty_raw_certus_quartz')
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20 * 68)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:dusty_goethite_reactor')
|
||||
.itemInputs('#forge:dusts/goethe_regolith')
|
||||
.inputFluids('gtceu:regolith_vapor 100')
|
||||
.itemOutputs('gtceu:dusty_raw_goethite')
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20 * 68)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:dusty_shiny_reactor')
|
||||
.itemInputs('#forge:dusts/bright_regolith')
|
||||
.inputFluids('gtceu:regolith_vapor 100')
|
||||
.chancedItemOutputLogic($ChanceLogic.XOR)
|
||||
.chancedOutput('gtceu:dusty_raw_diamond', 2000, 0)
|
||||
.chancedOutput('gtceu:dusty_raw_gold', 8000, 0)
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20 * 68)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:dusty_cassiterite_reactor')
|
||||
.itemInputs('#forge:dusts/cassiterite_regolith')
|
||||
.inputFluids('gtceu:regolith_vapor 100')
|
||||
.itemOutputs('gtceu:dusty_raw_cassiterite')
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20 * 68)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Basic dusty ore centrifuging
|
||||
|
||||
// These have special recipes
|
||||
const DUSTY_ORE_EXCEPTIONS = [
|
||||
GTMaterials.Goethite,
|
||||
GTMaterials.Cassiterite,
|
||||
GTMaterials.Bauxite
|
||||
]
|
||||
|
||||
// Otherwise everything else just centrifuges into its dust version
|
||||
forEachMaterial(material => {
|
||||
if (DUSTY_ORE_EXCEPTIONS.indexOf(material) >= 0)
|
||||
return;
|
||||
|
||||
const dustyOre = ChemicalHelper.get(TFGTagPrefix.dustyRawOre, material, 1)
|
||||
const dust = ChemicalHelper.get(TagPrefix.dust, material, 1)
|
||||
|
||||
if (dustyOre !== null && dust !== null) {
|
||||
event.recipes.gtceu.centrifuge(`tfg:dusty_to_dust_${material.getName()}`)
|
||||
.itemInputs(dustyOre)
|
||||
.itemOutputs(dust)
|
||||
.duration(20 * 45)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
}
|
||||
})
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:dusty_to_dust_goethite')
|
||||
.itemInputs('#forge:dusty_raw_materials/goethite')
|
||||
.chancedItemOutputLogic($ChanceLogic.XOR)
|
||||
.chancedOutput('#forge:dusts/iron', 5000, 0)
|
||||
.chancedOutput('#forge:dusts/copper', 5000, 0)
|
||||
.duration(20 * 45)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:dusty_to_dust_bauxite')
|
||||
.itemInputs('#forge:dusty_raw_materials/bauxite')
|
||||
.itemOutputs('#forge:dusts/aluminium')
|
||||
.duration(20 * 45)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:dusty_to_dust_tin')
|
||||
.itemInputs('#forge:dusty_raw_materials/cassiterite')
|
||||
.itemOutputs('#forge:dusts/tin')
|
||||
.duration(20 * 45)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
//#region Mars Ores Line
|
||||
|
||||
// Ostrum Harvester
|
||||
|
||||
event.recipes.gtceu.ostrum_harvester(`tfg:ostrum_harvesting`)
|
||||
.perTick(true)
|
||||
.inputFluids('gtceu:drilling_fluid 4')
|
||||
.perTick(false)
|
||||
.dimension('ad_astra:mars')
|
||||
.itemOutputsRanged('gtceu:ostrum_dust', 1, 5)
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VA[GTValues.LV]);
|
||||
|
||||
// Ostrum Linear Accelerator Recipes
|
||||
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum_transformation')
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 100')
|
||||
.itemInputs('32x #forge:dusts/ostrum')
|
||||
.chancedFluidOutputLogic($ChanceLogic.XOR)
|
||||
.chancedFluidOutput('gtceu:lightweight_ostrum_vapor', 6000, 0)
|
||||
.chancedFluidOutput('gtceu:ostrum_vapor', 3000, 0)
|
||||
.chancedFluidOutput('gtceu:dense_ostrum_vapor', 1000, 0)
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.EV]);
|
||||
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum')
|
||||
.inputFluids('gtceu:lightweight_ostrum_vapor 1000')
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 100')
|
||||
.inputFluids(Fluid.of('tfg:heavy_water', 1000))
|
||||
.itemOutputsRanged('#forge:dusty_raw_materials/pitchblende', 1, 10)
|
||||
.itemOutputsRanged('#forge:dusty_raw_materials/silver', 1, 10)
|
||||
.itemOutputsRanged('#forge:dusty_raw_materials/tricalcium_phosphate', 1, 10)
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.IV]);
|
||||
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum')
|
||||
.inputFluids('gtceu:ostrum_vapor 1000')
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 100')
|
||||
.inputFluids(Fluid.of('gtceu:radon', 100))
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/beryllium'), 1, 10)
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.IV]);
|
||||
|
||||
event.recipes.gtceu.ostrum_linear_accelerator('tfg:dense_ostrum')
|
||||
.inputFluids('gtceu:dense_ostrum_vapor 1000')
|
||||
.inputFluids('gtceu:residual_radioactive_concoction 100')
|
||||
.inputFluids(Fluid.of('gtceu:tritiated_water', 500))
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/uraninite'), 1, 10)
|
||||
.itemOutputsRanged(Item.of('#forge:dusty_raw_materials/hematite'), 1, 10)
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.IV]);
|
||||
|
||||
|
||||
// #region Zirconium
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride')
|
||||
.itemInputs('#forge:dusts/silicon')
|
||||
.inputFluids('gtceu:chlorine 4000')
|
||||
.outputFluids('tfg:silicon_tetrachloride 1000')
|
||||
.duration(20 * 20)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride_decomp')
|
||||
.inputFluids('tfg:silicon_tetrachloride 1000', 'minecraft:water 2000')
|
||||
.itemOutputs('#forge:dusts/silicon')
|
||||
.outputFluids('gtceu:hydrochloric_acid 4000', 'gtceu:oxygen 2000')
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:zirconium_tetrachloride')
|
||||
.itemInputs('4x #forge:dusts/carbon', '6x #forge:dusts/zircon')
|
||||
.inputFluids('gtceu:chlorine 8000')
|
||||
.outputFluids('gtceu:carbon_monoxide 4000', 'tfg:silicon_tetrachloride 1000')
|
||||
.itemOutputs('5x #forge:dusts/zirconium_tetrachloride')
|
||||
.duration(20 * 20)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace('tfg:zirconium')
|
||||
.itemInputs('2x #forge:dusts/magnesium', '5x #forge:dusts/zirconium_tetrachloride')
|
||||
.itemOutputs('#forge:hot_ingots/zirconium', '6x #forge:dusts/magnesium_chloride')
|
||||
.duration(55 * 20)
|
||||
.blastFurnaceTemp(4241)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:zirconium_bromide')
|
||||
.itemInputs('#forge:dusts/zirconium', '2x #forge:dusts/carbon')
|
||||
.inputFluids('gtceu:bromine 4000', 'gtceu:oxygen 2000')
|
||||
.itemOutputs('5x #forge:dusts/zirconium_bromide')
|
||||
.outputFluids('gtceu:carbon_monoxide 2000')
|
||||
.duration(10 * 20)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:zirconium_diboride')
|
||||
.itemInputs('10x #forge:dusts/zirconium_bromide', '5x #forge:dusts/boron_carbide')
|
||||
.notConsumable('#forge:dusts/carbon')
|
||||
.itemOutputs('6x #forge:dusts/zirconium_diboride', '#forge:dusts/carbon')
|
||||
.outputFluids('gtceu:bromine 8000')
|
||||
.duration(10 * 20)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:boron_carbide')
|
||||
.itemInputs('4x #forge:dusts/boron', '7x #forge:dusts/carbon')
|
||||
.inputFluids('gtceu:oxygen 6000')
|
||||
.itemOutputs('5x #forge:dusts/boron_carbide')
|
||||
.outputFluids('gtceu:carbon_monoxide 6000')
|
||||
.duration(10 * 20)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
// #endregion
|
||||
}
|
||||
234
kubejs/server_scripts/tfg/space_general/recipes.insulation.js
Normal file
234
kubejs/server_scripts/tfg/space_general/recipes.insulation.js
Normal file
|
|
@ -0,0 +1,234 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGInsulationRecipes(event) {
|
||||
|
||||
//#region Rock-wool stuff
|
||||
event.recipes.gtceu.mixer('tfg:aes_mix')
|
||||
.itemInputs('5x gtceu:silicon_dioxide_dust', '4x gtceu:quicklime_dust', 'gtceu:magnesia_dust')
|
||||
.itemOutputs('10x tfg:aes_mix_dust')
|
||||
.duration(160)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace('tfg:molten_aes')
|
||||
.itemInputs('2x tfg:aes_mix_dust')
|
||||
.outputFluids(Fluid.of('tfg:molten_aes', 1000))
|
||||
.chancedOutput('gtceu:ash_dust', 3000, 0)
|
||||
.circuit(1)
|
||||
.duration(400)
|
||||
.blastFurnaceTemp(3000)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace('tfg:molten_aes_he')
|
||||
.itemInputs('2x tfg:aes_mix_dust')
|
||||
.inputFluids(Fluid.of('gtceu:helium', 200))
|
||||
.outputFluids(Fluid.of('tfg:molten_aes', 1000))
|
||||
.circuit(2)
|
||||
.duration(140)
|
||||
.blastFurnaceTemp(3000)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:aes_wool')
|
||||
.inputFluids(Fluid.of('tfg:molten_aes', 200))
|
||||
.itemOutputs('tfg:aes_wool')
|
||||
.duration(30)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.forming_press('tfg:aes_compressed_wool')
|
||||
.itemInputs('4x tfg:aes_wool')
|
||||
.notConsumable('gtceu:ingot_casting_mold')
|
||||
.itemOutputs('tfg:aes_compressed_wool')
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:aes_insulation_sheet')
|
||||
.itemInputs('tfg:aes_compressed_wool')
|
||||
.inputFluids(Fluid.of('gtceu:epoxy', 72))
|
||||
.circuit(1)
|
||||
.itemOutputs('tfg:aes_insulation_sheet')
|
||||
.duration(80)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:aes_insulation_roll')
|
||||
.itemInputs('9x tfg:aes_compressed_wool')
|
||||
.inputFluids(Fluid.of('gtceu:epoxy', 648))
|
||||
.itemOutputs('tfg:aes_insulation_roll')
|
||||
.circuit(9)
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:aes_insulation_roll')
|
||||
.itemInputs('9x tfg:aes_insulation_sheet')
|
||||
.itemOutputs('tfg:aes_insulation_roll')
|
||||
.circuit(0)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.shaped('tfg:aes_insulation_roll', [
|
||||
'AAA',
|
||||
'AAA',
|
||||
'AAA'
|
||||
], {
|
||||
A: 'tfg:aes_insulation_sheet'
|
||||
}).id('tfg:shaped/aes_insulation_roll')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:aes_insulation_sheet')
|
||||
.itemInputs('9x tfg:aes_insulation_sheet')
|
||||
.itemOutputs('tfg:aes_insulation_roll')
|
||||
.circuit(0)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.shapeless('9x tfg:aes_insulation_sheet', [
|
||||
'tfg:aes_insulation_roll'
|
||||
]).id('tfg:shapeless/aes_insulation_sheet')
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace('tfg:smelt_aes_sheet')
|
||||
.itemInputs('tfg:aes_insulation_sheet')
|
||||
.inputFluids(Fluid.of('gtceu:helium', 200))
|
||||
.outputFluids(Fluid.of('tfg:molten_aes', 800))
|
||||
.chancedOutput('gtceu:ash_dust', 2500, 0)
|
||||
.circuit(1)
|
||||
.duration(140)
|
||||
.blastFurnaceTemp(3000)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
event.recipes.gtceu.electric_blast_furnace('tfg:smelt_aes_roll')
|
||||
.itemInputs('tfg:aes_insulation_roll')
|
||||
.inputFluids(Fluid.of('gtceu:helium', 1000))
|
||||
.itemOutputs('2x gtceu:ash_dust')
|
||||
.outputFluids(Fluid.of('tfg:molten_aes', 7200))
|
||||
.circuit(9)
|
||||
.duration(1000)
|
||||
.blastFurnaceTemp(3000)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace('tfg:smelt_sniffer_wool')
|
||||
.itemInputs('tfg:sniffer_wool')
|
||||
.chancedOutput('gtceu:ash_dust', 7500, 0)
|
||||
.outputFluids(Fluid.of('tfg:molten_aes', 200))
|
||||
.circuit(4)
|
||||
.duration(80)
|
||||
.blastFurnaceTemp(3000)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
event.recipes.gtceu.electric_blast_furnace('tfg:smelt_wraptor_wool')
|
||||
.itemInputs('tfg:wraptor_wool')
|
||||
.chancedOutput('gtceu:ash_dust', 5000, 0)
|
||||
.outputFluids(Fluid.of('tfg:molten_aes', 100))
|
||||
.circuit(8)
|
||||
.duration(60)
|
||||
.blastFurnaceTemp(3000)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
// #endregion
|
||||
|
||||
//#region ammonia borane
|
||||
event.recipes.gtceu.chemical_reactor('tfg:sodium_hydride_synthesis')
|
||||
.itemInputs('#forge:dusts/sodium')
|
||||
.inputFluids(Fluid.of('gtceu:hydrogen', 1000))
|
||||
.itemOutputs('2x #forge:dusts/sodium_hydride')
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
event.recipes.gtceu.chemical_reactor('tfg:boric_acid_synthesis')
|
||||
.itemInputs('23x #forge:dusts/borax')
|
||||
.inputFluids(Fluid.of('gtceu:hydrochloric_acid', 2000))
|
||||
.itemOutputs('28x #forge:dusts/boric_acid', '2x #forge:dusts/salt')
|
||||
.outputFluids(Fluid.of('minecraft:water', 5000))
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
event.recipes.gtceu.chemical_reactor('tfg:trimethyl_borate_synthesis')
|
||||
.itemInputs('7x #forge:dusts/boric_acid')
|
||||
.inputFluids(Fluid.of('gtceu:methanol', 3000), Fluid.of('gtceu:sulfuric_acid', 100))
|
||||
.outputFluids(Fluid.of('tfg:trimethyl_borate', 1000), Fluid.of('minecraft:water', 3000))
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
event.recipes.gtceu.chemical_reactor('tfg:sodium_borohydride_synthesis')
|
||||
.itemInputs('4x #forge:dusts/sodium_hydride')
|
||||
.inputFluids(Fluid.of('tfg:trimethyl_borate', 1000))
|
||||
.itemOutputs('6x #forge:dusts/sodium_borohydride', '18x #forge:dusts/sodium_methoxide')
|
||||
.duration(160)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
event.recipes.gtceu.chemical_reactor('tfg:ammonia_borane_synthesis')
|
||||
.itemInputs('6x #forge:dusts/sodium_borohydride', '6x #forge:dusts/ammonium_chloride')
|
||||
.itemOutputs('8x #forge:dusts/ammonia_borane', '2x #forge:dusts/salt')
|
||||
.outputFluids(Fluid.of('gtceu:hydrogen', 2000))
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
//#endregion
|
||||
|
||||
//#region polyurethane
|
||||
event.recipes.gtceu.chemical_reactor('tfg:aniline_synthesis')
|
||||
.inputFluids(Fluid.of('gtceu:nitrobenzene', 1000), Fluid.of('gtceu:hydrogen', 6000))
|
||||
.notConsumable('#forge:dusts/iron')
|
||||
.outputFluids(Fluid.of('tfg:aniline', 1000), Fluid.of('minecraft:water', 2000))
|
||||
.duration(140)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
event.recipes.gtceu.chemical_reactor('tfg:dimethyl_carbonate_synthesis')
|
||||
.inputFluids(Fluid.of('gtceu:carbon_monoxide', 1000), Fluid.of('gtceu:oxygen', 1000), Fluid.of('gtceu:methanol', 2000))
|
||||
.outputFluids(Fluid.of('tfg:dimethyl_carbonate', 1000), Fluid.of('minecraft:water', 1000))
|
||||
.duration(120)
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
event.recipes.gtceu.chemical_reactor('tfg:methyl_phenylcarbamate_synthesis')
|
||||
.inputFluids(Fluid.of('tfg:aniline', 1000), Fluid.of('tfg:dimethyl_carbonate', 1000))
|
||||
.outputFluids(Fluid.of('tfg:methyl_phenylcarbamate', 1000), Fluid.of('gtceu:methanol', 1000))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
event.recipes.gtceu.chemical_reactor('tfg:mpc_synthesis')
|
||||
.inputFluids(Fluid.of('tfg:methyl_phenylcarbamate', 2000), Fluid.of('gtceu:formaldehyde', 1000))
|
||||
.outputFluids(Fluid.of('tfg:methylene_diphenyl_dicarbamate', 1000), Fluid.of('minecraft:water', 1000))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
event.recipes.gtceu.chemical_reactor('tfg:mpi_synthesis')
|
||||
.inputFluids(Fluid.of('tfg:methylene_diphenyl_dicarbamate', 1000))
|
||||
.itemOutputs('27x #forge:dusts/methylene_diphenyl_diisocyanate')
|
||||
.outputFluids(Fluid.of('gtceu:methanol', 2000))
|
||||
.duration(80)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
event.recipes.gtceu.mixer('tfg:aes_polyurethane_electric_only')
|
||||
.itemInputs('2x #tfg:mineral_rich_wool', 'tfg:aes_compressed_wool', '27x #forge:dusts/methylene_diphenyl_diisocyanate')
|
||||
.inputFluids(Fluid.of('gtceu:diethylenetriamine', 250), Fluid.of('gtceu:acetone', 1000))
|
||||
.itemOutputs('tfg:aes_polyurethane')
|
||||
.duration(80)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Aerogel
|
||||
event.recipes.gtceu.chemical_reactor('tfg:tmos_synthesis')
|
||||
.inputFluids(Fluid.of('tfg:dimethyl_carbonate', 2000))
|
||||
.itemInputs('3x #forge:dusts/silicon_dioxide')
|
||||
.notConsumable('#forge:small_dusts/potassium_hydroxide')
|
||||
.outputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:carbon_dioxide', 2000))
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
event.recipes.gtceu.chemical_reactor('tfg:tmos_hydrolysis')
|
||||
.inputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:distilled_water', 2000))
|
||||
.outputFluids(Fluid.of('gtceu:methanol', 4000))
|
||||
.itemOutputs('3x #forge:dusts/silicon_dioxide')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
event.recipes.gtceu.large_chemical_reactor('tfg:silica_gel_synthesis')
|
||||
.inputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:ethanol', 2000), Fluid.of('gtceu:distilled_water', 500),
|
||||
Fluid.of('gtceu:hydrochloric_acid', 100))
|
||||
.outputFluids(Fluid.of('tfg:silica_gel', 1000))
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
event.recipes.gtceu.chemical_reactor('tfg:silica_gel_soaking')
|
||||
.inputFluids(Fluid.of('tfg:silica_gel', 1000), Fluid.of('gtceu:acetone', 2000))
|
||||
.outputFluids(Fluid.of('tfg:soaked_silica_gel', 1000))
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
event.recipes.gtceu.large_chemical_reactor('tfg:silica_aerogel')
|
||||
.inputFluids(Fluid.of('tfg:soaked_silica_gel', 1000), Fluid.of('gtceu:liquid_carbon_dioxide', 3000))
|
||||
.outputFluids(Fluid.of('gtceu:carbon_dioxide', 3000), Fluid.of('gtceu:acetone', 1000))
|
||||
.itemOutputs('tfg:silica_aerogel')
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
//#endregion
|
||||
|
||||
//#region Tier 3 insulation
|
||||
event.recipes.gtceu.forming_press('tfg:mli_shielding')
|
||||
.itemInputs('4x #forge:plates/ammonia_borane', '2x tfg:aes_polyurethane', '4x gtceu:carbon_fiber_plate')
|
||||
.itemOutputs('tfg:mli_shielding')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
//#endregion
|
||||
}
|
||||
111
kubejs/server_scripts/tfg/space_general/recipes.railgun.js
Normal file
111
kubejs/server_scripts/tfg/space_general/recipes.railgun.js
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGRailgunRecipes(event) {
|
||||
|
||||
// Railgun stuff
|
||||
// (the railgun inputs and outputs are in tfg-core)
|
||||
|
||||
|
||||
//item bus to railgun item bus conversion recipes
|
||||
const GTTiers = ['ulv', 'lv', 'mv', 'hv', 'ev', 'iv', 'luv', 'zpm', 'uv', 'uhv']
|
||||
GTTiers.forEach(x => {
|
||||
event.recipes.gtceu.assembler(`tfg:${x}_input_to_${x}_railgun_input_assembler`)
|
||||
.itemInputs(`gtceu:${x}_input_bus`)
|
||||
.circuit(4)
|
||||
.itemOutputs(`tfg:${x}_railgun_item_loader_in`)
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:${x}_output_to_${x}_railgun_output_assembler`)
|
||||
.itemInputs(`gtceu:${x}_output_bus`)
|
||||
.circuit(4)
|
||||
.itemOutputs(`tfg:${x}_railgun_item_loader_out`)
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
})
|
||||
|
||||
//Railgun ammo
|
||||
event.recipes.gtceu.assembler('tfg:railgun_ammo_basic')
|
||||
.itemInputs('#forge:double_plates/steel', '2x #forge:rods/magnetic_iron', '2x #forge:fine_wires/annealed_copper')
|
||||
.inputFluids('gtceu:rocket_fuel 250')
|
||||
.itemOutputs('tfg:railgun_ammo_shell')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railgun_ammo_advanced')
|
||||
.itemInputs('#forge:double_plates/titanium', '2x #forge:rods/magnetic_steel', '2x #forge:fine_wires/gold')
|
||||
.inputFluids('gtceu:rocket_fuel 250')
|
||||
.itemOutputs('4x tfg:railgun_ammo_shell')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railgun_ammo_best')
|
||||
.itemInputs('#forge:double_plates/tungsten', '2x #forge:rods/magnetic_neodymium', '2x #forge:fine_wires/aluminium')
|
||||
.inputFluids('gtceu:rocket_fuel 250')
|
||||
.itemOutputs('8x tfg:railgun_ammo_shell')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railgun_ammo_moon')
|
||||
.itemInputs('#forge:double_plates/steel', '2x ae2:charged_certus_quartz_crystal', '2x ae2:quartz_fiber')
|
||||
.inputFluids('gtceu:rocket_fuel 250')
|
||||
.itemOutputs('4x tfg:railgun_ammo_shell')
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railgun_ammo_mars')
|
||||
.itemInputs('#forge:double_plates/lead', '2x #forge:rods/ostrum', '2x #forge:fine_wires/silver')
|
||||
.inputFluids('gtceu:rocket_fuel 250')
|
||||
.itemOutputs('8x tfg:railgun_ammo_shell')
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.shaped('tfg:railgun_ammo_loader', [
|
||||
'RMR',
|
||||
'MBM',
|
||||
'CCC'
|
||||
], {
|
||||
B: 'gtceu:mv_input_bus',
|
||||
R: 'gtceu:mv_robot_arm',
|
||||
M: 'gtceu:mv_electric_motor',
|
||||
C: '#forge:single_cables/annealed_copper'
|
||||
}).addMaterialInfo().id('tfg:shaped/railgun_ammo_loader')
|
||||
|
||||
event.recipes.gtceu.shaped('tfg:interplanetary_logistics_monitor', [
|
||||
'CDC',
|
||||
'SHE',
|
||||
'WCW'
|
||||
], {
|
||||
C: '#gtceu:circuits/hv',
|
||||
D: 'gtceu:computer_monitor_cover',
|
||||
S: 'gtceu:hv_sensor',
|
||||
H: 'gtceu:hv_machine_hull',
|
||||
E: 'gtceu:hv_emitter',
|
||||
W: '#forge:single_cables/silver'
|
||||
}).addMaterialInfo().id('tfg:shaped/interplanetary_logistics_monitor')
|
||||
|
||||
event.recipes.gtceu.shaped('tfg:interplanetary_item_launcher', [
|
||||
'NSN',
|
||||
'CHC',
|
||||
'NEN'
|
||||
], {
|
||||
C: '#gtceu:circuits/ev',
|
||||
S: 'gtceu:hv_sensor',
|
||||
E: 'gtceu:hv_emitter',
|
||||
H: 'gtceu:ev_machine_hull',
|
||||
N: '#forge:plates/hsla_steel'
|
||||
}).addMaterialInfo().id('tfg:shaped/interplanetary_item_launcher')
|
||||
|
||||
event.recipes.gtceu.shaped('tfg:interplanetary_item_receiver', [
|
||||
'CSC',
|
||||
'WHW',
|
||||
'CSC'
|
||||
], {
|
||||
C: '#gtceu:circuits/mv',
|
||||
S: 'gtceu:mv_sensor',
|
||||
W: '#forge:double_cables/copper',
|
||||
H: 'gtceu:mv_machine_hull'
|
||||
}).addMaterialInfo().id('tfg:shaped/interplanetary_item_receiver')
|
||||
}
|
||||
283
kubejs/server_scripts/tfg/space_general/recipes.rockets.js
Normal file
283
kubejs/server_scripts/tfg/space_general/recipes.rockets.js
Normal file
|
|
@ -0,0 +1,283 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGRocketRecipes(event) {
|
||||
|
||||
//#region Tier 1 rocket
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_nose_cone_t1')
|
||||
.itemInputs(
|
||||
'gtceu:hv_emitter',
|
||||
ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t1'), 1),
|
||||
ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.StainlessSteel, 3))
|
||||
.inputFluids(Fluid.of('gtceu:polyethylene', 144 * 16))
|
||||
.itemOutputs('ad_astra:rocket_nose_cone')
|
||||
.duration(1200)
|
||||
.circuit(2)
|
||||
.EUt(480)
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
|
||||
event.recipes.gtceu.pyrolyse_oven('tfg:pyrolyse_vitrified_asbestos_dust')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 100))
|
||||
.itemInputs('gtceu:asbestos_dust')
|
||||
.itemOutputs('gtceu:vitrified_asbestos_dust')
|
||||
.duration(80)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:rocket_alloy_t1')
|
||||
.itemInputs('6x #forge:dusts/aluminium', '2x #forge:dusts/stainless_steel')
|
||||
.inputFluids(Fluid.of('gtceu:red_steel', 144))
|
||||
.itemOutputs('9x #forge:dusts/rocket_alloy_t1')
|
||||
.duration(580)
|
||||
.circuit(2)
|
||||
.EUt(480)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:rocket_alloy_cool_down_water')
|
||||
.itemInputs('#forge:hot_ingots/rocket_alloy_t1')
|
||||
.inputFluids(Fluid.of('minecraft:water', 100))
|
||||
.itemOutputs('#forge:ingots/rocket_alloy_t1')
|
||||
.duration(400)
|
||||
.EUt(120)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:rocket_alloy_cool_down_distilled_water')
|
||||
.itemInputs('#forge:hot_ingots/rocket_alloy_t1')
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 100))
|
||||
.itemOutputs('#forge:ingots/rocket_alloy_t1')
|
||||
.duration(250)
|
||||
.EUt(120)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:rocket_fin_t1`)
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.plate, TFGHelpers.getMaterial('rocket_alloy_t1'), 1),
|
||||
ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.StainlessSteel, 1)
|
||||
)
|
||||
.itemOutputs('ad_astra:rocket_fin')
|
||||
.duration(150)
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_steel_engine')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.StainlessSteel, 2),
|
||||
'2x #gtceu:circuits/hv',
|
||||
'gtceu:hv_electric_pump',
|
||||
'2x gtceu:power_thruster',
|
||||
ChemicalHelper.get(TagPrefix.rotor, GTMaterials.StainlessSteel, 1)
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:blue_steel', 144 * 8))
|
||||
.itemOutputs('ad_astra:steel_engine')
|
||||
.duration(600)
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
event.recipes.gtceu.assembler('ad_astra:assembler_tier_1_rocket')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t1'), 8),
|
||||
'4x ad_astra:rocket_fin',
|
||||
'1x ad_astra:steel_engine',
|
||||
'1x ad_astra:rocket_nose_cone',
|
||||
'16x #forge:insulation_t1',
|
||||
'4x #gtceu:circuits/hv'
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:silicon', 144 * 16))
|
||||
.itemOutputs('ad_astra:tier_1_rocket')
|
||||
.duration(1200)
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
//#endregion
|
||||
|
||||
|
||||
//region tier 2 rocket
|
||||
|
||||
event.remove({ mod: 'gtceu', input: 'gtceu:hot_rocket_alloy_t2_ingot' })
|
||||
|
||||
event.recipes.gtceu.alloy_blast_smelter('gtceu:alloy_blast_smelter/rocket_alloy_t2')
|
||||
.itemInputs('19x #forge:dusts/titanium', '3x #forge:dusts/chromium', '3x #forge:dusts/tin', '3x #forge:dusts/aluminium')
|
||||
.inputFluids(Fluid.of('gtceu:vanadium', 144 * 4), Fluid.of('gtceu:distilled_water', 16000))
|
||||
.outputFluids(Fluid.of('gtceu:molten_rocket_alloy_t2', 144 * 32))
|
||||
.duration(1320 * 20)
|
||||
.circuit(2)
|
||||
.blastFurnaceTemp(3200)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.alloy_blast_smelter('gtceu:alloy_blast_smelter/rocket_alloy_t2_gas')
|
||||
.itemInputs('19x #forge:dusts/titanium', '3x #forge:dusts/chromium', '3x #forge:dusts/tin', '3x #forge:dusts/aluminium')
|
||||
.inputFluids(Fluid.of('gtceu:vanadium', 144 * 4), Fluid.of('gtceu:distilled_water', 16000), Fluid.of('gtceu:helium', 3200))
|
||||
.outputFluids(Fluid.of('gtceu:molten_rocket_alloy_t2', 144 * 32))
|
||||
.duration(17688)
|
||||
.circuit(12)
|
||||
.blastFurnaceTemp(3200)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/cool_molten_rocket_alloy_t2')
|
||||
.notConsumable('gtceu:ingot_casting_mold')
|
||||
.inputFluids(Fluid.of('gtceu:molten_rocket_alloy_t2', 144), Fluid.of('tfg:cryogenized_fluix', 288))
|
||||
.itemOutputs('#forge:ingots/rocket_alloy_t2')
|
||||
.duration(120)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:rocket_alloy_t2')
|
||||
.itemInputs('19x #forge:dusts/titanium', '3x #forge:dusts/chromium', '3x #forge:dusts/tin', '3x #forge:dusts/aluminium')
|
||||
.inputFluids(Fluid.of('gtceu:vanadium', 144 * 4))
|
||||
.itemOutputs('32x #forge:dusts/rocket_alloy_t2')
|
||||
.duration(15 * 20)
|
||||
.circuit(5)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/cool_rocket_alloy_t2')
|
||||
.itemInputs('#forge:hot_ingots/rocket_alloy_t2')
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 500), Fluid.of('tfg:cryogenized_fluix', 288))
|
||||
.itemOutputs('#forge:ingots/rocket_alloy_t2')
|
||||
.duration(120)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_fin_t2')
|
||||
.itemInputs('#forge:plates/rocket_alloy_t2',
|
||||
'#forge:double_plates/titanium')
|
||||
.itemOutputs('tfg:rocket_fin_t2')
|
||||
.duration(180)
|
||||
.circuit(3)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_cone_t2')
|
||||
.itemInputs('gtceu:ev_emitter', '#forge:dense_plates/rocket_alloy_t2', '#forge:double_plates/titanium',
|
||||
'#forge:double_plates/desh')
|
||||
.itemOutputs('tfg:rocket_cone_t2')
|
||||
.duration(1440)
|
||||
.circuit(3)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_desh_engine')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.Titanium, 4),
|
||||
'2x #gtceu:circuits/ev',
|
||||
'gtceu:ev_electric_pump',
|
||||
'3x gtceu:advanced_power_thruster',
|
||||
ChemicalHelper.get(TagPrefix.rod, GTMaterials.NeodymiumMagnetic, 4),
|
||||
ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Titanium, 1))
|
||||
.inputFluids(Fluid.of('gtceu:desh', 144 * 12))
|
||||
.itemOutputs('ad_astra:desh_engine')
|
||||
.duration(800)
|
||||
.circuit(3)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
event.recipes.gtceu.assembler('ad_astra:tier_2_rocket')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t2'), 12),
|
||||
'4x tfg:rocket_fin_t2',
|
||||
'1x ad_astra:desh_engine',
|
||||
'1x tfg:rocket_cone_t2',
|
||||
'12x #forge:insulation_t2/roll',
|
||||
'4x #gtceu:circuits/ev'
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:titanium', 144 * 16))
|
||||
.itemOutputs('ad_astra:tier_2_rocket')
|
||||
.duration(1440)
|
||||
.circuit(3)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
//#endregion
|
||||
|
||||
//region Tier 3 DISABLED UNTIL IV
|
||||
event.remove({ id: "gtceu:vacuum_freezer/cool_hot_rocket_alloy_t3_ingot" })
|
||||
event.remove({ id: "gtceu:vacuum_freezer/rocket_alloy_t3" })
|
||||
/*
|
||||
event.recipes.gtceu.vacuum_freezer('tfg:cool_rocket_alloy_t3')
|
||||
.inputFluids(Fluid.of('gtceu:molten_rocket_alloy_t3', 144), Fluid.of('gtceu:ice', 4000))
|
||||
.notConsumable('gtceu:ingot_casting_mold')
|
||||
.itemOutputs('#forge:ingots/rocket_alloy_t3')
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
event.recipes.gtceu.vacuum_freezer('tfg:cool_hot_rocket_alloy_t3')
|
||||
.itemInputs('#forge:hot_ingots/rocket_alloy_t3')
|
||||
.inputFluids(Fluid.of('gtceu:liquid_helium', 500))
|
||||
.itemOutputs('#forge:ingots/rocket_alloy_t3')
|
||||
.outputFluids(Fluid.of('gtceu:helium', 250))
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
//Add some unique cooling thing for molten ingots
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_fin_t3')
|
||||
.itemInputs('#forge:plates/rocket_alloy_t3', '#forge:double_plates/tungsten_steel')
|
||||
.itemOutputs('tfg:rocket_fin_t3')
|
||||
.duration(220)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_cone_t3')
|
||||
.itemInputs('gtceu:iv_emitter', '#forge:dense_plates/rocket_alloy_t3', '#forge:double_plates/tungsten_steel',
|
||||
'#forge:double_plates/ostrum', 'gtceu:plutonium_nugget') //change this to the pellet
|
||||
.itemOutputs('tfg:rocket_cone_t3')
|
||||
.duration(1700)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:elite_power_thruster')
|
||||
.itemInputs('gtceu:ev_electric_motor', '2x #forge:rings/titanium', '#forge:rods/titanium',
|
||||
'gtceu:ultimet_rotor', '2x gtceu:aluminium_single_cable')
|
||||
.itemOutputs('tfg:elite_power_thruster')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_ostrum_engine')
|
||||
.itemInputs(
|
||||
'6x #forge:double_plates/tungsten_steel',
|
||||
'4x #gtceu:circuits/iv',
|
||||
'gtceu:iv_electric_pump',
|
||||
'3x tfg:elite_power_thruster',
|
||||
'4x #forge:insulation_t3/cryo',
|
||||
'6x #forge:rods/magnetic_neodymium',
|
||||
'#forge:rotors/tungsten_steel')
|
||||
.inputFluids(Fluid.of('gtceu:ostrum', 144 * 16))
|
||||
.itemOutputs('ad_astra:ostrum_engine')
|
||||
.duration(960)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:rocket_ostrum_tank')
|
||||
.itemInputs(
|
||||
'4x #forge:double_plates/rocket_alloy_t3',
|
||||
'gtceu:iv_electric_pump',
|
||||
'tfg:elite_power_thruster',
|
||||
'2x #forge:insulation_t3/cryo')
|
||||
.inputFluids(Fluid.of('gtceu:ostrum', 144 * 4))
|
||||
.itemOutputs('ad_astra:ostrum_tank')
|
||||
.duration(400)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
event.recipes.gtceu.assembler('ad_astra:tier_3_rocket')
|
||||
.itemInputs(
|
||||
'16x #forge:dense_plates/rocket_alloy_t3',
|
||||
'4x tfg:rocket_fin_t3',
|
||||
'1x ad_astra:ostrum_engine',
|
||||
'2x ad_astra:ostrum_tank',
|
||||
'1x tfg:rocket_cone_t3',
|
||||
'8x #forge:insulation_t3/sheet'
|
||||
)
|
||||
.inputFluids(Fluid.of('gtceu:bromine', 1000 * 16))
|
||||
.itemOutputs('ad_astra:tier_3_rocket')
|
||||
.duration(1700)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true, true)
|
||||
|
||||
//#endregion
|
||||
*/
|
||||
}
|
||||
114
kubejs/server_scripts/tfg/space_general/recipes.space.js
Normal file
114
kubejs/server_scripts/tfg/space_general/recipes.space.js
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
function registerTFGSpaceRecipes(event) {
|
||||
|
||||
const allowedCombustibleDims = [
|
||||
{
|
||||
dimension: "minecraft:the_nether",
|
||||
type: "dimension"
|
||||
},
|
||||
{
|
||||
dimension: "minecraft:overworld",
|
||||
type: "dimension"
|
||||
}
|
||||
]
|
||||
|
||||
event.findRecipes({ type: "gtceu:large_boiler" }).forEach(recipe => {
|
||||
recipe.json.add("recipeConditions", allowedCombustibleDims)
|
||||
})
|
||||
event.findRecipes({ type: "gtceu:steam_boiler" }).forEach(recipe => {
|
||||
recipe.json.add("recipeConditions", allowedCombustibleDims)
|
||||
})
|
||||
event.findRecipes({ type: "gtceu:combustion_generator" }).forEach(recipe => {
|
||||
recipe.json.add("recipeConditions", allowedCombustibleDims)
|
||||
})
|
||||
event.findRecipes({ type: "gtceu:gas_turbine" }).forEach(recipe => {
|
||||
recipe.json.add("recipeConditions", allowedCombustibleDims)
|
||||
})
|
||||
|
||||
// Air collector
|
||||
|
||||
event.recipes.gtceu.gas_collector('tfg:nether')
|
||||
.circuit(2)
|
||||
.outputFluids(Fluid.of('gtceu:air', 10000))
|
||||
.dimension('minecraft:the_nether')
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.gas_collector('tfg:moon')
|
||||
.circuit(3)
|
||||
.outputFluids(Fluid.of('gtceu:argon', 1))
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20*60*30)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.gas_collector('tfg:mars')
|
||||
.circuit(4)
|
||||
.outputFluids(Fluid.of('tfg:mars_air', 10000))
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20*10)
|
||||
.EUt(16)
|
||||
|
||||
|
||||
// Aqueous accumulator -- use adjacentFluids (plural) to avoid rhino ambiguous method issues
|
||||
|
||||
let aaCircuit = 1;
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('water')
|
||||
.circuit(aaCircuit++)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
.adjacentFluids(["minecraft:water"])
|
||||
.outputFluids(Fluid.of("minecraft:water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('sea_water')
|
||||
.circuit(aaCircuit++)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.adjacentFluids(["tfc:salt_water"])
|
||||
.outputFluids(Fluid.of("tfc:salt_water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('semiheavy_water_mars')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('ad_astra:mars')
|
||||
.duration(20)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
.adjacentFluids(["tfg:semiheavy_ammoniacal_water"])
|
||||
.outputFluids(Fluid.of("tfg:semiheavy_ammoniacal_water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('lava_overworld')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('minecraft:overworld')
|
||||
.duration(20*15)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
.adjacentFluids(["minecraft:lava"])
|
||||
.outputFluids(Fluid.of("minecraft:lava", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('lava_nether')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('minecraft:the_nether')
|
||||
.duration(20*15)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
.adjacentFluids(["minecraft:lava"])
|
||||
.outputFluids(Fluid.of("minecraft:lava", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('spring_water')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('minecraft:overworld')
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.adjacentFluids(["tfc:spring_water"])
|
||||
.outputFluids(Fluid.of("tfc:spring_water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('more_water')
|
||||
.circuit(aaCircuit++)
|
||||
.duration(10)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
.adjacentFluids(["minecraft:water"])
|
||||
.outputFluids(Fluid.of("minecraft:water", 16000))
|
||||
|
||||
}
|
||||
182
kubejs/server_scripts/tfg/space_general/recipes.space_suits.js
Normal file
182
kubejs/server_scripts/tfg/space_general/recipes.space_suits.js
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
"use strict";
|
||||
|
||||
function registerTFGSpaceSuitRecipes(event) {
|
||||
|
||||
event.recipes.gtceu.shaped('ad_astra:launch_pad', [
|
||||
'BAB',
|
||||
'AAA',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:plates/steel',
|
||||
B: '#forge:rods/steel'
|
||||
}).addMaterialInfo().id('tfg:launch_pad')
|
||||
|
||||
|
||||
// Space suit gases
|
||||
|
||||
event.recipes.gtceu.gas_pressurizer('compressed_nitrox')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 8000), Fluid.of('gtceu:oxygen', 2000))
|
||||
.outputFluids(Fluid.of('tfg:compressed_nitrox', 1000))
|
||||
.circuit(1)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.gas_pressurizer('compressed_heliox')
|
||||
.inputFluids(Fluid.of('gtceu:helium', 8000), Fluid.of('gtceu:oxygen', 2000))
|
||||
.outputFluids(Fluid.of('tfg:compressed_heliox', 1000))
|
||||
.circuit(1)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.gas_pressurizer('compressed_heliox_3')
|
||||
.inputFluids(Fluid.of('gtceu:helium_3', 8000), Fluid.of('gtceu:oxygen', 2000))
|
||||
.outputFluids(Fluid.of('tfg:compressed_heliox_3', 1000))
|
||||
.circuit(1)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.gas_pressurizer('compressed_trimix')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 5000), Fluid.of('gtceu:oxygen', 3000), Fluid.of('gtceu:helium', 2000))
|
||||
.outputFluids(Fluid.of('tfg:compressed_trimix', 1000))
|
||||
.circuit(2)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.gas_pressurizer('compressed_trimix_3')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 5000), Fluid.of('gtceu:oxygen', 3000), Fluid.of('gtceu:helium_3', 2000))
|
||||
.outputFluids(Fluid.of('tfg:compressed_trimix_3', 1000))
|
||||
.circuit(2)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
//#region space suits
|
||||
|
||||
event.recipes.gtceu.forming_press('space_suit_fabric')
|
||||
.itemInputs(
|
||||
'#forge:foils/aluminium',
|
||||
'gtceu:carbon_fiber_mesh',
|
||||
'#forge:foils/silicone_rubber',
|
||||
'tfg:polycaprolactam_fabric'
|
||||
)
|
||||
.itemOutputs('2x tfg:space_suit_fabric')
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.forming_press('better_space_suit_fabric')
|
||||
.itemInputs(
|
||||
'#forge:foils/polybenzimidazole',
|
||||
'gtceu:carbon_fiber_mesh',
|
||||
'#forge:aerogels',
|
||||
'tfg:glacian_wool'
|
||||
)
|
||||
.itemOutputs('2x tfg:better_space_suit_fabric')
|
||||
.duration(20 * 5)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.shaped('ad_astra:space_helmet', [
|
||||
'AAA',
|
||||
'ADA',
|
||||
'BBB'
|
||||
], {
|
||||
A: 'gtceu:tempered_glass',
|
||||
B: 'tfg:space_suit_fabric',
|
||||
D: '#forge:small_fluid_pipes/polyethylene'
|
||||
}).addMaterialInfo().id('tfg:space_helmet')
|
||||
|
||||
event.recipes.gtceu.assembler('ad_astra:netherite_space_helmet')
|
||||
.itemInputs(
|
||||
'ad_astra:space_helmet',
|
||||
'2x #forge:plates/tungsten_steel',
|
||||
'1x #forge:plates/ostrum',
|
||||
'3x tfg:better_space_suit_fabric',
|
||||
'5x gtceu:laminated_glass'
|
||||
)
|
||||
.itemOutputs('ad_astra:netherite_space_helmet')
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.shaped('ad_astra:space_suit', [
|
||||
'B B',
|
||||
'BDB',
|
||||
'BBB'
|
||||
], {
|
||||
B: 'tfg:space_suit_fabric',
|
||||
D: 'ad_astra:oxygen_gear'
|
||||
}).addMaterialInfo().id('tfg:space_suit')
|
||||
|
||||
event.shapeless('ad_astra:space_suit', ['ad_astra:space_suit'])
|
||||
.id('tfg:empty_space_suit')
|
||||
|
||||
event.recipes.gtceu.assembler('ad_astra:netherite_space_suit')
|
||||
.itemInputs(
|
||||
'ad_astra:space_suit',
|
||||
'3x #forge:plates/tungsten_steel',
|
||||
'2x #forge:plates/ostrum',
|
||||
'5x tfg:better_space_suit_fabric'
|
||||
)
|
||||
.itemOutputs('ad_astra:netherite_space_suit')
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.shapeless('ad_astra:netherite_space_suit', ['ad_astra:netherite_space_suit'])
|
||||
.id('tfg:empty_netherite_space_suit')
|
||||
|
||||
event.recipes.gtceu.shaped('ad_astra:space_pants', [
|
||||
'BAB',
|
||||
'B B',
|
||||
'B B'
|
||||
], {
|
||||
A: 'gtceu:hv_electric_motor',
|
||||
B: 'tfg:space_suit_fabric',
|
||||
}).addMaterialInfo().id('tfg:space_pants')
|
||||
|
||||
event.recipes.gtceu.assembler('ad_astra:netherite_space_pants')
|
||||
.itemInputs(
|
||||
'ad_astra:space_pants',
|
||||
'2x #forge:plates/tungsten_steel',
|
||||
'2x #forge:plates/ostrum',
|
||||
'4x tfg:better_space_suit_fabric'
|
||||
)
|
||||
.itemOutputs('ad_astra:netherite_space_pants')
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.shaped('ad_astra:space_boots', [
|
||||
'B B',
|
||||
'A A'
|
||||
], {
|
||||
A: '#forge:plates/polyphenylene_sulfide',
|
||||
B: 'tfg:space_suit_fabric'
|
||||
}).addMaterialInfo().id('tfg:space_boots')
|
||||
|
||||
event.recipes.gtceu.assembler('ad_astra:netherite_space_boots')
|
||||
.itemInputs(
|
||||
'ad_astra:space_boots',
|
||||
'1x #forge:plates/tungsten_steel',
|
||||
'1x #forge:plates/ostrum',
|
||||
'2x tfg:better_space_suit_fabric'
|
||||
)
|
||||
.itemOutputs('ad_astra:netherite_space_boots')
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.shaped('ad_astra:oxygen_gear', [
|
||||
'BAB',
|
||||
'ECE',
|
||||
'BDB'
|
||||
], {
|
||||
A: '#gtceu:circuits/hv',
|
||||
B: '#forge:tiny_fluid_pipes/stainless_steel',
|
||||
C: 'gtceu:hv_electric_pump',
|
||||
D: 'gtceu:fluid_detector_cover',
|
||||
E: 'ad_astra:gas_tank'
|
||||
}).addMaterialInfo().id('tfg:oxygen_gear')
|
||||
|
||||
//#endregion
|
||||
}
|
||||
|
|
@ -18,6 +18,10 @@ const registerTFGItemTags = (event) => {
|
|||
event.add('tfg:water_breathing_ingredients', 'tfg:rapeseed_product')
|
||||
event.add('tfg:night_vision_ingredients', 'tfg:sunflower_product')
|
||||
|
||||
event.add("tfg:sugars", "minecraft:sugar");
|
||||
event.add("tfg:sugars", "afc:birch_sugar");
|
||||
event.add("tfg:sugars", "afc:maple_sugar");
|
||||
|
||||
// Actually "layers", can't rename them without screwing with peoples' worlds
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfg:ash_pile')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfg:pile/black_sand')
|
||||
|
|
@ -627,12 +631,10 @@ const registerTFGItemTags = (event) => {
|
|||
event.remove('forge:dusts', 'tfg:cellulose_matrix')
|
||||
event.remove('forge:dusts/cellulose_matrix', 'tfg:cellulose_matrix')
|
||||
|
||||
event.remove('balm:ingots', 'tfg:polycaprolactam_fabric')
|
||||
event.remove('tfc:pileable_ingots', 'tfg:polycaprolactam_fabric')
|
||||
event.remove('forge:ingots', 'tfg:polycaprolactam_fabric')
|
||||
event.remove('forge:ingots/tfg_polycaprolactam', 'tfg:polycaprolactam_fabric')
|
||||
|
||||
event.remove('balm:nuggets', 'tfg:polycaprolactam_string')
|
||||
event.remove('forge:nuggets', 'tfg:polycaprolactam_string')
|
||||
event.remove('forge:nuggets/tfg_polycaprolactam', 'tfg:polycaprolactam_string')
|
||||
|
||||
|
|
|
|||
108
kubejs/server_scripts/tfg/worldgen/data.fauna.js
Normal file
108
kubejs/server_scripts/tfg/worldgen/data.fauna.js
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
"use strict";
|
||||
|
||||
|
||||
/** @param {Internal.TFCDataEventJS} event */
|
||||
function registerTFGFauna(event) {
|
||||
|
||||
// -108 is the average at z=-4k to z=-6k, which feels like a big enough band
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.maxTemp(-108)
|
||||
climate.fuzzy(false)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"tfg:glacian_ram")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-102)
|
||||
climate.maxTemp(-30)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"tfg:sniffer")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-100)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"tfg:wraptor")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-108)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"species:springling")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-109)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"species:goober")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-97)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"wan_ancient_beasts:walker")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-109)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"wan_ancient_beasts:eater")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-100)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"wan_ancient_beasts:crusher")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-105)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"wan_ancient_beasts:soarer")
|
||||
|
||||
event.fauna(
|
||||
climate => {
|
||||
climate.minTemp(-106)
|
||||
climate.fuzzy(true)
|
||||
},
|
||||
faunaData => {
|
||||
faunaData.solidGround(true)
|
||||
},
|
||||
"wan_ancient_beasts:glider")
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue