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
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)
|
||||
}
|
||||
240
kubejs/server_scripts/tfg/primitive/recipes.fishing_nets.js
Normal file
240
kubejs/server_scripts/tfg/primitive/recipes.fishing_nets.js
Normal file
|
|
@ -0,0 +1,240 @@
|
|||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
function registerTFGFishingNetsRecipes(event) {
|
||||
|
||||
//wood
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('1x tfg:fishing_net/wood', [
|
||||
' DC',
|
||||
'GBE',
|
||||
'AF '
|
||||
],{
|
||||
A: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.Wood, 1),
|
||||
B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1),
|
||||
C: 'tfc:jute_net',
|
||||
D: 'tfc:glue',
|
||||
E: ChemicalHelper.get(TagPrefix.bolt, GTMaterials.Wood, 1),
|
||||
F: '#forge:tools/knives',
|
||||
G: '#tfc:sewing_needles'
|
||||
}).id('tfg:shaped/fishing_net/wood'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/fishing_net/wood')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.Wood, 1),
|
||||
ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1),
|
||||
'1x tfc:glue',
|
||||
ChemicalHelper.get(TagPrefix.bolt, GTMaterials.Wood, 1),
|
||||
'1x tfc:jute_net'
|
||||
)
|
||||
.itemOutputs('tfg:fishing_net/wood')
|
||||
.duration(100)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
//Brass
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('1x tfg:fishing_net/brass', [
|
||||
' DC',
|
||||
'GBE',
|
||||
'AF '
|
||||
],{
|
||||
A: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.Brass, 1),
|
||||
B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Brass, 1),
|
||||
C: '#forge:cloth',
|
||||
D: ChemicalHelper.get(TagPrefix.ring, GTMaterials.Brass, 1),
|
||||
E: ChemicalHelper.get(TagPrefix.screw, GTMaterials.Brass, 1),
|
||||
F: '#forge:tools/wire_cutters',
|
||||
G: '#tfc:sewing_needles'
|
||||
}).id('tfg:shaped/fishing_net/brass'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/fishing_net/brass')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.Brass, 1),
|
||||
ChemicalHelper.get(TagPrefix.rod, GTMaterials.Brass, 1),
|
||||
ChemicalHelper.get(TagPrefix.ring, GTMaterials.Brass, 1),
|
||||
ChemicalHelper.get(TagPrefix.screw, GTMaterials.Brass, 1),
|
||||
'1x #forge:cloth'
|
||||
)
|
||||
.itemOutputs('tfg:fishing_net/brass')
|
||||
.duration(100)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
//Rose Gold
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('1x tfg:fishing_net/rose_gold', [
|
||||
' DC',
|
||||
'GBE',
|
||||
'AF '
|
||||
],{
|
||||
A: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.RoseGold, 1),
|
||||
B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.RoseGold, 1),
|
||||
C: '#forge:cloth',
|
||||
D: ChemicalHelper.get(TagPrefix.ring, GTMaterials.RoseGold, 1),
|
||||
E: ChemicalHelper.get(TagPrefix.screw, GTMaterials.RoseGold, 1),
|
||||
F: '#forge:tools/wire_cutters',
|
||||
G: '#tfc:sewing_needles'
|
||||
}).id('tfg:shaped/fishing_net/rose_gold'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/fishing_net/rose_gold')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.RoseGold, 1),
|
||||
ChemicalHelper.get(TagPrefix.rod, GTMaterials.RoseGold, 1),
|
||||
ChemicalHelper.get(TagPrefix.ring, GTMaterials.RoseGold, 1),
|
||||
ChemicalHelper.get(TagPrefix.screw, GTMaterials.RoseGold, 1),
|
||||
'1x #forge:cloth'
|
||||
)
|
||||
.itemOutputs('tfg:fishing_net/rose_gold')
|
||||
.duration(100)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
//Sterling Silver
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('1x tfg:fishing_net/sterling_silver', [
|
||||
' DC',
|
||||
'GBE',
|
||||
'AF '
|
||||
],{
|
||||
A: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.SterlingSilver, 1),
|
||||
B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.SterlingSilver, 1),
|
||||
C: '#forge:cloth',
|
||||
D: ChemicalHelper.get(TagPrefix.ring, GTMaterials.SterlingSilver, 1),
|
||||
E: ChemicalHelper.get(TagPrefix.screw, GTMaterials.SterlingSilver, 1),
|
||||
F: '#forge:tools/wire_cutters',
|
||||
G: '#tfc:sewing_needles'
|
||||
}).id('tfg:shaped/fishing_net/sterling_silver'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/fishing_net/sterling_silver')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.SterlingSilver, 1),
|
||||
ChemicalHelper.get(TagPrefix.rod, GTMaterials.SterlingSilver, 1),
|
||||
ChemicalHelper.get(TagPrefix.ring, GTMaterials.SterlingSilver, 1),
|
||||
ChemicalHelper.get(TagPrefix.screw, GTMaterials.SterlingSilver, 1),
|
||||
'1x #forge:cloth'
|
||||
)
|
||||
.itemOutputs('tfg:fishing_net/sterling_silver')
|
||||
.duration(100)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
//Invar
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('1x tfg:fishing_net/invar', [
|
||||
' DC',
|
||||
'GBE',
|
||||
'AF '
|
||||
],{
|
||||
A: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.Invar, 1),
|
||||
B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Invar, 1),
|
||||
C: '#forge:cloth',
|
||||
D: ChemicalHelper.get(TagPrefix.ring, GTMaterials.Invar, 1),
|
||||
E: ChemicalHelper.get(TagPrefix.screw, GTMaterials.Invar, 1),
|
||||
F: '#forge:tools/wire_cutters',
|
||||
G: '#tfc:sewing_needles'
|
||||
}).id('tfg:shaped/fishing_net/invar'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/fishing_net/invar')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.Invar, 1),
|
||||
ChemicalHelper.get(TagPrefix.rod, GTMaterials.Invar, 1),
|
||||
ChemicalHelper.get(TagPrefix.ring, GTMaterials.Invar, 1),
|
||||
ChemicalHelper.get(TagPrefix.screw, GTMaterials.Invar, 1),
|
||||
'1x #forge:cloth'
|
||||
)
|
||||
.itemOutputs('tfg:fishing_net/invar')
|
||||
.duration(100)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//Cupronickel
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('1x tfg:fishing_net/cupronickel', [
|
||||
' DC',
|
||||
'GBE',
|
||||
'AF '
|
||||
],{
|
||||
A: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.Cupronickel, 1),
|
||||
B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Cupronickel, 1),
|
||||
C: '#forge:cloth',
|
||||
D: ChemicalHelper.get(TagPrefix.ring, GTMaterials.Cupronickel, 1),
|
||||
E: ChemicalHelper.get(TagPrefix.screw, GTMaterials.Cupronickel, 1),
|
||||
F: '#forge:tools/wire_cutters',
|
||||
G: '#tfc:sewing_needles'
|
||||
}).id('tfg:shaped/fishing_net/cupronickel'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/fishing_net/cupronickel')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.Cupronickel, 1),
|
||||
ChemicalHelper.get(TagPrefix.rod, GTMaterials.Cupronickel, 1),
|
||||
ChemicalHelper.get(TagPrefix.ring, GTMaterials.Cupronickel, 1),
|
||||
ChemicalHelper.get(TagPrefix.screw, GTMaterials.Cupronickel, 1),
|
||||
'1x #forge:cloth'
|
||||
)
|
||||
.itemOutputs('tfg:fishing_net/cupronickel')
|
||||
.duration(100)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//Tin Alloy
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('1x tfg:fishing_net/tin_alloy', [
|
||||
' DC',
|
||||
'GBE',
|
||||
'AF '
|
||||
],{
|
||||
A: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TinAlloy, 1),
|
||||
B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.TinAlloy, 1),
|
||||
C: '#forge:cloth',
|
||||
D: ChemicalHelper.get(TagPrefix.ring, GTMaterials.TinAlloy, 1),
|
||||
E: ChemicalHelper.get(TagPrefix.screw, GTMaterials.TinAlloy, 1),
|
||||
F: '#forge:tools/wire_cutters',
|
||||
G: '#tfc:sewing_needles'
|
||||
}).id('tfg:shaped/fishing_net/tin_alloy'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/fishing_net/tin_alloy')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TinAlloy, 1),
|
||||
ChemicalHelper.get(TagPrefix.rod, GTMaterials.TinAlloy, 1),
|
||||
ChemicalHelper.get(TagPrefix.ring, GTMaterials.TinAlloy, 1),
|
||||
ChemicalHelper.get(TagPrefix.screw, GTMaterials.TinAlloy, 1),
|
||||
'1x #forge:cloth'
|
||||
)
|
||||
.itemOutputs('tfg:fishing_net/tin_alloy')
|
||||
.duration(100)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//Magnalium
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('1x tfg:fishing_net/magnalium', [
|
||||
' DC',
|
||||
'GBE',
|
||||
'AF '
|
||||
],{
|
||||
A: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.Magnalium, 1),
|
||||
B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Magnalium, 1),
|
||||
C: 'tfg:polycaprolactam_fabric',
|
||||
D: ChemicalHelper.get(TagPrefix.ring, GTMaterials.Magnalium, 1),
|
||||
E: ChemicalHelper.get(TagPrefix.screw, GTMaterials.Magnalium, 1),
|
||||
F: '#forge:tools/wire_cutters',
|
||||
G: '#tfc:sewing_needles'
|
||||
}).id('tfg:shaped/fishing_net/magnalium'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/fishing_net/magnalium')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.Magnalium, 1),
|
||||
ChemicalHelper.get(TagPrefix.rod, GTMaterials.Magnalium, 1),
|
||||
ChemicalHelper.get(TagPrefix.ring, GTMaterials.Magnalium, 1),
|
||||
ChemicalHelper.get(TagPrefix.screw, GTMaterials.Magnalium, 1),
|
||||
'1x tfg:polycaprolactam_fabric'
|
||||
)
|
||||
.itemOutputs('tfg:fishing_net/magnalium')
|
||||
.duration(100)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
}
|
||||
|
|
@ -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')
|
||||
}
|
||||
232
kubejs/server_scripts/tfg/primitive/recipes.knapping.js
Normal file
232
kubejs/server_scripts/tfg/primitive/recipes.knapping.js
Normal file
|
|
@ -0,0 +1,232 @@
|
|||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
function registerTFGKnappingRecipes(event) {
|
||||
|
||||
//#region Топор
|
||||
|
||||
// Инструмент
|
||||
event.remove({ id: `tfc:crafting/stone/axe_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/axe_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/axe_metamorphic` })
|
||||
event.remove({ id: `tfc:crafting/stone/axe_sedimentary` })
|
||||
|
||||
// Оголовья
|
||||
event.remove({ id: `tfc:rock_knapping/axe_head_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/axe_head_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/axe_head_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/axe_head_sedimentary` })
|
||||
|
||||
event.recipes.tfc.knapping('gtceu:stone_axe_head', 'tfc:rock', [
|
||||
" X ",
|
||||
"XXXX ",
|
||||
"XXXXX",
|
||||
"XXXX ",
|
||||
" X "
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_axe_head')
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Молот
|
||||
|
||||
// Инструмент
|
||||
event.remove({ id: `tfc:crafting/stone/hammer_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/hammer_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/hammer_metamorphic` })
|
||||
event.remove({ id: `tfc:crafting/stone/hammer_sedimentary` })
|
||||
|
||||
// Оголовья
|
||||
event.remove({ id: `tfc:rock_knapping/hammer_head_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hammer_head_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hammer_head_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/hammer_head_sedimentary` })
|
||||
|
||||
event.recipes.tfc.knapping('gtceu:stone_hammer_head', 'tfc:rock', [
|
||||
"XXXXX",
|
||||
"XXXXX",
|
||||
" X "
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_hammer_head')
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Мотыга
|
||||
|
||||
// Инструмент
|
||||
event.remove({ id: `tfc:crafting/stone/hoe_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/hoe_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/hoe_metamorphic` })
|
||||
event.remove({ id: `tfc:crafting/stone/hoe_sedimentary` })
|
||||
|
||||
// Оголовья
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_1_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_2_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_sedimentary` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_1_sedimentary` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_2_sedimentary` })
|
||||
|
||||
event.recipes.tfc.knapping('gtceu:stone_hoe_head', 'tfc:rock', [
|
||||
"XXXXX",
|
||||
" XX"
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_hoe_head')
|
||||
|
||||
event.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [
|
||||
"XXXXX",
|
||||
"XX ",
|
||||
" ",
|
||||
"XXXXX",
|
||||
"XX "
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_hoe_head_1')
|
||||
|
||||
event.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [
|
||||
"XXXXX",
|
||||
"XX ",
|
||||
" ",
|
||||
"XXXXX",
|
||||
" XX"
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_hoe_head_2')
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Нож
|
||||
|
||||
// Инструмент
|
||||
event.remove({ id: `tfc:crafting/stone/knife_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/knife_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/knife_metamorphic` })
|
||||
event.remove({ id: `tfc:crafting/stone/knife_sedimentary` })
|
||||
|
||||
// Оголовья
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_1_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_2_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_3_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_sedimentary` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_1_sedimentary` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_2_sedimentary` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_3_sedimentary` })
|
||||
|
||||
event.recipes.tfc.knapping('gtceu:stone_knife_head', 'tfc:rock', [
|
||||
"X ",
|
||||
"XX",
|
||||
"XX",
|
||||
"XX",
|
||||
"XX"
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_knife_head')
|
||||
|
||||
event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [
|
||||
"X X ",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX"
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_knife_head_1')
|
||||
|
||||
event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [
|
||||
"X X",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX"
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_knife_head_2')
|
||||
|
||||
event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [
|
||||
" X X ",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX"
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_knife_head_3')
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Лопата
|
||||
|
||||
// Инструмент
|
||||
event.remove({ id: `tfc:crafting/stone/shovel_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/shovel_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/shovel_metamorphic` })
|
||||
event.remove({ id: `tfc:crafting/stone/shovel_sedimentary` })
|
||||
|
||||
// Оголовья
|
||||
event.remove({ id: `tfc:rock_knapping/shovel_head_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/shovel_head_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/shovel_head_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/shovel_head_sedimentary` })
|
||||
|
||||
event.recipes.tfc.knapping('gtceu:stone_shovel_head', 'tfc:rock', [
|
||||
"XXX",
|
||||
"XXX",
|
||||
"XXX",
|
||||
"XXX",
|
||||
" X "
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_shovel_head')
|
||||
|
||||
//#endregion
|
||||
|
||||
event.recipes.tfc.knapping('tfc:thatch', 'tfg:straw', [
|
||||
"XXX",
|
||||
"XXX",
|
||||
"XXX"
|
||||
|
||||
])
|
||||
.ingredient('tfc:straw')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfc:straw_knapping/thatch_block')
|
||||
|
||||
event.remove({ id: 'tfcambiental:crafting/straw_hat'})
|
||||
|
||||
event.recipes.tfc.knapping('tfcambiental:straw_hat', 'tfg:straw', [
|
||||
" XXX ",
|
||||
"XXXXX"
|
||||
|
||||
])
|
||||
.ingredient('tfc:straw')
|
||||
.outsideSlotRequired(false)
|
||||
.id('sns:straw_knapping/straw_hat')
|
||||
|
||||
}
|
||||
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])
|
||||
});
|
||||
|
||||
}
|
||||
582
kubejs/server_scripts/tfg/primitive/recipes.medicine.js
Normal file
582
kubejs/server_scripts/tfg/primitive/recipes.medicine.js
Normal file
|
|
@ -0,0 +1,582 @@
|
|||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
function registerTFGMedicineRecipes(event) {
|
||||
|
||||
//#region Antipoison
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:antipoison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:antipoison_pill')
|
||||
.id(`tfg:mixing_bowl/pill_antipoison`)
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_antipoison`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:antipoison_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:antipoison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_antipoison`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:antipoison_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:antipoison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_antipoison`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:antipoison_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:antipoison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_antipoison`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:antipoison_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:antipoison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Poison
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:poison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:poison_pill')
|
||||
.id(`tfg:mixing_bowl/pill_poison`)
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_poison`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:poison_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:poison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_poison`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:poison_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:poison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_poison`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:poison_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:poison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_poison`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:poison_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:poison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Arrow
|
||||
event.shapeless(Item.of('8x minecraft:tipped_arrow', '{Potion:"minecraft:poison"}'),
|
||||
['4x minecraft:arrow', 'tfg:poison_pill', '4x minecraft:arrow'])
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/poison_1`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:ethanol', 25))
|
||||
.itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:poison"}'))
|
||||
.itemInputs('16x minecraft:arrow', 'tfg:poison_pill')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/poison_2`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:ethanol', 25))
|
||||
.itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:long_poison"}'))
|
||||
.itemInputs('16x minecraft:arrow', 'tfg:poison_tablet')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Regeneration
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:regeneration_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:regeneration_pill')
|
||||
.id(`tfg:mixing_bowl/pill_regeneration`)
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_regeneration`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:regeneration_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:regeneration_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_regeneration`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:regeneration_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:regeneration_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_regeneration`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:regeneration_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:regeneration_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_regeneration`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:regeneration_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:regeneration_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Arrow
|
||||
event.shapeless(Item.of('8x minecraft:tipped_arrow', '{Potion:"minecraft:regeneration"}'),
|
||||
['4x minecraft:arrow', 'tfg:regeneration_pill', '4x minecraft:arrow'])
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/regeneration_1`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:ethanol', 25))
|
||||
.itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:regeneration"}'))
|
||||
.itemInputs('16x minecraft:arrow', 'tfg:regeneration_pill')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/regeneration_2`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:ethanol', 25))
|
||||
.itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:long_regeneration"}'))
|
||||
.itemInputs('16x minecraft:arrow', 'tfg:regeneration_tablet')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Speed
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:speed_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:speed_pill')
|
||||
.id(`tfg:mixing_bowl/pill_speed`)
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_speed`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:speed_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:speed_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_speed`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:speed_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:speed_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_speed`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:speed_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:speed_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_speed`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:speed_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:speed_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Arrow
|
||||
event.shapeless(Item.of('8x minecraft:tipped_arrow', '{Potion:"minecraft:swiftness"}'),
|
||||
['4x minecraft:arrow', 'tfg:speed_pill', '4x minecraft:arrow'])
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/swiftness_1`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:ethanol', 25))
|
||||
.itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:swiftness"}'))
|
||||
.itemInputs('16x minecraft:arrow', 'tfg:speed_pill')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/swiftness_2`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:ethanol', 25))
|
||||
.itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:long_swiftness"}'))
|
||||
.itemInputs('16x minecraft:arrow', 'tfg:speed_tablet')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Slowness
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:slowness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:slowness_pill')
|
||||
.id(`tfg:mixing_bowl/pill_slowness`)
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_slowness`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:slowness_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:slowness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_slowness`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:slowness_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:slowness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_slowness`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:slowness_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:slowness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_slowness`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:slowness_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:slowness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Arrow
|
||||
event.shapeless(Item.of('8x minecraft:tipped_arrow', '{Potion:"minecraft:slowness"}'),
|
||||
['4x minecraft:arrow', 'tfg:slowness_pill', '4x minecraft:arrow'])
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/slowness_1`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:ethanol', 25))
|
||||
.itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:slowness"}'))
|
||||
.itemInputs('16x minecraft:arrow', 'tfg:slowness_pill')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/slowness_2`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:ethanol', 25))
|
||||
.itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:long_slowness"}'))
|
||||
.itemInputs('16x minecraft:arrow', 'tfg:slowness_tablet')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Weakness
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:weakness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:weakness_pill')
|
||||
.id(`tfg:mixing_bowl/pill_weakness`)
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_weakness`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:weakness_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:weakness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_weakness`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:weakness_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:weakness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_weakness`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:weakness_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:weakness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_weakness`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:weakness_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:weakness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Arrow
|
||||
event.shapeless(Item.of('8x minecraft:tipped_arrow', '{Potion:"minecraft:weakness"}'),
|
||||
['4x minecraft:arrow', 'tfg:weakness_pill', '4x minecraft:arrow'])
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/weakness_1`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:ethanol', 25))
|
||||
.itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:weakness"}'))
|
||||
.itemInputs('16x minecraft:arrow', 'tfg:weakness_pill')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/weakness_2`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:ethanol', 25))
|
||||
.itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:long_weakness"}'))
|
||||
.itemInputs('16x minecraft:arrow', 'tfg:weakness_tablet')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Haste
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:haste_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:haste_pill')
|
||||
.id(`tfg:mixing_bowl/pill_haste`)
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_haste`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:haste_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:haste_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_haste`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:haste_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:haste_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_haste`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:haste_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:haste_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_haste`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:haste_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:haste_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Water Breathing
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:water_breathing_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:water_breathing_pill')
|
||||
.id(`tfg:mixing_bowl/pill_water_breathing`)
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_water_breathing`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:water_breathing_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:water_breathing_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_water_breathing`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:water_breathing_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:water_breathing_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_water_breathing`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:water_breathing_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:water_breathing_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_water_breathing`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:water_breathing_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:water_breathing_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Arrow
|
||||
event.shapeless(Item.of('8x minecraft:tipped_arrow', '{Potion:"minecraft:water_breathing"}'),
|
||||
['4x minecraft:arrow', 'tfg:water_breathing_pill', '4x minecraft:arrow'])
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/water_breathing_1`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:ethanol', 25))
|
||||
.itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:water_breathing"}'))
|
||||
.itemInputs('16x minecraft:arrow', 'tfg:water_breathing_pill')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/water_breathing_2`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:ethanol', 25))
|
||||
.itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:long_water_breathing"}'))
|
||||
.itemInputs('16x minecraft:arrow', 'tfg:water_breathing_tablet')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Night Vision
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:night_vision_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:night_vision_pill')
|
||||
.id(`tfg:mixing_bowl/pill_night_vision`)
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_night_vision`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:night_vision_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:night_vision_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_night_vision`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:night_vision_pill')
|
||||
.itemInputs('#forge:wax', '#tfg:night_vision_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_night_vision`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('tfc:spring_water', 250))
|
||||
.itemOutputs('2x tfg:night_vision_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:night_vision_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_night_vision`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.itemOutputs('2x tfg:night_vision_tablet')
|
||||
.notConsumable('gtceu:pill_casting_mold')
|
||||
.itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:night_vision_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Arrow
|
||||
event.shapeless(Item.of('8x minecraft:tipped_arrow', '{Potion:"minecraft:night_vision"}'),
|
||||
['4x minecraft:arrow', 'tfg:night_vision_pill', '4x minecraft:arrow'])
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/night_vision_1`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:ethanol', 25))
|
||||
.itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:night_vision"}'))
|
||||
.itemInputs('16x minecraft:arrow', 'tfg:night_vision_pill')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/night_vision_2`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:ethanol', 25))
|
||||
.itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:long_night_vision"}'))
|
||||
.itemInputs('16x minecraft:arrow', 'tfg:night_vision_tablet')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Invisibility
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_invisibility`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:phenol', 250))
|
||||
.itemOutputs('1x tfg:invisibility_salvo')
|
||||
.itemInputs('gtceu:sticky_resin', '#tfg:invisibility_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Fire Resistance
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_fire_resistance`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:phenol', 250))
|
||||
.itemOutputs('1x tfg:fire_resistance_salvo')
|
||||
.itemInputs('gtceu:sticky_resin', '#tfg:fire_resistance_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Resistance
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_resistance`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:phenol', 250))
|
||||
.itemOutputs('1x tfg:resistance_salvo')
|
||||
.itemInputs('gtceu:sticky_resin', '#tfg:resistance_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Instant Health
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_instant_health`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:phenol', 250))
|
||||
.itemOutputs('1x tfg:instant_health_salvo')
|
||||
.itemInputs('gtceu:sticky_resin', '#tfg:instant_health_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Absorption
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_absorption`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:phenol', 250))
|
||||
.itemOutputs('1x tfg:absorption_salvo')
|
||||
.itemInputs('gtceu:sticky_resin', '#tfg:absorption_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Luck
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_luck`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:phenol', 250))
|
||||
.itemOutputs('1x tfg:luck_salvo')
|
||||
.itemInputs('gtceu:sticky_resin', '#tfg:luck_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Paracetamol
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['tfg:regeneration_pill', 'tfg:weakness_pill', 'tfg:antipoison_pill', 'tfg:slowness_pill'], Fluid.of('tfc:vinegar', 250))
|
||||
.outputItem('4x gtceu:paracetamol_pill')
|
||||
.id(`tfg:mixing_bowl/paracetamol`)
|
||||
|
||||
//#endregion
|
||||
}
|
||||
195
kubejs/server_scripts/tfg/primitive/recipes.paper.js
Normal file
195
kubejs/server_scripts/tfg/primitive/recipes.paper.js
Normal file
|
|
@ -0,0 +1,195 @@
|
|||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* @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",
|
||||
"input_item": {
|
||||
"ingredient": {
|
||||
"item": inputItem
|
||||
}
|
||||
},
|
||||
"input_fluid": {
|
||||
"ingredient": fluid,
|
||||
"amount": fluidAmount
|
||||
},
|
||||
"output_item": {
|
||||
"item": output
|
||||
}
|
||||
}).id(id)
|
||||
}
|
||||
|
||||
const generatePotRecipe = (id, maxAmountOfInputItems, inputItem, inputFluid, inputFluidAmount, outputItem, ticks, temperature) => {
|
||||
for (let i = 0; i < maxAmountOfInputItems; i++) {
|
||||
let iPlusOne = i + 1
|
||||
let inputsArray = new Array(iPlusOne)
|
||||
for (let j = 0; j < iPlusOne; j++) {
|
||||
inputsArray[j] = inputItem
|
||||
}
|
||||
|
||||
event.recipes.tfc.pot(inputsArray, Fluid.of(inputFluid, inputFluidAmount * iPlusOne), ticks, temperature)
|
||||
.itemOutput(`${iPlusOne}x ${outputItem}`)
|
||||
.id(`tfg:pot/${iPlusOne}x_${id}`)
|
||||
}
|
||||
}
|
||||
//remove chemical bath recipe
|
||||
event.remove({ id: 'gtceu:chemical_bath/paper_from_wood_dust' })
|
||||
event.remove({ id: 'gtceu:chemical_bath/paper_from_wood_dust_distilled' })
|
||||
|
||||
//Lathe - Replace regular logs tag with softwood tag
|
||||
event.remove({ id: 'gtceu:lathe/lathe_logs' })
|
||||
event.remove({ id: 'gtceu:lathe/lathe_stripped_bamboo_log' })
|
||||
|
||||
removeMaceratorRecipe(event, 'macerate_logs')
|
||||
|
||||
// Create macerator recipes for softwood
|
||||
event.recipes.gtceu.macerator('macerate_softwood')
|
||||
.itemInputs('#tfg:softwood')
|
||||
.itemOutputs('6x gtceu:wood_dust')
|
||||
.chancedOutput('gtceu:wood_dust', 8000, 680)
|
||||
.duration(70)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.tfc.quern('4x gtceu:wood_dust', '#tfg:softwood')
|
||||
.id('tfg:quern/softwood_dust')
|
||||
|
||||
//Create identical macerator recipe for hardwood
|
||||
event.recipes.gtceu.macerator('macerate_hardwood')
|
||||
.itemInputs('#tfg:hardwood')
|
||||
.itemOutputs('6x gtceu:hardwood_dust')
|
||||
.chancedOutput('gtceu:hardwood_dust', 8000, 680)
|
||||
.duration(70)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.tfc.quern('4x gtceu:hardwood_dust', '#tfg:hardwood')
|
||||
.id('tfg:quern/hardwood_dust')
|
||||
|
||||
//Replace any recipe that outputs wood dust to use hardwood dust if it's ID string contains the name of one of the hardwood types.
|
||||
//This absolutely fuckin sucks but it works
|
||||
event.forEachRecipe({ output: 'gtceu:wood_dust' }, r => {
|
||||
global.TFC_HARDWOOD_TYPES.forEach(hardwoodType => {
|
||||
if (r.id.toString().includes(hardwoodType)) {
|
||||
r.replaceOutput('gtceu:wood_dust', 'gtceu:hardwood_dust')
|
||||
r.replaceOutput('gtceu:small_wood_dust', 'gtceu:small_hardwood_dust')
|
||||
r.replaceOutput('gtceu:tiny_wood_dust', 'gtceu_tiny_hardwood_dust')
|
||||
return;
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
//Replace any input that uses softwood dust to use our custom tag (we cant add it to the forge tag because it will literally fuck everything up by making softwood pulp obtainable using hardwood pulp)
|
||||
event.replaceInput([
|
||||
{ not: { output: 'gtceu:small_wood_dust' } },
|
||||
{ not: { output: 'gtceu:tiny_wood_dust' } }
|
||||
], 'gtceu:wood_dust', '#tfg:wood_dusts')
|
||||
|
||||
//Craft hardwood strips
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(event.shapeless('4x tfg:hardwood_strip', ['#minecraft:axes', '#tfg:stripped_hardwood']))
|
||||
.id('tfg:crafting/strip_hardwood')
|
||||
generateCutterRecipe(event, `#tfg:stripped_hardwood`, `8x tfg:hardwood_strip`, 50, 6, 'cutter/strip_hardwood')
|
||||
|
||||
//Soak hardwood strips
|
||||
event.recipes.tfc.barrel_sealed('12000')
|
||||
.inputs('tfg:hardwood_strip', TFC.fluidStackIngredient('#tfc:water', 100))
|
||||
.outputItem('tfg:soaked_hardwood_strip')
|
||||
.id('tfg:barrel/soak_hardwood_strip')
|
||||
event.recipes.gtceu.chemical_bath('tfg:chemical_bath/soak_hardwood_strips')
|
||||
.inputFluids("#tfg:clean_water 100")
|
||||
.itemInputs('tfg:hardwood_strip')
|
||||
.itemOutputs('tfg:soaked_hardwood_strip')
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
//Create Hardwood Dust using Quern and Millstone/Crushing Wheels
|
||||
event.recipes.gtceu.macerator('tfg:macerator/macerate_hardwood_strips')
|
||||
.itemInputs('tfg:soaked_hardwood_strip')
|
||||
.itemOutputs('3x gtceu:small_hardwood_dust')
|
||||
.chancedOutput('gtceu:small_hardwood_dust', 5000, 5000)
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
event.recipes.tfc.quern('2x gtceu:small_hardwood_dust', 'tfg:soaked_hardwood_strip')
|
||||
.id('tfg:quern/soaked_hardwood_strip')
|
||||
|
||||
//Cook hardwood dust in lye
|
||||
generateVatRecipe('tfg:vat/thermochemically_treat_hardwood_dust', 'gtceu:hardwood_dust', 'tfc:lye', 300, 'gtceu:thermochemically_treated_hardwood_dust')
|
||||
generateVatRecipe('tfg:vat/thermochemically_treat_small_hardwood_dust', 'gtceu:small_hardwood_dust', 'tfc:lye', 75, 'gtceu:small_thermochemically_treated_hardwood_dust')
|
||||
generateVatRecipe('tfg:vat/thermochemically_treat_tiny_hardwood_dust', 'gtceu:tiny_hardwood_dust', 'tfc:lye', 33, 'gtceu:tiny_thermochemically_treated_hardwood_dust')
|
||||
generatePotRecipe('thermochemically_treat_hardwood_dust', 3, 'gtceu:hardwood_dust', 'tfc:lye', 300, 'gtceu:thermochemically_treated_hardwood_dust', 600, 300)
|
||||
generatePotRecipe('thermochemically_treat_small_hardwood_dust', 5, 'gtceu:small_hardwood_dust', 'tfc:lye', 75, 'gtceu:small_thermochemically_treated_hardwood_dust', 600, 300)
|
||||
generatePotRecipe('thermochemically_treat_tiny_hardwood_dust', 5, 'gtceu:tiny_hardwood_dust', 'tfc:lye', 33, 'gtceu:tiny_thermochemically_treated_hardwood_dust', 600, 300)
|
||||
generateMixerRecipe(event, 'gtceu:hardwood_dust', Fluid.of('tfc:lye', 150), 'gtceu:thermochemically_treated_hardwood_dust', null, [], 150, 4, 64, 'tfg:mixer/mix_hardwood_dust_with_lye')
|
||||
generateMixerRecipe(event, 'gtceu:small_hardwood_dust', Fluid.of('tfc:lye', 37), 'gtceu:small_thermochemically_treated_hardwood_dust', null, [], 100, 3, 64, 'tfg:mixer/mix_small_hardwood_dust_with_lye')
|
||||
generateMixerRecipe(event, 'gtceu:tiny_hardwood_dust', Fluid.of('tfc:lye', 16), 'gtceu:tiny_thermochemically_treated_hardwood_dust', null, [], 50, 2, 64, 'tfg:mixer/mix_tiny_hardwood_dust_with_lye')
|
||||
|
||||
//Beat thermochemically treated hardwood dust into soaked unrefined paper
|
||||
event.recipes.tfc.anvil('tfg:soaked_unrefined_paper', 'gtceu:thermochemically_treated_hardwood_dust', ['hit_last', 'hit_second_last', 'hit_third_last'])
|
||||
.id('tfg:anvil/soaked_unrefined_paper')
|
||||
event.recipes.greate.pressing(Item.of('tfg:soaked_unrefined_paper'), 'gtceu:thermochemically_treated_hardwood_dust')
|
||||
.recipeTier(0)
|
||||
.id('greate:pressing/soaked_unrefined_paper')
|
||||
event.custom({
|
||||
type: "firmalife:stomping",
|
||||
ingredient: {
|
||||
item: "gtceu:thermochemically_treated_hardwood_dust"
|
||||
},
|
||||
result: {
|
||||
item: 'tfg:soaked_unrefined_paper'
|
||||
},
|
||||
input_texture: 'tfg:block/thermochemically_treated_hardwood_dust',
|
||||
output_texture: 'tfg:block/soaked_unrefined_paper',
|
||||
sound: 'minecraft:entity.slime.squish'
|
||||
}).id('tfg:stomping/soaked_unrefined_paper')
|
||||
|
||||
//Dry the soaked unrefined paper
|
||||
event.recipes.firmalife.drying('tfc:unrefined_paper', 'tfg:soaked_unrefined_paper')
|
||||
.id('tfg:drying/unrefined_paper')
|
||||
|
||||
//alternatively, just put the thermochemically treated hardwood dust inside a forge hamemr
|
||||
event.recipes.gtceu.forge_hammer('tfg:forge_hammer/paper_from_thermochemically_treated_hardwood_dust')
|
||||
.itemInputs('gtceu:thermochemically_treated_hardwood_dust')
|
||||
.itemOutputs('minecraft:paper')
|
||||
.duration(20)
|
||||
.EUt(4)
|
||||
event.recipes.gtceu.forge_hammer('tfg:forge_hammer/paper_from_small_thermochemically_treated_hardwood_dust')
|
||||
.itemInputs('4x gtceu:small_thermochemically_treated_hardwood_dust')
|
||||
.itemOutputs('minecraft:paper')
|
||||
.duration(30)
|
||||
.EUt(4)
|
||||
event.recipes.gtceu.forge_hammer('tfg:forge_hammer/paper_from_tiny_thermochemically_treated_hardwood_dust')
|
||||
.itemInputs('9x gtceu:tiny_thermochemically_treated_hardwood_dust')
|
||||
.itemOutputs('minecraft:paper')
|
||||
.duration(40)
|
||||
.EUt(4)
|
||||
}
|
||||
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
|
||||
}
|
||||
230
kubejs/server_scripts/tfg/primitive/recipes.supports.js
Normal file
230
kubejs/server_scripts/tfg/primitive/recipes.supports.js
Normal file
|
|
@ -0,0 +1,230 @@
|
|||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
function registerTFGSupportRecipes(event) {
|
||||
|
||||
// Concrete Supports
|
||||
event.recipes.gtceu.fluid_solidifier('tfg:gtceu/fluid_solidifier/reinforced_light_concrete_support')
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 96))
|
||||
.itemOutputs('1x tfg:reinforced_light_concrete_support')
|
||||
.itemInputs('1x tfg:rebar_support')
|
||||
.duration(60)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:gtceu/assembler/reinforced_light_concrete_support')
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 96))
|
||||
.itemOutputs('1x tfg:reinforced_light_concrete_support')
|
||||
.itemInputs('1x tfg:rebar_support')
|
||||
.duration(120)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.macerator(`reinforced_light_concrete_support_to_dust`)
|
||||
.itemInputs('tfg:reinforced_light_concrete_support')
|
||||
.itemOutputs('gtceu:tiny_steel_dust')
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING);
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:gtceu/chemical_bath/reinforced_dark_concrete_support')
|
||||
.inputFluids(Fluid.of('tfc:black_dye', 10))
|
||||
.itemOutputs('1x tfg:reinforced_dark_concrete_support')
|
||||
.itemInputs('1x tfg:reinforced_light_concrete_support')
|
||||
.duration(60)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:gtceu/chemical_bath/dark_concrete_support')
|
||||
.inputFluids(Fluid.of('tfc:black_dye', 10))
|
||||
.itemOutputs('1x tfg:dark_concrete_support')
|
||||
.itemInputs('1x tfg:light_concrete_support')
|
||||
.duration(60)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.macerator(`reinforced_dark_concrete_support_to_dust`)
|
||||
.itemInputs('tfg:reinforced_dark_concrete_support')
|
||||
.itemOutputs('gtceu:tiny_steel_dust')
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING);
|
||||
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('8x tfg:light_concrete_support', [
|
||||
'AB ',
|
||||
'AC ',
|
||||
'AC '
|
||||
], {
|
||||
A: 'gtceu:light_concrete',
|
||||
B: '#tfc:chisels',
|
||||
C: 'tfc:mortar'
|
||||
}).id('tfg:shaped/light_concrete_support'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:gtceu/assembler/light_concrete_support')
|
||||
.circuit(11)
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 36))
|
||||
.itemOutputs('8x tfg:light_concrete_support')
|
||||
.itemInputs('3x gtceu:light_concrete')
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('8x tfg:dark_concrete_support', [
|
||||
'AB ',
|
||||
'AC ',
|
||||
'AC '
|
||||
], {
|
||||
A: 'gtceu:dark_concrete',
|
||||
B: '#tfc:chisels',
|
||||
C: 'tfc:mortar'
|
||||
}).id('tfg:shaped/dark_concrete_support'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:gtceu/assembler/dark_concrete_support')
|
||||
.circuit(11)
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 36))
|
||||
.itemOutputs('8x tfg:dark_concrete_support')
|
||||
.itemInputs('3x gtceu:dark_concrete')
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
// Stone Supports
|
||||
global.TFC_STONE_TYPES.forEach(stone => {
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped(`8x tfg:${stone}_support`, [
|
||||
'AB ',
|
||||
'AC ',
|
||||
'AC '
|
||||
], {
|
||||
A: `tfc:rock/loose/${stone}`,
|
||||
B: '#tfc:chisels',
|
||||
C: 'tfc:mortar'
|
||||
}).id(`tfg:shaped/${stone}_support`))
|
||||
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped(`8x tfg:${stone}_support`, [
|
||||
'AB ',
|
||||
'AC ',
|
||||
'AC '
|
||||
], {
|
||||
A: `tfc:rock/mossy_loose/${stone}`,
|
||||
B: '#tfc:chisels',
|
||||
C: 'tfc:mortar'
|
||||
}).id(`tfg:shaped/mossy/${stone}_support`))
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:gtceu/assembler/${stone}_support`)
|
||||
.circuit(11)
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 36))
|
||||
.itemOutputs(`8x tfg:${stone}_support`)
|
||||
.itemInputs(`3x tfc:rock/loose/${stone}`)
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:gtceu/assembler/mossy/${stone}_support`)
|
||||
.circuit(11)
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 36))
|
||||
.itemOutputs(`8x tfg:${stone}_support`)
|
||||
.itemInputs(`3x tfc:rock/mossy_loose/${stone}`)
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
})
|
||||
|
||||
// REDO w/ table and loop
|
||||
const EXO_STONE_SUPPORTS = [
|
||||
{ loose: 'tfg:loose/deepslate', support: 'tfg:migmatite_support', material: 'deepslate' },
|
||||
{ loose: 'beneath:blackstone_pebble', support: 'tfg:pyroxenite_support', material: 'blackstone', },
|
||||
{ loose: 'tfg:loose/dripstone', support: 'tfg:travertine_support', material: 'dripstone' },
|
||||
{ loose: 'tfg:loose/crackrack', support: 'tfg:keratophyre_support', material: 'netherrack'},
|
||||
{ loose: 'tfg:loose/moon_stone', support: 'tfg:anorthosite_support', material: 'moon_stone' },
|
||||
{ loose: 'tfg:loose/moon_deepslate', support: 'tfg:norite_support', material: 'moon_deepslate' },
|
||||
{ loose: 'tfg:loose/mars_stone', support: 'tfg:argillite_support', material: 'mars_stone' },
|
||||
{ loose: 'tfg:loose/venus_stone', support: 'tfg:trachyte_support', material: 'venus_stone', },
|
||||
{ loose: 'tfg:loose/mercury_stone', support: 'tfg:komatiite_support', material: 'mercury_stone' },
|
||||
{ loose: 'tfg:loose/glacio_stone', support: 'tfg:phonolite_support', material: 'glacio_stone' },
|
||||
{ loose: 'tfg:loose/permafrost', support: 'tfg:permafrost_support', material: 'ice' },
|
||||
{ loose: 'tfg:loose/red_granite', support: 'tfg:red_granite_support', material: 'granite_red' },
|
||||
{ loose: 'gtceu:stone_ingot', support: 'tfg:stone_support', material: 'stone' }
|
||||
]
|
||||
|
||||
EXO_STONE_SUPPORTS.forEach(s => {
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped(`8x ${s.support}`, [
|
||||
'AB ',
|
||||
'AC ',
|
||||
'AC '
|
||||
], {
|
||||
A: s.loose,
|
||||
B: '#tfc:chisels',
|
||||
C: 'tfc:mortar'
|
||||
}).id(`tfg:shaped/${s.support.split(':')[1]}`)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:gtceu/assembler/${s.support.split(':')[1]}`)
|
||||
.circuit(11)
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 36))
|
||||
.itemOutputs(`8x ${s.support}`)
|
||||
.itemInputs(`3x ${s.loose}`)
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
console.log(s.material);
|
||||
let regexMatch = s.support.match(/tfg:(.*?)_support/);
|
||||
let supportName = regexMatch[1];
|
||||
let stoneMaterial = TFGHelpers.getMaterial(s.material);
|
||||
let dustSmall = ChemicalHelper.get(TagPrefix.dustSmall, stoneMaterial, 1)
|
||||
|
||||
event.recipes.gtceu.macerator(`${supportName}_support_to_dust`)
|
||||
.itemInputs(s.support)
|
||||
.itemOutputs(dustSmall)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING);
|
||||
})
|
||||
|
||||
// Metal Supports
|
||||
event.shaped('8x tfg:rebar_support', [
|
||||
'BA ',
|
||||
'AC '
|
||||
], {
|
||||
A: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 1),
|
||||
B: ChemicalHelper.get(TagPrefix.wireFine, GTMaterials.Steel, 1),
|
||||
C: '#forge:tools/wire_cutters'
|
||||
}).id('tfg:shaped/rebar_support')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:gtceu/assembler/rebar_support')
|
||||
.circuit(11)
|
||||
.itemOutputs('8x tfg:rebar_support')
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 2), ChemicalHelper.get(TagPrefix.wireFine, GTMaterials.Steel, 1))
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.macerator(`rebar_support_to_dust`)
|
||||
.itemInputs(`tfg:rebar_support`)
|
||||
.itemOutputs(`gtceu:tiny_steel_dust`)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING);
|
||||
|
||||
event.recipes.tfc.anvil(
|
||||
'1x tfg:steel_support',
|
||||
'#forge:double_ingots/steel',
|
||||
[
|
||||
'upset_last',
|
||||
'shrink_any'
|
||||
]
|
||||
).tier(4).id('tfg:anvil/steel_support')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:gtceu/assembler/steel_support')
|
||||
.circuit(11)
|
||||
.itemOutputs('4x tfg:steel_support')
|
||||
.itemInputs('2x #forge:double_ingots/steel')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.addMaterialInfo(true)
|
||||
|
||||
event.recipes.gtceu.macerator("steel_support_to_dust")
|
||||
.itemInputs('tfg:steel_support')
|
||||
.itemOutputs('2x gtceu:steel_dust')
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING);
|
||||
}
|
||||
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`)
|
||||
})
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue