Consolidating Development: 0.9.x (#846)
Signed-off-by: Pyritie <pyritie@gmail.com> Signed-off-by: TomPlop <tomdidome@gmail.com> Co-authored-by: Pyritie <Pyritie@gmail.com> Co-authored-by: Redeix <brayden.j.m.ford@gmail.com> Co-authored-by: TomPlop <tomdidome@gmail.com> Co-authored-by: aidie8 <aidenvanzuilen@gmail.com> Co-authored-by: Xikaro <os.valerievich@ya.ru> Co-authored-by: Xikaro <55663835+Xikaro@users.noreply.github.com> Co-authored-by: Zleub <debray.arnaud@gmail.com>
This commit is contained in:
parent
528672e95b
commit
d4c80a4b61
2192 changed files with 104647 additions and 53190 deletions
117
kubejs/server_scripts/tfg/events.js
Normal file
117
kubejs/server_scripts/tfg/events.js
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
|
||||
//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,username}} = event
|
||||
if (item.id != `tfg:${pill_event}_pill`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 100)
|
||||
player.runCommandSilent(`effect give ${username} minecraft:${pill_event} 480 0 true`)
|
||||
server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${username} ${x} ${y} ${z} 10 1.5 1`)
|
||||
});
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const {item,server,player,player:{x,y,z,username}} = event
|
||||
if (item.id != `tfg:${pill_event}_tablet`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 100)
|
||||
player.runCommandSilent(`effect give ${username} minecraft:${pill_event} 1800 0 true`)
|
||||
server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${username} ${x} ${y} ${z} 10 1.5 1`)
|
||||
});
|
||||
});
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const {item,server,player,player:{x,y,z,username}} = 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 ${username} ${x} ${y} ${z} 10 1.5 1`)
|
||||
});
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const {item,server,player,player:{x,y,z,username}} = 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 ${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,username}} = event
|
||||
if (item.id != `tfg:${salvo_event}_salvo`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 100)
|
||||
player.runCommandSilent(`effect give ${username} minecraft:${salvo_event} 480 0 true`)
|
||||
server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${username} ${x} ${y} ${z} 10 2 1`)
|
||||
});
|
||||
});
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const {item,server,player,player:{x,y,z,username}} = event
|
||||
if (item.id != `tfg:absorption_salvo`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 200)
|
||||
player.runCommandSilent(`effect give ${username} minecraft:absorption 480 4 true`)
|
||||
server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${username} ${x} ${y} ${z} 10 2 1`)
|
||||
});
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
const {item,server,player,player:{x,y,z,username}} = event
|
||||
if (item.id != `tfg:instant_health_salvo`) return
|
||||
item.count--
|
||||
player.addItemCooldown(item, 100)
|
||||
player.runCommandSilent(`effect give ${username} minecraft:instant_health 1 1 true`)
|
||||
server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${username} ${x} ${y} ${z} 10 2 1`)
|
||||
});
|
||||
|
||||
// Vase Sounds
|
||||
global.MINECRAFT_DYE_NAMES.forEach(color => {
|
||||
BlockEvents.rightClicked(event => {
|
||||
const {block,server,player,player:{x,y,z,username}} = event
|
||||
if (block.id != `tfg:decorative_vase/${color}`) {return}{
|
||||
server.runCommandSilent(`playsound tfc:block.quern.drag block ${username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`)
|
||||
}})
|
||||
});
|
||||
|
||||
BlockEvents.rightClicked(event => {
|
||||
const {block,server,player,player:{x,y,z,username}} = event
|
||||
if (block.id != 'tfg:decorative_vase') {return}{
|
||||
server.runCommandSilent(`playsound tfc:block.quern.drag block ${username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`)
|
||||
}});
|
||||
84
kubejs/server_scripts/tfg/loot_tables.block.js
Normal file
84
kubejs/server_scripts/tfg/loot_tables.block.js
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
|
||||
LootJS.modifiers((event) => {
|
||||
|
||||
//Generated Vases Loot
|
||||
global.MINECRAFT_DYE_NAMES.forEach(color => {
|
||||
event.addBlockLootModifier(`tfg:decorative_vase/generated/${color}`)
|
||||
.removeLoot(Ingredient.all)
|
||||
//ore
|
||||
.pool((pool) => {
|
||||
pool.rolls([4, 6]);
|
||||
pool.addAlternativesLoot(
|
||||
LootEntry.of('tfc:ore/normal_bismuthinite').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:ore/rich_bismuthinite').when((c) => c.randomChance(0.2)),
|
||||
|
||||
LootEntry.of('tfc:ore/normal_native_copper').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:ore/rich_native_copper').when((c) => c.randomChance(0.2)),
|
||||
|
||||
LootEntry.of('tfc:ore/normal_sphalerite').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:ore/rich_sphalerite').when((c) => c.randomChance(0.2)),
|
||||
|
||||
LootEntry.of('tfc:ore/normal_cassiterite').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:ore/rich_cassiterite').when((c) => c.randomChance(0.2)),
|
||||
|
||||
LootEntry.of('tfc:ore/normal_native_gold').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:ore/rich_native_gold').when((c) => c.randomChance(0.2)),
|
||||
|
||||
LootEntry.of('tfc:ore/normal_native_silver').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:ore/rich_native_silver').when((c) => c.randomChance(0.2)),
|
||||
|
||||
LootEntry.of('tfc:ore/normal_hematite').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:ore/rich_hematite').when((c) => c.randomChance(0.2)),
|
||||
|
||||
LootEntry.of('gtceu:rich_raw_rock_salt').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('gtceu:rich_raw_salt').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('gtceu:rich_raw_saltpeter').when((c) => c.randomChance(0.1)),
|
||||
);
|
||||
})
|
||||
//seeds
|
||||
.pool((pool) => {
|
||||
pool.rolls([2, 8]);
|
||||
pool.addAlternativesLoot(
|
||||
LootEntry.of('tfc:seeds/onion').when((c) => c.randomChance(0.2)),
|
||||
LootEntry.of('tfc:seeds/cabbage').when((c) => c.randomChance(0.2)),
|
||||
LootEntry.of('tfc:seeds/potato').when((c) => c.randomChance(0.2)),
|
||||
LootEntry.of('tfc:seeds/jute').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:seeds/sugarcane').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('firmalife:plant/pineapple_bush').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:plant/peach_sapling').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:plant/red_apple_sapling').when((c) => c.randomChance(0.1)),
|
||||
);
|
||||
})
|
||||
//loot
|
||||
.pool((pool) => {
|
||||
pool.rolls([0, 3]);
|
||||
pool.addAlternativesLoot(
|
||||
LootEntry.of('tfc:wool_yarn').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:blubber').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('minecraft:bone').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:kaolin_clay').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:glue').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:burlap_cloth').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:wool_cloth').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:mortar').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:leather').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('chalk:black_chalk').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('chalk:red_chalk').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('chalk:white_chalk').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('minecraft:goat_horn').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfg:regeneration_pill').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfg:water_breathing_pill').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfg:night_vision_pill').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfg:haste_pill').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:small_raw_hide').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:medium_raw_hide').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('tfc:large_raw_hide').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('firmalife:beeswax').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('gtceu:bismuth_bronze_pickaxe_head').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('gtceu:bismuth_bronze_axe_head').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('gtceu:bismuth_bronze_shovel_head').when((c) => c.randomChance(0.1)),
|
||||
LootEntry.of('gtceu:bismuth_bronze_knife_head').when((c) => c.randomChance(0.1)),
|
||||
);
|
||||
})
|
||||
});
|
||||
});
|
||||
20
kubejs/server_scripts/tfg/recipes.collapse.js
Normal file
20
kubejs/server_scripts/tfg/recipes.collapse.js
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFGCollapseRecipes(event) {
|
||||
|
||||
event.recipes.tfc.collapse('minecraft:cobbled_deepslate', 'minecraft:deepslate')
|
||||
event.recipes.tfc.collapse('minecraft:cobbled_deepslate', 'tfg:rock/hardened_deepslate')
|
||||
event.recipes.tfc.collapse('minecraft:blackstone', 'minecraft:blackstone')
|
||||
event.recipes.tfc.collapse('minecraft:blackstone', 'tfg:rock/hardened_blackstone')
|
||||
event.recipes.tfc.collapse('minecraft:dripstone_block', 'minecraft:dripstone_block')
|
||||
event.recipes.tfc.collapse('minecraft:dripstone_block', 'tfg:rock/hardened_dripstone')
|
||||
|
||||
event.recipes.tfc.collapse('tfc:rock/cobble/basalt', 'minecraft:basalt')
|
||||
event.recipes.tfc.collapse('minecraft:cobbled_deepslate', '#forge:ores_in_ground/deepslate')
|
||||
event.recipes.tfc.collapse('minecraft:blackstone', '#forge:ores_in_ground/pyroxenite')
|
||||
event.recipes.tfc.collapse('minecraft:dripstone_block', '#forge:ores_in_ground/dripstone')
|
||||
|
||||
|
||||
event.recipes.tfc.landslide('tfg:ash_pile', 'tfg:ash_pile')
|
||||
event.recipes.tfc.landslide('minecraft:cobbled_deepslate', 'minecraft:cobbled_deepslate')
|
||||
}
|
||||
123
kubejs/server_scripts/tfg/recipes.converting.js
Normal file
123
kubejs/server_scripts/tfg/recipes.converting.js
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFGConvertingRecipes(event) {
|
||||
|
||||
event.shapeless("afc:tree_tap", "treetap:tap")
|
||||
|
||||
event.shapeless('greate:steel_cogwheel', 'create:cogwheel')
|
||||
|
||||
event.shapeless('greate:large_steel_cogwheel', 'create:large_cogwheel')
|
||||
|
||||
event.shapeless('greate:steel_shaft', 'create:shaft')
|
||||
|
||||
event.shapeless('greate:steel_crushing_wheel', 'create:crushing_wheel')
|
||||
|
||||
event.shapeless('greate:steel_encased_fan', 'create:encased_fan')
|
||||
|
||||
event.shapeless('greate:steel_gearbox', 'create:gearbox')
|
||||
|
||||
event.shapeless('greate:steel_mechanical_mixer', 'create:mechanical_mixer')
|
||||
|
||||
event.shapeless('greate:steel_mechanical_saw', 'create:mechanical_saw')
|
||||
|
||||
event.shapeless('greate:steel_mechanical_pump', 'create:mechanical_pump')
|
||||
|
||||
event.shapeless('greate:rubber_belt_connector', 'create:belt_connector')
|
||||
|
||||
event.shapeless('greate:steel_vertical_gearbox', 'create:vertical_gearbox')
|
||||
|
||||
event.shapeless('create:zinc_ingot', 'gtceu:zinc_ingot')
|
||||
event.shapeless('create:brass_ingot', 'gtceu:brass_ingot')
|
||||
event.shapeless('vintageimprovements:vanadium_ingot', 'gtceu:vanadium_ingot')
|
||||
event.shapeless('tfc:metal/ingot/black_steel', 'gtceu:black_steel_ingot')
|
||||
event.shapeless('tfc:metal/ingot/red_steel', 'gtceu:red_steel_ingot')
|
||||
event.shapeless('tfc:metal/ingot/blue_steel', 'gtceu:blue_steel_ingot')
|
||||
|
||||
event.shapeless('tfc:metal/double_ingot/cast_iron', 'gtceu:iron_double_ingot')
|
||||
event.shapeless('tfc:metal/double_ingot/black_steel', 'gtceu:black_steel_double_ingot')
|
||||
event.shapeless('tfc:metal/double_ingot/red_steel', 'gtceu:red_steel_double_ingot')
|
||||
event.shapeless('tfc:metal/double_ingot/blue_steel', 'gtceu:blue_steel_double_ingot')
|
||||
|
||||
event.shapeless('create:zinc_nugget', 'gtceu:zinc_nugget')
|
||||
event.shapeless('create:brass_nugget', 'gtceu:brass_nugget')
|
||||
event.shapeless('create:copper_nugget', 'gtceu:copper_nugget')
|
||||
event.shapeless('vintageimprovements:vanadium_nugget', 'gtceu:vanadium_nugget')
|
||||
|
||||
event.shapeless('create:copper_sheet', 'gtceu:copper_plate')
|
||||
event.shapeless('create:brass_sheet', 'gtceu:brass_plate')
|
||||
event.shapeless('create:golden_sheet', 'gtceu:gold_plate')
|
||||
event.shapeless('vintageimprovements:cast_iron_sheet', 'gtceu:iron_plate')
|
||||
event.shapeless('vintageimprovements:cobalt_sheet', 'gtceu:cobalt_plate')
|
||||
event.shapeless('vintageimprovements:rose_gold_sheet', 'gtceu:rose_gold_plate')
|
||||
event.shapeless('vintageimprovements:aluminum_sheet', 'gtceu:aluminium_plate')
|
||||
event.shapeless('vintageimprovements:invar_sheet', 'gtceu:invar_plate')
|
||||
event.shapeless('vintageimprovements:lead_sheet', 'gtceu:lead_plate')
|
||||
event.shapeless('vintageimprovements:nickel_sheet', 'gtceu:nickel_plate')
|
||||
event.shapeless('vintageimprovements:osmium_sheet', 'gtceu:osmium_plate')
|
||||
event.shapeless('vintageimprovements:palladium_sheet', 'gtceu:palladium_plate')
|
||||
event.shapeless('vintageimprovements:platinum_sheet', 'gtceu:platinum_plate')
|
||||
event.shapeless('vintageimprovements:rhodium_sheet', 'gtceu:rhodium_plate')
|
||||
event.shapeless('vintageimprovements:silver_sheet', 'gtceu:silver_plate')
|
||||
event.shapeless('vintageimprovements:vanadium_sheet', 'gtceu:vanadium_plate')
|
||||
event.shapeless('vintageimprovements:zinc_sheet', 'gtceu:zinc_plate')
|
||||
|
||||
event.shapeless('vintageimprovements:vanadium_block', 'gtceu:vanadium_block')
|
||||
event.shapeless('create:zinc_block', 'gtceu:zinc_block')
|
||||
event.shapeless('create:brass_block', 'gtceu:brass_block')
|
||||
|
||||
event.shapeless('create:crushed_raw_gold', 'gtceu:gold_purified_ore')
|
||||
event.shapeless('create:crushed_raw_copper', 'gtceu:copper_purified_ore')
|
||||
event.shapeless('create:crushed_raw_zinc', 'gtceu:zinc_purified_ore')
|
||||
event.shapeless('create:crushed_raw_silver', 'gtceu:silver_purified_ore')
|
||||
event.shapeless('create:crushed_raw_tin', 'gtceu:tin_purified_ore')
|
||||
event.shapeless('create:crushed_raw_lead', 'gtceu:lead_purified_ore')
|
||||
|
||||
|
||||
event.shapeless('tfc:ore/rich_native_copper', 'gtceu:rich_raw_copper')
|
||||
event.shapeless('tfc:ore/normal_native_copper', 'minecraft:raw_copper')
|
||||
event.shapeless('tfc:ore/poor_native_copper', 'gtceu:poor_raw_copper')
|
||||
|
||||
event.shapeless('tfc:ore/rich_native_gold', 'gtceu:rich_raw_gold')
|
||||
event.shapeless('tfc:ore/normal_native_gold', 'minecraft:raw_gold')
|
||||
event.shapeless('tfc:ore/poor_native_gold', 'gtceu:poor_raw_gold')
|
||||
|
||||
event.shapeless('tfc:ore/rich_tetrahedrite', 'gtceu:rich_raw_tetrahedrite')
|
||||
event.shapeless('tfc:ore/normal_tetrahedrite', 'gtceu:raw_tetrahedrite')
|
||||
event.shapeless('tfc:ore/poor_tetrahedrite', 'gtceu:poor_raw_tetrahedrite')
|
||||
|
||||
event.shapeless('tfc:ore/rich_malachite', 'gtceu:rich_raw_malachite')
|
||||
event.shapeless('tfc:ore/normal_malachite', 'gtceu:raw_malachite')
|
||||
event.shapeless('tfc:ore/poor_malachite', 'gtceu:poor_raw_malachite')
|
||||
|
||||
event.shapeless('tfc:ore/rich_hematite', 'gtceu:rich_raw_hematite')
|
||||
event.shapeless('tfc:ore/normal_hematite', 'gtceu:raw_hematite')
|
||||
event.shapeless('tfc:ore/poor_hematite', 'gtceu:poor_raw_hematite')
|
||||
|
||||
event.shapeless('tfc:ore/rich_cassiterite', 'gtceu:rich_raw_cassiterite')
|
||||
event.shapeless('tfc:ore/normal_cassiterite', 'gtceu:raw_cassiterite')
|
||||
event.shapeless('tfc:ore/poor_cassiterite', 'gtceu:poor_raw_cassiterite')
|
||||
|
||||
event.shapeless('tfc:ore/rich_bismuthinite', 'gtceu:rich_raw_bismuth')
|
||||
event.shapeless('tfc:ore/normal_bismuthinite', 'gtceu:raw_bismuth')
|
||||
event.shapeless('tfc:ore/poor_bismuthinite', 'gtceu:poor_raw_bismuth')
|
||||
|
||||
event.shapeless('tfc:ore/rich_magnetite', 'gtceu:rich_raw_magnetite')
|
||||
event.shapeless('tfc:ore/normal_magnetite', 'gtceu:raw_magnetite')
|
||||
event.shapeless('tfc:ore/poor_magnetite', 'gtceu:poor_raw_magnetite')
|
||||
|
||||
event.shapeless('tfc:ore/rich_limonite', 'gtceu:rich_raw_yellow_limonite')
|
||||
event.shapeless('tfc:ore/normal_limonite', 'gtceu:raw_yellow_limonite')
|
||||
event.shapeless('tfc:ore/poor_limonite', 'gtceu:poor_raw_yellow_limonite')
|
||||
|
||||
event.shapeless('tfc:ore/rich_garnierite', 'gtceu:rich_raw_garnierite')
|
||||
event.shapeless('tfc:ore/normal_garnierite', 'gtceu:raw_garnierite')
|
||||
event.shapeless('tfc:ore/poor_garnierite', 'gtceu:poor_raw_garnierite')
|
||||
|
||||
event.shapeless('tfc:ore/rich_native_silver', 'gtceu:rich_raw_silver')
|
||||
event.shapeless('tfc:ore/normal_native_silver', 'gtceu:raw_silver')
|
||||
event.shapeless('tfc:ore/poor_native_silver', 'gtceu:poor_raw_silver')
|
||||
|
||||
event.shapeless('tfc:ore/rich_sphalerite', 'gtceu:rich_raw_sphalerite')
|
||||
event.shapeless('tfc:ore/normal_sphalerite', 'gtceu:raw_sphalerite')
|
||||
event.shapeless('tfc:ore/poor_sphalerite', 'gtceu:poor_raw_sphalerite')
|
||||
}
|
||||
|
|
@ -1,155 +1,17 @@
|
|||
/**
|
||||
*
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
const registerTFGRecipes = (event) => {
|
||||
|
||||
registerTFGPapermakingRecipes(event)
|
||||
registerTFGRockRecipes(event)
|
||||
registerTFGCollapseRecipes(event)
|
||||
registerTFGMoldRecipes(event)
|
||||
registerTFGTerrariumRecipes(event)
|
||||
registerTFGMedicineRecipes(event)
|
||||
registerTFGMiscellaneousRecipes(event)
|
||||
registerTFGSupportRecipes(event)
|
||||
|
||||
const registerTFGRecipes = (event) =>
|
||||
{
|
||||
var 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)
|
||||
}
|
||||
|
||||
var generatePotRecipe = (id, maxAmountOfInputItems, inputItem, inputFluid, inputFluidAmount, outputItem, ticks, temperature) =>
|
||||
{
|
||||
for(let i = 0; i < maxAmountOfInputItems; i++)
|
||||
{
|
||||
var 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.replaceInput({id: 'gtceu:lathe/lathe_logs'}, '#minecraft:logs', '#tfg:softwood')
|
||||
//Create identical lathe recipe for hardwood
|
||||
event.recipes.gtceu.lathe('lathe_hardwood')
|
||||
.itemInputs('#tfg:hardwood')
|
||||
.itemOutputs('4x gtceu:long_wood_rod', '2x gtceu:hardwood_dust')
|
||||
.duration(160)
|
||||
.EUt(7)
|
||||
|
||||
//Replace macerate logs into macerate softwood logs
|
||||
event.replaceInput({id: 'gtceu:macerator/macerate_logs'}, '#minecraft:logs', '#tfg:softwood')
|
||||
//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)
|
||||
|
||||
//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:hardwood`, 2, `8x tfg:hardwood_strip`, 200, 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')
|
||||
|
||||
//Create Hardwood Dust using Quern and Millstone/Crushing Wheels
|
||||
event.recipes.createMilling(['3x gtceu:small_hardwood_dust', Item.of('gtceu:small_hardwood_dust').withChance(0.5)], 'tfg:soaked_hardwood_strip')
|
||||
.processingTime(100)
|
||||
.id('tfg:mill/mill_soaked_hardwood_strip')
|
||||
event.recipes.gtceu.macerator('tfg:macerator/macerate_hardwood_strips')
|
||||
.itemInputs('#tfg:hardwood_strips')
|
||||
.itemOutputs('gtceu:hardwood_dust')
|
||||
.duration(50)
|
||||
.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_last', 'hit_last'])
|
||||
.id('tfg:anvil/soaked_unrefined_paper')
|
||||
event.recipes.createPressing(Item.of('tfg:soaked_unrefined_paper').withChance(0.8), 'gtceu:thermochemically_treated_hardwood_dust')
|
||||
.id('tfg: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:blocks/thermochemically_treated_hardwood_dust',
|
||||
output_texture: 'tfg:blocks/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)
|
||||
registerTFGConvertingRecipes(event)
|
||||
}
|
||||
518
kubejs/server_scripts/tfg/recipes.medicine.js
Normal file
518
kubejs/server_scripts/tfg/recipes.medicine.js
Normal file
|
|
@ -0,0 +1,518 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFGMedicineRecipes(event) {
|
||||
|
||||
//#region Antipoison
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:antipoison_pill')
|
||||
.id(`tfg:mixing_bowl/pill_antipoison`)
|
||||
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:antipoison_pill',
|
||||
['#forge:wax', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)])
|
||||
.id(`tfg:create/mixer/spring_water/pill_antipoison`)
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:antipoison_pill',
|
||||
['#forge:wax', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)])
|
||||
.id(`tfg:create/mixer/distilled_water/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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Poison
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:poison_ingredients', 'tfc:powder/sulfur'], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:poison_pill')
|
||||
.id(`tfg:mixing_bowl/pill_poison`)
|
||||
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:poison_pill',
|
||||
['#forge:wax', '#tfg:poison_ingredients', 'tfc:powder/sulfur', Fluid.of('tfc:spring_water', 250)])
|
||||
.id(`tfg:create/mixer/spring_water/pill_poison`)
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:poison_pill',
|
||||
['#forge:wax', '#tfg:poison_ingredients', 'tfc:powder/sulfur', Fluid.of('gtceu:distilled_water', 50)])
|
||||
.id(`tfg:create/mixer/distilled_water/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', 'tfc:powder/sulfur')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'tfc:powder/sulfur')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'tfc:powder/sulfur')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'tfc:powder/sulfur')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Regeneration
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:regeneration_pill')
|
||||
.id(`tfg:mixing_bowl/pill_regeneration`)
|
||||
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:regeneration_pill',
|
||||
['#forge:wax', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)])
|
||||
.id(`tfg:create/mixer/spring_water/pill_regeneration`)
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:regeneration_pill',
|
||||
['#forge:wax', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)])
|
||||
.id(`tfg:create/mixer/distilled_water/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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Speed
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:speed_pill')
|
||||
.id(`tfg:mixing_bowl/pill_speed`)
|
||||
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:speed_pill',
|
||||
['#forge:wax', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)])
|
||||
.id(`tfg:create/mixer/spring_water/pill_speed`)
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:speed_pill',
|
||||
['#forge:wax', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)])
|
||||
.id(`tfg:create/mixer/distilled_water/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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Slowness
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:slowness_ingredients', 'tfc:powder/sulfur'], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:slowness_pill')
|
||||
.id(`tfg:mixing_bowl/pill_slowness`)
|
||||
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:slowness_pill',
|
||||
['#forge:wax', '#tfg:slowness_ingredients', 'tfc:powder/sulfur', Fluid.of('tfc:spring_water', 250)])
|
||||
.id(`tfg:create/mixer/spring_water/pill_slowness`)
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:slowness_pill',
|
||||
['#forge:wax', '#tfg:slowness_ingredients', 'tfc:powder/sulfur', Fluid.of('gtceu:distilled_water', 50)])
|
||||
.id(`tfg:create/mixer/distilled_water/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', 'tfc:powder/sulfur')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'tfc:powder/sulfur')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'tfc:powder/sulfur')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'tfc:powder/sulfur')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Weakness
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:weakness_ingredients', 'tfc:powder/sulfur'], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:weakness_pill')
|
||||
.id(`tfg:mixing_bowl/pill_weakness`)
|
||||
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:weakness_pill',
|
||||
['#forge:wax', '#tfg:weakness_ingredients', 'tfc:powder/sulfur', Fluid.of('tfc:spring_water', 250)])
|
||||
.id(`tfg:create/mixer/spring_water/pill_weakness`)
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:weakness_pill',
|
||||
['#forge:wax', '#tfg:weakness_ingredients', 'tfc:powder/sulfur', Fluid.of('gtceu:distilled_water', 50)])
|
||||
.id(`tfg:create/mixer/distilled_water/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', 'tfc:powder/sulfur')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'tfc:powder/sulfur')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'tfc:powder/sulfur')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'tfc:powder/sulfur')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Haste
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:haste_pill')
|
||||
.id(`tfg:mixing_bowl/pill_haste`)
|
||||
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:haste_pill',
|
||||
['#forge:wax', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)])
|
||||
.id(`tfg:create/mixer/spring_water/pill_haste`)
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:haste_pill',
|
||||
['#forge:wax', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)])
|
||||
.id(`tfg:create/mixer/distilled_water/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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Water Breathing
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:water_breathing_pill')
|
||||
.id(`tfg:mixing_bowl/pill_water_breathing`)
|
||||
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:water_breathing_pill',
|
||||
['#forge:wax', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)])
|
||||
.id(`tfg:create/mixer/spring_water/pill_water_breathing`)
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:water_breathing_pill',
|
||||
['#forge:wax', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)])
|
||||
.id(`tfg:create/mixer/distilled_water/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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Night Vision
|
||||
|
||||
event.recipes.firmalife.mixing_bowl()
|
||||
.ingredients(['#forge:wax', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250))
|
||||
.outputItem('1x tfg:night_vision_pill')
|
||||
.id(`tfg:mixing_bowl/pill_night_vision`)
|
||||
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:night_vision_pill',
|
||||
['#forge:wax', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)])
|
||||
.id(`tfg:create/mixer/spring_water/pill_night_vision`)
|
||||
event.recipes.create.mixing(
|
||||
'1x tfg:night_vision_pill',
|
||||
['#forge:wax', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)])
|
||||
.id(`tfg:create/mixer/distilled_water/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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Invisibility
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_invisibility`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:aminophenol', 250))
|
||||
.itemOutputs('1x tfg:invisibility_salvo')
|
||||
.itemInputs('gtceu:sticky_resin', '#tfg:invisibility_ingredients', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Fire Resistance
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_fire_resistance`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:aminophenol', 250))
|
||||
.itemOutputs('1x tfg:fire_resistance_salvo')
|
||||
.itemInputs('gtceu:sticky_resin', '#tfg:fire_resistance_ingredients', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Resistance
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_resistance`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:aminophenol', 250))
|
||||
.itemOutputs('1x tfg:resistance_salvo')
|
||||
.itemInputs('gtceu:sticky_resin', '#tfg:resistance_ingredients', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Instant Health
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_instant_health`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:aminophenol', 250))
|
||||
.itemOutputs('1x tfg:instant_health_salvo')
|
||||
.itemInputs('gtceu:sticky_resin', '#tfg:instant_health_ingredients', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Absorption
|
||||
|
||||
event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_absorption`)
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:aminophenol', 250))
|
||||
.itemOutputs('1x tfg:absorption_salvo')
|
||||
.itemInputs('gtceu:sticky_resin', '#tfg:absorption_ingredients', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
|
||||
//#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', 'gtceu:tricalcium_phosphate_dust')
|
||||
.duration(200)
|
||||
.EUt(21)
|
||||
|
||||
//#endregion
|
||||
|
||||
}
|
||||
192
kubejs/server_scripts/tfg/recipes.miscellaneous.js
Normal file
192
kubejs/server_scripts/tfg/recipes.miscellaneous.js
Normal file
|
|
@ -0,0 +1,192 @@
|
|||
// priority: 0
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {Internal.RecipesEventJS_} event
|
||||
*/
|
||||
function registerTFGMiscellaneousRecipes(event) {
|
||||
|
||||
//tfc:moss
|
||||
event.replaceInput({}, 'minecraft:vine', '#tfc:moss')
|
||||
|
||||
//forge:wax
|
||||
event.replaceInput({}, 'firmalife:beeswax', '#forge:wax')
|
||||
|
||||
//Moss
|
||||
event.shapeless('1x minecraft:moss_block', [
|
||||
'#tfc:dirt',
|
||||
'#tfc:moss'
|
||||
]).id(`tfg:shapeless/moss_block`)
|
||||
|
||||
event.shaped('6x minecraft:moss_carpet', [
|
||||
'AA'
|
||||
], {
|
||||
A: 'minecraft:moss_block'
|
||||
}).id(`tfg:shaped/moss_carpet`)
|
||||
|
||||
//paraffin
|
||||
event.recipes.gtceu.chemical_reactor('tfg:paraffin_wax_from_lubricant')
|
||||
.circuit(7)
|
||||
.itemOutputs('2x tfg:paraffin_wax')
|
||||
.outputFluids(Fluid.of('gtceu:oil_light', 25))
|
||||
.inputFluids(Fluid.of('gtceu:lubricant', 250), Fluid.of('gtceu:acetone', 25))
|
||||
.duration(500)
|
||||
.EUt(21)
|
||||
|
||||
// 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), 5000, 300)
|
||||
.itemOutput('tfg:conifer_rosin')
|
||||
.id('tfg:pot/conifer_pitch_to_rosin')
|
||||
|
||||
// Decorative Vases
|
||||
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(20)
|
||||
.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(20)
|
||||
.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')
|
||||
|
||||
|
||||
// lactose & curd
|
||||
event.recipes.gtceu.mixer('lactose_milk_cow')
|
||||
.circuit(1)
|
||||
.inputFluids(Fluid.of('minecraft:milk', 1000), Fluid.of('gtceu:acetic_acid', 25))
|
||||
.itemOutputs('1x gtceu:lactose_dust')
|
||||
.outputFluids(Fluid.of('tfc:curdled_milk', 1000))
|
||||
.duration(300)
|
||||
.EUt(30)
|
||||
|
||||
event.recipes.gtceu.mixer('lactose_milk_yak')
|
||||
.circuit(1)
|
||||
.inputFluids(Fluid.of('firmalife:yak_milk', 1000), Fluid.of('gtceu:acetic_acid', 25))
|
||||
.itemOutputs('1x gtceu:lactose_dust')
|
||||
.outputFluids(Fluid.of('firmalife:curdled_yak_milk', 1000))
|
||||
.duration(300)
|
||||
.EUt(30)
|
||||
|
||||
event.recipes.gtceu.mixer('lactose_milk_goat')
|
||||
.circuit(1)
|
||||
.inputFluids(Fluid.of('firmalife:goat_milk', 1000), Fluid.of('gtceu:acetic_acid', 25))
|
||||
.itemOutputs('1x gtceu:lactose_dust')
|
||||
.outputFluids(Fluid.of('firmalife:curdled_goat_milk', 1000))
|
||||
.duration(300)
|
||||
.EUt(30)
|
||||
|
||||
//Scaffolding Frame
|
||||
event.shaped('tfg:scaffolding_frame',
|
||||
[
|
||||
'AAA',
|
||||
'ABA',
|
||||
'AAA'
|
||||
],
|
||||
{
|
||||
A: '#forge:rods/wood',
|
||||
B: '#forge:cloth'
|
||||
}).id('tfg:shaped/scaffolding_frame');
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/scaffolding_frame')
|
||||
.itemInputs('8x #forge:rods/wood', '#forge:cloth')
|
||||
.itemOutputs('tfg:scaffolding_frame')
|
||||
.duration(10)
|
||||
.EUt(2);
|
||||
|
||||
//Airship Hull
|
||||
event.shaped('tfg:airship_hull', [
|
||||
'A B',
|
||||
'C C',
|
||||
'CCC'
|
||||
], {
|
||||
A: '#forge:tools/screwdrivers',
|
||||
B: '#forge:tools/hammers',
|
||||
C: 'immersive_aircraft:hull'
|
||||
}).id('tfg:shaped/airship_hull');
|
||||
event.recipes.gtceu.assembler('tfg:assembler/airship_hull')
|
||||
.itemInputs('5x immersive_aircraft:hull')
|
||||
.itemOutputs('tfg:airship_hull')
|
||||
.duration(40)
|
||||
.circuit(1)
|
||||
.EUt(10);
|
||||
|
||||
//Airship Balloon
|
||||
event.shaped('tfg:airship_balloon', [
|
||||
'ABA',
|
||||
'BCB',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:string',
|
||||
B: 'immersive_aircraft:sail',
|
||||
C: 'tfc:bone_needle'
|
||||
}).id('tfg:shaped/airship_balloon')
|
||||
event.recipes.gtceu.assembler('tfg:assembler/airship_balloon')
|
||||
.itemInputs('4x immersive_aircraft:sail', '4x #forge:string')
|
||||
.itemOutputs('tfg:airship_balloon')
|
||||
.duration(40)
|
||||
.circuit(1)
|
||||
.EUt(10)
|
||||
|
||||
// Steam bloomery
|
||||
event.shaped('gtceu:steam_bloomery', [
|
||||
'CEC',
|
||||
'DAD',
|
||||
'CBC'
|
||||
], {
|
||||
A: 'tfc:bloomery',
|
||||
B: '#forge:frames/bronze',
|
||||
C: '#forge:rods/black_steel',
|
||||
D: '#forge:screws/wrought_iron',
|
||||
E: '#forge:tools/wrenches'
|
||||
})
|
||||
}
|
||||
276
kubejs/server_scripts/tfg/recipes.molds.js
Normal file
276
kubejs/server_scripts/tfg/recipes.molds.js
Normal file
|
|
@ -0,0 +1,276 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFGMoldRecipes(event) {
|
||||
|
||||
event.shaped('tfg:mining_hammer_head_extruder_mold', [
|
||||
'Sfh',
|
||||
' ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:sword_head_extruder_mold', [
|
||||
'Shf',
|
||||
' ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:pickaxe_head_extruder_mold', [
|
||||
'S ',
|
||||
'hf ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:axe_head_extruder_mold', [
|
||||
'S ',
|
||||
' fh',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:hoe_head_extruder_mold', [
|
||||
'S ',
|
||||
' hf',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:scythe_head_extruder_mold', [
|
||||
'S ',
|
||||
' ',
|
||||
'fh '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:file_head_extruder_mold', [
|
||||
'S ',
|
||||
' ',
|
||||
'hf '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:hammer_head_extruder_mold', [
|
||||
'Sf ',
|
||||
' h ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:saw_head_extruder_mold', [
|
||||
'Sh ',
|
||||
' f ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:knife_head_extruder_mold', [
|
||||
'S f',
|
||||
' ',
|
||||
' h'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:butchery_knife_head_extruder_mold', [
|
||||
'S h',
|
||||
' ',
|
||||
' f'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:shovel_head_extruder_mold', [
|
||||
'S ',
|
||||
'f ',
|
||||
'h '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:spade_head_extruder_mold', [
|
||||
'S ',
|
||||
'f ',
|
||||
' h'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:propick_head_extruder_mold', [
|
||||
'Sxf',
|
||||
' ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
x: '#forge:tools/wire_cutters'
|
||||
})
|
||||
|
||||
event.shaped('tfg:javelin_head_extruder_mold', [
|
||||
'S x',
|
||||
'f ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
x: '#forge:tools/wire_cutters'
|
||||
})
|
||||
|
||||
event.shaped('tfg:chisel_head_extruder_mold', [
|
||||
'S ',
|
||||
'xf ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
x: '#forge:tools/wire_cutters'
|
||||
})
|
||||
|
||||
event.shaped('tfg:mace_head_extruder_mold', [
|
||||
'S ',
|
||||
' xf',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
x: '#forge:tools/wire_cutters'
|
||||
})
|
||||
|
||||
event.shaped('tfg:lamp_casting_mold', [
|
||||
'Sh ',
|
||||
' ',
|
||||
' m'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
h: '#forge:tools/hammers',
|
||||
m: '#forge:tools/mallets'
|
||||
})
|
||||
|
||||
event.shaped('tfg:trapdoor_casting_mold', [
|
||||
'S h',
|
||||
' ',
|
||||
' m'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
h: '#forge:tools/hammers',
|
||||
m: '#forge:tools/mallets'
|
||||
})
|
||||
|
||||
event.shaped('tfg:chain_casting_mold', [
|
||||
'S ',
|
||||
'h ',
|
||||
' m'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
h: '#forge:tools/hammers',
|
||||
m: '#forge:tools/mallets'
|
||||
})
|
||||
|
||||
event.shaped('tfg:bell_casting_mold', [
|
||||
'S ',
|
||||
' h ',
|
||||
' m'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
h: '#forge:tools/hammers',
|
||||
m: '#forge:tools/mallets'
|
||||
})
|
||||
|
||||
event.shaped('tfg:mattock_head_extruder_mold', [
|
||||
' h',
|
||||
'fS ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
|
||||
let steelIngots = ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4);
|
||||
let steelDusts = ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 4);
|
||||
|
||||
global.TFG_EXTRUDER_MOLDS.forEach(mold => {
|
||||
|
||||
event.recipes.gtceu.arc_furnace(`arc_${mold}`.replace("tfg:", ""))
|
||||
.itemInputs(mold)
|
||||
.itemOutputs(steelIngots)
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
|
||||
event.recipes.gtceu.macerator(`macerate_${mold}`.replace("tfg:", ""))
|
||||
.itemInputs(mold)
|
||||
.itemOutputs(steelDusts)
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
event.recipes.gtceu.forming_press(`copy_shape_${mold}`.replace("tfg:", ""))
|
||||
.itemInputs('gtceu:empty_mold')
|
||||
.notConsumable(mold)
|
||||
.itemOutputs(mold)
|
||||
.duration(120)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
})
|
||||
|
||||
global.TFG_CASTING_MOLDS.forEach(mold => {
|
||||
|
||||
event.recipes.gtceu.arc_furnace(`arc_${mold}`.replace("tfg:", ""))
|
||||
.itemInputs(mold)
|
||||
.itemOutputs(steelIngots)
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
|
||||
event.recipes.gtceu.macerator(`macerate_${mold}`.replace("tfg:", ""))
|
||||
.itemInputs(mold)
|
||||
.itemOutputs(steelDusts)
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
event.recipes.gtceu.forming_press(`copy_shape_${mold}`.replace("tfg:", ""))
|
||||
.itemInputs('gtceu:empty_mold')
|
||||
.notConsumable(mold)
|
||||
.itemOutputs(mold)
|
||||
.duration(120)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
})
|
||||
}
|
||||
148
kubejs/server_scripts/tfg/recipes.paper.js
Normal file
148
kubejs/server_scripts/tfg/recipes.paper.js
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFGPapermakingRecipes(event) {
|
||||
|
||||
var 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)
|
||||
}
|
||||
|
||||
var generatePotRecipe = (id, maxAmountOfInputItems, inputItem, inputFluid, inputFluidAmount, outputItem, ticks, temperature) => {
|
||||
for (let i = 0; i < maxAmountOfInputItems; i++) {
|
||||
var 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.replaceInput({ id: 'gtceu:lathe/lathe_logs' }, '#minecraft:logs', '#tfg:softwood')
|
||||
//Create identical lathe recipe for hardwood
|
||||
event.recipes.gtceu.lathe('lathe_hardwood')
|
||||
.itemInputs('#tfg:hardwood')
|
||||
.itemOutputs('4x gtceu:long_wood_rod', '2x gtceu:hardwood_dust')
|
||||
.duration(160)
|
||||
.EUt(7)
|
||||
|
||||
//Replace macerate logs into macerate softwood logs
|
||||
event.replaceInput({ id: 'gtceu:macerator/macerate_logs' }, '#minecraft:logs', '#tfg:softwood')
|
||||
//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)
|
||||
|
||||
//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')
|
||||
|
||||
//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_last', 'hit_last'])
|
||||
.id('tfg:anvil/soaked_unrefined_paper')
|
||||
event.recipes.createDeploying(Item.of('tfg:soaked_unrefined_paper').withChance(0.8), ['gtceu:thermochemically_treated_hardwood_dust', '#forge:tools/hammers'])
|
||||
.id('tfg: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)
|
||||
}
|
||||
260
kubejs/server_scripts/tfg/recipes.rocks.js
Normal file
260
kubejs/server_scripts/tfg/recipes.rocks.js
Normal file
|
|
@ -0,0 +1,260 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFGRockRecipes(event) {
|
||||
|
||||
// #region Nether rock recipes
|
||||
|
||||
// loose rocks to cobble, bricks to brick blocks
|
||||
|
||||
const GLUEING_TOGETHER = [
|
||||
{ loose: 'tfg:loose/deepslate', block: 'minecraft:cobbled_deepslate' },
|
||||
{ loose: 'beneath:blackstone_pebble', block: 'minecraft:blackstone' },
|
||||
{ loose: 'tfg:brick/deepslate', block: '4x minecraft:deepslate_bricks' },
|
||||
{ loose: 'tfg:loose/dripstone', block: 'minecraft:dripstone_block' }
|
||||
]
|
||||
|
||||
GLUEING_TOGETHER.forEach(x => {
|
||||
event.shaped(x.block, [
|
||||
'ABA',
|
||||
'BAB',
|
||||
'ABA'
|
||||
], {
|
||||
A: x.loose,
|
||||
B: 'tfc:mortar'
|
||||
})
|
||||
|
||||
event.recipes.gtceu.assembler(`${x.loose}_to_${x.block}`.replace(/[: ]/g, '_'))
|
||||
.itemInputs(`5x ${x.loose}`)
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 72))
|
||||
.itemOutputs(x.block)
|
||||
.circuit(2)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
})
|
||||
|
||||
// loose to bricks
|
||||
|
||||
const LOOSE_TO_BRICKS = [
|
||||
{ loose: 'tfg:loose/deepslate', brick: 'tfg:brick/deepslate' }
|
||||
]
|
||||
|
||||
LOOSE_TO_BRICKS.forEach(x => {
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless(
|
||||
x.brick, [x.loose, '#tfc:chisels']
|
||||
))
|
||||
|
||||
event.recipes.gtceu.assembler(`${x.loose}_to_${x.brick}`.replace(/:/g, '_'))
|
||||
.itemInputs(x.loose)
|
||||
.itemOutputs(x.brick)
|
||||
.circuit(1)
|
||||
.duration(40)
|
||||
.EUt(8)
|
||||
})
|
||||
|
||||
// raw to polished
|
||||
|
||||
const RAW_TO_POLISHED = [
|
||||
{ raw: 'minecraft:deepslate', polished: 'minecraft:polished_deepslate' },
|
||||
{ raw: 'minecraft:blackstone', polished: 'minecraft:polished_blackstone' },
|
||||
{ raw: 'minecraft:deepslate_bricks', polished: 'minecraft:deepslate_tiles' },
|
||||
{ raw: 'minecraft:deepslate_tiles', polished: 'minecraft:chiseled_deepslate' },
|
||||
{ raw: 'minecraft:polished_blackstone_bricks', polished: 'minecraft:chiseled_polished_blackstone' },
|
||||
{ raw: 'minecraft:basalt', polished: 'minecraft:smooth_basalt' },
|
||||
{ raw: 'minecraft:smooth_basalt', polished: 'minecraft:polished_basalt' }
|
||||
]
|
||||
|
||||
RAW_TO_POLISHED.forEach(x => {
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless(
|
||||
x.polished, [x.raw, '#tfc:chisels']
|
||||
))
|
||||
|
||||
event.recipes.gtceu.laser_engraver(`${x.raw}_to_${x.polished}`.replace(/:/g, '_'))
|
||||
.itemInputs(x.raw)
|
||||
.itemOutputs(x.polished)
|
||||
.notConsumable('tfc:lens')
|
||||
.duration(30)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.custom({
|
||||
type: 'vintageimprovements:laser_cutting',
|
||||
ingredients: [{ item: x.raw }],
|
||||
results: [{item: x.polished }],
|
||||
energy: GTValues.VA[GTValues.ULV] * 30 * 4,
|
||||
maxChargeRate: GTValues.VA[GTValues.ULV] * 4
|
||||
}).id(`tfg:vi/laser/tfg/${x.raw.replace(/:/g, '_')}_to_${x.polished.replace(/:/g, '_')}`)
|
||||
})
|
||||
|
||||
// cracked bricks
|
||||
|
||||
const CRACKING = [
|
||||
{ raw: 'minecraft:deepslate_bricks', cracked: 'minecraft:cracked_deepslate_bricks' },
|
||||
{ raw: 'minecraft:deepslate_tiles', cracked: 'minecraft:cracked_deepslate_tiles' }
|
||||
]
|
||||
|
||||
CRACKING.forEach(x => {
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless(
|
||||
x.cracked, [x.raw, '#tfc:hammers']
|
||||
))
|
||||
|
||||
event.recipes.gtceu.forge_hammer(`${x.raw}_to_${x.cracked}`.replace(/:/g, '_'))
|
||||
.itemInputs(x.raw)
|
||||
.itemOutputs(x.cracked)
|
||||
.duration(12)
|
||||
.EUt(8)
|
||||
})
|
||||
|
||||
// forge hammer
|
||||
|
||||
const HAMMERING = [
|
||||
{ raw: 'minecraft:deepslate', hammered: 'minecraft:cobbled_deepslate' },
|
||||
{ raw: 'minecraft:cobbled_deepslate', hammered: 'tfc:sand/black' },
|
||||
{ raw: 'minecraft:blackstone', hammered: 'tfc:sand/black' },
|
||||
{ raw: 'beneath:crackrack', hammered: 'tfc:sand/pink' },
|
||||
{ raw: 'minecraft:dripstone_block', hammered: 'tfc:sand/brown' }
|
||||
]
|
||||
|
||||
HAMMERING.forEach(x => {
|
||||
event.recipes.gtceu.forge_hammer(`${x.raw}_to_${x.hammered}`.replace(/:/g, '_'))
|
||||
.itemInputs(x.raw)
|
||||
.itemOutputs(x.hammered)
|
||||
.duration(12)
|
||||
.EUt(8)
|
||||
})
|
||||
|
||||
// slabs, stairs, walls
|
||||
|
||||
const CUTTER = [
|
||||
{
|
||||
raw: 'minecraft:cobbled_deepslate',
|
||||
stair: 'minecraft:cobbled_deepslate_stairs',
|
||||
slab: 'minecraft:cobbled_deepslate_slab',
|
||||
wall: 'minecraft:cobbled_deepslate_wall',
|
||||
dust: 'gtceu:deepslate_dust',
|
||||
loose: 'tfg:loose/deepslate'
|
||||
},
|
||||
{
|
||||
raw: 'minecraft:polished_deepslate',
|
||||
stair: 'minecraft:polished_deepslate_stairs',
|
||||
slab: 'minecraft:polished_deepslate_slab',
|
||||
wall: 'minecraft:polished_deepslate_wall',
|
||||
dust: 'gtceu:deepslate_dust'
|
||||
},
|
||||
{
|
||||
raw: 'minecraft:deepslate_bricks',
|
||||
stair: 'minecraft:deepslate_brick_stairs',
|
||||
slab: 'minecraft:deepslate_brick_slab',
|
||||
wall: 'minecraft:deepslate_brick_wall',
|
||||
dust: 'gtceu:deepslate_dust'
|
||||
},
|
||||
{
|
||||
raw: 'minecraft:deepslate_tiles',
|
||||
stair: 'minecraft:deepslate_tile_stairs',
|
||||
slab: 'minecraft:deepslate_tile_slab',
|
||||
wall: 'minecraft:deepslate_tile_wall',
|
||||
dust: 'gtceu:deepslate_dust'
|
||||
},
|
||||
{
|
||||
raw: 'minecraft:blackstone',
|
||||
stair: 'minecraft:blackstone_stairs',
|
||||
slab: 'minecraft:blackstone_slab',
|
||||
wall: 'minecraft:blackstone_wall',
|
||||
dust: 'gtceu:blackstone_dust',
|
||||
loose: 'beneath:blackstone_pebble'
|
||||
},
|
||||
{
|
||||
raw: 'minecraft:polished_blackstone',
|
||||
stair: 'minecraft:polished_blackstone_stairs',
|
||||
slab: 'minecraft:polished_blackstone_slab',
|
||||
wall: 'minecraft:polished_blackstone_wall',
|
||||
dust: 'gtceu:blackstone_dust'
|
||||
},
|
||||
{
|
||||
raw: 'minecraft:polished_blackstone_bricks',
|
||||
stair: 'minecraft:polished_blackstone_brick_stairs',
|
||||
slab: 'minecraft:polished_blackstone_brick_slab',
|
||||
wall: 'minecraft:polished_blackstone_brick_wall',
|
||||
dust: 'gtceu:blackstone_dust'
|
||||
}
|
||||
]
|
||||
|
||||
CUTTER.forEach(x => {
|
||||
if ("stair" in x) {
|
||||
event.recipes.tfc.chisel(x.stair, x.raw, 'stair')
|
||||
//event.stonecutting(x.stair, x.raw).id(`${x.raw}_to_${x.stair}`.replace(/:/g, '_'))
|
||||
|
||||
event.recipes.gtceu.macerator(`macerate_${x.stair}`.replace(/:/g, '_'))
|
||||
.itemInputs(x.stair)
|
||||
.itemOutputs(x.dust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
if ("loose" in x) {
|
||||
event.shapeless(`3x ${x.loose}`, [x.stair])
|
||||
}
|
||||
}
|
||||
if ("slab" in x) {
|
||||
event.recipes.tfc.chisel(x.slab, x.raw, 'slab')
|
||||
//event.stonecutting(`2x ${x.slab}`, x.raw).id(`${x.raw}_to_${x.slab}`.replace(/:/g, '_'))
|
||||
|
||||
event.recipes.gtceu.macerator(`macerate_${x.slab}`.replace(/:/g, '_'))
|
||||
.itemInputs(`2x ${x.slab}`)
|
||||
.itemOutputs(x.dust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
if ("loose" in x) {
|
||||
event.shapeless(`2x ${x.loose}`, [x.slab])
|
||||
}
|
||||
}
|
||||
if ("wall" in x) {
|
||||
event.recipes.tfc.chisel(x.slab, x.raw, 'smooth')
|
||||
//event.stonecutting(x.wall, x.raw).id(`${x.raw}_to_${x.wall}`.replace(/:/g, '_'))
|
||||
|
||||
event.recipes.gtceu.macerator(`macerate_${x.wall}`.replace(/:/g, '_'))
|
||||
.itemInputs(x.wall)
|
||||
.itemOutputs(x.dust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
}
|
||||
|
||||
if ("loose" in x) {
|
||||
event.shapeless(`4x ${x.loose}`, [x.raw])
|
||||
}
|
||||
})
|
||||
|
||||
const MACERATOR = [
|
||||
{ block: 'minecraft:deepslate', dust: 'gtceu:deepslate_dust' },
|
||||
{ block: 'minecraft:dripstone_block', dust: 'tfg:dripstone_dust' }
|
||||
]
|
||||
|
||||
MACERATOR.forEach(x => {
|
||||
event.recipes.gtceu.macerator(`macerate_${x.block}`.replace(/:/g, '_'))
|
||||
.itemInputs(x.block)
|
||||
.itemOutputs(x.dust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
})
|
||||
|
||||
// rock breaker
|
||||
|
||||
const ROCK_DUPING = [
|
||||
'minecraft:deepslate',
|
||||
'minecraft:cobbled_deepslate',
|
||||
'minecraft:blackstone',
|
||||
'minecraft:dripstone_block'
|
||||
]
|
||||
|
||||
ROCK_DUPING.forEach(x => {
|
||||
event.recipes.gtceu.rock_breaker(x)
|
||||
.notConsumable(x)
|
||||
.itemOutputs(x)
|
||||
.duration(16)
|
||||
.EUt(7)
|
||||
})
|
||||
|
||||
// #endregion
|
||||
}
|
||||
229
kubejs/server_scripts/tfg/recipes.supports.js
Normal file
229
kubejs/server_scripts/tfg/recipes.supports.js
Normal file
|
|
@ -0,0 +1,229 @@
|
|||
// priority: 0
|
||||
|
||||
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.chemical_bath('tfg:gtceu/chemical_bath/reinforced_dark_concrete_support')
|
||||
.inputFluids(Fluid.of('minecraft:water', 100))
|
||||
.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('minecraft:water', 100))
|
||||
.itemOutputs('1x tfg:dark_concrete_support')
|
||||
.itemInputs('1x tfg:light_concrete_support')
|
||||
.duration(60)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
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(4)
|
||||
.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(4)
|
||||
.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(4)
|
||||
.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(4)
|
||||
.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])
|
||||
})
|
||||
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('8x tfg:travertine_support', [
|
||||
'AB ',
|
||||
'AC ',
|
||||
'AC '
|
||||
],{
|
||||
A: 'tfg:loose/dripstone',
|
||||
B: '#tfc:chisels',
|
||||
C: 'tfc:mortar'
|
||||
}).id('tfg:shaped/travertine_support'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:gtceu/assembler/travertine_support')
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 36))
|
||||
.itemOutputs('8x tfg:travertine_support')
|
||||
.itemInputs('3x tfg:loose/dripstone')
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('8x tfg:migmatite_support', [
|
||||
'AB ',
|
||||
'AC ',
|
||||
'AC '
|
||||
],{
|
||||
A: 'tfg:loose/deepslate',
|
||||
B: '#tfc:chisels',
|
||||
C: 'tfc:mortar'
|
||||
}).id('tfg:shaped/migmatite_support'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:gtceu/assembler/migmatite_support')
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 36))
|
||||
.itemOutputs('8x tfg:migmatite_support')
|
||||
.itemInputs('3x tfg:loose/deepslate')
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('8x tfg:pyroxenite_support', [
|
||||
'AB ',
|
||||
'AC ',
|
||||
'AC '
|
||||
],{
|
||||
A: 'beneath:blackstone_pebble',
|
||||
B: '#tfc:chisels',
|
||||
C: 'tfc:mortar'
|
||||
}).id('tfg:shaped/pyroxenite_support'))
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:gtceu/assembler/pyroxenite_support')
|
||||
.circuit(4)
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 36))
|
||||
.itemOutputs('8x tfg:pyroxenite_support')
|
||||
.itemInputs('3x beneath:blackstone_pebble')
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
// Metal Supports
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
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(4)
|
||||
.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.tfc.anvil(
|
||||
'4x 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(4)
|
||||
.itemOutputs('8x tfg:steel_support')
|
||||
.itemInputs('2x #forge:double_ingots/steel')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/steel_support')
|
||||
.itemInputs('tfg:steel_support')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Steel, 1)
|
||||
)
|
||||
.duration(GTMaterials.Steel.getMass() * 1)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/steel_support')
|
||||
.itemInputs('tfg:steel_support')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Steel, 2)
|
||||
)
|
||||
.duration(GTMaterials.Steel.getMass() * 1)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.extractor('tfg:extractor/recycling/steel_support')
|
||||
.itemInputs('tfg:steel_support')
|
||||
.outputFluids(Fluid.of('gtceu:steel', 36))
|
||||
.duration(GTMaterials.Steel.getMass() * 1)
|
||||
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
|
|
@ -1,218 +1,215 @@
|
|||
ServerEvents.recipes(event => {
|
||||
|
||||
event.remove({ id: 'gtceu:gas_collector/nether_air' })
|
||||
event.remove({ id: 'minecraft:netherite_upgrade_smithing_template' })
|
||||
event.remove({ id: 'gtceu:gas_collector/ender_air' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_end_stone' })
|
||||
event.remove({ id: 'minecraft:ender_chest' })
|
||||
event.remove({ id: 'gtceu:assembler/ender_chest' })
|
||||
event.remove({ id: 'minecraft:end_crystal' })
|
||||
event.remove({ id: 'gtceu:assembler/end_crystal' })
|
||||
|
||||
// nether slurry
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:nether_slurry')
|
||||
.itemInputs('gtceu:basalt_dust', 'minecraft:blaze_powder', 'minecraft:gold_nugget')
|
||||
.inputFluids(Fluid.of('minecraft:lava', 1000))
|
||||
.outputFluids(Fluid.of('tfg:nether_slurry', 1000))
|
||||
.duration(200)
|
||||
.EUt(512)
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:enriched_nether_slurry')
|
||||
.itemInputs('minecraft:quartz', 'minecraft:redstone')
|
||||
.inputFluids(Fluid.of('tfg:nether_slurry', 2000))
|
||||
.outputFluids(Fluid.of('tfg:enriched_nether_slurry', 2000))
|
||||
.duration(200)
|
||||
.EUt(512)
|
||||
|
||||
// nether air
|
||||
|
||||
event.recipes.gtceu.nether_dome('tfg:slurry_to_air')
|
||||
.inputFluids(Fluid.of('tfg:nether_slurry', 100))
|
||||
.outputFluids(Fluid.of('gtceu:nether_air', 32000))
|
||||
.duration(200)
|
||||
.EUt(256)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.nether_dome('tfg:enriched_slurry_to_air')
|
||||
.inputFluids(Fluid.of('tfg:enriched_nether_slurry', 100))
|
||||
.outputFluids(Fluid.of('gtceu:nether_air', 128000))
|
||||
.duration(200)
|
||||
.EUt(256)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.nether_dome('tfg:quartz')
|
||||
.itemInputs('gtceu:quartzite_gem')
|
||||
.inputFluids(Fluid.of('tfg:nether_slurry', 25))
|
||||
.itemOutputs('minecraft:quartz')
|
||||
.duration(200)
|
||||
.EUt(512)
|
||||
.circuit(2)
|
||||
|
||||
// netherarium
|
||||
|
||||
event.shaped('gtceu:nether_dome', [
|
||||
'ADA',
|
||||
'CEC',
|
||||
'FBF'
|
||||
], {
|
||||
A: 'minecraft:quartz',
|
||||
B: 'minecraft:gold_block',
|
||||
C: 'minecraft:blaze_rod',
|
||||
D: 'gtceu:hv_emitter',
|
||||
E: 'gtceu:hv_gas_collector',
|
||||
F: 'gtceu:dense_obsidian_plate'
|
||||
}).id('tfg:shaped/nether_dome2')
|
||||
|
||||
// netherrack
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:netherrack')
|
||||
.itemInputs('#forge:stone')
|
||||
.inputFluids(Fluid.of('gtceu:blaze', 144))
|
||||
.itemOutputs('minecraft:netherrack')
|
||||
.duration(200)
|
||||
.EUt(512)
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:obsidian')
|
||||
.itemInputs('minecraft:obsidian')
|
||||
.itemOutputs('gtceu:obsidian_dust')
|
||||
.duration(100)
|
||||
.EUt(512)
|
||||
|
||||
// nether bricks
|
||||
|
||||
event.shaped('4x minecraft:nether_bricks', [
|
||||
'ABA',
|
||||
'BAB',
|
||||
'ABA'
|
||||
], {
|
||||
A: 'minecraft:nether_brick',
|
||||
B: 'tfc:mortar'
|
||||
}).id('tfg:shaped/nether_bricks')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:nether_bricks')
|
||||
.itemInputs('5x minecraft:nether_brick')
|
||||
.itemOutputs('4x minecraft:nether_bricks')
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 72))
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
// ender slurry
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:ender_slurry')
|
||||
.itemInputs('gtceu:obsidian_dust', 'minecraft:end_stone')
|
||||
.inputFluids(Fluid.of('gtceu:helium', 200), Fluid.of('gtceu:radon', 50))
|
||||
.outputFluids(Fluid.of('tfg:ender_slurry', 250))
|
||||
.duration(200)
|
||||
.EUt(2048)
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:enriched_ender_slurry')
|
||||
.itemInputs('minecraft:chorus_fruit', 'ae2:ender_dust')
|
||||
.inputFluids(Fluid.of('tfg:ender_slurry', 500))
|
||||
.outputFluids(Fluid.of('tfg:enriched_ender_slurry', 500))
|
||||
.duration(200)
|
||||
.EUt(2048)
|
||||
|
||||
// ender air
|
||||
|
||||
event.recipes.gtceu.end_dome('tfg:slurry_to_air')
|
||||
.inputFluids(Fluid.of('tfg:ender_slurry', 25))
|
||||
.outputFluids(Fluid.of('gtceu:ender_air', 32000))
|
||||
.duration(200)
|
||||
.EUt(1024)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.end_dome('tfg:enriched_slurry_to_air')
|
||||
.inputFluids(Fluid.of('tfg:enriched_ender_slurry', 25))
|
||||
.outputFluids(Fluid.of('gtceu:ender_air', 128000))
|
||||
.duration(200)
|
||||
.EUt(1024)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.end_dome('tfg:pearls')
|
||||
.itemInputs('gtceu:quantum_eye')
|
||||
.inputFluids(Fluid.of('tfg:ender_slurry', 10))
|
||||
.itemOutputs('2x minecraft:ender_pearl')
|
||||
.duration(200)
|
||||
.EUt(2048)
|
||||
.circuit(2)
|
||||
|
||||
// enderarium
|
||||
|
||||
event.shaped('gtceu:end_dome', [
|
||||
'DAD',
|
||||
'CEC',
|
||||
'FBF'
|
||||
], {
|
||||
A: 'gtceu:ev_emitter',
|
||||
B: 'minecraft:end_stone',
|
||||
C: 'tfc:metal/bars/wrought_iron',
|
||||
D: 'minecraft:end_crystal',
|
||||
E: 'gtceu:ev_gas_collector',
|
||||
F: 'gtceu:dense_obsidian_plate'
|
||||
}).id('tfg:shaped/end_dome')
|
||||
|
||||
// parts for the ender dome
|
||||
|
||||
event.shaped('minecraft:end_crystal', [
|
||||
'AAA',
|
||||
'ABA',
|
||||
'ACA'
|
||||
], {
|
||||
A: 'gtceu:tempered_glass',
|
||||
B: 'gtceu:quantum_eye',
|
||||
C: '#forge:exquisite_gems'
|
||||
}).id('tfg:shaped/end_crystal')
|
||||
|
||||
// chorus fruit
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor('tfg:chorus_fruit_uranium')
|
||||
.itemInputs('#tfc:foods/fruits', 'gtceu:uranium_235_dust')
|
||||
.itemOutputs('minecraft:chorus_fruit', 'gtceu:uranium_dust')
|
||||
.duration(500)
|
||||
.EUt(480)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor('tfg:chorus_fruit_plutonium')
|
||||
.itemInputs('#tfc:foods/fruits', 'gtceu:plutonium_241_dust')
|
||||
.itemOutputs('minecraft:chorus_fruit', 'gtceu:plutonium_dust')
|
||||
.duration(200)
|
||||
.EUt(480)
|
||||
|
||||
event.recipes.gtceu.centrifuge('tfg:kovarex')
|
||||
.itemInputs('40x gtceu:uranium_235_dust', '5x gtceu:uranium_dust')
|
||||
.itemOutputs('41x gtceu:uranium_235_dust', '2x gtceu:uranium_dust')
|
||||
.duration(1000)
|
||||
.EUt(512)
|
||||
|
||||
// end stone
|
||||
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:end_stone')
|
||||
.itemInputs('#forge:stone')
|
||||
.inputFluids(Fluid.of('gtceu:argon', 100))
|
||||
.itemOutputs('minecraft:end_stone')
|
||||
.duration(100)
|
||||
.EUt(2048)
|
||||
|
||||
// dragon egg
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:dragon_egg')
|
||||
.itemInputs('#forge:eggs')
|
||||
.inputFluids(Fluid.of('gtceu:thorium', 1296))
|
||||
.itemOutputs('minecraft:dragon_egg')
|
||||
.duration(2000)
|
||||
.EUt(2048)
|
||||
|
||||
// end portal frame
|
||||
|
||||
event.shaped('tfg:artificial_end_portal_frame', [
|
||||
'A',
|
||||
'B',
|
||||
'C'
|
||||
], {
|
||||
A: 'minecraft:ender_eye',
|
||||
B: 'minecraft:cyan_carpet',
|
||||
C: 'minecraft:end_stone'
|
||||
}).id('tfg:shaped/artificial_end_portal_frame')
|
||||
})
|
||||
|
||||
// priority: 0
|
||||
|
||||
function registerTFGTerrariumRecipes(event) {
|
||||
|
||||
event.remove({ id: 'gtceu:gas_collector/nether_air' })
|
||||
event.remove({ id: 'gtceu:gas_collector/ender_air' })
|
||||
|
||||
// nether slurry
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:nether_slurry')
|
||||
.itemInputs('gtceu:basalt_dust', 'minecraft:blaze_powder', 'minecraft:gold_nugget')
|
||||
.inputFluids(Fluid.of('minecraft:lava', 1000))
|
||||
.outputFluids(Fluid.of('tfg:nether_slurry', 1000))
|
||||
.duration(200)
|
||||
.EUt(512)
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:enriched_nether_slurry')
|
||||
.itemInputs('minecraft:quartz', 'minecraft:redstone')
|
||||
.inputFluids(Fluid.of('tfg:nether_slurry', 2000))
|
||||
.outputFluids(Fluid.of('tfg:enriched_nether_slurry', 2000))
|
||||
.duration(200)
|
||||
.EUt(512)
|
||||
|
||||
// nether air
|
||||
|
||||
event.recipes.gtceu.nether_dome('tfg:slurry_to_air')
|
||||
.inputFluids(Fluid.of('tfg:nether_slurry', 100))
|
||||
.outputFluids(Fluid.of('gtceu:nether_air', 32000))
|
||||
.duration(200)
|
||||
.EUt(256)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.nether_dome('tfg:enriched_slurry_to_air')
|
||||
.inputFluids(Fluid.of('tfg:enriched_nether_slurry', 100))
|
||||
.outputFluids(Fluid.of('gtceu:nether_air', 128000))
|
||||
.duration(200)
|
||||
.EUt(256)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.nether_dome('tfg:quartz')
|
||||
.itemInputs('gtceu:quartzite_gem')
|
||||
.inputFluids(Fluid.of('tfg:nether_slurry', 25))
|
||||
.itemOutputs('minecraft:quartz')
|
||||
.duration(200)
|
||||
.EUt(512)
|
||||
.circuit(2)
|
||||
|
||||
// netherarium
|
||||
|
||||
event.shaped('gtceu:nether_dome', [
|
||||
'ADA',
|
||||
'CEC',
|
||||
'FBF'
|
||||
], {
|
||||
A: 'minecraft:quartz',
|
||||
B: 'minecraft:gold_block',
|
||||
C: 'minecraft:blaze_rod',
|
||||
D: 'gtceu:hv_emitter',
|
||||
E: 'gtceu:hv_gas_collector',
|
||||
F: 'gtceu:dense_obsidian_plate'
|
||||
}).id('tfg:shaped/nether_dome2')
|
||||
|
||||
// netherrack
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:netherrack')
|
||||
.itemInputs('#forge:stone')
|
||||
.inputFluids(Fluid.of('gtceu:blaze', 144))
|
||||
.itemOutputs('minecraft:netherrack')
|
||||
.duration(200)
|
||||
.EUt(512)
|
||||
|
||||
event.recipes.gtceu.macerator('tfg:obsidian')
|
||||
.itemInputs('minecraft:obsidian')
|
||||
.itemOutputs('gtceu:obsidian_dust')
|
||||
.duration(100)
|
||||
.EUt(512)
|
||||
|
||||
// nether bricks
|
||||
|
||||
event.shaped('4x minecraft:nether_bricks', [
|
||||
'ABA',
|
||||
'BAB',
|
||||
'ABA'
|
||||
], {
|
||||
A: 'minecraft:nether_brick',
|
||||
B: 'tfc:mortar'
|
||||
}).id('tfg:shaped/nether_bricks')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:nether_bricks')
|
||||
.itemInputs('5x minecraft:nether_brick')
|
||||
.itemOutputs('4x minecraft:nether_bricks')
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 72))
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
// ender slurry
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:ender_slurry')
|
||||
.itemInputs('gtceu:obsidian_dust', 'minecraft:end_stone')
|
||||
.inputFluids(Fluid.of('gtceu:helium', 200), Fluid.of('gtceu:radon', 50))
|
||||
.outputFluids(Fluid.of('tfg:ender_slurry', 250))
|
||||
.duration(200)
|
||||
.EUt(2048)
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:enriched_ender_slurry')
|
||||
.itemInputs('minecraft:chorus_fruit', 'ae2:ender_dust')
|
||||
.inputFluids(Fluid.of('tfg:ender_slurry', 500))
|
||||
.outputFluids(Fluid.of('tfg:enriched_ender_slurry', 500))
|
||||
.duration(200)
|
||||
.EUt(2048)
|
||||
|
||||
// ender air
|
||||
|
||||
event.recipes.gtceu.end_dome('tfg:slurry_to_air')
|
||||
.inputFluids(Fluid.of('tfg:ender_slurry', 25))
|
||||
.outputFluids(Fluid.of('gtceu:ender_air', 32000))
|
||||
.duration(200)
|
||||
.EUt(1024)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.end_dome('tfg:enriched_slurry_to_air')
|
||||
.inputFluids(Fluid.of('tfg:enriched_ender_slurry', 25))
|
||||
.outputFluids(Fluid.of('gtceu:ender_air', 128000))
|
||||
.duration(200)
|
||||
.EUt(1024)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.end_dome('tfg:pearls')
|
||||
.itemInputs('gtceu:quantum_eye')
|
||||
.inputFluids(Fluid.of('tfg:ender_slurry', 10))
|
||||
.itemOutputs('2x minecraft:ender_pearl')
|
||||
.duration(200)
|
||||
.EUt(2048)
|
||||
.circuit(2)
|
||||
|
||||
// enderarium
|
||||
|
||||
event.shaped('gtceu:end_dome', [
|
||||
'DAD',
|
||||
'CEC',
|
||||
'FBF'
|
||||
], {
|
||||
A: 'gtceu:ev_emitter',
|
||||
B: 'minecraft:end_stone',
|
||||
C: 'tfc:metal/bars/wrought_iron',
|
||||
D: 'minecraft:end_crystal',
|
||||
E: 'gtceu:ev_gas_collector',
|
||||
F: 'gtceu:dense_obsidian_plate'
|
||||
}).id('tfg:shaped/end_dome')
|
||||
|
||||
// parts for the ender dome
|
||||
|
||||
event.shaped('minecraft:end_crystal', [
|
||||
'AAA',
|
||||
'ABA',
|
||||
'ACA'
|
||||
], {
|
||||
A: 'gtceu:tempered_glass',
|
||||
B: 'gtceu:quantum_eye',
|
||||
C: '#forge:exquisite_gems'
|
||||
}).id('tfg:shaped/end_crystal')
|
||||
|
||||
// chorus fruit
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor('tfg:chorus_fruit_uranium')
|
||||
.itemInputs('#tfc:foods/fruits', 'gtceu:uranium_235_dust')
|
||||
.itemOutputs('minecraft:chorus_fruit', 'gtceu:uranium_dust')
|
||||
.duration(500)
|
||||
.EUt(480)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor('tfg:chorus_fruit_plutonium')
|
||||
.itemInputs('#tfc:foods/fruits', 'gtceu:plutonium_241_dust')
|
||||
.itemOutputs('minecraft:chorus_fruit', 'gtceu:plutonium_dust')
|
||||
.duration(200)
|
||||
.EUt(480)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor('tfg:kovarex')
|
||||
.itemInputs('40x gtceu:uranium_235_dust', '5x gtceu:uranium_dust')
|
||||
.itemOutputs('41x gtceu:uranium_235_dust', '2x gtceu:uranium_dust')
|
||||
.duration(600)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
.circuit(2)
|
||||
|
||||
// end stone
|
||||
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:end_stone')
|
||||
.itemInputs('#forge:stone')
|
||||
.inputFluids(Fluid.of('gtceu:argon', 100))
|
||||
.itemOutputs('minecraft:end_stone')
|
||||
.duration(100)
|
||||
.EUt(2048)
|
||||
|
||||
// dragon egg
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:dragon_egg')
|
||||
.itemInputs('#forge:eggs')
|
||||
.inputFluids(Fluid.of('gtceu:thorium', 1296))
|
||||
.itemOutputs('minecraft:dragon_egg')
|
||||
.duration(2000)
|
||||
.EUt(2048)
|
||||
|
||||
// end portal frame
|
||||
|
||||
event.shaped('tfg:artificial_end_portal_frame', [
|
||||
'A',
|
||||
'B',
|
||||
'C'
|
||||
], {
|
||||
A: 'minecraft:ender_eye',
|
||||
B: 'minecraft:cyan_carpet',
|
||||
C: 'minecraft:end_stone'
|
||||
}).id('tfg:shaped/artificial_end_portal_frame')
|
||||
}
|
||||
|
|
@ -1,12 +1,346 @@
|
|||
const registerTFGItemTags = (event) =>
|
||||
{
|
||||
event.add('tfg:hardwood_strips', 'tfg:hardwood_strip')
|
||||
event.add('tfg:hardwood_strips', 'tfg:soaked_hardwood_strip')
|
||||
//Adding any of these dusts to the forge dusts/wood tag will make it so you can craft softwood pulp using hardwood pulp. which is not ok.
|
||||
event.add('tfg:wood_dusts', 'gtceu:hardwood_dust')
|
||||
event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_hardwood_dust')
|
||||
event.add('tfg:small_wood_dusts', 'gtceu:small_hardwood_dust')
|
||||
event.add('tfg:wood_dusts', 'gtceu:wood_dust')
|
||||
event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_wood_dust')
|
||||
event.add('tfg:small_wood_dusts', 'gtceu:small_wood_dust')
|
||||
const registerTFGItemTags = (event) => {
|
||||
//Decorative Vases
|
||||
global.MINECRAFT_DYE_NAMES.forEach(color => {
|
||||
event.add('c:hidden_from_recipe_viewers', `tfg:decorative_vase/generated/${color}`)
|
||||
event.add('tfg:decorative_vases/generated', `tfg:decorative_vase/generated/${color}`)
|
||||
event.add('tfg:decorative_vases', `tfg:decorative_vase/${color}`)
|
||||
event.add('tfg:decorative_vases/unfired', `tfg:decorative_vase/unfired/${color}`)
|
||||
})
|
||||
event.add('tfg:decorative_vases', 'tfg:decorative_vase')
|
||||
event.add('tfg:decorative_vases/unfired', 'tfg:decorative_vase/unfired')
|
||||
|
||||
// #region Paper from wood
|
||||
|
||||
event.add('tfg:hardwood_strips', 'tfg:hardwood_strip')
|
||||
event.add('tfg:hardwood_strips', 'tfg:soaked_hardwood_strip')
|
||||
//Adding any of these dusts to the forge dusts/wood tag will make it so you can craft softwood pulp using hardwood pulp. which is not ok.
|
||||
event.add('tfg:wood_dusts', 'gtceu:hardwood_dust')
|
||||
event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_hardwood_dust')
|
||||
event.add('tfg:small_wood_dusts', 'gtceu:small_hardwood_dust')
|
||||
event.add('tfg:wood_dusts', 'gtceu:wood_dust')
|
||||
event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_wood_dust')
|
||||
event.add('tfg:small_wood_dusts', 'gtceu:small_wood_dust')
|
||||
|
||||
event.add('forge:wax', 'tfg:paraffin_wax')
|
||||
event.add('forge:wax', 'firmalife:beeswax')
|
||||
event.add('forge:wax', 'tfg:conifer_rosin')
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Medicines
|
||||
|
||||
event.add('tfg:antipoison_ingredients', 'tfc:plant/blood_lily')
|
||||
event.add('tfg:antipoison_ingredients', 'tfc:plant/pistia')
|
||||
event.add('tfg:antipoison_ingredients', 'tfc:powder/bismuthinite')
|
||||
event.add('tfg:antipoison_ingredients', 'gtceu:mica_dust')
|
||||
event.add('tfg:antipoison_ingredients', 'gtceu:fullers_earth_dust')
|
||||
|
||||
event.add('tfg:poison_ingredients', 'tfc:plant/butterfly_milkweed')
|
||||
event.add('tfg:poison_ingredients', 'tfc:plant/grape_hyacinth')
|
||||
event.add('tfg:poison_ingredients', 'tfc:plant/lily_of_the_valley')
|
||||
event.add('tfg:poison_ingredients', 'tfc:plant/pulsatilla')
|
||||
event.add('tfg:poison_ingredients', 'firmalife:food/nightshade_berry')
|
||||
event.add('tfg:poison_ingredients', 'minecraft:red_mushroom')
|
||||
|
||||
event.add('tfg:regeneration_ingredients', 'tfc:plant/lilac')
|
||||
event.add('tfg:regeneration_ingredients', 'tfc:plant/field_horsetail')
|
||||
event.add('tfg:regeneration_ingredients', 'tfc:plant/licorice_fern')
|
||||
event.add('tfg:regeneration_ingredients', 'tfc:plant/sacred_datura')
|
||||
|
||||
event.add('tfg:speed_ingredients', 'tfc:plant/labrador_tea')
|
||||
event.add('tfg:speed_ingredients', 'firmalife:raw_honey')
|
||||
|
||||
event.add('tfg:slowness_ingredients', 'tfc:plant/marigold')
|
||||
|
||||
event.add('tfg:weakness_ingredients', 'tfc:plant/laminaria')
|
||||
|
||||
event.add('tfg:haste_ingredients', 'minecraft:sugar')
|
||||
event.add('tfg:haste_ingredients', 'afc:birch_sugar')
|
||||
event.add('tfg:haste_ingredients', 'afc:maple_sugar')
|
||||
|
||||
event.add('tfg:water_breathing_ingredients', 'tfc:powder/saltpeter')
|
||||
event.add('tfg:water_breathing_ingredients', 'tfc:powder/charcoal')
|
||||
|
||||
event.add('tfg:night_vision_ingredients', 'tfc:food/carrot')
|
||||
|
||||
event.add('tfg:invisibility_ingredients', 'tfc:plant/calendula')
|
||||
|
||||
event.add('tfg:fire_resistance_ingredients', 'tfc:plant/cattail')
|
||||
event.add('tfg:fire_resistance_ingredients', 'tfc:plant/meads_milkweed')
|
||||
event.add('tfg:fire_resistance_ingredients', 'firmalife:plant/bay_laurel')
|
||||
|
||||
event.add('tfg:resistance_ingredients', 'tfc:plant/hibiscus')
|
||||
event.add('tfg:resistance_ingredients', 'gtceu:calcium_dust')
|
||||
|
||||
event.add('tfg:instant_health_ingredients', 'tfc:plant/foxglove')
|
||||
event.add('tfg:instant_health_ingredients', 'tfc:plant/artists_conk')
|
||||
|
||||
event.add('tfg:absorption_ingredients', 'tfc:plant/poppy')
|
||||
|
||||
event.add('tfg:luck_ingredients', 'tfc:plant/goldenrod')
|
||||
event.add('tfg:luck_ingredients', 'tfc:plant/heather')
|
||||
// #endregion
|
||||
|
||||
//region Airplane Upgrades
|
||||
global.AIRCRAFT_UPGRADES.forEach(value => {
|
||||
event.add('immersive_aircraft:upgrades', `tfg:${value}`);
|
||||
})
|
||||
|
||||
// #region 0.7.19 -> 0.9 conversion
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'treetap:tap')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:zinc_ingot')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:brass_ingot')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:vanadium_ingot')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:black_steel_ingot')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:red_steel_ingot')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:blue_steel_ingot')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:iron_double_ingot')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:black_steel_double_ingot')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:red_steel_double_ingot')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:blue_steel_double_ingot')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:zinc_nugget')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:brass_nugget')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:copper_nugget')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:vanadium_nugget')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:copper_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:brass_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:gold_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:iron_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:cobalt_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:rose_gold_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:aluminium_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:invar_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:lead_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:nickel_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:osmium_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:palladium_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:platinum_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:rhodium_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:silver_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:vanadium_plate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:zinc_plate')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:vanadium_block')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:zinc_block')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:brass_block')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:gold_purified_ore')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:copper_purified_ore')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:zinc_purified_ore')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:silver_purified_ore')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:tin_purified_ore')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:lead_purified_ore')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_copper')
|
||||
event.add('c:hidden_from_recipe_viewers', 'minecraft:raw_copper')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_copper')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_gold')
|
||||
event.add('c:hidden_from_recipe_viewers', 'minecraft:raw_gold')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_gold')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_tetrahedrite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_tetrahedrite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_tetrahedrite')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_malachite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_malachite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_malachite')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_hematite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_hematite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_hematite')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_cassiterite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_cassiterite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_cassiterite')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_bismuth')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_bismuth')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_bismuth')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_magnetite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_magnetite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_magnetite')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_yellow_limonite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_yellow_limonite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_yellow_limonite')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_sphalerite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_sphalerite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_sphalerite')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_garnierite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_garnierite')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_garnierite')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_silver')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_silver')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_silver')
|
||||
|
||||
//#endregion
|
||||
}
|
||||
|
||||
const registerTFGBlockTags = (event) => {
|
||||
|
||||
event.add('minecraft:mineable/shovel', 'tfg:ash_pile')
|
||||
|
||||
// #region Nether blocks
|
||||
|
||||
event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_deepslate')
|
||||
event.add('minecraft:moss_replaceable', 'tfg:rock/hardened_deepslate')
|
||||
event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_deepslate')
|
||||
event.add('beneath:nether_bush_plantable_on', 'tfg:rock/hardened_deepslate')
|
||||
event.add('tfc:grass_plantable_on', 'tfg:rock/hardened_deepslate')
|
||||
event.add('tfc:creeping_plantable_on', 'tfg:rock/hardened_deepslate')
|
||||
event.add('tfc:rock/hardened', 'tfg:rock/hardened_deepslate')
|
||||
|
||||
event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_blackstone')
|
||||
event.add('minecraft:moss_replaceable', 'tfg:rock/hardened_blackstone')
|
||||
event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_blackstone')
|
||||
event.add('beneath:nether_bush_plantable_on', 'tfg:rock/hardened_blackstone')
|
||||
event.add('tfc:creeping_plantable_on', 'tfg:rock/hardened_blackstone')
|
||||
event.add('tfc:rock/hardened', 'tfg:rock/hardened_blackstone')
|
||||
|
||||
event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_dripstone')
|
||||
event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_dripstone')
|
||||
event.add('tfc:rock/hardened', 'tfg:rock/hardened_dripstone')
|
||||
|
||||
// #endregion
|
||||
}
|
||||
|
||||
const registerTFGFluidTags = (event) => {
|
||||
|
||||
event.add('tfc:usable_in_pot', 'tfg:latex')
|
||||
event.add('tfc:usable_in_barrel', 'tfg:latex')
|
||||
event.add('tfc:usable_in_wooden_bucket', 'tfg:latex')
|
||||
|
||||
event.add('tfc:usable_in_pot', 'tfg:vulcanized_latex')
|
||||
event.add('tfc:usable_in_barrel', 'tfg:vulcanized_latex')
|
||||
event.add('tfc:usable_in_wooden_bucket', 'tfg:vulcanized_latex')
|
||||
|
||||
event.add('tfc:usable_in_pot', 'tfg:conifer_pitch')
|
||||
event.add('tfc:usable_in_barrel', 'tfg:conifer_pitch')
|
||||
event.add('tfc:usable_in_wooden_bucket', 'tfg:conifer_pitch')
|
||||
}
|
||||
|
||||
|
||||
const registerTFGBiomeTags = (event) => {
|
||||
|
||||
//#region TFG Structure Biomes
|
||||
event.add('tfg:has_structure/plains_temperate_0', 'tfc:plains')
|
||||
event.add('tfg:has_structure/plains_temperate_0', 'tfc:highlands')
|
||||
|
||||
event.add('tfg:has_structure/aqueduct', 'tfc:plains')
|
||||
event.add('tfg:has_structure/aqueduct', 'tfc:highlands')
|
||||
event.add('tfg:has_structure/aqueduct', 'tfc:lowlands')
|
||||
event.add('tfg:has_structure/aqueduct', 'tfc:badlands')
|
||||
|
||||
event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_oceanic_mountains')
|
||||
event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_mountains')
|
||||
//#endregion
|
||||
|
||||
// #region Nether biomes
|
||||
|
||||
event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/lush_hollow')
|
||||
event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/lush_hollow')
|
||||
event.add('minecraft:allows_surface_slime_spawns', 'tfg:nether/lush_hollow')
|
||||
event.add('minecraft:spawns_cold_variant_frogs', 'tfg:nether/lush_hollow')
|
||||
|
||||
event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/decaying_caverns')
|
||||
event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/decaying_caverns')
|
||||
event.add('minecraft:allows_surface_slime_spawns', 'tfg:nether/decaying_caverns')
|
||||
event.add('minecraft:spawns_warm_variant_frogs', 'tfg:nether/decaying_caverns')
|
||||
event.add('minecraft:has_closer_water_fog', 'tfg:nether/decaying_caverns')
|
||||
|
||||
event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/basalt_deltas')
|
||||
|
||||
event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/ash_forest')
|
||||
event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/ash_forest')
|
||||
|
||||
event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/lava_floes')
|
||||
event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/lava_floes')
|
||||
|
||||
event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/webbed_lair')
|
||||
event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/webbed_lair')
|
||||
|
||||
event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/gneiss_caves')
|
||||
event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/gneiss_caves')
|
||||
event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/diorite_caves')
|
||||
event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/diorite_caves')
|
||||
event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/gabbro_caves')
|
||||
event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/gabbro_caves')
|
||||
event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/granite_caves')
|
||||
event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/granite_caves')
|
||||
event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/schist_caves')
|
||||
event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/schist_caves')
|
||||
|
||||
// #endregion
|
||||
}
|
||||
|
||||
|
||||
const registerTFGPlacedFeatures = (event) => {
|
||||
|
||||
// #region Nether ores
|
||||
|
||||
event.add('tfg:nether_veins', 'beneath:vein/cursecoal')
|
||||
event.add('tfg:nether_veins', 'beneath:vein/sylvite')
|
||||
event.add('tfg:nether_veins', 'beneath:vein/crackrack_pipe')
|
||||
|
||||
// Lower only
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_naquadah')
|
||||
|
||||
// Full height
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_garnet')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_garnierite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_gold')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_graphite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_hematite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_limonite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_magnetite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_molybdenum')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_pitchblende')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_quartz')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sapphire')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_scheelite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sheldonite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_topaz')
|
||||
|
||||
// Upper only
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_apatite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_basaltic_sands')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_bauxite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_beryllium')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_cassiterite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_copper')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_garnet_tin')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_lapis')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_lubricant')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_manganese')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_monazite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_mica')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_olivine')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_redstone')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_saltpeter')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_silver')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sphalerite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sulfur')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_tetrahedrite')
|
||||
|
||||
// #endregion
|
||||
|
||||
|
||||
// #region Nether decorations
|
||||
|
||||
event.add('tfg:nether_underground_decoration', 'minecraft:spring_open')
|
||||
event.add('tfg:nether_underground_decoration', 'tfg:nether/terrain/magma_blob')
|
||||
event.add('tfg:nether_underground_decoration', 'minecraft:spring_closed')
|
||||
|
||||
// #endregion
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue