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
146
kubejs/server_scripts/advancedperipherals/recipes.js
Normal file
146
kubejs/server_scripts/advancedperipherals/recipes.js
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
// priority: 0
|
||||
|
||||
const registerAdvancedPeripheralsRecipes = (event) => {
|
||||
|
||||
event.remove({ mod: 'advancedperipherals' });
|
||||
|
||||
//Chat Box
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/chat_box')
|
||||
.itemInputs('1x computercraft:wired_modem', '1x gtceu:mv_machine_casing', '1x computercraft:monitor_normal', '2x gtceu:mv_sensor', '2x gtceu:mv_emitter', '1x #gtceu:circuits/hv')
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:chat_box')
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
//Player Detector
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/player_detector')
|
||||
.itemInputs('1x computercraft:wired_modem', '1x gtceu:hv_machine_casing', '2x gtceu:hv_field_generator', '4x gtceu:hv_robot_arm', '6x gtceu:soc', Item.of('gtceu:face_mask', '{Damage:0}'))
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:player_detector')
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
//ME Bridge
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/me_bridge')
|
||||
.itemInputs('1x computercraft:wired_modem', '1x gtceu:hv_machine_casing', '2x ae2:interface', '15x ae2:fluix_smart_cable', '4x ae2:engineering_processor', '1x #gtceu:circuits/ev')
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:me_bridge')
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
//Environment Detector
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/environment_detector')
|
||||
.itemInputs('1x computercraft:wired_modem', '1x gtceu:hv_machine_casing', '2x gtceu:hv_sensor', '2x gtceu:hv_emitter', '1x #gtceu:circuits/ev')
|
||||
.inputFluids(Fluid.of('gtceu:biomass', 2000))
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:environment_detector')
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
//Inventory Manager
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/inventory_manager')
|
||||
.itemInputs('1x computercraft:wired_modem', '1x gtceu:hv_machine_casing', '2x #gtceu:circuits/ev', '2x gtceu:hv_sensor', '2x ae2:export_bus', '1x ae2:equal_distribution_card')
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:inventory_manager')
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
//Redstone Integrator
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/redstone_integrator')
|
||||
.itemInputs('1x computercraft:wired_modem', '1x gtceu:mv_machine_casing', '10x vintageimprovements:redstone_module', '1x ae2:redstone_card', '2x gtceu:transistor', '1x gtceu:mv_emitter')
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:redstone_integrator')
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
//Block Reader
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/block_reader')
|
||||
.itemInputs('1x computercraft:wired_modem', '1x gtceu:mv_machine_casing', '1x gtceu:lv_scanner', '1x gtceu:mv_sensor', '1x gtceu:mv_emitter', '1x #forge:lenses/amethyst')
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:block_reader')
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
//Geo Scanner
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/geo_scanner')
|
||||
.itemInputs('1x computercraft:wired_modem', '1x gtceu:hv_machine_casing', '1x gtceu:prospector.hv', '2x gtceu:hv_sensor', '1x #forge:propick_heads/red_steel', '1x #gtceu:circuits/ev')
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:geo_scanner')
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
//NBT Storage
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/nbt_storage')
|
||||
.itemInputs('1x computercraft:wired_modem', '1x gtceu:hv_machine_casing', '1x computercraft:disk_drive', '1x gtceu:item_smart_filter', '16x gtceu:ram_chip', '1x #gtceu:circuits/ev')
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:nbt_storage')
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
//Chunk Controller
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/chunk_controller')
|
||||
.itemInputs('1x gtceu:hv_field_generator', '4x gtceu:hv_emitter', '4x gtceu:hv_sensor', '64x gtceu:ram_chip', '1x #forge:exquisite_gems/red_garnet', ChemicalHelper.get(TagPrefix.plate, GTMaterials.StainlessSteel, 4))
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:chunk_controller')
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
//End Automata Core
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/end_automata_core')
|
||||
.itemInputs('1x computercraft:wired_modem', '1x #forge:lenses/nether_star', '4x gtceu:quantum_eye', ChemicalHelper.get(TagPrefix.gear, GTMaterials.HSSS, 4), '1x gtceu:luv_robot_arm')
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:end_automata_core')
|
||||
.duration(2400)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
|
||||
//Husbandry Automata Core
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/husbandry_automata_core')
|
||||
.itemInputs('1x computercraft:wired_modem', '1x tfcgroomer:blue_steel_grooming_station', '1x tfcgroomer:red_steel_grooming_station', ChemicalHelper.get(TagPrefix.gear, GTMaterials.StainlessSteel, 4), '1x gtceu:hv_robot_arm')
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:husbandry_automata_core')
|
||||
.duration(2400)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
//Weak Automata Core
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/weak_automata_core')
|
||||
.itemInputs('1x computercraft:wired_modem', '64x gtceu:cpu_chip', '4x gtceu:hv_conveyor_module', ChemicalHelper.get(TagPrefix.gear, GTMaterials.StainlessSteel, 4), '1x gtceu:hv_robot_arm')
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:weak_automata_core')
|
||||
.duration(2400)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
//Overpowered End Automata Core
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/overpowered_end_automata_core')
|
||||
.itemInputs('advancedperipherals:end_automata_core', ChemicalHelper.get(TagPrefix.gear, GTMaterials.Osmiridium, 4), '8x #gtceu:circuits/zpm')
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:overpowered_end_automata_core')
|
||||
.duration(2400)
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
|
||||
//Overpowered Husbandry Automata Core
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/overpowered_husbandry_automata_core')
|
||||
.itemInputs('advancedperipherals:husbandry_automata_core', ChemicalHelper.get(TagPrefix.gear, GTMaterials.HSSS, 4), '6x #gtceu:circuits/iv')
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:overpowered_husbandry_automata_core')
|
||||
.duration(2400)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
//Overpowered Weak Automata Core
|
||||
event.recipes.gtceu.assembler('advancedperipherals:assembler/overpowered_weak_automata_core')
|
||||
.itemInputs('advancedperipherals:weak_automata_core', ChemicalHelper.get(TagPrefix.gear, GTMaterials.HSSS, 4), '6x #gtceu:circuits/iv')
|
||||
.circuit(4)
|
||||
.itemOutputs('advancedperipherals:overpowered_weak_automata_core')
|
||||
.duration(2400)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
//Memory Card
|
||||
event.shaped('advancedperipherals:memory_card', [
|
||||
'A',
|
||||
'B',
|
||||
'C'
|
||||
], {
|
||||
A: ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 1),
|
||||
B: 'computercraft:disk',
|
||||
C: ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.Gold, 1)
|
||||
}).id('advancedperipherals:shaped/memory_card')
|
||||
}
|
||||
413
kubejs/server_scripts/advancedperipherals/recipes.recycling.js
Normal file
413
kubejs/server_scripts/advancedperipherals/recipes.recycling.js
Normal file
|
|
@ -0,0 +1,413 @@
|
|||
// priority: 0
|
||||
|
||||
function registerAdvancedPeripheralsRecyclingRecipes(event) {
|
||||
|
||||
// Chat Box
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/chat_box')
|
||||
.itemInputs('advancedperipherals:chat_box')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 12),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 5),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Emerald, 2)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 12)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/chat_box')
|
||||
.itemInputs('advancedperipherals:chat_box')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 12),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 5),
|
||||
ChemicalHelper.get(TagPrefix.gemFlawless, GTMaterials.Emerald, 2)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 12)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Player Detector
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/player_detector')
|
||||
.itemInputs('advancedperipherals:player_detector')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 24),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 19),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.MercuryBariumCalciumCuprate, 8),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 3)
|
||||
)
|
||||
.duration(GTMaterials.Electrum.getMass() * 24)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/player_detector')
|
||||
.itemInputs('advancedperipherals:player_detector')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 24),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 19),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.MercuryBariumCalciumCuprate, 8),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 3)
|
||||
)
|
||||
.duration(GTMaterials.Electrum.getMass() * 24)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// ME Bridge
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/me_bridge')
|
||||
.itemInputs('advancedperipherals:me_bridge')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 19),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.CertusQuartz, 11),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 2)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 19)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/me_bridge')
|
||||
.itemInputs('advancedperipherals:me_bridge')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 19),
|
||||
ChemicalHelper.get(TagPrefix.gem, GTMaterials.CertusQuartz, 11),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 2)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 19)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Environment Detector
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/environment_detector')
|
||||
.itemInputs('advancedperipherals:environment_detector')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 8),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Chromium, 2)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 8)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/environment_detector')
|
||||
.itemInputs('advancedperipherals:environment_detector')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 8),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Chromium, 2)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 8)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Inventory Manager
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/inventory_manager')
|
||||
.itemInputs('advancedperipherals:inventory_manager')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Cupronickel, 24),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 14),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 11),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 8),
|
||||
)
|
||||
.duration(GTMaterials.Cupronickel.getMass() * 24)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/inventory_manager')
|
||||
.itemInputs('advancedperipherals:inventory_manager')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Cupronickel, 24),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 14),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Copper, 11),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 8),
|
||||
)
|
||||
.duration(GTMaterials.Cupronickel.getMass() * 24)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Redstone Integrator
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/redstone_integrator')
|
||||
.itemInputs('advancedperipherals:redstone_integrator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedAlloy, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Brass, 5),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 4)
|
||||
)
|
||||
.duration(GTMaterials.RedAlloy.getMass() * 6)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/redstone_integrator')
|
||||
.itemInputs('advancedperipherals:redstone_integrator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedAlloy, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Brass, 5),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 4)
|
||||
)
|
||||
.duration(GTMaterials.RedAlloy.getMass() * 6)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Block Reader
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/block_reader')
|
||||
.itemInputs('advancedperipherals:block_reader')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 1)
|
||||
)
|
||||
.duration(GTMaterials.Steel.getMass() * 6)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/block_reader')
|
||||
.itemInputs('advancedperipherals:block_reader')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 1)
|
||||
)
|
||||
.duration(GTMaterials.Steel.getMass() * 6)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Geo Scanner
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/geo_scanner')
|
||||
.itemInputs('advancedperipherals:geo_scanner')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 11),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.BatteryAlloy, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Chromium, 3)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 11)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/geo_scanner')
|
||||
.itemInputs('advancedperipherals:geo_scanner')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 11),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BatteryAlloy, 4),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Chromium, 3)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 11)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// NBT Storage
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/nbt_storage')
|
||||
.itemInputs('advancedperipherals:nbt_storage')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 10),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 1),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 1)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 10)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/nbt_storage')
|
||||
.itemInputs('advancedperipherals:nbt_storage')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 10),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 1),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 1)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 10)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Chunk Controller
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/chunk_controller')
|
||||
.itemInputs('advancedperipherals:chunk_controller')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 11),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Chromium, 10),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.MercuryBariumCalciumCuprate, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Gold, 2)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 11)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/chunk_controller')
|
||||
.itemInputs('advancedperipherals:chunk_controller')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 11),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Chromium, 10),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.MercuryBariumCalciumCuprate, 4),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Gold, 2)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 11)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Memory Card
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/memory_card')
|
||||
.itemInputs('advancedperipherals:memory_card')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Gold, 1)
|
||||
)
|
||||
.duration(GTMaterials.Steel.getMass() * 2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/memory_card')
|
||||
.itemInputs('advancedperipherals:memory_card')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Gold, 1)
|
||||
)
|
||||
.duration(GTMaterials.Steel.getMass() * 2)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// End Automata Core
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/end_automata_core')
|
||||
.itemInputs('advancedperipherals:end_automata_core')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.HSSS, 37),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ruridit, 12),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.NiobiumTitanium, 3),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Samarium, 2)
|
||||
)
|
||||
.duration(GTMaterials.HSSS.getMass() * 37)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/end_automata_core')
|
||||
.itemInputs('advancedperipherals:end_automata_core')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 37),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ruridit, 12),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.NiobiumTitanium, 3),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Samarium, 2)
|
||||
)
|
||||
.duration(GTMaterials.HSSS.getMass() * 37)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Husbandry Automata Core
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/husbandry_automata_core')
|
||||
.itemInputs('advancedperipherals:husbandry_automata_core')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 11),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.BlueSteel, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 2)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 11)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/husbandry_automata_core')
|
||||
.itemInputs('advancedperipherals:husbandry_automata_core')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 11),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BlueSteel, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 2)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 11)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Weak Automata Core
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/weak_automata_core')
|
||||
.itemInputs('advancedperipherals:weak_automata_core')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 22),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 16),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Silver, 11),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 3)
|
||||
)
|
||||
.duration(GTMaterials.Electrum.getMass() * 22)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/weak_automata_core')
|
||||
.itemInputs('advancedperipherals:weak_automata_core')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 22),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 16),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Silver, 11),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 3)
|
||||
)
|
||||
.duration(GTMaterials.Electrum.getMass() * 22)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Overpowered End Automata Core
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/overpowered_end_automata_core')
|
||||
.itemInputs('advancedperipherals:overpowered_end_automata_core')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.HSSS, 37),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ruridit, 12),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Osmiridium, 8),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.NiobiumTitanium, 3)
|
||||
)
|
||||
.duration(GTMaterials.HSSS.getMass() * 37)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/overpowered_end_automata_core')
|
||||
.itemInputs('advancedperipherals:overpowered_end_automata_core')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 37),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ruridit, 12),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Osmiridium, 8),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.NiobiumTitanium, 3)
|
||||
)
|
||||
.duration(GTMaterials.HSSS.getMass() * 37)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Overpowered Husbandry Automata Core
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/overpowered_husbandry_automata_core')
|
||||
.itemInputs('advancedperipherals:overpowered_husbandry_automata_core')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 11),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.HSSS, 8),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.BlueSteel, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 2)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 11)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/overpowered_husbandry_automata_core')
|
||||
.itemInputs('advancedperipherals:overpowered_husbandry_automata_core')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 11),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 8),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BlueSteel, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 2)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 11)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Overpowered Weak Automata Core
|
||||
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/overpowered_weak_automata_core')
|
||||
.itemInputs('advancedperipherals:overpowered_weak_automata_core')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 22),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 16),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Silver, 11),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 8)
|
||||
)
|
||||
.duration(GTMaterials.Electrum.getMass() * 22)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/overpowered_weak_automata_core')
|
||||
.itemInputs('advancedperipherals:overpowered_weak_automata_core')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 22),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 16),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Silver, 11),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 8)
|
||||
)
|
||||
.duration(GTMaterials.Electrum.getMass() * 22)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
}
|
||||
9
kubejs/server_scripts/advancedperipherals/tags.js
Normal file
9
kubejs/server_scripts/advancedperipherals/tags.js
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
// priority: 0
|
||||
|
||||
const registerAdvancedPeripheralsItemTags = (event) => {
|
||||
|
||||
global.ADVANCED_PERIPHERALS_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
});
|
||||
};
|
||||
File diff suppressed because it is too large
Load diff
8
kubejs/server_scripts/afc/data.js
Normal file
8
kubejs/server_scripts/afc/data.js
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
/**
|
||||
*
|
||||
* @param {Internal.TFCDataEventJS} event
|
||||
*/
|
||||
const registerTFCDataForArborFirmaCraft = (event) =>
|
||||
{
|
||||
event.itemHeat('afc:tree_tap', 0.2345, null, null)
|
||||
}
|
||||
229
kubejs/server_scripts/afc/recipes.js
Normal file
229
kubejs/server_scripts/afc/recipes.js
Normal file
|
|
@ -0,0 +1,229 @@
|
|||
/**
|
||||
*
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
const registerAFCRecipes = (event) => {
|
||||
|
||||
// #region Removes
|
||||
|
||||
global.AFC_DISABLED_ITEMS.forEach(item => {
|
||||
event.remove({ input: item })
|
||||
event.remove({ output: item })
|
||||
})
|
||||
|
||||
event.remove({ id: "afc:pot/rubber" })
|
||||
event.remove({ id: "afc:tree_tapping/hevea_latex" })
|
||||
event.remove({ id: "afc:tree_tapping/rubber_fig_latex" })
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Wood crafts
|
||||
|
||||
global.AFC_WOOD_TYPES.forEach(wood => {
|
||||
event.remove({ id: `afc:crafting/wood/${wood}_axle` })
|
||||
event.remove({ id: `afc:crafting/wood/${wood}_bladed_axle` })
|
||||
event.remove({ id: `afc:crafting/wood/${wood}_encased_axle` })
|
||||
event.remove({ id: `afc:crafting/wood/${wood}_clutch` })
|
||||
event.remove({ id: `afc:crafting/wood/${wood}_gear_box` })
|
||||
event.remove({ id: `afc:crafting/wood/${wood}_water_wheel` })
|
||||
|
||||
// Бревна -> Пиломатериалы
|
||||
generateCutterRecipe(event, `#afc:${wood}_logs`, `16x afc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_log`)
|
||||
|
||||
// Доски -> Пиломатериалы
|
||||
generateCutterRecipe(event, `afc:wood/planks/${wood}`, `4x afc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_planks`)
|
||||
|
||||
// Ступень -> Пиломатериалы
|
||||
generateCutterRecipe(event, `afc:wood/planks/${wood}_stairs`, `3x afc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_stairs`)
|
||||
|
||||
|
||||
// Плита -> Пиломатериалы
|
||||
generateCutterRecipe(event, `afc:wood/planks/${wood}_slab`, `2x afc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_slab`)
|
||||
|
||||
// ? -> Деревянная нажимная пластина
|
||||
event.shaped(`afc:wood/planks/${wood}_pressure_plate`, [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'AEA'
|
||||
], {
|
||||
A: '#forge:screws/wood',
|
||||
B: '#tfc:hammers',
|
||||
C: `afc:wood/planks/${wood}_slab`,
|
||||
D: '#forge:springs',
|
||||
E: '#forge:tools/screwdrivers'
|
||||
}).id(`afc:crafting/wood/${wood}_pressure_plate`)
|
||||
|
||||
event.recipes.gtceu.assembler(`${wood}_pressure_plate`)
|
||||
.itemInputs('#forge:springs', `2x afc:wood/planks/${wood}_slab`)
|
||||
.circuit(0)
|
||||
.itemOutputs(`2x afc:wood/planks/${wood}_pressure_plate`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
// ? -> Деревянная кнопка
|
||||
event.remove({ id: `afc:crafting/wood/${wood}_button` })
|
||||
|
||||
generateCutterRecipe(event, `afc:wood/planks/${wood}_pressure_plate`, `6x afc:wood/planks/${wood}_button`, 50, 2, `${wood}_button`)
|
||||
})
|
||||
|
||||
// #endregion
|
||||
|
||||
event.recipes.tfc.anvil('afc:tree_tap', '#forge:ingots/copper', ["hit_last", "upset_second_last", "upset_third_last"])
|
||||
.tier(1)
|
||||
.bonus(false)
|
||||
.id('afc:anvil/tree_tap')
|
||||
|
||||
// TreeTap Heating
|
||||
event.recipes.tfc.heating('afc:tree_tap', 1080)
|
||||
.resultFluid(Fluid.of('gtceu:copper', 144))
|
||||
.id('tfg:heating/tree_tap')
|
||||
|
||||
//Custom rubber and hevea tappings
|
||||
//Hevea is the most efficient but requires the warmest temperatures
|
||||
//Rubber fig requires average temperatures and its mildly efficient
|
||||
event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/hevea"))
|
||||
.resultFluid(Fluid.of("tfg:latex", 3))
|
||||
.minTemp(22)
|
||||
.id("tfg:tree_tapping/latex/hevea")
|
||||
event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_hevea"))
|
||||
.resultFluid(Fluid.of("tfg:latex", 3))
|
||||
.minTemp(22)
|
||||
.id("tfg:tree_tapping/latex/ancient_hevea")
|
||||
|
||||
event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/rubber_fig"))
|
||||
.resultFluid(Fluid.of("tfg:latex", 2))
|
||||
.minTemp(12)
|
||||
.id("tfg:tree_tapping/latex/rubber_fig")
|
||||
event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_rubber_fig"))
|
||||
.resultFluid(Fluid.of("tfg:latex", 2))
|
||||
.minTemp(12)
|
||||
.id("tfg:tree_tapping/latex/ancient_rubber_fig")
|
||||
|
||||
//Kapok Grandfathered, least efficient but works as long as the temperature is not freezing
|
||||
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/kapok"))
|
||||
.resultFluid(Fluid.of("tfg:latex", 1))
|
||||
.minTemp(1)
|
||||
.id("tfg:tree_tapping/kapok_latex")
|
||||
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/ancient_kapok"))
|
||||
.resultFluid(Fluid.of("tfg:latex", 1))
|
||||
.minTemp(1)
|
||||
.id("tfg:tree_tapping/ancient_kapok_latex")
|
||||
|
||||
|
||||
// Pine/etc resin
|
||||
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/aspen"))
|
||||
.resultFluid(Fluid.of('tfg:conifer_pitch', 2))
|
||||
.minTemp(-10)
|
||||
.id("tfg:tree_tapping/aspen_resin")
|
||||
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/ancient_aspen"))
|
||||
.resultFluid(Fluid.of('tfg:conifer_pitch', 2))
|
||||
.minTemp(-10)
|
||||
.id("tfg:tree_tapping/ancient_aspen_resin")
|
||||
|
||||
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/spruce"))
|
||||
.resultFluid(Fluid.of('tfg:conifer_pitch', 4))
|
||||
.minTemp(-15)
|
||||
.id("tfg:tree_tapping/spruce_resin")
|
||||
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/ancient_spruce"))
|
||||
.resultFluid(Fluid.of('tfg:conifer_pitch', 4))
|
||||
.minTemp(-15)
|
||||
.id("tfg:tree_tapping/ancient_spruce_resin")
|
||||
|
||||
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/white_cedar"))
|
||||
.resultFluid(Fluid.of('tfg:conifer_pitch', 3))
|
||||
.minTemp(-8)
|
||||
.id("tfg:tree_tapping/white_cedar_resin")
|
||||
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/ancient_white_cedar"))
|
||||
.resultFluid(Fluid.of('tfg:conifer_pitch', 3))
|
||||
.minTemp(-8)
|
||||
.id("tfg:tree_tapping/ancient_white_cedar_resin")
|
||||
|
||||
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/douglas_fir"))
|
||||
.resultFluid(Fluid.of('tfg:conifer_pitch', 2))
|
||||
.minTemp(-8)
|
||||
.id("tfg:tree_tapping/douglas_fir_resin")
|
||||
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/ancient_douglas_fir"))
|
||||
.resultFluid(Fluid.of('tfg:conifer_pitch', 2))
|
||||
.minTemp(-8)
|
||||
.id("tfg:tree_tapping/ancient_douglas_fir_resin")
|
||||
|
||||
//#region Выход: Сырая резиновая пыль
|
||||
|
||||
// Из бревна капока
|
||||
event.recipes.gtceu.extractor('raw_rubber_from_log')
|
||||
.itemInputs('#tfg:latex_logs')
|
||||
.itemOutputs('gtceu:raw_rubber_dust')
|
||||
.duration(300)
|
||||
.EUt(2)
|
||||
|
||||
// Из саженца капока
|
||||
event.recipes.gtceu.extractor('raw_rubber_from_sapling')
|
||||
.itemInputs('1x #tfg:rubber_saplings')
|
||||
.itemOutputs('gtceu:raw_rubber_dust')
|
||||
.duration(300)
|
||||
.EUt(2)
|
||||
|
||||
// Из листвы капока
|
||||
event.recipes.gtceu.extractor('raw_rubber_from_leaves')
|
||||
.itemInputs('16x #tfg:rubber_leaves')
|
||||
.itemOutputs('gtceu:raw_rubber_dust')
|
||||
.duration(300)
|
||||
.EUt(2)
|
||||
|
||||
event.replaceOutput({ id: 'gtceu:centrifuge/sticky_resin_separation' }, 'gtceu:raw_rubber_dust', 'gtceu:carbon_dust')
|
||||
|
||||
//#endregion
|
||||
|
||||
// Из бревна капока
|
||||
event.recipes.gtceu.centrifuge('rubber_log_separation')
|
||||
.itemInputs('#tfg:latex_logs')
|
||||
.chancedOutput('gtceu:raw_rubber_dust', 5000, 1200)
|
||||
.chancedOutput('gtceu:plant_ball', 3750, 900)
|
||||
.chancedOutput('gtceu:sticky_resin', 2500, 600)
|
||||
.chancedOutput('gtceu:wood_dust', 2500, 700)
|
||||
.outputFluids(Fluid.of('gtceu:methane', 60))
|
||||
.duration(200)
|
||||
.EUt(20)
|
||||
|
||||
event.recipes.gtceu.centrifuge('conifer_log_separation')
|
||||
.itemInputs('#tfg:rosin_logs')
|
||||
.chancedOutput('tfg:conifer_rosin', 7500, 1200)
|
||||
.chancedOutput('gtceu:plant_ball', 3750, 900)
|
||||
.chancedOutput('gtceu:sticky_resin', 2500, 600)
|
||||
.chancedOutput('gtceu:wood_dust', 2500, 700)
|
||||
.outputFluids(Fluid.of('gtceu:methane', 60))
|
||||
.duration(200)
|
||||
.EUt(20)
|
||||
|
||||
event.recipes.gtceu.centrifuge('maple_syrup_log_separation')
|
||||
.itemInputs('#tfc:maple_logs')
|
||||
.chancedOutput('afc:maple_sugar', 7500, 1200)
|
||||
.chancedOutput('gtceu:plant_ball', 3750, 900)
|
||||
.chancedOutput('gtceu:wood_dust', 2500, 700)
|
||||
.outputFluids(Fluid.of('gtceu:methane', 60), Fluid.of('afc:maple_syrup', 100))
|
||||
.duration(200)
|
||||
.EUt(20)
|
||||
|
||||
event.recipes.gtceu.centrifuge('birch_syrup_log_separation')
|
||||
.itemInputs('#tfc:birch_logs')
|
||||
.chancedOutput('afc:birch_sugar', 7500, 1200)
|
||||
.chancedOutput('gtceu:plant_ball', 3750, 900)
|
||||
.chancedOutput('gtceu:wood_dust', 2500, 700)
|
||||
.outputFluids(Fluid.of('gtceu:methane', 60), Fluid.of('afc:birch_syrup', 100))
|
||||
.duration(200)
|
||||
.EUt(20)
|
||||
|
||||
//#endregion
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier('maple_syrup')
|
||||
.inputFluids(Fluid.of('afc:maple_syrup', 100))
|
||||
.itemOutputs('afc:maple_sugar')
|
||||
.duration(500)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier('birch_syrup')
|
||||
.inputFluids(Fluid.of('afc:birch_syrup', 100))
|
||||
.itemOutputs('afc:birch_sugar')
|
||||
.duration(500)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
106
kubejs/server_scripts/afc/tags.js
Normal file
106
kubejs/server_scripts/afc/tags.js
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
/**
|
||||
*
|
||||
* @param {TagEvent.Item} event
|
||||
*/
|
||||
const registerAFCItemTags = (event) => {
|
||||
global.AFC_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
|
||||
global.AFC_WOOD_TYPES.forEach(woodType => {
|
||||
event.add('minecraft:logs_that_burn', `#afc:${woodType}_logs`)
|
||||
event.add('tfg:default_chests', `afc:wood/chest/${woodType}`)
|
||||
event.add('tfg:trapped_chests', `afc:wood/trapped_chest/${woodType}`)
|
||||
|
||||
event.add('firmalife:food_shelves', `afc:wood/food_shelf/${woodType}`)
|
||||
event.add('firmalife:hangers', `afc:wood/hanger/${woodType}`)
|
||||
event.add('firmalife:jarbnets', `afc:wood/jarbnet/${woodType}`)
|
||||
event.add('firmalife:big_barrels', `afc:wood/big_barrel/${woodType}`)
|
||||
event.add('firmalife:wine_shelves', `afc:wood/wine_shelf/${woodType}`)
|
||||
event.add('firmalife:stomping_barrels', `afc:wood/stomping_barrel/${woodType}`)
|
||||
event.add('firmalife:barrel_presses', `afc:wood/barrel_press/${woodType}`)
|
||||
})
|
||||
|
||||
//Hardwood Tags
|
||||
global.AFC_HARDWOOD_TYPES.forEach(woodType => {
|
||||
event.add('tfg:hardwood', `#afc:${woodType}_logs`)
|
||||
event.add('tfg:stripped_hardwood', `afc:wood/stripped_log/${woodType}`)
|
||||
event.add('tfg:stripped_hardwood', `afc:wood/stripped_wood/${woodType}`)
|
||||
});
|
||||
|
||||
//Softwood Tags
|
||||
global.AFC_SOFTWOOD_TYPES.forEach(woodType => {
|
||||
event.add('tfg:softwood', `#afc:${woodType}_logs`)
|
||||
event.add('tfg:stripped_softwood', `afc:wood/stripped_log/${woodType}`)
|
||||
event.add('tfg:stripped_softwood', `afc:wood/stripped_wood/${woodType}`)
|
||||
})
|
||||
|
||||
// AFC saplings are missing the item tag for whatever reason
|
||||
global.AFC_SAPLINGS.forEach(x => {
|
||||
event.add('minecraft:saplings', `afc:wood/sapling/${x.sapling}`)
|
||||
})
|
||||
|
||||
event.add("tfg:latex_logs", "#tfc:kapok_logs")
|
||||
event.add("tfg:latex_logs", "#afc:hevea_logs")
|
||||
event.add("tfg:latex_logs", "#afc:rubber_fig_logs")
|
||||
|
||||
event.add("tfg:rosin_logs", "#tfc:aspen_logs")
|
||||
event.add("tfg:rosin_logs", "#tfc:spruce_logs")
|
||||
event.add("tfg:rosin_logs", "#tfc:white_cedar_logs")
|
||||
event.add("tfg:rosin_logs", "#tfc:douglas_fir_logs")
|
||||
|
||||
event.add("tfg:rubber_saplings", "tfc:wood/sapling/kapok")
|
||||
event.add("tfg:rubber_saplings", "afc:wood/sapling/red_silk_cotton")
|
||||
event.add("tfg:rubber_saplings", "afc:wood/sapling/hevea")
|
||||
event.add("tfg:rubber_saplings", "afc:wood/sapling/rubber_fig")
|
||||
|
||||
event.add("tfg:rubber_leaves", "tfc:wood/leaves/kapok")
|
||||
event.add("tfg:rubber_leaves", "afc:wood/leaves/red_silk_cotton")
|
||||
event.add("tfg:rubber_leaves", "afc:wood/leaves/hevea")
|
||||
event.add("tfg:rubber_leaves", "afc:wood/leaves/rubber_fig")
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {TagEvent.Block} event
|
||||
*/
|
||||
const registerAFCBlockTags = (event) => {
|
||||
global.AFC_DISABLED_ITEMS.forEach(block => {
|
||||
event.removeAllTagsFrom(block)
|
||||
})
|
||||
|
||||
event.add("afc:tappable_logs", "tfc:wood/log/ancient_kapok")
|
||||
event.add("afc:tappable_logs", "tfc:wood/log/kapok")
|
||||
|
||||
event.add("afc:tappable_logs", "tfc:wood/log/ancient_aspen")
|
||||
event.add("afc:tappable_logs", "tfc:wood/log/aspen")
|
||||
event.add("afc:tappable_logs", "tfc:wood/log/ancient_white_cedar")
|
||||
event.add("afc:tappable_logs", "tfc:wood/log/white_cedar")
|
||||
event.add("afc:tappable_logs", "tfc:wood/log/ancient_douglas_fir")
|
||||
event.add("afc:tappable_logs", "tfc:wood/log/douglas_fir")
|
||||
event.add("afc:tappable_logs", "tfc:wood/log/ancient_spruce")
|
||||
event.add("afc:tappable_logs", "tfc:wood/log/spruce")
|
||||
|
||||
event.add("tfg:latex_logs", "#tfc:kapok_logs")
|
||||
event.add("tfg:latex_logs", "#afc:hevea_logs")
|
||||
event.add("tfg:latex_logs", "#afc:rubber_fig_logs")
|
||||
|
||||
event.add("tfg:syrup_logs", "#tfc:maple_logs")
|
||||
event.add("tfg:syrup_logs", "#tfc:birch_logs")
|
||||
|
||||
event.add("tfg:rosin_logs", "#tfc:aspen_logs")
|
||||
event.add("tfg:rosin_logs", "#tfc:spruce_logs")
|
||||
event.add("tfg:rosin_logs", "#tfc:white_cedar_logs")
|
||||
event.add("tfg:rosin_logs", "#tfc:douglas_fir_logs")
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {TagEvent.Fluid} event
|
||||
*/
|
||||
const registerAFCFluidTags = (event) => {
|
||||
event.removeAllTagsFrom("afc:latex")
|
||||
event.add("c:hidden_from_recipe_viewers", "afc:latex")
|
||||
}
|
||||
9
kubejs/server_scripts/alekiroofs/tags.js
Normal file
9
kubejs/server_scripts/alekiroofs/tags.js
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
// priority: 0
|
||||
|
||||
const registerAlekiroofsItemTags = (event) => {
|
||||
|
||||
global.ALEKIROOFS_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
}
|
||||
72
kubejs/server_scripts/alekiships/recipes.js
Normal file
72
kubejs/server_scripts/alekiships/recipes.js
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
/**
|
||||
*
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
const registerAlekishipsRecipes = (event) => {
|
||||
//remove recipes
|
||||
event.remove("alekiships:crafting/oarlock")
|
||||
event.remove("alekiships:crafting/cleat")
|
||||
event.remove("alekiships:crafting/anchor")
|
||||
event.remove("alekiships:crafting/cannon")
|
||||
event.remove("alekiships:crafting/cannonball")
|
||||
|
||||
//#region Oarlock
|
||||
event.recipes.gtceu.assembler('tfg:alekiships/oarlock')
|
||||
.itemInputs('2x #forge:ingots/wrought_iron')
|
||||
.circuit(13)
|
||||
.itemOutputs('alekiships:oarlock')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.tfc.heating('alekiships:oarlock', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:iron', 288))
|
||||
.id(`alekiships:heating/oarlock`)
|
||||
//#endregion
|
||||
|
||||
//#region Cleat
|
||||
event.recipes.gtceu.assembler('tfg:firmaciv/cleat')
|
||||
.itemInputs('2x #forge:ingots/steel')
|
||||
.circuit(14)
|
||||
.itemOutputs('alekiships:cleat')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.tfc.heating('alekiships:cleat', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:steel', 288))
|
||||
.id(`alekiships:heating/cleat`)
|
||||
//#endregion
|
||||
|
||||
//#region Anchor
|
||||
event.recipes.gtceu.assembler('tfg:alekiships/anchor')
|
||||
.itemInputs('2x #forge:plates/steel')
|
||||
.circuit(10)
|
||||
.itemOutputs('alekiships:anchor')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.tfc.heating('alekiships:anchor', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:steel', 288))
|
||||
.id(`firmaciv:heating/anchor`)
|
||||
//#endregion
|
||||
|
||||
//#region cannonball
|
||||
event.recipes.gtceu.fluid_solidifier('tfg:solidify_cannonball')
|
||||
.inputFluids(Fluid.of('gtceu:iron', 288))
|
||||
.notConsumable('gtceu:ball_casting_mold')
|
||||
.itemOutputs('alekiships:cannonball')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.gtceu.alloy_smelter('tfg:cast_cannonball')
|
||||
.itemInputs('2x #forge:ingots/iron')
|
||||
.notConsumable('gtceu:ball_casting_mold')
|
||||
.itemOutputs('alekiships:cannonball')
|
||||
.duration(75)
|
||||
.category(GTRecipeCategories.INGOT_MOLDING)
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.tfc.heating('alekiships:cannonball', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:iron', 288))
|
||||
.id(`alekiships:heating/cannonball`)
|
||||
//#endregion
|
||||
}
|
||||
12
kubejs/server_scripts/alekiships/tags.js
Normal file
12
kubejs/server_scripts/alekiships/tags.js
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
|
||||
/**
|
||||
*
|
||||
* @param {TagEvent.Item} event
|
||||
*/
|
||||
const registerAlekishipsItemTags = (event) =>
|
||||
{
|
||||
global.ALEKISHIPS_DISABLED_ITEMS.forEach(element => {
|
||||
event.removeAllTagsFrom(element);
|
||||
event.add("c:hidden_from_recipe_viewers", element)
|
||||
});
|
||||
}
|
||||
54
kubejs/server_scripts/beneath/recipes.js
Normal file
54
kubejs/server_scripts/beneath/recipes.js
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
// priority: 0
|
||||
|
||||
const registerBeneathRecipes = (event) => {
|
||||
|
||||
global.BENEATH_DISABLED_ITEMS.forEach(item => {
|
||||
event.remove({ input: item })
|
||||
event.remove({ output: item })
|
||||
})
|
||||
|
||||
event.remove({ id: 'beneath:collapse/basalt' })
|
||||
event.remove({ id: 'beneath:collapse/nether_bricks' })
|
||||
event.remove({ id: 'beneath:crafting/ancient_altar' })
|
||||
event.remove({ id: 'beneath:crafting/blackstone' })
|
||||
event.remove({ id: 'beneath:crafting/blackstone_uncraft' })
|
||||
event.remove({ id: 'beneath:crafting/blackstone_bricks_from_soot' })
|
||||
event.remove({ id: 'beneath:crafting/blackstone_from_soot' })
|
||||
event.remove({ id: 'beneath:crafting/blackstone_plate' })
|
||||
event.remove({ id: 'beneath:crafting/blackstone_button' })
|
||||
event.remove({ id: 'beneath:crafting/hellbricks' })
|
||||
event.remove({ id: 'beneath:quern/slime' })
|
||||
|
||||
event.shaped('beneath:unposter', [
|
||||
'ABA',
|
||||
'AAA',
|
||||
'CCC'
|
||||
], {
|
||||
A: '#tfc:lumber',
|
||||
B: 'tfc:composter',
|
||||
C: '#tfc:mud'
|
||||
}).id('beneath:crafting/unposter')
|
||||
|
||||
event.shapeless('beneath:hellbricks', [
|
||||
'#forge:stone_bricks',
|
||||
'minecraft:magma_cream',
|
||||
'tfc:powder/sulfur',
|
||||
'tfc:soot'
|
||||
]).id('tfg:shapeless/hellbricks_from_soot')
|
||||
|
||||
event.shapeless('beneath:hellbricks', [
|
||||
'#forge:stone_bricks',
|
||||
'minecraft:magma_cream',
|
||||
'tfc:powder/sulfur',
|
||||
'tfc:powder/wood_ash'
|
||||
]).id('tfg:shapeless/hellbricks_from_wood_ash')
|
||||
|
||||
event.recipes.gtceu.assembler("loose_blackstone_to_bricks")
|
||||
.itemInputs('beneath:blackstone_pebble')
|
||||
.itemOutputs('beneath:blackstone_brick')
|
||||
.circuit(1)
|
||||
.duration(40)
|
||||
.EUt(8)
|
||||
|
||||
event.recipes.tfc.landslide('beneath:soul_clay', 'beneath:soul_clay')
|
||||
}
|
||||
33
kubejs/server_scripts/beneath/tags.js
Normal file
33
kubejs/server_scripts/beneath/tags.js
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
const registerBeneathBlockTags = (event) => {
|
||||
|
||||
global.BENEATH_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
|
||||
|
||||
event.add('forge:ores', 'beneath:ore/nether_cursecoal')
|
||||
event.add('forge:ores', 'beneath:ore/blackstone_sylvite')
|
||||
|
||||
event.add('beneath:mushrooms', 'minecraft:red_mushroom')
|
||||
event.add('beneath:mushrooms', 'minecraft:brown_mushroom')
|
||||
event.add('beneath:poisonous_mushrooms', 'minecraft:red_mushroom')
|
||||
|
||||
event.add('tfc:can_landslide', 'beneath:soul_clay')
|
||||
|
||||
event.remove('beneath:sparks_on_sulfur')
|
||||
|
||||
event.add('beneath:blackstone_decor', 'minecraft:blackstone');
|
||||
event.remove('beneath:blackstone')
|
||||
}
|
||||
|
||||
const registerBeneathItemTags = (event) => {
|
||||
|
||||
global.BENEATH_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
|
||||
event.add('forge:ores', 'beneath:ore/nether_cursecoal')
|
||||
event.add('forge:ores', 'beneath:ore/blackstone_sylvite')
|
||||
}
|
||||
141
kubejs/server_scripts/buildinggadgets2/recipes.js
Normal file
141
kubejs/server_scripts/buildinggadgets2/recipes.js
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
const registerBuildingGadgetsRecipes = (event) => {
|
||||
|
||||
event.remove({ mod: 'buildinggadgets2' })
|
||||
|
||||
event.shapeless(Item.of('patchouli:guide_book', '{"patchouli:book":"buildinggadgets2:buildinggadgets2book"}'), [
|
||||
'minecraft:scaffolding',
|
||||
'#forge:books'
|
||||
]).id('buildinggadgets2:shapeless/guide_book')
|
||||
|
||||
// Building Gadget
|
||||
event.recipes.gtceu.assembler('buildinggadgets2:/assembler/gadget_building')
|
||||
.itemInputs('1x gtceu:ev_emitter','2x gtceu:ev_fluid_regulator','6x #forge:plates/titanium', '2x gtceu:ev_robot_arm', '1x gtceu:computer_monitor_cover', '1x gtceu:lapotron_crystal', '1x ae2:formation_plane')
|
||||
.circuit(4)
|
||||
.itemOutputs('buildinggadgets2:gadget_building')
|
||||
.duration(160)
|
||||
.EUt(2000)
|
||||
|
||||
event.recipes.gtceu.arc_furnace('buildinggadgets2:arc_furnace/recycling/gadget_building')
|
||||
.itemInputs('1x buildinggadgets2:gadget_building')
|
||||
.itemOutputs('10x gtceu:titanium_ingot', '1x gtceu:lapotron_gem')
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
|
||||
event.recipes.gtceu.macerator('buildinggadgets2:macerator/recycling/gadget_building')
|
||||
.itemInputs('1x buildinggadgets2:gadget_building')
|
||||
.itemOutputs('10x gtceu:titanium_dust', '15x gtceu:lapotron_dust')
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Exchanging Gadget
|
||||
event.recipes.gtceu.assembler('buildinggadgets2:/assembler/gadget_exchanging')
|
||||
.itemInputs('1x gtceu:ev_emitter','2x gtceu:ev_fluid_regulator','6x #forge:plates/titanium', '2x gtceu:ev_robot_arm', '1x gtceu:computer_monitor_cover', '1x gtceu:lapotron_crystal', '1x ae2:equal_distribution_card')
|
||||
.circuit(4)
|
||||
.itemOutputs('buildinggadgets2:gadget_exchanging')
|
||||
.duration(160)
|
||||
.EUt(2000)
|
||||
|
||||
event.recipes.gtceu.arc_furnace('buildinggadgets2:arc_furnace/recycling/gadget_exchanging')
|
||||
.itemInputs('1x buildinggadgets2:gadget_exchanging')
|
||||
.itemOutputs('10x gtceu:titanium_ingot', '1x gtceu:lapotron_gem')
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
|
||||
event.recipes.gtceu.macerator('buildinggadgets2:macerator/recycling/gadget_exchanging')
|
||||
.itemInputs('1x buildinggadgets2:gadget_exchanging')
|
||||
.itemOutputs('10x gtceu:titanium_dust', '15x gtceu:lapotron_dust')
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Copy Paste Gadget
|
||||
event.recipes.gtceu.assembler('buildinggadgets2:/assembler/gadget_copy_paste')
|
||||
.itemInputs('1x gtceu:iv_emitter','2x gtceu:iv_fluid_regulator','6x #forge:plates/tungsten_steel', '2x gtceu:iv_robot_arm', '1x gtceu:computer_monitor_cover', '1x gtceu:lapotron_crystal', '1x ae2:spatial_storage_cell_2')
|
||||
.circuit(4)
|
||||
.itemOutputs('buildinggadgets2:gadget_copy_paste')
|
||||
.duration(160)
|
||||
.EUt(8100)
|
||||
|
||||
event.recipes.gtceu.arc_furnace('buildinggadgets2:arc_furnace/recycling/gadget_copy_paste')
|
||||
.itemInputs('1x buildinggadgets2:gadget_copy_paste')
|
||||
.itemOutputs('10x gtceu:tungsten_steel_ingot', '1x gtceu:lapotron_gem')
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
|
||||
event.recipes.gtceu.macerator('buildinggadgets2:macerator/recycling/gadget_copy_paste')
|
||||
.itemInputs('1x buildinggadgets2:gadget_copy_paste')
|
||||
.itemOutputs('10x gtceu:tungsten_steel_dust', '15x gtceu:lapotron_dust')
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Dustruction Gadget
|
||||
event.recipes.gtceu.assembler('buildinggadgets2:/assembler/gadget_destruction')
|
||||
.itemInputs('1x gtceu:ev_sensor','2x gtceu:ev_fluid_regulator','6x #forge:plates/titanium', '2x gtceu:ev_robot_arm', '1x gtceu:computer_monitor_cover', '1x gtceu:energy_crystal', '1x ae2:annihilation_plane')
|
||||
.circuit(4)
|
||||
.itemOutputs('buildinggadgets2:gadget_destruction')
|
||||
.duration(160)
|
||||
.EUt(2000)
|
||||
|
||||
event.recipes.gtceu.arc_furnace('buildinggadgets2:arc_furnace/recycling/gadget_destruction')
|
||||
.itemInputs('1x buildinggadgets2:gadget_destruction')
|
||||
.itemOutputs('10x gtceu:titanium_ingot', '1x gtceu:energy_crystal')
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
|
||||
event.recipes.gtceu.macerator('buildinggadgets2:macerator/recycling/gadget_destruction')
|
||||
.itemInputs('1x buildinggadgets2:gadget_destruction')
|
||||
.itemOutputs('10x gtceu:titanium_dust', '9x gtceu:energium_dust')
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Cut Paste Gadget
|
||||
event.recipes.gtceu.assembler('buildinggadgets2:/assembler/gadget_cut_paste')
|
||||
.itemInputs('1x gtceu:iv_sensor','2x gtceu:iv_fluid_regulator','6x #forge:plates/tungsten_steel', '2x gtceu:iv_robot_arm', '1x gtceu:computer_monitor_cover', '1x gtceu:energy_crystal', '1x ae2:inverter_card')
|
||||
.circuit(4)
|
||||
.itemOutputs('buildinggadgets2:gadget_cut_paste')
|
||||
.duration(160)
|
||||
.EUt(8100)
|
||||
|
||||
event.recipes.gtceu.arc_furnace('buildinggadgets2:arc_furnace/recycling/gadget_cut_paste')
|
||||
.itemInputs('1x buildinggadgets2:gadget_cut_paste')
|
||||
.itemOutputs('10x gtceu:tungsten_steel_ingot', '1x gtceu:energy_crystal')
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
|
||||
event.recipes.gtceu.macerator('buildinggadgets2:macerator/recycling/gadget_cut_paste')
|
||||
.itemInputs('1x buildinggadgets2:gadget_cut_paste')
|
||||
.itemOutputs('10x gtceu:tungsten_steel_dust', '9x gtceu:energium_dust')
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Template Manager
|
||||
event.recipes.gtceu.assembler('buildinggadgets2:/assembler/template_manager')
|
||||
.itemInputs('1x gtceu:robust_machine_casing','2x gtceu:iv_electric_motor','8x #forge:plates/tungsten_steel', '1x #gtceu:circuits/iv', '1x gtceu:chemical_blue_dye', '1x gtceu:chemical_red_dye', '1x create:clipboard')
|
||||
.circuit(4)
|
||||
.itemOutputs('buildinggadgets2:template_manager ')
|
||||
.duration(160)
|
||||
.EUt(2000)
|
||||
|
||||
event.recipes.gtceu.arc_furnace('buildinggadgets2:arc_furnace/recycling/template_manager')
|
||||
.itemInputs('1x buildinggadgets2:template_manager')
|
||||
.itemOutputs('10x gtceu:tungsten_steel_ingot')
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
|
||||
event.recipes.gtceu.macerator('buildinggadgets2:macerator/recycling/template_manager')
|
||||
.itemInputs('1x buildinggadgets2:template_manager')
|
||||
.itemOutputs('10x gtceu:tungsten_steel_dust')
|
||||
.duration(224)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
}
|
||||
41
kubejs/server_scripts/cccbridge/recipes.js
Normal file
41
kubejs/server_scripts/cccbridge/recipes.js
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
// priority: 0
|
||||
|
||||
const registerCccBridgeRecipes = (event) => {
|
||||
|
||||
event.remove({not: [
|
||||
{ id: 'cccbridge:to_target_block' },
|
||||
{ id: 'cccbridge:to_source_block' }
|
||||
], mod: 'cccbridge' });
|
||||
|
||||
// Animatronic
|
||||
event.recipes.gtceu.assembler('cccbridge:assembler/animatronic_block')
|
||||
.itemInputs('1x gtceu:hv_machine_casing','2x gtceu:hv_robot_arm','2x vintageimprovements:redstone_module', '1x greate:stainless_steel_cogwheel', '1x gtceu:computer_monitor_cover')
|
||||
.circuit(4)
|
||||
.itemOutputs('cccbridge:animatronic_block')
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
// Scroller Pane
|
||||
event.recipes.gtceu.assembler('cccbridge:assembler/scroller_block')
|
||||
.itemInputs('1x computercraft:wired_modem', '1x greate:aluminium_cogwheel', '1x gtceu:computer_monitor_cover')
|
||||
.circuit(4)
|
||||
.itemOutputs('cccbridge:scroller_block')
|
||||
.duration(600)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
// RedRouter Block
|
||||
event.recipes.gtceu.assembler('cccbridge:assembler/redrouter_block')
|
||||
.itemInputs('1x computercraft:wired_modem', '1x gtceu:mv_machine_casing', '1x gtceu:computer_monitor_cover','10x vintageimprovements:redstone_module', '8x #gtceu:transistors')
|
||||
.circuit(4)
|
||||
.itemOutputs('cccbridge:redrouter_block')
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
// Source Block
|
||||
event.recipes.gtceu.assembler('cccbridge:assembler/source_block')
|
||||
.itemInputs('1x computercraft:wired_modem', '1x gtceu:mv_machine_casing', '1x gtceu:computer_monitor_cover', ChemicalHelper.get(TagPrefix.plate, GTMaterials.Redstone, 8))
|
||||
.circuit(4)
|
||||
.itemOutputs('cccbridge:source_block')
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
}
|
||||
94
kubejs/server_scripts/cccbridge/recipes.recycling.js
Normal file
94
kubejs/server_scripts/cccbridge/recipes.recycling.js
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
// priority: 0
|
||||
|
||||
function registerCccBridgeRecyclingRecipes(event) {
|
||||
|
||||
// Source Block
|
||||
event.recipes.gtceu.macerator('cccbridge:macerator/recycling/source_block')
|
||||
.itemInputs('cccbridge:source_block')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 5),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Redstone, 4)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 5)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('cccbridge:arc_furnace/recycling/source_block')
|
||||
.itemInputs('cccbridge:source_block')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 5),
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Redstone, 4)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 5)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Target Block
|
||||
event.recipes.gtceu.macerator('cccbridge:macerator/recycling/target_block')
|
||||
.itemInputs('cccbridge:target_block')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 5),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Redstone, 4)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 5)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('cccbridge:arc_furnace/recycling/target_block')
|
||||
.itemInputs('cccbridge:target_block')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 5),
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Redstone, 4)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 5)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// RedRouter Block
|
||||
event.recipes.gtceu.macerator('cccbridge:macerator/recycling/redrouter_block')
|
||||
.itemInputs('cccbridge:redrouter_block')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedAlloy, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Brass, 5)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 4)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('cccbridge:arc_furnace/recycling/redrouter_block')
|
||||
.itemInputs('cccbridge:redrouter_block')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 4),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedAlloy, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Brass, 5)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 4)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Animatronic Block
|
||||
event.recipes.gtceu.macerator('cccbridge:macerator/recycling/animatronic_block')
|
||||
.itemInputs('cccbridge:animatronic_block')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 18),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 12),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Silver, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Gold, 5)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 18)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('cccbridge:arc_furnace/recycling/animatronic_block')
|
||||
.itemInputs('cccbridge:animatronic_block')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 18),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 12),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Silver, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Gold, 5)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 18)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
}
|
||||
11
kubejs/server_scripts/chalk/data.js
Normal file
11
kubejs/server_scripts/chalk/data.js
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
/**
|
||||
*
|
||||
* @param {Internal.TFCDataEventJS} evt
|
||||
*/
|
||||
const registerTFCDataForChalk = (evt) =>
|
||||
{
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dyeName =>
|
||||
{
|
||||
evt.itemHeat(`tfg:wet_${dyeName}_chalk`, 1, null, null, `tfg:heating/wet_${dyeName}_chalk`)
|
||||
})
|
||||
}
|
||||
50
kubejs/server_scripts/chalk/recipes.js
Normal file
50
kubejs/server_scripts/chalk/recipes.js
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
/**
|
||||
*
|
||||
* @param {Internal.RecipesEventJS} evt
|
||||
*/
|
||||
const registerChalkRecipes = (evt) => {
|
||||
evt.remove({ output: "#chalk:chalks" })
|
||||
evt.replaceInput({ id: "chalk:chalk_box" }, "minecraft:slime_ball", "tfc:glue")
|
||||
|
||||
//Mix dusts for chalk sticks with clay to make an unfired chalk stick. Greggy or Create lets you use tiny dusts if needed
|
||||
evt.recipes.firmalife.mixing_bowl()
|
||||
.itemIngredients(["minecraft:clay_ball", "#chalk:dusts_for_chalks"])
|
||||
.outputItem("tfg:unfired_chalk")
|
||||
.id(`chalk:mixing_bowl/unfired_chalk_stick_from_dust`)
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dyeName => {
|
||||
//gt mixer works as is
|
||||
evt.recipes.gtceu.chemical_bath(`chalk:gt_mixer/${dyeName}_chalk_from_dust`)
|
||||
.itemInputs(["minecraft:clay_ball", `#chalk:dusts_for_chalks`])
|
||||
.inputFluids([Fluid.of(`tfc:${dyeName}_dye`, 36)])
|
||||
.itemOutputs([`chalk:${dyeName}_chalk`])
|
||||
.duration(600)
|
||||
.EUt(1)
|
||||
.category(GTRecipeCategories.CHEM_DYES);
|
||||
|
||||
//create mixer creates the unfired colored stick, unless heated.
|
||||
let createIngredients = ["minecraft:clay_ball", `#chalk:dusts_for_chalks`, Fluid.of(`tfc:${dyeName}_dye`, 36)]
|
||||
evt.recipes.create.mixing(`tfg:wet_${dyeName}_chalk`, createIngredients)
|
||||
.id(`chalk:create_mixer/wet_${dyeName}_chalk_from_dust`);
|
||||
|
||||
evt.recipes.create.mixing(`chalk:${dyeName}_chalk`, createIngredients)
|
||||
.heated()
|
||||
.id(`chalk:create_mixer/${dyeName}_chalk_from_dust`);
|
||||
|
||||
|
||||
//Unfired chalk sticks need to be placed in a barrel full of dye to colorize. Then heated until cured.
|
||||
evt.recipes.tfc.barrel_sealed(20 * 50)
|
||||
.inputs(`tfg:unfired_chalk`, TFC.fluidStackIngredient(`tfc:${dyeName}_dye`, 36))
|
||||
.outputItem(`tfg:wet_${dyeName}_chalk`)
|
||||
.id(`chalk:barrel/dye/wet_${dyeName}_chalk`);
|
||||
|
||||
evt.recipes.tfc.heating(`tfg:wet_${dyeName}_chalk`, 700)
|
||||
.resultItem(`chalk:${dyeName}_chalk`)
|
||||
.id(`chalk:heating/${dyeName}_chalk`)
|
||||
|
||||
evt.smelting(
|
||||
`chalk:${dyeName}_chalk`,
|
||||
`tfg:wet_${dyeName}_chalk`
|
||||
).id(`chalk:smelting/${dyeName}_chalk`)
|
||||
})
|
||||
}
|
||||
10
kubejs/server_scripts/chalk/tags.js
Normal file
10
kubejs/server_scripts/chalk/tags.js
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/**
|
||||
*
|
||||
* @param {TagEvent.Item} evt
|
||||
*/
|
||||
const registerChalkItemTags = (evt) =>
|
||||
{
|
||||
evt.add(`chalk:dusts_for_chalks`, `tfg:chalk_dust`)
|
||||
evt.add(`chalk:dusts_for_chalks`, `tfg:limestone_dust`)
|
||||
evt.add(`chalk:dusts_for_chalks`, `tfg:dripstone_dust`)
|
||||
}
|
||||
60
kubejs/server_scripts/comforts/recipes.js
Normal file
60
kubejs/server_scripts/comforts/recipes.js
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
/**
|
||||
*
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
const registerComfortsRecipes = (event) => {
|
||||
event.remove({ mod: "comforts" })
|
||||
|
||||
//Rope and Nail
|
||||
event.recipes.minecraft.crafting_shapeless("comforts:rope_and_nail", ["firmaciv:rope_coil", "gtceu:wrought_iron_screw"])
|
||||
.id("comforts:crafting/shaped/rope_and_nail");
|
||||
|
||||
//sleeping bag
|
||||
event.recipes.minecraft.crafting_shaped("comforts:sleeping_bag_white", [
|
||||
"AAA",
|
||||
"B "
|
||||
], {
|
||||
A: "#tfc:high_quality_cloth",
|
||||
B: 'tfc:bone_needle'
|
||||
});
|
||||
|
||||
event.recipes.minecraft.crafting_shaped("comforts:hammock_white", [
|
||||
"ABA",
|
||||
"CCC",
|
||||
"ABA"
|
||||
], {
|
||||
A: "#forge:string",
|
||||
B: "gtceu:long_wood_rod",
|
||||
C: "#tfc:high_quality_cloth",
|
||||
})
|
||||
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dyeName => {
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`comforts:chemical_bath/dye_${dyeName}_sleeping_bag`)
|
||||
.itemInputs("#comforts:sleeping_bags")
|
||||
.inputFluids(Fluid.of(`tfc:${dyeName}_dye`, 144))
|
||||
.itemOutputs(`comforts:sleeping_bag_${dyeName}`)
|
||||
.duration(20 * 15)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
.EUt(4);
|
||||
|
||||
event.recipes.tfc.barrel_sealed(20 * 60)
|
||||
.inputs("#comforts:sleeping_bags", Fluid.of(`tfc:${dyeName}_dye`, 144))
|
||||
.outputItem(`comforts:sleeping_bag_${dyeName}`)
|
||||
.id(`barrel/comforts/sleeping_bag_${dyeName}`)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`comforts:chemical_bath/dye_${dyeName}_hammock`)
|
||||
.itemInputs("#comforts:hammocks")
|
||||
.inputFluids(Fluid.of(`tfc:${dyeName}_dye`, 144))
|
||||
.itemOutputs(`comforts:hammock_${dyeName}`)
|
||||
.duration(20 * 15)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
.EUt(4);
|
||||
|
||||
event.recipes.tfc.barrel_sealed(20 * 60)
|
||||
.inputs("#comforts:hammocks", Fluid.of(`tfc:${dyeName}_dye`, 144))
|
||||
.outputItem(`comforts:hammock_${dyeName}`)
|
||||
.id(`barrel/comforts/hammock_${dyeName}`)
|
||||
})
|
||||
}
|
||||
|
|
@ -126,69 +126,44 @@ const registerComputerCraftRecipes = (event) => {
|
|||
.id('tfg:crafting/wired_modem_full_shapeless')
|
||||
|
||||
// Computer Normal
|
||||
event.shaped('computercraft:computer_normal', [
|
||||
'AB ',
|
||||
'CD ',
|
||||
'EAE'
|
||||
], {
|
||||
A: 'gtceu:magnesium_diboride_single_wire',
|
||||
B: 'gtceu:computer_monitor_cover',
|
||||
C: '#gtceu:batteries/mv',
|
||||
D: 'gtceu:mv_machine_casing',
|
||||
E: '#gtceu:circuits/hv'
|
||||
}).id('tfg:crafting/computer_normal')
|
||||
event.recipes.gtceu.assembler('computercraft:assembler/computer_normal')
|
||||
.itemInputs('1x gtceu:mv_machine_casing','2x #gtceu:circuits/hv','3x #forge:double_wires/magnesium_diboride', '2x #gtceu:batteries/mv', '4x computercraft:cable', '8x gtceu:cpu_chip', '1x gtceu:computer_monitor_cover')
|
||||
.circuit(4)
|
||||
.itemOutputs('computercraft:computer_normal')
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
// Computer Advanced
|
||||
event.shaped('computercraft:computer_advanced', [
|
||||
'AB ',
|
||||
'CD ',
|
||||
'EAE'
|
||||
], {
|
||||
A: 'gtceu:mercury_barium_calcium_cuprate_single_wire',
|
||||
B: 'gtceu:computer_monitor_cover',
|
||||
C: '#gtceu:batteries/hv',
|
||||
D: 'gtceu:hv_machine_casing',
|
||||
E: '#gtceu:circuits/ev'
|
||||
}).id('tfg:crafting/computer_advanced')
|
||||
event.recipes.gtceu.assembler('computercraft:assembler/computer_advanced')
|
||||
.itemInputs('1x gtceu:hv_machine_casing','2x #gtceu:circuits/ev','3x #forge:double_wires/mercury_barium_calcium_cuprate', '2x #gtceu:batteries/hv', '4x computercraft:cable', '12x gtceu:soc', '1x gtceu:computer_monitor_cover')
|
||||
.circuit(4)
|
||||
.itemOutputs('computercraft:computer_advanced')
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
// Turtle Normal
|
||||
event.shaped('computercraft:turtle_normal', [
|
||||
'ABC',
|
||||
'DFD',
|
||||
'EGH'
|
||||
], {
|
||||
A: 'gtceu:hv_conveyor_module',
|
||||
B: 'gtceu:hv_emitter',
|
||||
C: 'gtceu:hv_sensor',
|
||||
D: 'gtceu:hv_robot_arm',
|
||||
E: '#gtceu:circuits/ev',
|
||||
F: 'computercraft:computer_normal',
|
||||
G: 'gtceu:steel_crate',
|
||||
H: 'gtceu:hv_electric_piston',
|
||||
}).id('tfg:crafting/turtle_normal')
|
||||
event.recipes.gtceu.assembler('computercraft:assembler/turtle_normal')
|
||||
.itemInputs('1x computercraft:computer_normal','2x #gtceu:circuits/ev','1x gtceu:steel_crate', '2x gtceu:hv_conveyor_module', '2x gtceu:hv_robot_arm', '1x gtceu:hv_emitter', '1x gtceu:hv_sensor', '1x gtceu:hv_fluid_regulator')
|
||||
.circuit(4)
|
||||
.itemOutputs('computercraft:turtle_normal')
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
// Turtle Advanced
|
||||
event.shaped('computercraft:turtle_advanced', [
|
||||
'ABC',
|
||||
'DFD',
|
||||
'EGH'
|
||||
], {
|
||||
A: 'gtceu:ev_conveyor_module',
|
||||
B: 'gtceu:ev_emitter',
|
||||
C: 'gtceu:ev_sensor',
|
||||
D: 'gtceu:ev_robot_arm',
|
||||
E: '#gtceu:circuits/iv',
|
||||
F: 'computercraft:computer_advanced',
|
||||
G: 'gtceu:aluminium_crate',
|
||||
H: 'gtceu:ev_electric_piston',
|
||||
}).id('tfg:crafting/turtle_advanced')
|
||||
event.recipes.gtceu.assembler('computercraft:assembler/turtle_advanced')
|
||||
.itemInputs('1x computercraft:computer_advanced','2x #gtceu:circuits/iv','1x gtceu:aluminium_crate', '2x gtceu:ev_conveyor_module', '2x gtceu:ev_robot_arm', '1x gtceu:ev_emitter', '1x gtceu:ev_sensor', '1x gtceu:ev_fluid_regulator')
|
||||
.circuit(4)
|
||||
.itemOutputs('computercraft:turtle_advanced')
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
// Disk Crafts
|
||||
for (let i = 0; i < 16; i++) {
|
||||
event.recipes.gtceu.chemical_bath('computercraft:disk' + `${global.MINECRAFT_DYE_NAMES[i]}`)
|
||||
.itemInputs('ae2:blank_pattern')
|
||||
.inputFluids(Fluid.of(`gtceu:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 288))
|
||||
.inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 288))
|
||||
.itemOutputs(Item.of('computercraft:disk', global.COMPUTER_CRAFT_DISCS[i]))
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
.duration(20)
|
||||
.EUt(7)
|
||||
}
|
||||
|
|
|
|||
234
kubejs/server_scripts/computer_craft/recipes.recycling.js
Normal file
234
kubejs/server_scripts/computer_craft/recipes.recycling.js
Normal file
|
|
@ -0,0 +1,234 @@
|
|||
// priority: 0
|
||||
|
||||
function registerComputerCraftRecyclingRecipes(event) {
|
||||
|
||||
// Computer
|
||||
event.recipes.gtceu.macerator('computercraft:macerator/recycling/computer_normal')
|
||||
.itemInputs('computercraft:computer_normal')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 5),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.BatteryAlloy, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.MagnesiumDiboride, 1)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 5)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/computer_normal')
|
||||
.itemInputs('computercraft:computer_normal')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 5),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BatteryAlloy, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.MagnesiumDiboride, 1)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 5)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Advanced Computer
|
||||
event.recipes.gtceu.macerator('computercraft:macerator/recycling/computer_advanced')
|
||||
.itemInputs('computercraft:computer_advanced')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.BatteryAlloy, 8),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.MercuryBariumCalciumCuprate, 1)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 4)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/computer_advanced')
|
||||
.itemInputs('computercraft:computer_advanced')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 4),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BatteryAlloy, 8),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.MercuryBariumCalciumCuprate, 1)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 4)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Turtle
|
||||
event.recipes.gtceu.macerator('computercraft:macerator/recycling/turtle_normal')
|
||||
.itemInputs('computercraft:turtle_normal')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 20),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.BatteryAlloy, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 12),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 4)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 20)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/turtle_normal')
|
||||
.itemInputs('computercraft:turtle_normal')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 20),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BatteryAlloy, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 12),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 4)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 20)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Advanced Turtle
|
||||
event.recipes.gtceu.macerator('computercraft:macerator/recycling/turtle_advanced')
|
||||
.itemInputs('computercraft:turtle_advanced')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 20),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 15),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.BatteryAlloy, 9),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 4)
|
||||
)
|
||||
.duration(GTMaterials.Titanium.getMass() * 20)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/turtle_advanced')
|
||||
.itemInputs('computercraft:turtle_advanced')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 20),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 15),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BatteryAlloy, 9),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 4)
|
||||
)
|
||||
.duration(GTMaterials.Titanium.getMass() * 20)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Pocket Computer
|
||||
event.recipes.gtceu.macerator('computercraft:macerator/recycling/pocket_computer_normal')
|
||||
.itemInputs('computercraft:pocket_computer_normal')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 9),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Chromium, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.BatteryAlloy, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Platinum, 2)
|
||||
)
|
||||
.duration(GTMaterials.Titanium.getMass() * 9)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/pocket_computer_normal')
|
||||
.itemInputs('computercraft:pocket_computer_normal')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 9),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Chromium, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BatteryAlloy, 4),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Platinum, 2)
|
||||
)
|
||||
.duration(GTMaterials.Titanium.getMass() * 9)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Advanced Pocket Computer
|
||||
event.recipes.gtceu.macerator('computercraft:macerator/recycling/pocket_computer_advanced')
|
||||
.itemInputs('computercraft:pocket_computer_advanced')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 9),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 1),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Platinum, 2)
|
||||
)
|
||||
.duration(GTMaterials.Titanium.getMass() * 9)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/pocket_computer_advanced')
|
||||
.itemInputs('computercraft:pocket_computer_advanced')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 9),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 1),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Platinum, 2)
|
||||
)
|
||||
.duration(GTMaterials.Titanium.getMass() * 9)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Monitor
|
||||
event.recipes.gtceu.macerator('computercraft:macerator/recycling/monitor_normal')
|
||||
.itemInputs('computercraft:monitor_normal')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 5)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 5)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/monitor_normal')
|
||||
.itemInputs('computercraft:monitor_normal')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 5)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 5)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Advanced Monitor
|
||||
event.recipes.gtceu.macerator('computercraft:macerator/recycling/monitor_advanced')
|
||||
.itemInputs('computercraft:monitor_advanced')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 4)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 4)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/monitor_advanced')
|
||||
.itemInputs('computercraft:monitor_advanced')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 4)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 4)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Printer
|
||||
event.recipes.gtceu.macerator('computercraft:macerator/recycling/printer')
|
||||
.itemInputs('computercraft:printer')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 15),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Cupronickel, 15),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 6)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 15)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/printer')
|
||||
.itemInputs('computercraft:printer')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 15),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Cupronickel, 15),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Copper, 6)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 15)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Disk Drive
|
||||
event.recipes.gtceu.macerator('computercraft:macerator/recycling/disk_drive')
|
||||
.itemInputs('computercraft:disk_drive')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 1),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 1)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 6)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/disk_drive')
|
||||
.itemInputs('computercraft:disk_drive')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 1),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 1)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 6)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
}
|
||||
|
|
@ -1,7 +1,12 @@
|
|||
// priority: 0
|
||||
|
||||
const registerComputerCraftItemTags = (event) => {
|
||||
// Nothing here for now :)
|
||||
|
||||
event.remove('minecraft:piglin_loved', 'computercraft:computer_advanced')
|
||||
event.remove('minecraft:piglin_loved', 'computercraft:turtle_advanced')
|
||||
event.remove('minecraft:piglin_loved', 'computercraft:wireless_modem_advanced')
|
||||
event.remove('minecraft:piglin_loved', 'computercraft:pocket_computer_advanced')
|
||||
event.remove('minecraft:piglin_loved', 'computercraft:monitor_advanced')
|
||||
}
|
||||
|
||||
const registerComputerCraftBlockTags = (event) => {
|
||||
|
|
|
|||
76
kubejs/server_scripts/constructionwand/recipes.js
Normal file
76
kubejs/server_scripts/constructionwand/recipes.js
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
// priority: 0
|
||||
|
||||
function registerConstructionwandRecipes(event) {
|
||||
//remove recipes
|
||||
event.remove({ id: 'constructionwand:stone_wand'})
|
||||
event.remove({ id: 'constructionwand:iron_wand'})
|
||||
event.remove({ id: 'constructionwand:diamond_wand'})
|
||||
event.remove({ id: 'constructionwand:infinity_wand'})
|
||||
event.remove({ id: 'constructionwand:core_angel'})
|
||||
event.remove({ id: 'constructionwand:core_destruction'})
|
||||
|
||||
//new recipes
|
||||
event.shaped('1x constructionwand:stone_wand', [
|
||||
' C',
|
||||
' B ',
|
||||
'A '
|
||||
], {
|
||||
A: '#forge:rods/wooden',
|
||||
B: '#forge:ingots/copper',
|
||||
C: '#forge:chipped_gems'
|
||||
}).id('constructionwand:shaped/stone_wand')
|
||||
|
||||
event.shaped('1x constructionwand:iron_wand', [
|
||||
' C',
|
||||
' B ',
|
||||
'A '
|
||||
], {
|
||||
A: '#forge:rods/wooden',
|
||||
B: '#forge:ingots/wrought_iron',
|
||||
C: '#forge:gems'
|
||||
}).id('constructionwand:shaped/iron_wand')
|
||||
|
||||
event.shaped('1x constructionwand:diamond_wand', [
|
||||
' DC',
|
||||
' B ',
|
||||
'A '
|
||||
], {
|
||||
A: '#forge:rods/treated_wood',
|
||||
B: '#forge:double_ingots/blue_steel',
|
||||
C: '#forge:exquisite_gems',
|
||||
D: 'ae2:ender_dust'
|
||||
}).id('constructionwand:shaped/diamond_wand')
|
||||
|
||||
event.shaped('1x constructionwand:infinity_wand', [
|
||||
' EB',
|
||||
' C ',
|
||||
'AD '
|
||||
], {
|
||||
A: '#forge:rods/polytetrafluoroethylene',
|
||||
C: '#forge:rods/long/aluminium',
|
||||
B: '#forge:double_plates/titanium',
|
||||
D: '#gtceu:circuits/iv',
|
||||
E: 'minecraft:nether_star',
|
||||
}).id('constructionwand:shaped/infinity_wand')
|
||||
|
||||
event.shaped('1x constructionwand:core_angel', [
|
||||
' BA',
|
||||
'BCB',
|
||||
'AB '
|
||||
], {
|
||||
A: 'immersive_aircraft:sail',
|
||||
C: '#gtceu:circuits/lv',
|
||||
B: '#forge:plates/glass'
|
||||
}).id('constructionwand:shaped/core_angel')
|
||||
|
||||
event.shaped('1x constructionwand:core_destruction', [
|
||||
' BA',
|
||||
'BCB',
|
||||
'DB '
|
||||
], {
|
||||
A: '#forge:pickaxe_heads/steel',
|
||||
C: '#gtceu:circuits/lv',
|
||||
B: '#forge:plates/glass',
|
||||
D: '#forge:hammer_heads/steel'
|
||||
}).id('constructionwand:shaped/core_destruction')
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -2,52 +2,95 @@
|
|||
|
||||
const registerCreateItemTags = (event) => {
|
||||
|
||||
// Удаление тегов у отключенных предметов
|
||||
global.CREATE_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
// Удаление тегов у отключенных предметов
|
||||
global.CREATE_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
|
||||
// Тэги для ручек и сидушек
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dye => {
|
||||
event.add('tfg:colored_valve_handles', `create:${dye}_valve_handle`)
|
||||
|
||||
if (dye != 'white') event.add('tfg:colored_seats', `create:${dye}_seat`)
|
||||
})
|
||||
// Is this Greate's fault?
|
||||
event.remove('c:hidden_from_recipe_viewers', 'create:copper_sheet')
|
||||
event.remove('c:hidden_from_recipe_viewers', 'create:brass_sheet')
|
||||
event.remove('c:hidden_from_recipe_viewers', 'create:golden_sheet')
|
||||
event.remove('c:hidden_from_recipe_viewers', 'create:crushed_raw_gold')
|
||||
event.remove('c:hidden_from_recipe_viewers', 'create:crushed_raw_copper')
|
||||
event.remove('c:hidden_from_recipe_viewers', 'create:crushed_raw_zinc')
|
||||
event.remove('c:hidden_from_recipe_viewers', 'create:crushed_raw_tin')
|
||||
event.remove('c:hidden_from_recipe_viewers', 'create:crushed_raw_silver')
|
||||
event.remove('c:hidden_from_recipe_viewers', 'create:crushed_raw_lead')
|
||||
|
||||
// Add "cloth" items so sails can be created with any kind of cloth instead of wool blocks
|
||||
event.add('tfg:usable_in_sail_frame', 'tfc:burlap_cloth')
|
||||
event.add('tfg:usable_in_sail_frame', 'tfc:wool_cloth')
|
||||
event.add('tfg:usable_in_sail_frame', "tfc:silk_cloth")
|
||||
// Тэги для ручек и сидушек
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dye => {
|
||||
event.add('tfg:colored_valve_handles', `create:${dye}_valve_handle`)
|
||||
|
||||
event.add('minecraft:trimmable_armor', 'create:copper_diving_helmet')
|
||||
event.add('minecraft:trimmable_armor', 'create:copper_diving_boots')
|
||||
if (dye != 'white') event.add('tfg:colored_seats', `create:${dye}_seat`)
|
||||
})
|
||||
|
||||
event.add('minecraft:trimmable_armor', 'create:copper_diving_helmet')
|
||||
event.add('minecraft:trimmable_armor', 'create:copper_diving_boots')
|
||||
|
||||
event.add('minecraft:trimmable_armor', 'create:netherite_diving_helmet')
|
||||
event.add('minecraft:trimmable_armor', 'create:netherite_backtank')
|
||||
event.add('minecraft:trimmable_armor', 'create:netherite_diving_boots')
|
||||
|
||||
event.add('create:blaze_burner_fuel/regular', "gtceu:poor_raw_coal")
|
||||
event.add('create:blaze_burner_fuel/regular', "gtceu:coal_dust")
|
||||
event.add('create:blaze_burner_fuel/regular', "gtceu:charcoal_dust")
|
||||
event.add('create:blaze_burner_fuel/regular', "gtceu:raw_coal")
|
||||
event.add('create:blaze_burner_fuel/regular', "gtceu:rich_raw_coal")
|
||||
event.add('create:blaze_burner_fuel/regular', "gtceu:flawed_coal_gem")
|
||||
event.add('create:blaze_burner_fuel/regular', "gtceu:chipped_coal_gem")
|
||||
event.add('create:blaze_burner_fuel/regular', "gtceu:pure_coal_dust")
|
||||
|
||||
event.add('create:blaze_burner_fuel/special', "gtceu:flawless_coal_gem")
|
||||
event.add('create:blaze_burner_fuel/special', "gtceu:exquisite_coal_gem")
|
||||
event.add('create:blaze_burner_fuel/special', "gtceu:coke_gem")
|
||||
|
||||
event.add('tfc:forge_invisible_whitelist', 'create:basin')
|
||||
|
||||
event.add('create:non_movable', 'gtceu:wood_crate')
|
||||
event.add('create:non_movable', 'gtceu:bronze_crate')
|
||||
event.add('create:non_movable', 'gtceu:steel_crate')
|
||||
event.add('create:non_movable', 'gtceu:aluminium_crate')
|
||||
event.add('create:non_movable', 'gtceu:stainless_steel_crate')
|
||||
event.add('create:non_movable', 'gtceu:titanium_crate')
|
||||
event.add('create:non_movable', 'gtceu:tungsten_steel_crate')
|
||||
event.add('create:non_movable', '#create:toolboxes')
|
||||
|
||||
event.remove('create:stone_types/deepslate', 'minecraft:deepslate')
|
||||
event.remove('create:stone_types/dripstone', 'minecraft:dripstone_block')
|
||||
event.remove('create:stone_types/blackstone', 'minecraft:blackstone')
|
||||
}
|
||||
|
||||
const registerCreateBlockTags = (event) => {
|
||||
|
||||
// Удаление тегов у отключенных предметов
|
||||
global.CREATE_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
})
|
||||
// Удаление тегов у отключенных предметов
|
||||
global.CREATE_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
})
|
||||
|
||||
// Тэги для ручек и сидушек
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dye => {
|
||||
event.add('tfg:colored_valve_handles', `create:${dye}_valve_handle`)
|
||||
|
||||
if (dye != 'white') event.add('tfg:colored_seats', `create:${dye}_seat`)
|
||||
})
|
||||
// Тэги для ручек и сидушек
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dye => {
|
||||
event.add('tfg:colored_valve_handles', `create:${dye}_valve_handle`)
|
||||
|
||||
if (dye != 'white') event.add('tfg:colored_seats', `create:${dye}_seat`)
|
||||
})
|
||||
|
||||
// Disable bulk blasting
|
||||
event.removeAll('create:fan_processing_catalysts/blasting')
|
||||
}
|
||||
|
||||
|
||||
const registerCreateFluidTags = (event) => {
|
||||
|
||||
// Делаем воду из TFC бесконечной для помпы Create
|
||||
event.add('create:bottomless/allow', 'tfc:fresh_water')
|
||||
event.add('create:bottomless/allow', 'tfc:salt_water')
|
||||
|
||||
// Добавляем тег для скрытия в EMI
|
||||
event.add('c:hidden_from_recipe_viewers', 'create:chocolate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'create:honey')
|
||||
// Делаем воду из TFC бесконечной для помпы Create
|
||||
event.add('create:bottomless/allow', 'tfc:fresh_water')
|
||||
event.add('create:bottomless/allow', 'tfc:salt_water')
|
||||
|
||||
// Добавляем тег для скрытия в EMI
|
||||
event.add('c:hidden_from_recipe_viewers', 'create:chocolate')
|
||||
event.add('c:hidden_from_recipe_viewers', 'create:honey')
|
||||
|
||||
// Disable bulk blasting
|
||||
event.removeAll('create:fan_processing_catalysts/blasting')
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,71 +1,95 @@
|
|||
// priority: 0
|
||||
|
||||
const registerCreateAdditionsRecipes = (event) => {
|
||||
|
||||
// Удаление рецептов
|
||||
event.remove({ mod: 'createaddition' });
|
||||
|
||||
// Прокатный стан
|
||||
event.shaped('createaddition:rolling_mill', [
|
||||
'ABA',
|
||||
'CBC',
|
||||
'DED'
|
||||
], {
|
||||
A: '#forge:plates/wrought_iron',
|
||||
B: 'create:shaft',
|
||||
C: '#forge:gears/wrought_iron',
|
||||
D: '#forge:rings/wrought_iron',
|
||||
E: 'create:andesite_casing',
|
||||
}).id('tfg:create_additions/shaped/rolling_mill')
|
||||
// Удаление рецептов
|
||||
event.remove({ mod: 'createaddition' });
|
||||
|
||||
// Цифровой адаптер
|
||||
event.shaped('createaddition:digital_adapter', [
|
||||
'ABA',
|
||||
'BCB',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:plates/brass',
|
||||
B: 'gtceu:red_alloy_single_wire',
|
||||
C: 'computercraft:wired_modem',
|
||||
}).id('tfg:create_additions/shaped/digital_adapter')
|
||||
// Прокатный стан
|
||||
event.shaped('createaddition:rolling_mill', [
|
||||
'ABA',
|
||||
'CBC',
|
||||
'DED'
|
||||
], {
|
||||
A: 'create:precision_mechanism',
|
||||
B: 'greate:steel_shaft',
|
||||
C: '#forge:gears/black_steel',
|
||||
D: '#gtceu:circuits/ulv',
|
||||
E: 'gtceu:ulv_machine_hull'
|
||||
}).id('tfg:create_additions/shaped/rolling_mill')
|
||||
|
||||
// Портативный энергетический интерфейс
|
||||
event.shaped('createaddition:portable_energy_interface', [
|
||||
'ABC',
|
||||
'DEC',
|
||||
'ADC'
|
||||
], {
|
||||
A: '#forge:plates/brass',
|
||||
B: 'create:chute',
|
||||
C: 'gtceu:copper_octal_wire',
|
||||
D: 'gtceu:copper_single_cable',
|
||||
E: 'create:brass_casing'
|
||||
}).id('tfg:create_additions/shaped/portable_energy_interface')
|
||||
// Цифровой адаптер
|
||||
event.shaped('createaddition:digital_adapter', [
|
||||
'ABA',
|
||||
'BCB',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:plates/brass',
|
||||
B: 'gtceu:red_alloy_single_wire',
|
||||
C: 'computercraft:wired_modem',
|
||||
}).id('tfg:create_additions/shaped/digital_adapter')
|
||||
|
||||
// Батарейный блок
|
||||
event.recipes.gtceu.assembler('create_additions/battery')
|
||||
.itemInputs('gtceu:bronze_frame', '6x gtceu:bronze_plate', '24x gtceu:bronze_screw', '#gtceu:batteries/hv')
|
||||
.itemOutputs('createaddition:modular_accumulator')
|
||||
.duration(400)
|
||||
.EUt(512)
|
||||
// Портативный энергетический интерфейс
|
||||
event.shaped('createaddition:portable_energy_interface', [
|
||||
'ABC',
|
||||
'DEC',
|
||||
'ADC'
|
||||
], {
|
||||
A: '#forge:plates/brass',
|
||||
B: 'create:chute',
|
||||
C: 'gtceu:copper_octal_wire',
|
||||
D: 'gtceu:copper_single_cable',
|
||||
E: 'create:brass_casing'
|
||||
}).id('tfg:create_additions/shaped/portable_energy_interface')
|
||||
|
||||
// Колючая проволка
|
||||
event.shapeless('4x createaddition:barbed_wire', [
|
||||
'#forge:rods/wrought_iron',
|
||||
'#forge:rods/long/wrought_iron',
|
||||
'#forge:rods/wrought_iron',
|
||||
'#forge:rods/long/wrought_iron',
|
||||
'#forge:rods/wrought_iron',
|
||||
'#forge:rods/long/wrought_iron',
|
||||
'#forge:rods/wrought_iron',
|
||||
'#forge:rods/long/wrought_iron',
|
||||
'#forge:tools/hammers'
|
||||
]).id('tfg:create_additions/shapeless/barbed_wire')
|
||||
// Батарейный блок
|
||||
event.recipes.gtceu.assembler('create_additions/battery')
|
||||
.itemInputs('gtceu:bronze_frame', '6x #forge:plates/bronze', '24x #forge:screws/bronze', '#gtceu:batteries/hv')
|
||||
.itemOutputs('createaddition:modular_accumulator')
|
||||
.duration(400)
|
||||
.EUt(512)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:createaddition/barbed_wire')
|
||||
.itemInputs('4x #forge:rods/wrought_iron', '4x #forge:rods/long/wrought_iron')
|
||||
.circuit(3)
|
||||
.itemOutputs('4x createaddition:barbed_wire')
|
||||
.duration(200)
|
||||
.EUt(20)
|
||||
// Колючая проволка
|
||||
event.shapeless('4x createaddition:barbed_wire', [
|
||||
'#forge:rods/wrought_iron',
|
||||
'#forge:rods/long/wrought_iron',
|
||||
'#forge:rods/wrought_iron',
|
||||
'#forge:rods/long/wrought_iron',
|
||||
'#forge:rods/wrought_iron',
|
||||
'#forge:rods/long/wrought_iron',
|
||||
'#forge:rods/wrought_iron',
|
||||
'#forge:rods/long/wrought_iron',
|
||||
'#forge:tools/hammers'
|
||||
]).id('tfg:create_additions/shapeless/barbed_wire')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:createaddition/barbed_wire')
|
||||
.itemInputs('4x #forge:rods/wrought_iron', '4x #forge:rods/long/wrought_iron')
|
||||
.circuit(3)
|
||||
.itemOutputs('4x createaddition:barbed_wire')
|
||||
.duration(200)
|
||||
.EUt(20)
|
||||
|
||||
event.shaped('createaddition:electric_motor', [
|
||||
'CCC',
|
||||
'BDA',
|
||||
'CCC'
|
||||
], {
|
||||
A: 'gtceu:ulv_voltage_coil',
|
||||
B: 'create:rotation_speed_controller',
|
||||
C: 'gtceu:tin_single_cable',
|
||||
D: 'gtceu:lv_electric_motor',
|
||||
}).id('tfg:createadditions/shaped/electric_motor')
|
||||
|
||||
event.shaped('createaddition:alternator', [
|
||||
'ACA',
|
||||
'FDB',
|
||||
'ECE'
|
||||
], {
|
||||
A: '#gtceu:resistors',
|
||||
B: '#gtceu:circuits/lv',
|
||||
C: 'gtceu:ulv_voltage_coil',
|
||||
D: 'gtceu:lv_machine_hull',
|
||||
E: 'gtceu:tin_single_cable',
|
||||
F: 'greate:steel_shaft'
|
||||
}).id('tfg:createadditions/shaped/alternator')
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,74 +1,70 @@
|
|||
// priority: 0
|
||||
|
||||
const registerCreateConnectedRecipes = (event) => {
|
||||
// Centrifugal Clutch
|
||||
event.shapeless('create_connected:centrifugal_clutch', [
|
||||
'create:andesite_casing',
|
||||
'#forge:plates/wrought_iron',
|
||||
'create:speedometer',
|
||||
'create:shaft',
|
||||
]).id('create_connected:crafting/kinetics/centrifugal_clutch')
|
||||
|
||||
// Freewheel Clutch'
|
||||
event.shapeless('create_connected:freewheel_clutch', [
|
||||
'create:andesite_casing',
|
||||
'#forge:plates/wrought_iron',
|
||||
'create:shaft',
|
||||
'create:cogwheel',
|
||||
]).id('create_connected:crafting/kinetics/freewheel_clutch')
|
||||
// Remove Fluid Vessel Crafting
|
||||
event.remove({ id: 'create_connected:crafting/kinetics/fluid_vessel' })
|
||||
|
||||
// Overstress Clutch
|
||||
event.shapeless('create_connected:overstress_clutch', [
|
||||
'create:andesite_casing',
|
||||
'#forge:plates/wrought_iron',
|
||||
'create:shaft',
|
||||
'create:electron_tube',
|
||||
]).id('create_connected:crafting/kinetics/overstress_clutch')
|
||||
// Centrifugal Clutch
|
||||
event.shapeless('create_connected:centrifugal_clutch', [
|
||||
'create:andesite_casing',
|
||||
'#forge:plates/wrought_iron',
|
||||
'create:speedometer',
|
||||
'#tfg:shafts',
|
||||
]).id('create_connected:crafting/kinetics/centrifugal_clutch')
|
||||
|
||||
// Item Silo
|
||||
event.shaped('create_connected:item_silo', [
|
||||
'CAC',
|
||||
'BAD',
|
||||
'CAC'
|
||||
], {
|
||||
A: '#forge:chests/wooden',
|
||||
B: '#forge:sheets/wrought_iron',
|
||||
C: '#forge:screws/steel',
|
||||
D: '#forge:tools/screwdrivers'
|
||||
}).id('create_connected:crafting/kinetics/item_silo')
|
||||
// Freewheel Clutch'
|
||||
event.shapeless('create_connected:freewheel_clutch', [
|
||||
'create:andesite_casing',
|
||||
'#forge:plates/wrought_iron',
|
||||
'#tfg:shafts',
|
||||
'#tfg:small_cogwheels',
|
||||
]).id('create_connected:crafting/kinetics/freewheel_clutch')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:create_connected/item_silo')
|
||||
.itemInputs('3x #forge:chests/wooden', '#forge:sheets/wrought_iron', '2x #forge:screws/steel')
|
||||
.circuit(10)
|
||||
.itemOutputs('create_connected:item_silo')
|
||||
.duration(200)
|
||||
.EUt(20)
|
||||
// Overstress Clutch
|
||||
event.shapeless('create_connected:overstress_clutch', [
|
||||
'create:andesite_casing',
|
||||
'#forge:plates/wrought_iron',
|
||||
'#tfg:shafts',
|
||||
'create:electron_tube',
|
||||
]).id('create_connected:crafting/kinetics/overstress_clutch')
|
||||
|
||||
// Sequenced Pulse Generator
|
||||
event.shaped('create_connected:sequenced_pulse_generator', [
|
||||
'AB ',
|
||||
'ACD',
|
||||
'EEE'
|
||||
], {
|
||||
A: 'create:electron_tube',
|
||||
B: 'create_connected:control_chip',
|
||||
C: '#forge:plates/bronze',
|
||||
D: 'minecraft:redstone_torch',
|
||||
E: '#forge:stone'
|
||||
}).id('create_connected:crafting/kinetics/sequenced_pulse_generator')
|
||||
// Item Silo
|
||||
event.shaped('create_connected:item_silo', [
|
||||
' C ',
|
||||
'BAD',
|
||||
' C '
|
||||
], {
|
||||
A: '#forge:chests/wooden',
|
||||
B: '#forge:sheets/wrought_iron',
|
||||
C: '#forge:screws/wrought_iron',
|
||||
D: '#forge:tools/screwdrivers'
|
||||
}).id('create_connected:crafting/kinetics/item_silo')
|
||||
|
||||
// Shear Pin
|
||||
event.recipes.gtceu.cutter('tfg:create_connected/shear_pin')
|
||||
.itemInputs('create:shaft')
|
||||
.itemOutputs('create_connected:shear_pin')
|
||||
.duration(96)
|
||||
.EUt(8)
|
||||
event.recipes.gtceu.assembler('tfg:create_connected/item_silo')
|
||||
.itemInputs('3x #forge:chests/wooden', '#forge:sheets/wrought_iron', '2x #forge:screws/steel')
|
||||
.circuit(10)
|
||||
.itemOutputs('create_connected:item_silo')
|
||||
.duration(200)
|
||||
.EUt(20)
|
||||
|
||||
event.recipes.gtceu.circuit_assembler('tfg:create_connected/control_chip')
|
||||
.itemInputs('#forge:plates/gold', 'gtceu:resin_printed_circuit_board', '2x create:electron_tube')
|
||||
.circuit(11)
|
||||
.inputFluids(Fluid.of('gtceu:redstone', 144))
|
||||
.itemOutputs('create_connected:control_chip')
|
||||
.duration(720)
|
||||
.EUt(16)
|
||||
// Sequenced Pulse Generator
|
||||
event.shaped('create_connected:sequenced_pulse_generator', [
|
||||
'AB ',
|
||||
'ACD',
|
||||
'EEE'
|
||||
], {
|
||||
A: 'create:electron_tube',
|
||||
B: '#gtceu:circuits/ulv',
|
||||
C: '#forge:plates/bronze',
|
||||
D: 'minecraft:redstone_torch',
|
||||
E: '#forge:stone'
|
||||
}).id('create_connected:crafting/kinetics/sequenced_pulse_generator')
|
||||
|
||||
// Shear Pin
|
||||
event.recipes.gtceu.cutter('tfg:create_connected/shear_pin')
|
||||
.itemInputs('#tfg:shafts')
|
||||
.itemOutputs('create_connected:shear_pin')
|
||||
.duration(96)
|
||||
.EUt(8)
|
||||
}
|
||||
|
|
@ -1,7 +1,11 @@
|
|||
const registerCreateConnectedItemTags = (event) => {
|
||||
// Removes tags from the Cherry and Bamboo wooden panes added by Create Connected
|
||||
event.removeAllTagsFrom("create_connected:cherry_window_pane")
|
||||
event.add("c:hidden_from_recipe_viewers", "create_connected:cherry_window_pane")
|
||||
event.removeAllTagsFrom("create_connected:bamboo_window_pane")
|
||||
event.add("c:hidden_from_recipe_viewers", "create_connected:bamboo_window_pane")
|
||||
// Removes tags from the Cherry and Bamboo wooden panes added by Create Connected
|
||||
event.removeAllTagsFrom("create_connected:cherry_window_pane")
|
||||
event.add("c:hidden_from_recipe_viewers", "create_connected:cherry_window_pane")
|
||||
event.removeAllTagsFrom("create_connected:bamboo_window_pane")
|
||||
event.add("c:hidden_from_recipe_viewers", "create_connected:bamboo_window_pane")
|
||||
event.removeAllTagsFrom('create_connected:control_chip')
|
||||
event.add('c:hidden_from_recipe_viewers', 'create_connected:control_chip')
|
||||
|
||||
event.remove('minecraft:creeper_drop_music_discs', ['create_connected:music_disc_elevator', 'create_connected:music_disc_interlude'])
|
||||
}
|
||||
48
kubejs/server_scripts/create_horse_power/recipes.js
Normal file
48
kubejs/server_scripts/create_horse_power/recipes.js
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
// priority: 0
|
||||
|
||||
function registerCreateHorsePowerBlockRecipes(event) {
|
||||
|
||||
event.remove({id: 'createhorsepower:horse_crank' })
|
||||
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('createhorsepower:horse_crank', [
|
||||
' A ',
|
||||
'EBD',
|
||||
'CCC'
|
||||
], {
|
||||
A: '#forge:fences/wooden',
|
||||
B: '#forge:gears/bronze',
|
||||
C: '#tfc:rock/raw',
|
||||
D: '#forge:tools/hammers',
|
||||
E: '#tfc:chisels'
|
||||
})
|
||||
).id('tfg:shaped/horse_crank_bronze')
|
||||
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('createhorsepower:horse_crank', [
|
||||
' A ',
|
||||
'EBD',
|
||||
'CCC'
|
||||
], {
|
||||
A: '#forge:fences/wooden',
|
||||
B: '#forge:gears/bismuth_bronze',
|
||||
C: '#tfc:rock/raw',
|
||||
D: '#forge:tools/hammers',
|
||||
E: '#tfc:chisels'
|
||||
})
|
||||
).id('tfg:shaped/horse_crank_bismuth_bronze')
|
||||
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('createhorsepower:horse_crank', [
|
||||
' A ',
|
||||
'EBD',
|
||||
'CCC'
|
||||
], {
|
||||
A: '#forge:fences/wooden',
|
||||
B: '#forge:gears/black_bronze',
|
||||
C: '#tfc:rock/raw',
|
||||
D: '#forge:tools/hammers',
|
||||
E: '#tfc:chisels'
|
||||
})
|
||||
).id('tfg:shaped/horse_crank_black_bronze')
|
||||
}
|
||||
253
kubejs/server_scripts/createdeco/recipes.js
Normal file
253
kubejs/server_scripts/createdeco/recipes.js
Normal file
|
|
@ -0,0 +1,253 @@
|
|||
const registerCreatedecoRecipes = (event) => {
|
||||
|
||||
//#region Item Replacements
|
||||
const replacements = {
|
||||
'create:zinc_ingot': '#forge:ingots/zinc',
|
||||
'createdeco:zinc_sheet': '#forge:plates/zinc',
|
||||
'create:zinc_nugget': '#forge:nuggets/zinc',
|
||||
'create:brass_ingot': '#forge:ingots/brass',
|
||||
'create:brass_sheet': '#forge:plates/brass',
|
||||
'create:brass_nugget': '#forge:nuggets/brass',
|
||||
'minecraft:iron_ingot': '#forge:ingots/wrought_iron',
|
||||
'create:iron_sheet': '#forge:plates/wrought_iron',
|
||||
'minecraft:iron_nugget': '#forge:nuggets/wrought_iron',
|
||||
'createdeco:industrial_iron_ingot': '#forge:ingots/steel',
|
||||
'createdeco:industrial_iron_sheet': '#forge:plates/steel',
|
||||
'createdeco:industrial_iron_nugget': '#forge:nuggets/steel',
|
||||
'minecraft:torch': 'minecraft:glowstone_dust',
|
||||
'minecraft:vine': '#tfc:moss',
|
||||
'create:andesite_alloy': '#forge:ingots/tin_alloy',
|
||||
'createdeco:andesite_sheet': '#forge:plates/tin_alloy',
|
||||
'create:copper_nugget': '#forge:nuggets/copper',
|
||||
'createdeco:netherite_nugget': '#forge:nuggets/blue_steel',
|
||||
'minecraft:string': '#forge:string'
|
||||
};
|
||||
|
||||
// Iterate through the replacement list and update recipes
|
||||
Object.keys(replacements).forEach(missingItem => {
|
||||
const replacementItem = replacements[missingItem];
|
||||
|
||||
event.replaceInput({ mod: "createdeco" }, missingItem, replacementItem);
|
||||
});
|
||||
//#endregion
|
||||
|
||||
//#region Recipe Removal
|
||||
event.remove({ output: 'createdeco:zinc_sheet' })
|
||||
event.remove({ output: 'createdeco:industrial_iron_sheet' })
|
||||
event.remove({ output: 'createdeco:industrial_iron_nugget' })
|
||||
event.remove({ output: 'createdeco:industrial_iron_ingot' })
|
||||
event.remove({ id: 'createdeco:andesite_bars_overlay' })
|
||||
event.remove({ id: 'createdeco:andesite_bars' })
|
||||
event.remove({ id: 'createdeco:brass_bars_overlay' })
|
||||
event.remove({ id: 'createdeco:brass_bars' })
|
||||
event.remove({ id: 'createdeco:iron_bars_overlay' })
|
||||
event.remove({ id: 'createdeco:copper_bars_overlay' })
|
||||
event.remove({ id: 'createdeco:copper_bars' })
|
||||
event.remove({ id: 'createdeco:industrial_iron_bars_overlay' })
|
||||
event.remove({ id: 'createdeco:industrial_iron_bars' })
|
||||
event.remove({ id: 'createdeco:zinc_bars_overlay' })
|
||||
event.remove({ id: 'createdeco:zinc_bars' })
|
||||
event.remove({ type: 'minecraft:stonecutting', input: '#forge:storage_blocks/tin_alloy' })
|
||||
event.remove({ type: 'minecraft:stonecutting', input: '#forge:storage_blocks/brass' })
|
||||
event.remove({ type: 'minecraft:stonecutting', input: '#forge:storage_blocks/wrought_iron' })
|
||||
event.remove({ type: 'minecraft:stonecutting', input: '#forge:storage_blocks/copper' })
|
||||
event.remove({ type: 'minecraft:stonecutting', input: '#forge:storage_blocks/steel' })
|
||||
event.remove({ type: 'minecraft:stonecutting', input: '#forge:storage_blocks/zinc' })
|
||||
//#endregion
|
||||
|
||||
//#region Lamp Recipes
|
||||
const lampColors = ['blue', 'green', 'red', 'yellow'];
|
||||
const lampTypes = ['zinc', 'brass', 'iron', 'industrial_iron', 'copper', 'andesite'];
|
||||
|
||||
lampTypes.forEach(type => {
|
||||
lampColors.forEach(color => {
|
||||
event.remove({ output: `createdeco:${color}_${type}_lamp` });
|
||||
});
|
||||
});
|
||||
|
||||
function lampRecipe(output, lampType, lampColor) {
|
||||
|
||||
const replacementLampType = lampType;
|
||||
if (lampType == 'industrial_iron') {
|
||||
replacementLampType = 'steel';
|
||||
}
|
||||
if (lampType == 'andesite') {
|
||||
replacementLampType = 'wrought_iron';
|
||||
}
|
||||
|
||||
let ingredients = {
|
||||
T: `minecraft:glowstone_dust`,
|
||||
N: `#forge:nuggets/${replacementLampType}`,
|
||||
P: `#forge:plates/${replacementLampType}`,
|
||||
D: null,
|
||||
X: null
|
||||
};
|
||||
|
||||
// Adjust based on the color
|
||||
if (lampColor === 'green') {
|
||||
ingredients.D = 'gtceu:small_copper_dust';
|
||||
} else if (lampColor === 'blue') {
|
||||
ingredients.D = 'gtceu:small_sulfur_dust';
|
||||
} else if (lampColor === 'red') {
|
||||
ingredients.D = `gtceu:small_lithium_dust`;
|
||||
} else if (lampColor === 'yellow') {
|
||||
ingredients.D = `gtceu:small_salt_dust`;
|
||||
}
|
||||
|
||||
if (lampType === 'iron') {
|
||||
ingredients.N = '#forge:nuggets/wrought_iron';
|
||||
ingredients.P = '#forge:plates/wrought_iron';
|
||||
}
|
||||
if (lampType === 'andesite') {
|
||||
ingredients.N = '#forge:nuggets/tin_alloy';
|
||||
ingredients.P = '#forge:plates/tin_alloy';
|
||||
}
|
||||
if (lampType === 'industrial_iron') {
|
||||
ingredients.N = '#forge:nuggets/steel';
|
||||
ingredients.P = '#forge:plates/steel';
|
||||
}
|
||||
|
||||
|
||||
// Create the shaped recipe
|
||||
|
||||
event.shaped(output, [
|
||||
'XN ',
|
||||
'DTX',
|
||||
'XP '
|
||||
], ingredients);
|
||||
}
|
||||
|
||||
// Loop through each lamp type and color to create the recipes
|
||||
lampTypes.forEach(lampType => {
|
||||
lampColors.forEach(lampColor => {
|
||||
let output = `createdeco:${lampColor}_${lampType}_lamp`; // Define the output item ID
|
||||
lampRecipe(output, lampType, lampColor); // Call the lampRecipe function for each combination
|
||||
});
|
||||
});
|
||||
//#endregion
|
||||
|
||||
//#region Brick Recipes
|
||||
const brickTypes = ['blue', 'verdant', 'pearl', 'dean', 'dusk', 'scarlet', 'umber']
|
||||
const powderTypes = ['lapis_lazuli', 'malachite', 'soda_ash', 'limonite', 'charcoal', 'hematite', 'cassiterite']
|
||||
|
||||
brickTypes.forEach(type => {
|
||||
event.remove({ output: `createdeco:${type}_bricks` });
|
||||
});
|
||||
|
||||
brickTypes.forEach((type, index) => {
|
||||
const powder = `tfc:powder/${powderTypes[index]}`;
|
||||
event.shaped(Item.of(`createdeco:${type}_bricks`, 4),
|
||||
[
|
||||
'BDB',
|
||||
'MBM',
|
||||
'BMB'
|
||||
],
|
||||
{
|
||||
B: `minecraft:brick`,
|
||||
D: powder,
|
||||
M: `tfc:mortar`
|
||||
});
|
||||
});
|
||||
//#endregion
|
||||
|
||||
//#region Dyes
|
||||
global.MINECRAFT_DYE_NAMES.forEach(color => {
|
||||
event.remove({ output: `createdeco:${color}_shipping_container`, input: 'minecraft:barrel' });
|
||||
|
||||
event.replaceInput({ mod: "createdeco" }, `minecraft:${color}_dye`, `#forge:dyes/${color}`);
|
||||
});
|
||||
//#endregion
|
||||
|
||||
// #region Bars
|
||||
|
||||
const metalThings = [
|
||||
{ metal: 'andesite', material: 'tin_alloy', tier: 3 },
|
||||
{ metal: 'brass', material: 'brass', tier: 2 },
|
||||
{ metal: 'iron', material: 'wrought_iron', tier: 3 },
|
||||
{ metal: 'copper', material: 'copper', tier: 1 },
|
||||
{ metal: 'industrial_iron', material: 'steel', tier: 4 },
|
||||
{ metal: 'zinc', material: 'zinc', tier: 1 }
|
||||
];
|
||||
|
||||
metalThings.forEach(bar => {
|
||||
event.remove({ id: `createdeco:${bar.metal}_trapdoor` })
|
||||
event.remove({ id: `createdeco:${bar.metal}_door` })
|
||||
|
||||
if (bar.metal != 'iron') {
|
||||
event.recipes.tfc.anvil(`8x createdeco:${bar.metal}_bars`, `#forge:plates/${bar.material}`, ['shrink_last', 'punch_second_last', 'punch_third_last'])
|
||||
.tier(bar.tier).id(`createdeco:anvil/${bar.metal}_bars`)
|
||||
|
||||
event.recipes.tfc.anvil(`createdeco:${bar.metal}_door`, `#forge:double_plates/${bar.material}`, ['draw_last', 'draw_second_last', 'punch_third_last'])
|
||||
.tier(bar.tier).id(`createdeco:anvil/${bar.metal}_door`)
|
||||
|
||||
event.recipes.tfc.anvil(`createdeco:${bar.metal}_trapdoor`, `#forge:plates/${bar.material}`, ['shrink_last', 'draw_second_last', 'draw_third_last'])
|
||||
.tier(bar.tier).id(`createdeco:anvil/${bar.metal}_trapdoor`)
|
||||
|
||||
event.stonecutting(`4x createdeco:${bar.metal}_trapdoor`, `#forge:ingots/${bar.material}`)
|
||||
.id(`createdeco:stonecutting/${bar.metal}_trapdoor`)
|
||||
|
||||
event.stonecutting(`createdeco:${bar.metal}_door`, `#forge:ingots/${bar.material}`)
|
||||
.id(`createdeco:stonecutting/${bar.metal}_door`)
|
||||
}
|
||||
|
||||
event.recipes.tfc.anvil(`8x createdeco:${bar.metal}_bars_overlay`, `#forge:plates/${bar.material}`, ['draw_last', 'punch_second_last', 'punch_third_last'])
|
||||
.tier(bar.tier).id(`createdeco:anvil/${bar.metal}_bars_overlay`)
|
||||
|
||||
})
|
||||
|
||||
|
||||
// #endregion
|
||||
|
||||
//#region Coins
|
||||
|
||||
event.recipes.gtceu.forming_press('createdeco:gold_coin')
|
||||
.itemInputs('#forge:nuggets/gold')
|
||||
.notConsumable('gtceu:credit_casting_mold')
|
||||
.itemOutputs('4x createdeco:gold_coin')
|
||||
.duration(50)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.forming_press('createdeco:netherite_coin')
|
||||
.itemInputs('#forge:nuggets/blue_steel')
|
||||
.notConsumable('gtceu:credit_casting_mold')
|
||||
.itemOutputs('4x createdeco:netherite_coin')
|
||||
.duration(50)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.forming_press('createdeco:brass_coin')
|
||||
.itemInputs('#forge:nuggets/brass')
|
||||
.notConsumable('gtceu:credit_casting_mold')
|
||||
.itemOutputs('4x createdeco:brass_coin')
|
||||
.duration(50)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.forming_press('createdeco:iron_coin')
|
||||
.itemInputs('#forge:nuggets/wrought_iron')
|
||||
.notConsumable('gtceu:credit_casting_mold')
|
||||
.itemOutputs('4x createdeco:iron_coin')
|
||||
.duration(50)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.forming_press('createdeco:copper_coin')
|
||||
.itemInputs('#forge:nuggets/copper')
|
||||
.notConsumable('gtceu:credit_casting_mold')
|
||||
.itemOutputs('4x createdeco:copper_coin')
|
||||
.duration(50)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.forming_press('createdeco:industrial_iron_coin')
|
||||
.itemInputs('#forge:nuggets/steel')
|
||||
.notConsumable('gtceu:credit_casting_mold')
|
||||
.itemOutputs('createdeco:industrial_iron_coin')
|
||||
.duration(50)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.forming_press('createdeco:zinc_coin')
|
||||
.itemInputs('#forge:nuggets/zinc')
|
||||
.notConsumable('gtceu:credit_casting_mold')
|
||||
.itemOutputs('createdeco:zinc_coin')
|
||||
.duration(50)
|
||||
.EUt(16)
|
||||
|
||||
// #region
|
||||
};
|
||||
48
kubejs/server_scripts/createdeco/tags.js
Normal file
48
kubejs/server_scripts/createdeco/tags.js
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
const registerCreatedecoItemTags = (event) => {
|
||||
|
||||
//#region Hidden Items
|
||||
global.CREATEDECO_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
});
|
||||
//#endregion
|
||||
|
||||
event.remove('createdeco:internal/blocks/iron_blocks', '#forge:storage_blocks/iron')
|
||||
|
||||
//#region Apply Tags
|
||||
const metalBars = ['andesite', 'brass', 'iron', 'copper', 'industrial_iron', 'zinc'];
|
||||
|
||||
metalBars.forEach(metalBars => {
|
||||
event.add('tfg:metal_bars', `createdeco:${metalBars}_bars`)
|
||||
event.add('tfg:metal_bars', `createdeco:${metalBars}_bars_overlay`)
|
||||
});
|
||||
|
||||
event.add("createdeco:internal/plates/iron_plates", "#forge:plates/wrought_iron")
|
||||
event.add("createdeco:internal/plates/copper_plates", "#forge:plates/copper")
|
||||
event.add("createdeco:internal/plates/brass_plates", "#forge:plates/brass")
|
||||
event.add('createdeco:internal/plates/andesite_plates', '#forge:plates/tin_alloy')
|
||||
event.add('createdeco:internal/plates/industrial_iron_plates', '#forge:sheets/steel')
|
||||
event.add('createdeco:internal/plates/zinc_plates', '#forge:sheets/zinc')
|
||||
|
||||
event.add("createdeco:internal/nuggets/iron_nuggets", "#forge:nuggets/wrought_iron")
|
||||
event.add("createdeco:internal/nuggets/copper_nuggets", "#forge:nuggets/copper")
|
||||
event.add("createdeco:internal/nuggets/zinc_nuggets", "#forge:nuggets/zinc")
|
||||
event.add("createdeco:internal/nuggets/industrial_iron_nuggets", "#forge:nuggets/steel")
|
||||
event.add("createdeco:internal/nuggets/brass_nuggets", "#forge:nuggets/brass")
|
||||
event.add("createdeco:internal/nuggets/copper_nuggets", "#forge:nuggets/copper")
|
||||
|
||||
event.add("createdeco:internal/ingots/iron_ingots", "#forge:ingots/wrought_iron")
|
||||
event.add("createdeco:internal/ingots/copper_ingots", "#forge:ingots/copper")
|
||||
event.add("createdeco:internal/ingots/brass_ingots", "#forge:ingots/brass")
|
||||
event.add("createdeco:internal/ingots/zinc_ingots", "#forge:ingots/zinc")
|
||||
event.add("createdeco:internal/ingots/andesite_ingots", "#forge:ingots/tin_alloy")
|
||||
event.add("createdeco:internal/ingots/industrial_iron_ingots", `#forge:ingots/steel`)
|
||||
|
||||
event.add("createdeco:internal/blocks/iron_blocks", "#forge:storage_blocks/wrought_iron")
|
||||
event.add("createdeco:internal/blocks/copper", "#forge:storage_blocks/copper")
|
||||
event.add("createdeco:internal/blocks/brass_blocks", "#forge:storage_blocks/brass")
|
||||
event.add("createdeco:internal/blocks/industrial_iron_blocks", "#forge:storage_blocks/steel")
|
||||
event.add("createdeco:internal/blocks/zinc_blocks", "#forge:storage_blocks/zinc")
|
||||
event.add("createdeco:internal/blocks/andesite_blocks", "#forge:storage_blocks/tin_alloy")
|
||||
//#endregion
|
||||
};
|
||||
19
kubejs/server_scripts/diggerhelmet/recipes.js
Normal file
19
kubejs/server_scripts/diggerhelmet/recipes.js
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
// priority: 0
|
||||
|
||||
function registerDiggerHelmetRecipes(event) {
|
||||
|
||||
event.remove({ mod: 'diggerhelmet' })
|
||||
|
||||
event.shaped('diggerhelmet:digger_helmet', [
|
||||
' E ',
|
||||
'BA ',
|
||||
'DCD'
|
||||
], {
|
||||
A: '#minecraft:candles',
|
||||
B: '#forge:rings',
|
||||
C: 'minecraft:leather_helmet',
|
||||
D: '#forge:rods/tin',
|
||||
E: 'minecraft:glowstone_dust'
|
||||
})
|
||||
.id('tfg:shaped/digger_helmet')
|
||||
}
|
||||
14
kubejs/server_scripts/diggerhelmet/tags.js
Normal file
14
kubejs/server_scripts/diggerhelmet/tags.js
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
// priority: 0
|
||||
|
||||
function registerDiggerHelmetItemTags(event) {
|
||||
|
||||
const DISABLED_ITEMS = [
|
||||
'diggerhelmet:eternal_candle'
|
||||
]
|
||||
|
||||
DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
|
||||
}
|
||||
265
kubejs/server_scripts/domum_ornamentum/recipes.js
Normal file
265
kubejs/server_scripts/domum_ornamentum/recipes.js
Normal file
|
|
@ -0,0 +1,265 @@
|
|||
const registerDomumOrnamentumRecipes = (event) => {
|
||||
|
||||
event.remove({ mod: 'domum_ornamentum', type: 'minecraft:crafting_shaped' })
|
||||
event.remove({ mod: 'domum_ornamentum', type: 'minecraft:crafting_shapeless' })
|
||||
|
||||
//#region Extra Blocks
|
||||
event.shaped(Item.of('domum_ornamentum:brick_extra', 5),
|
||||
[
|
||||
'B B',
|
||||
' B ',
|
||||
'B B'
|
||||
],
|
||||
{
|
||||
B: 'minecraft:bricks'
|
||||
}).id('domum_ornamentum:brick_extra');
|
||||
|
||||
event.shaped(Item.of('domum_ornamentum:cobblestone_extra', 5),
|
||||
[
|
||||
'B B',
|
||||
' B ',
|
||||
'B B'
|
||||
],
|
||||
{
|
||||
B: '#forge:cobblestone'
|
||||
}).id('domum_ornamentum:cobblestone_extra');
|
||||
|
||||
event.shaped(Item.of('domum_ornamentum:blue_cobblestone_extra', 8),
|
||||
[
|
||||
'BBB',
|
||||
'BAB',
|
||||
'BBB'
|
||||
],
|
||||
{
|
||||
B: 'domum_ornamentum:cobblestone_extra',
|
||||
A: '#forge:dyes/blue',
|
||||
}).id('domum_ornamentum:blue_cobblestone_extra');
|
||||
|
||||
event.shaped(Item.of('domum_ornamentum:green_cobblestone_extra', 8),
|
||||
[
|
||||
'BBB',
|
||||
'BAB',
|
||||
'BBB'
|
||||
],
|
||||
{
|
||||
B: 'domum_ornamentum:cobblestone_extra',
|
||||
A: '#forge:dyes/green',
|
||||
}).id('domum_ornamentum:green_cobblestone_extra');
|
||||
|
||||
event.shaped(Item.of('domum_ornamentum:purple_cobblestone_extra', 8),
|
||||
[
|
||||
'BBB',
|
||||
'BAB',
|
||||
'BBB'
|
||||
],
|
||||
{
|
||||
B: 'domum_ornamentum:cobblestone_extra',
|
||||
A: '#forge:dyes/purple',
|
||||
}).id('domum_ornamentum:purple_cobblestone_extra');
|
||||
|
||||
event.shaped(Item.of('domum_ornamentum:mossy_cobblestone_extra', 8),
|
||||
[
|
||||
'BBB',
|
||||
'BAB',
|
||||
'BBB'
|
||||
],
|
||||
{
|
||||
B: 'domum_ornamentum:cobblestone_extra',
|
||||
A: '#tfc:moss',
|
||||
}).id('domum_ornamentum:mossy_cobblestone_extra');
|
||||
|
||||
event.shaped(Item.of('domum_ornamentum:wheat_extra', 5),
|
||||
[
|
||||
'B B',
|
||||
' B ',
|
||||
'B B'
|
||||
],
|
||||
{
|
||||
B: 'minecraft:hay_block'
|
||||
}).id('domum_ornamentum:wheat_extra');
|
||||
|
||||
event.shaped(Item.of('domum_ornamentum:architectscutter', 1),
|
||||
[
|
||||
' E ',
|
||||
'ACA',
|
||||
'BDB'
|
||||
],
|
||||
{
|
||||
A: '#forge:plates/wrought_iron',
|
||||
B: '#tfc:lumber',
|
||||
C: '#forge:plates/brass',
|
||||
D: '#forge:small_gears',
|
||||
E: '#forge:buzz_saw_heads'
|
||||
}).id('domum_ornamentum:architectscutter');
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless(
|
||||
'4x domum_ornamentum:cactus_extra',
|
||||
['tfc:plant/barrel_cactus', '#tfc:saws']))
|
||||
.id('domum_ornamentum:cactus_extra');
|
||||
|
||||
event.shaped(Item.of('domum_ornamentum:green_cactus_extra', 8),
|
||||
[
|
||||
'AAA',
|
||||
'ABA',
|
||||
'AAA'
|
||||
],
|
||||
{
|
||||
A: 'domum_ornamentum:cactus_extra',
|
||||
B: '#forge:dyes/green'
|
||||
}).id('domum_ornamentum:green_cactus_extra');
|
||||
|
||||
event.shapeless('4x domum_ornamentum:paper_extra', [
|
||||
'4x #forge:paper'
|
||||
]).id('domum_ornamentum:paper_extra');
|
||||
|
||||
event.shapeless('4x domum_ornamentum:paper_extra', [
|
||||
'4x domum_ornamentum:white_paper_extra'
|
||||
]).id('domum_ornamentum:paper_extra_decompress');
|
||||
|
||||
event.shapeless('4x domum_ornamentum:white_paper_extra', [
|
||||
'4x domum_ornamentum:paper_extra'
|
||||
]).id('domum_ornamentum:white_paper_extra');
|
||||
//#endregion
|
||||
|
||||
//#region Colored Bricks
|
||||
global.MINECRAFT_DYE_NAMES.forEach(color => {
|
||||
event.shaped(Item.of(`domum_ornamentum:${color}_brick_extra`, 8),
|
||||
[
|
||||
'AAA',
|
||||
'ABA',
|
||||
'AAA'
|
||||
],
|
||||
{
|
||||
A: 'domum_ornamentum:brick_extra',
|
||||
B: `#forge:dyes/${color}`
|
||||
}).id(`domum_ornamentum:${color}_brick_extra`);
|
||||
})
|
||||
//#endregion
|
||||
|
||||
//#region Bricks
|
||||
//Brown Bricks
|
||||
event.shaped(Item.of('domum_ornamentum:brown_bricks', 4),
|
||||
[
|
||||
'BAB',
|
||||
'CBC',
|
||||
'BAB'
|
||||
],
|
||||
{
|
||||
A: 'tfc:brick/chert',
|
||||
B: 'tfc:mortar',
|
||||
C: 'minecraft:brick',
|
||||
}).id('domum_ornamentum:brown_bricks');
|
||||
|
||||
event.shaped(Item.of('domum_ornamentum:brown_stone_bricks', 4),
|
||||
[
|
||||
'BCB',
|
||||
'ABA',
|
||||
'BCB'
|
||||
],
|
||||
{
|
||||
A: 'tfc:brick/chert',
|
||||
B: 'tfc:mortar',
|
||||
C: 'minecraft:brick',
|
||||
}).id('domum_ornamentum:brown_stone_bricks');
|
||||
|
||||
//Beige Bricks
|
||||
event.shaped(Item.of('domum_ornamentum:beige_bricks', 4),
|
||||
[
|
||||
'BAB',
|
||||
'CBC',
|
||||
'BAB'
|
||||
],
|
||||
{
|
||||
A: 'tfc:brick/conglomerate',
|
||||
B: 'tfc:mortar',
|
||||
C: 'minecraft:brick',
|
||||
}).id('domum_ornamentum:beige_bricks');
|
||||
|
||||
event.shaped(Item.of('domum_ornamentum:beige_stone_bricks', 4),
|
||||
[
|
||||
'BCB',
|
||||
'ABA',
|
||||
'BCB'
|
||||
],
|
||||
{
|
||||
A: 'tfc:brick/conglomerate',
|
||||
B: 'tfc:mortar',
|
||||
C: 'minecraft:brick',
|
||||
}).id('domum_ornamentum:beige_stone_bricks');
|
||||
|
||||
//Cream Bricks
|
||||
event.shaped(Item.of('domum_ornamentum:cream_bricks', 4),
|
||||
[
|
||||
'BAB',
|
||||
'CBC',
|
||||
'BAB'
|
||||
],
|
||||
{
|
||||
A: 'tfc:brick/gneiss',
|
||||
B: 'tfc:mortar',
|
||||
C: 'minecraft:brick',
|
||||
}).id('domum_ornamentum:cream_bricks');
|
||||
|
||||
event.shaped(Item.of('domum_ornamentum:cream_stone_bricks', 4),
|
||||
[
|
||||
'BCB',
|
||||
'ABA',
|
||||
'BCB'
|
||||
],
|
||||
{
|
||||
A: 'tfc:brick/gneiss',
|
||||
B: 'tfc:mortar',
|
||||
C: 'minecraft:brick',
|
||||
}).id('domum_ornamentum:cream_stone_bricks');
|
||||
|
||||
//Roan Bricks
|
||||
event.shaped(Item.of('domum_ornamentum:roan_bricks', 4),
|
||||
[
|
||||
'BAB',
|
||||
'CBC',
|
||||
'BAB'
|
||||
],
|
||||
{
|
||||
A: 'tfc:brick/claystone',
|
||||
B: 'tfc:mortar',
|
||||
C: 'minecraft:brick',
|
||||
}).id('domum_ornamentum:roan_bricks');
|
||||
|
||||
event.shaped(Item.of('domum_ornamentum:roan_stone_bricks', 4),
|
||||
[
|
||||
'BCB',
|
||||
'ABA',
|
||||
'BCB'
|
||||
],
|
||||
{
|
||||
A: 'tfc:brick/claystone',
|
||||
B: 'tfc:mortar',
|
||||
C: 'minecraft:brick',
|
||||
}).id('domum_ornamentum:roan_stone_bricks');
|
||||
|
||||
//Sand Bricks
|
||||
event.shaped(Item.of('domum_ornamentum:sand_bricks', 4),
|
||||
[
|
||||
'BAB',
|
||||
'CBC',
|
||||
'BAB'
|
||||
],
|
||||
{
|
||||
A: 'tfc:brick/limestone',
|
||||
B: 'tfc:mortar',
|
||||
C: 'minecraft:brick',
|
||||
}).id('domum_ornamentum:sand_bricks');
|
||||
|
||||
event.shaped(Item.of('domum_ornamentum:sand_stone_bricks', 4),
|
||||
[
|
||||
'BCB',
|
||||
'ABA',
|
||||
'BCB'
|
||||
],
|
||||
{
|
||||
A: 'tfc:brick/limestone',
|
||||
B: 'tfc:mortar',
|
||||
C: 'minecraft:brick',
|
||||
}).id('domum_ornamentum:sand_stone_bricks');
|
||||
//#endregion
|
||||
};
|
||||
192
kubejs/server_scripts/domum_ornamentum/tags.js
Normal file
192
kubejs/server_scripts/domum_ornamentum/tags.js
Normal file
|
|
@ -0,0 +1,192 @@
|
|||
const registerDomumOrnamentumBlockTags = (event) => {
|
||||
|
||||
//#region Hidden Items
|
||||
global.DOMUM_ORNAMENTUM_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
});
|
||||
//#endregion
|
||||
|
||||
//#region Assign Tags
|
||||
const materials = [
|
||||
//tags
|
||||
'#tfc:rock/bricks',
|
||||
'#tfc:rock/smooth',
|
||||
'#tfc:rock/gravel',
|
||||
'#minecraft:planks',
|
||||
'#minecraft:logs',
|
||||
'#tfc:colored_raw_alabaster',
|
||||
'#tfc:colored_bricks_alabaster',
|
||||
'#tfc:colored_polished_alabaster',
|
||||
'#tfc:mud_bricks',
|
||||
'#forge:sandstone',
|
||||
//rnr shingles
|
||||
'rnr:wood/shingles/teak',
|
||||
'rnr:wood/shingles/cypress',
|
||||
'rnr:wood/shingles/fig',
|
||||
'rnr:wood/shingles/ironwood',
|
||||
'rnr:wood/shingles/ipe',
|
||||
'rnr:wood/shingles/chestnut',
|
||||
'rnr:wood/shingles/blackwood',
|
||||
'rnr:wood/shingles/birch',
|
||||
'rnr:wood/shingles/aspen',
|
||||
'rnr:wood/shingles/ash',
|
||||
'rnr:wood/shingles/acacia',
|
||||
'rnr:ceramic_roof',
|
||||
'rnr:terracotta_roof',
|
||||
'rnr:wood/shingles/douglas_fir',
|
||||
'rnr:wood/shingles/hickory',
|
||||
'rnr:wood/shingles/kapok',
|
||||
'rnr:wood/shingles/mangrove',
|
||||
'rnr:wood/shingles/maple',
|
||||
'rnr:wood/shingles/oak',
|
||||
'rnr:wood/shingles/palm',
|
||||
'rnr:wood/shingles/pine',
|
||||
'rnr:wood/shingles/rosewood',
|
||||
'rnr:wood/shingles/sequoia',
|
||||
'rnr:wood/shingles/spruce',
|
||||
'rnr:wood/shingles/sycamore',
|
||||
'rnr:wood/shingles/white_cedar',
|
||||
'rnr:wood/shingles/willow',
|
||||
'rnr:wood/shingles/baobab',
|
||||
'rnr:wood/shingles/eucalyptus',
|
||||
'rnr:wood/shingles/mahogany',
|
||||
'rnr:wood/shingles/hevea',
|
||||
'rnr:wood/shingles/tualang',
|
||||
//tfc blocks
|
||||
'tfc:fire_bricks',
|
||||
'tfc:aggregate',
|
||||
'tfc:alabaster/raw',
|
||||
'tfc:alabaster/bricks',
|
||||
'tfc:alabaster/polished',
|
||||
//gtceu blocks
|
||||
'gtceu:coke_oven_bricks',
|
||||
'gtceu:firebricks',
|
||||
'gtceu:mossy_light_concrete_cobblestone',
|
||||
'gtceu:polished_light_concrete',
|
||||
'gtceu:light_concrete_bricks',
|
||||
'gtceu:cracked_light_concrete_bricks',
|
||||
'gtceu:mossy_light_concrete_bricks',
|
||||
'gtceu:chiseled_light_concrete',
|
||||
'gtceu:light_concrete_tile',
|
||||
'gtceu:light_concrete_small_tile',
|
||||
'gtceu:light_concrete_windmill_a',
|
||||
'gtceu:light_concrete_windmill_b',
|
||||
'gtceu:small_light_concrete_bricks',
|
||||
'gtceu:square_light_concrete_bricks',
|
||||
'gtceu:mossy_dark_concrete_cobblestone',
|
||||
'gtceu:polished_dark_concrete',
|
||||
'gtceu:dark_concrete_bricks',
|
||||
'gtceu:cracked_dark_concrete_bricks',
|
||||
'gtceu:mossy_dark_concrete_bricks',
|
||||
'gtceu:chiseled_dark_concrete',
|
||||
'gtceu:dark_concrete_tile',
|
||||
'gtceu:dark_concrete_small_tile',
|
||||
'gtceu:dark_concrete_windmill_a',
|
||||
'gtceu:dark_concrete_windmill_b',
|
||||
'gtceu:small_dark_concrete_bricks',
|
||||
'gtceu:square_dark_concrete_bricks',
|
||||
//createdeco blocks
|
||||
'createdeco:dean_bricks',
|
||||
'createdeco:short_dean_bricks',
|
||||
'createdeco:tiled_dean_bricks',
|
||||
'createdeco:long_dean_bricks',
|
||||
'createdeco:corner_dean_bricks',
|
||||
'createdeco:cracked_dean_bricks',
|
||||
'createdeco:mossy_dean_bricks',
|
||||
'createdeco:verdant_bricks',
|
||||
'createdeco:short_verdant_bricks',
|
||||
'createdeco:tiled_verdant_bricks',
|
||||
'createdeco:long_verdant_bricks',
|
||||
'createdeco:corner_verdant_bricks',
|
||||
'createdeco:cracked_verdant_bricks',
|
||||
'createdeco:mossy_verdant_bricks',
|
||||
'createdeco:umber_bricks',
|
||||
'createdeco:short_umber_bricks',
|
||||
'createdeco:tiled_umber_bricks',
|
||||
'createdeco:long_umber_bricks',
|
||||
'createdeco:corner_umber_bricks',
|
||||
'createdeco:cracked_umber_bricks',
|
||||
'createdeco:mossy_umber_bricks',
|
||||
'createdeco:short_red_bricks',
|
||||
'createdeco:tiled_red_bricks',
|
||||
'createdeco:long_red_bricks',
|
||||
'createdeco:corner_red_bricks',
|
||||
'createdeco:cracked_red_bricks',
|
||||
'createdeco:mossy_red_bricks',
|
||||
'createdeco:scarlet_bricks',
|
||||
'createdeco:short_scarlet_bricks',
|
||||
'createdeco:tiled_scarlet_bricks',
|
||||
'createdeco:long_scarlet_bricks',
|
||||
'createdeco:corner_scarlet_bricks',
|
||||
'createdeco:cracked_scarlet_bricks',
|
||||
'createdeco:mossy_scarlet_bricks',
|
||||
'createdeco:blue_bricks',
|
||||
'createdeco:short_blue_bricks',
|
||||
'createdeco:tiled_blue_bricks',
|
||||
'createdeco:long_blue_bricks',
|
||||
'createdeco:corner_blue_bricks',
|
||||
'createdeco:cracked_blue_bricks',
|
||||
'createdeco:mossy_blue_bricks',
|
||||
'createdeco:dusk_bricks',
|
||||
'createdeco:short_dusk_bricks',
|
||||
'createdeco:tiled_dusk_bricks',
|
||||
'createdeco:long_dusk_bricks',
|
||||
'createdeco:corner_dusk_bricks',
|
||||
'createdeco:cracked_dusk_bricks',
|
||||
'createdeco:mossy_dusk_bricks',
|
||||
'createdeco:pearl_bricks',
|
||||
'createdeco:short_pearl_bricks',
|
||||
'createdeco:tiled_pearl_bricks',
|
||||
'createdeco:long_pearl_bricks',
|
||||
'createdeco:corner_pearl_bricks',
|
||||
'createdeco:cracked_pearl_bricks',
|
||||
'createdeco:mossy_pearl_bricks'
|
||||
];
|
||||
|
||||
materials.forEach(material => {
|
||||
event.add('domum_ornamentum:all_brick_materials', `${material}`)
|
||||
event.add('domum_ornamentum:bricks', `${material}`)
|
||||
event.add('domum_ornamentum:doors_materials', `${material}`)
|
||||
event.add('domum_ornamentum:fancy_doors_materials', `${material}`)
|
||||
event.add('domum_ornamentum:fancy_trapdoors_materials', `${material}`)
|
||||
event.add('domum_ornamentum:fancy_gate_materials', `${material}`)
|
||||
event.add('domum_ornamentum:fence_materials', `${material}`)
|
||||
event.add('domum_ornamentum:paper_wall_center', `${material}`)
|
||||
event.add('domum_ornamentum:paper_wall_frame', `${material}`)
|
||||
event.add('domum_ornamentum:pillar_materials', `${material}`)
|
||||
event.add('domum_ornamentum:post_materials', `${material}`)
|
||||
event.add('domum_ornamentum:shingles_cover', `${material}`)
|
||||
event.add('domum_ornamentum:shingles_roof', `${material}`)
|
||||
event.add('domum_ornamentum:shingles_support', `${material}`)
|
||||
event.add('domum_ornamentum:slab_materials', `${material}`)
|
||||
event.add('domum_ornamentum:stairs_material', `${material}`)
|
||||
event.add('domum_ornamentum:timber_frames_center', `${material}`)
|
||||
event.add('domum_ornamentum:timber_frames_frame', `${material}`)
|
||||
event.add('domum_ornamentum:trapdoors_materials', `${material}`)
|
||||
event.add('domum_ornamentum:framed_light_center', `${material}`)
|
||||
});
|
||||
|
||||
// Gregtech storage blocks don't work here
|
||||
event.remove('domum_ornamentum:all_brick_materials', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:bricks', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:doors_materials', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:fancy_doors_materials', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:fancy_trapdoors_materials', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:fancy_gate_materials', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:fence_materials', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:paper_wall_center', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:paper_wall_frame', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:pillar_materials', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:post_materials', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:shingles_cover', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:shingles_roof', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:shingles_support', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:slab_materials', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:stairs_material', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:timber_frames_center', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:timber_frames_frame', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:trapdoors_materials', '#forge:storage_blocks')
|
||||
event.remove('domum_ornamentum:framed_light_center', '#forge:storage_blocks')
|
||||
//#endregion
|
||||
};
|
||||
22
kubejs/server_scripts/endermanoverhaul/tags.js
Normal file
22
kubejs/server_scripts/endermanoverhaul/tags.js
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
const registerEndermanOverhaulItemTags = (event) => {
|
||||
|
||||
const DISABLED_ITEMS = [
|
||||
'endermanoverhaul:tiny_skull',
|
||||
'endermanoverhaul:enderman_tooth',
|
||||
'endermanoverhaul:corrupted_blade',
|
||||
'endermanoverhaul:corrupted_shield'
|
||||
]
|
||||
|
||||
DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const registerEndermanOverhaulBlockTags = (event) => {
|
||||
|
||||
event.add('endermanoverhaul:cave_enderman_holdable', 'forge:ores')
|
||||
event.add('endermanoverhaul:cave_enderman_holdable', 'minecraft:base_stone_nether')
|
||||
|
||||
}
|
||||
|
|
@ -1,5 +1,8 @@
|
|||
// priority: 0
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
const registerEtchedRecipes = (event) => {
|
||||
|
||||
// Etching Table
|
||||
|
|
@ -52,4 +55,19 @@ const registerEtchedRecipes = (event) => {
|
|||
// Minecart With Jukebox
|
||||
event.shapeless('etched:jukebox_minecart', ['minecraft:jukebox', 'minecraft:minecart'])
|
||||
.id('etched:jukebox_minecart')
|
||||
|
||||
// Etched Blank Disc
|
||||
event.remove('etched:blank_music_disc')
|
||||
event.replaceOutput({ output: 'tfc:blank_disc'}, 'tfc:blank_disc', 'etched:blank_music_disc')
|
||||
|
||||
//vanilla music discs
|
||||
event.replaceInput({ input: 'tfc:blank_disc'}, 'tfc:blank_disc', 'etched:blank_music_disc')
|
||||
event.shapeless('create_connected:music_disc_interlude', ['etched:blank_music_disc', '#create:seats'])
|
||||
event.shapeless('minecraft:music_disc_relic', ['etched:blank_music_disc', 'firmalife:pottery_sherd'])
|
||||
event.shapeless('alekiships:music_disc_pirate_crafting', ['etched:blank_music_disc', 'alekiships:anchor'])
|
||||
event.shapeless('minecraft:music_disc_pigstep', ['etched:blank_music_disc', 'firmalife:food/bacon', 'minecraft:blackstone'])
|
||||
event.shapeless('minecraft:music_disc_5', ['etched:blank_music_disc', 'minecraft:deepslate'])
|
||||
event.shapeless('create_connected:music_disc_elevator', ['etched:blank_music_disc', 'create:elevator_pulley'])
|
||||
//dear god why
|
||||
event.shapeless('gtceu:sus_record', ['etched:blank_music_disc', '#tfc:knives', 'tfc:food/green_bean']).id('tfg:sus_record');
|
||||
}
|
||||
|
|
@ -1,22 +1,22 @@
|
|||
// priority: 0
|
||||
|
||||
const registerEveryCompatRecipes = (event) => {
|
||||
|
||||
global.TFC_WOOD_TYPES.forEach(wood =>
|
||||
{
|
||||
event.remove({ id: `everycomp:c/tfc/${wood}_window_pane` })
|
||||
|
||||
event.shapeless(`2x everycomp:c/tfc/${wood}_window_pane`,
|
||||
[
|
||||
`everycomp:c/tfc/${wood}_window`,
|
||||
'#forge:tools/saws'
|
||||
])
|
||||
.id(`tfg:everycompat/shapeless/${wood}_window_pane`)
|
||||
|
||||
event.recipes.gtceu.cutter(`tfg:everycompat/shapeless/${wood}_window_pane`)
|
||||
.itemInputs(`3x everycomp:c/tfc/${wood}_window`)
|
||||
.itemOutputs(`8x everycomp:c/tfc/${wood}_window_pane`)
|
||||
.duration(40)
|
||||
.EUt(20)
|
||||
})
|
||||
// priority: 0
|
||||
|
||||
const registerEveryCompatRecipes = (event) => {
|
||||
|
||||
global.TFC_WOOD_TYPES.forEach(wood =>
|
||||
{
|
||||
event.remove({ id: `everycomp:c/tfc/${wood}_window_pane` })
|
||||
|
||||
event.shapeless(`2x everycomp:c/tfc/${wood}_window_pane`,
|
||||
[
|
||||
`everycomp:c/tfc/${wood}_window`,
|
||||
'#forge:tools/saws'
|
||||
])
|
||||
.id(`tfg:everycompat/shapeless/${wood}_window_pane`)
|
||||
|
||||
event.recipes.gtceu.cutter(`tfg:everycompat/shapeless/${wood}_window_pane`)
|
||||
.itemInputs(`3x everycomp:c/tfc/${wood}_window`)
|
||||
.itemOutputs(`8x everycomp:c/tfc/${wood}_window_pane`)
|
||||
.duration(40)
|
||||
.EUt(7)
|
||||
})
|
||||
}
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
// priority: 0
|
||||
|
||||
const registerEveryCompatItemTags = (event) => {
|
||||
|
||||
event.removeAllTagsFrom('everycomp:c/gtceu/rubber_window')
|
||||
event.removeAllTagsFrom('everycomp:c/gtceu/rubber_window_pane')
|
||||
event.add('c:hidden_from_recipe_viewers', 'everycomp:c/gtceu/rubber_window')
|
||||
event.add('c:hidden_from_recipe_viewers', 'everycomp:c/gtceu/rubber_window_pane')
|
||||
// priority: 0
|
||||
|
||||
const registerEveryCompatItemTags = (event) => {
|
||||
|
||||
event.removeAllTagsFrom('everycomp:c/gtceu/rubber_window')
|
||||
event.removeAllTagsFrom('everycomp:c/gtceu/rubber_window_pane')
|
||||
event.add('c:hidden_from_recipe_viewers', 'everycomp:c/gtceu/rubber_window')
|
||||
event.add('c:hidden_from_recipe_viewers', 'everycomp:c/gtceu/rubber_window_pane')
|
||||
}
|
||||
13
kubejs/server_scripts/exposure/tags.js
Normal file
13
kubejs/server_scripts/exposure/tags.js
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
/**
|
||||
*
|
||||
* @param {TagEvent.Item} evt
|
||||
*/
|
||||
const registerExposureItemTags = (evt) =>
|
||||
{
|
||||
evt.add('exposure:black_printing_dyes', '#forge:dyes/black')
|
||||
evt.add('exposure:yellow_printing_dyes', '#forge:dyes/yellow')
|
||||
evt.add('exposure:cyan_printing_dyes', '#forge:dyes/cyan')
|
||||
evt.add('exposure:magenta_printing_dyes', '#forge:dyes/magenta')
|
||||
|
||||
evt.add('exposure:photo_agers', '#forge:dyes/brown')
|
||||
}
|
||||
|
|
@ -5,6 +5,8 @@ const registerExtendedAE2Recipes = (event) => {
|
|||
{ id: 'expatternprovider:ei_part' },
|
||||
{ id: 'expatternprovider:epp_alt' },
|
||||
{ id: 'expatternprovider:ei_alt' },
|
||||
{ id: 'expatternprovider:oversize_interface_alt' },
|
||||
{ id: 'expatternprovider:oversize_interface_part' },
|
||||
], mod: 'expatternprovider' });
|
||||
|
||||
|
||||
|
|
@ -75,6 +77,64 @@ const registerExtendedAE2Recipes = (event) => {
|
|||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
//#endregion
|
||||
|
||||
//#region Oversized Interface
|
||||
|
||||
//Luv
|
||||
|
||||
event.recipes.gtceu.assembly_line('expatternprovider:oversize_interface_luv')
|
||||
.itemInputs(
|
||||
'2x #expatternprovider:extended_interface',
|
||||
'8x megacells:accumulation_processor',
|
||||
'4x gtceu:luv_robot_arm',
|
||||
'8x gtceu:fusion_glass',
|
||||
'4x #forge:dense_plates/rhodium_plated_palladium',
|
||||
'#gtceu:circuits/luv',
|
||||
'2x #gtceu:circuits/iv',)
|
||||
.inputFluids(Fluid.of('gtceu:polybenzimidazole', 1152))
|
||||
.itemOutputs("expatternprovider:oversize_interface")
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
.stationResearch(b => b.researchStack(Item.of("expatternprovider:ex_interface")).EUt(GTValues.VA[GTValues.LuV]).CWUt(8))
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
//ZPM
|
||||
|
||||
event.recipes.gtceu.assembly_line('expatternprovider:oversize_interface_zpm')
|
||||
.itemInputs(
|
||||
'8x #expatternprovider:extended_interface',
|
||||
'8x megacells:accumulation_processor',
|
||||
'4x gtceu:zpm_robot_arm',
|
||||
'8x gtceu:fusion_glass',
|
||||
'4x #forge:dense_plates/naquadah_alloy',
|
||||
'#gtceu:circuits/zpm',
|
||||
'2x #gtceu:circuits/luv',)
|
||||
.inputFluids(Fluid.of('gtceu:polybenzimidazole', 1152))
|
||||
.itemOutputs("4x expatternprovider:oversize_interface")
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
.stationResearch(b => b.researchStack(Item.of("expatternprovider:ex_interface")).EUt(GTValues.VA[GTValues.LuV]).CWUt(8))
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
//UV
|
||||
|
||||
event.recipes.gtceu.assembly_line('expatternprovider:oversize_interface_uv')
|
||||
.itemInputs(
|
||||
'16x #expatternprovider:extended_interface',
|
||||
'8x megacells:accumulation_processor',
|
||||
'4x gtceu:uv_robot_arm',
|
||||
'8x gtceu:fusion_glass',
|
||||
'4x #forge:dense_plates/darmstadtium',
|
||||
'#gtceu:circuits/uv',
|
||||
'2x #gtceu:circuits/zpm',)
|
||||
.inputFluids(Fluid.of('gtceu:polybenzimidazole', 1152))
|
||||
.itemOutputs("8x expatternprovider:oversize_interface")
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
.stationResearch(b => b.researchStack(Item.of("expatternprovider:ex_interface")).EUt(GTValues.VA[GTValues.LuV]).CWUt(8))
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region ex pattern provider
|
||||
// IV
|
||||
event.recipes.gtceu.assembly_line('expatternprovider:ex_pattern_provider_iv')
|
||||
|
|
@ -279,7 +339,7 @@ const registerExtendedAE2Recipes = (event) => {
|
|||
.itemInputs(
|
||||
'ae2:blank_pattern',
|
||||
'ae2:logic_processor')
|
||||
.inputFluids(Fluid.of('gtceu:green_dye', 144))
|
||||
.inputFluids(Fluid.of('tfc:green_dye', 144))
|
||||
.itemOutputs('expatternprovider:pattern_modifier')
|
||||
.duration(100)
|
||||
.EUt(480)
|
||||
|
|
@ -482,6 +542,245 @@ const registerExtendedAE2Recipes = (event) => {
|
|||
.duration(200)
|
||||
.EUt(1920)
|
||||
|
||||
|
||||
//#endregion
|
||||
|
||||
}
|
||||
//#region Assembler Matrix
|
||||
|
||||
//Frame
|
||||
|
||||
event.recipes.gtceu.assembly_line('expatternprovider:assembler_matrix_frame_luv')
|
||||
.itemInputs(
|
||||
'4x gtceu:plascrete',
|
||||
'4x gtceu:luv_machine_casing',
|
||||
'1x #gtceu:circuits/luv',
|
||||
'1x megacells:accumulation_processor',
|
||||
'4x ae2:logic_processor',
|
||||
'4x #forge:rods/long/rhodium_plated_palladium',
|
||||
'1x expatternprovider:ex_molecular_assembler',)
|
||||
.inputFluids(
|
||||
Fluid.of("gtceu:concrete", 1152),
|
||||
Fluid.of('gtceu:polybenzimidazole', 1430),)
|
||||
.itemOutputs('expatternprovider:assembler_matrix_frame')
|
||||
.duration(400)
|
||||
.EUt(30768)
|
||||
.stationResearch(b => b.researchStack(Item.of("expatternprovider:ex_molecular_assembler")).EUt(GTValues.VA[GTValues.LuV]).CWUt(4))
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.assembly_line('expatternprovider:assembler_matrix_frame_zpm')
|
||||
.itemInputs(
|
||||
'8x gtceu:plascrete',
|
||||
'4x gtceu:zpm_machine_casing',
|
||||
'1x #gtceu:circuits/zpm',
|
||||
'1x megacells:accumulation_processor',
|
||||
'4x ae2:logic_processor',
|
||||
'4x #forge:rods/long/naquadah_alloy',
|
||||
'1x expatternprovider:ex_molecular_assembler',)
|
||||
.inputFluids(
|
||||
Fluid.of("gtceu:concrete", 1152),
|
||||
Fluid.of('gtceu:polybenzimidazole', 1430),)
|
||||
.itemOutputs('4x expatternprovider:assembler_matrix_frame')
|
||||
.duration(400)
|
||||
.EUt(123072)
|
||||
.stationResearch(b => b.researchStack(Item.of("expatternprovider:ex_molecular_assembler")).EUt(GTValues.VA[GTValues.LuV]).CWUt(4))
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.assembly_line('expatternprovider:assembler_matrix_frame_uv')
|
||||
.itemInputs(
|
||||
'16x gtceu:plascrete',
|
||||
'1x gtceu:uv_machine_casing',
|
||||
'1x #gtceu:circuits/uv',
|
||||
'1x megacells:accumulation_processor',
|
||||
'4x ae2:logic_processor',
|
||||
'4x #forge:rods/long/darmstadtium',
|
||||
'1x expatternprovider:ex_molecular_assembler',)
|
||||
.inputFluids(
|
||||
Fluid.of("gtceu:concrete", 1152),
|
||||
Fluid.of('gtceu:polybenzimidazole', 1430),)
|
||||
.itemOutputs('8x expatternprovider:assembler_matrix_frame')
|
||||
.duration(400)
|
||||
.EUt(492288)
|
||||
.stationResearch(b => b.researchStack(Item.of("expatternprovider:ex_molecular_assembler")).EUt(GTValues.VA[GTValues.LuV]).CWUt(4))
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
//Matrix Wall
|
||||
|
||||
event.recipes.gtceu.assembler('expatternprovider:assembler_matrix_wall_luv')
|
||||
.itemInputs(
|
||||
'4x gtceu:iridium_frame',
|
||||
'4x gtceu:plascrete',
|
||||
"1x gtceu:incoloy_ma_956_plate",)
|
||||
.inputFluids(
|
||||
Fluid.of("gtceu:styrene_butadiene_rubber", 1152)
|
||||
)
|
||||
.itemOutputs('expatternprovider:assembler_matrix_wall')
|
||||
.duration(800)
|
||||
.EUt(30768)
|
||||
|
||||
//Matrix Glass
|
||||
|
||||
event.recipes.gtceu.assembler("expatternprovider:assembler_matrix_glass")
|
||||
.itemInputs(
|
||||
'4x gtceu:iridium_frame',
|
||||
"4x gtceu:cleanroom_glass",
|
||||
"1x gtceu:incoloy_ma_956_plate",)
|
||||
.inputFluids(
|
||||
Fluid.of("gtceu:styrene_butadiene_rubber", 1152)
|
||||
)
|
||||
.itemOutputs("expatternprovider:assembler_matrix_glass")
|
||||
.duration(800)
|
||||
.EUt(30768)
|
||||
|
||||
//Matrix Pattern
|
||||
|
||||
event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_pattern_luv")
|
||||
.itemInputs(
|
||||
'#expatternprovider:extended_pattern_provider',
|
||||
'4x megacells:accumulation_processor',
|
||||
'4x gtceu:luv_robot_arm',
|
||||
'2x #forge:dense_plates/rhodium_plated_palladium',
|
||||
'#gtceu:circuits/luv',
|
||||
'2x #gtceu:circuits/iv',)
|
||||
.inputFluids(
|
||||
Fluid.of("gtceu:europium", 16),
|
||||
Fluid.of('gtceu:polybenzimidazole', 1430),)
|
||||
.itemOutputs('1x expatternprovider:assembler_matrix_pattern')
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_pattern_zpm")
|
||||
.itemInputs(
|
||||
'4x #expatternprovider:extended_pattern_provider',
|
||||
'4x megacells:accumulation_processor',
|
||||
'4x gtceu:zpm_robot_arm',
|
||||
'2x #forge:dense_plates/naquadah_alloy',
|
||||
'#gtceu:circuits/zpm',
|
||||
'2x #gtceu:circuits/luv',)
|
||||
.inputFluids(
|
||||
Fluid.of("gtceu:europium", 16),
|
||||
Fluid.of('gtceu:polybenzimidazole', 1430),)
|
||||
.itemOutputs('4x expatternprovider:assembler_matrix_pattern')
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_pattern_uv")
|
||||
.itemInputs(
|
||||
'8x #expatternprovider:extended_pattern_provider',
|
||||
'4x megacells:accumulation_processor',
|
||||
'4x gtceu:uv_robot_arm',
|
||||
'2x #forge:dense_plates/darmstadtium',
|
||||
'#gtceu:circuits/uv',
|
||||
'2x #gtceu:circuits/zpm',)
|
||||
.inputFluids(
|
||||
Fluid.of("gtceu:europium", 16),
|
||||
Fluid.of('gtceu:polybenzimidazole', 1430),)
|
||||
.itemOutputs('8x expatternprovider:assembler_matrix_pattern')
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
//Matrix Crafter
|
||||
|
||||
event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_crafter_luv")
|
||||
.itemInputs(
|
||||
"#expatternprovider:oversize_interface",
|
||||
'4x megacells:accumulation_processor',
|
||||
'gtceu:iv_field_generator',
|
||||
'2x #forge:dense_plates/rhodium_plated_palladium',
|
||||
'#gtceu:circuits/luv',
|
||||
'2x #gtceu:circuits/iv',)
|
||||
.inputFluids(
|
||||
Fluid.of("gtceu:europium", 16),
|
||||
Fluid.of('gtceu:polybenzimidazole', 1430),)
|
||||
.itemOutputs('1x expatternprovider:assembler_matrix_crafter')
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_crafter_zpm")
|
||||
.itemInputs(
|
||||
"4x #expatternprovider:oversize_interface",
|
||||
'4x megacells:accumulation_processor',
|
||||
'gtceu:luv_field_generator',
|
||||
'2x #forge:dense_plates/naquadah_alloy',
|
||||
'#gtceu:circuits/zpm',
|
||||
'2x #gtceu:circuits/luv',)
|
||||
.inputFluids(
|
||||
Fluid.of("gtceu:europium", 16),
|
||||
Fluid.of('gtceu:polybenzimidazole', 1430),)
|
||||
.itemOutputs('4x expatternprovider:assembler_matrix_crafter')
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_crafter_uv")
|
||||
.itemInputs(
|
||||
"8x #expatternprovider:oversize_interface",
|
||||
'4x megacells:accumulation_processor',
|
||||
'gtceu:iv_field_generator',
|
||||
'2x #forge:dense_plates/darmstadtium',
|
||||
'#gtceu:circuits/uv',
|
||||
'2x #gtceu:circuits/zpm',)
|
||||
.inputFluids(
|
||||
Fluid.of("gtceu:europium", 16),
|
||||
Fluid.of('gtceu:polybenzimidazole', 1430),)
|
||||
.itemOutputs('8x expatternprovider:assembler_matrix_crafter')
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
//Matrix Speed
|
||||
|
||||
event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_speed_luv")
|
||||
.itemInputs(
|
||||
"megacells:mega_crafting_accelerator",
|
||||
'4x megacells:accumulation_processor',
|
||||
"64x ae2:speed_card",
|
||||
'2x #forge:dense_plates/rhodium_plated_palladium',
|
||||
'#gtceu:circuits/luv',
|
||||
'2x #gtceu:circuits/iv',)
|
||||
.inputFluids(
|
||||
Fluid.of("gtceu:europium", 16),
|
||||
Fluid.of('gtceu:polybenzimidazole', 1430),)
|
||||
.itemOutputs("expatternprovider:assembler_matrix_speed")
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_speed_zpm")
|
||||
.itemInputs(
|
||||
"4x megacells:mega_crafting_accelerator",
|
||||
'4x megacells:accumulation_processor',
|
||||
"64x ae2:speed_card",
|
||||
'2x #forge:dense_plates/naquadah_alloy',
|
||||
'#gtceu:circuits/zpm',
|
||||
'2x #gtceu:circuits/luv',)
|
||||
.inputFluids(
|
||||
Fluid.of("gtceu:europium", 16),
|
||||
Fluid.of('gtceu:polybenzimidazole', 1430),)
|
||||
.itemOutputs("4x expatternprovider:assembler_matrix_speed")
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_speed_uv")
|
||||
.itemInputs(
|
||||
"8x megacells:mega_crafting_accelerator",
|
||||
'4x megacells:accumulation_processor',
|
||||
"64x ae2:speed_card",
|
||||
'2x #forge:dense_plates/darmstadtium',
|
||||
'#gtceu:circuits/uv',
|
||||
'2x #gtceu:circuits/zpm',)
|
||||
.inputFluids(
|
||||
Fluid.of("gtceu:europium", 16),
|
||||
Fluid.of('gtceu:polybenzimidazole', 1430),)
|
||||
.itemOutputs("8x expatternprovider:assembler_matrix_speed")
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
|
||||
//#endregion
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,180 +1,115 @@
|
|||
// priority: 0
|
||||
|
||||
const registerFirmaCivRecipes = (event) => {
|
||||
|
||||
//#region Удаление рецептов
|
||||
|
||||
event.remove({ id: '/firmaciv:quern/' })
|
||||
event.remove({ id: 'firmaciv:anvil/copper_bolt' })
|
||||
event.remove({ id: 'firmaciv:crafting/watercraft_frame_angled_2' }) // Как же меня заебал разраб со своими кривыми руками
|
||||
//#region Удаление рецептов
|
||||
|
||||
//#endregion
|
||||
event.remove({ id: '/firmaciv:quern/' })
|
||||
event.remove({ id: 'firmaciv:anvil/copper_bolt' })
|
||||
event.remove({ id: 'firmaciv:crafting/watercraft_frame_angled_2' }) // Как же меня заебал разраб со своими кривыми руками
|
||||
event.remove("firmaciv:heating/cleat")
|
||||
event.remove("firmaciv:heating/oarlock")
|
||||
event.remove("firmaciv:heating/cannonball")
|
||||
|
||||
//#region Unfinished Sextant
|
||||
event.recipes.tfc.heating('firmaciv:unfinished_sextant', 930)
|
||||
.resultFluid(Fluid.of('gtceu:brass', 288))
|
||||
.id(`firmaciv:heating/unfinished_sextant`)
|
||||
//#endregion
|
||||
//#endregion
|
||||
|
||||
//#region Sextant
|
||||
event.recipes.gtceu.assembler('tfg:firmaciv/sextant')
|
||||
.itemInputs('#forge:plates/brass', '2x #forge:rods/brass', '#forge:glass')
|
||||
.circuit(10)
|
||||
.itemOutputs('firmaciv:sextant')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
//#region Unfinished Sextant
|
||||
event.recipes.tfc.heating('firmaciv:unfinished_sextant', 930)
|
||||
.resultFluid(Fluid.of('gtceu:brass', 288))
|
||||
.id(`firmaciv:heating/unfinished_sextant`)
|
||||
//#endregion
|
||||
|
||||
event.recipes.tfc.heating('firmaciv:sextant', 930)
|
||||
.resultFluid(Fluid.of('gtceu:brass', 288))
|
||||
.id(`firmaciv:heating/sextant`)
|
||||
//#endregion
|
||||
//#region Sextant
|
||||
event.recipes.gtceu.assembler('tfg:firmaciv/sextant')
|
||||
.itemInputs('#forge:plates/brass', '#forge:small_gears/brass', '#forge:glass_panes')
|
||||
.circuit(10)
|
||||
.itemOutputs('firmaciv:sextant')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
|
||||
//#region Unfinished Navigator Timepiece
|
||||
event.recipes.tfc.heating('firmaciv:unfinished_nav_clock', 930)
|
||||
.resultFluid(Fluid.of('gtceu:brass', 288))
|
||||
.id(`firmaciv:heating/unfinished_nav_clock`)
|
||||
event.recipes.tfc.heating('firmaciv:sextant', 930)
|
||||
.resultFluid(Fluid.of('gtceu:brass', 288))
|
||||
.id(`firmaciv:heating/sextant`)
|
||||
//#endregion
|
||||
|
||||
event.replaceOutput( // This problem would come each time there's a double-plate recipe in an anvil. Dunno how to fix it other than that.
|
||||
'gtceu:arc_furnace/arc_unfinished_nav_clock',
|
||||
'gtceu:brass_ingot',
|
||||
'2x gtceu:brass_ingot')
|
||||
|
||||
event.replaceOutput(
|
||||
'gtceu:macerator/macerate_unfinished_nav_clock',
|
||||
'gtceu:brass_dust',
|
||||
'2x gtceu:brass_dust')
|
||||
//#endregion
|
||||
//#region Unfinished Navigator Timepiece
|
||||
event.recipes.tfc.heating('firmaciv:unfinished_nav_clock', 930)
|
||||
.resultFluid(Fluid.of('gtceu:brass', 288))
|
||||
.id(`firmaciv:heating/unfinished_nav_clock`)
|
||||
|
||||
//#region Navigator Timepiece
|
||||
event.recipes.gtceu.assembler('tfg:firmaciv/nav_clock')
|
||||
.itemInputs('2x #forge:plates/brass', '4x #forge:rods/brass', '2x #forge:glass')
|
||||
.circuit(11)
|
||||
.itemOutputs('firmaciv:nav_clock')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
//#endregion
|
||||
|
||||
event.recipes.tfc.heating('firmaciv:nav_clock', 930)
|
||||
.resultFluid(Fluid.of('gtceu:brass', 576))
|
||||
.id(`firmaciv:heating/nav_clock`)
|
||||
//#endregion
|
||||
//#region Navigator Timepiece
|
||||
event.recipes.gtceu.assembler('tfg:firmaciv/nav_clock')
|
||||
.itemInputs('2x #forge:plates/brass', '3x #forge:small_gears/brass', '2x #forge:glass_panes')
|
||||
.circuit(11)
|
||||
.itemOutputs('firmaciv:nav_clock')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
|
||||
//#region Unfinished Barometer
|
||||
event.recipes.tfc.heating('firmaciv:unfinished_barometer', 930)
|
||||
.resultFluid(Fluid.of('gtceu:brass', 144))
|
||||
.id(`firmaciv:heating/unfinished_barometer`)
|
||||
//#endregion
|
||||
event.recipes.tfc.heating('firmaciv:nav_clock', 930)
|
||||
.resultFluid(Fluid.of('gtceu:brass', 576))
|
||||
.id(`firmaciv:heating/nav_clock`)
|
||||
//#endregion
|
||||
|
||||
//#region Barometer
|
||||
event.recipes.gtceu.assembler('tfg:firmaciv/barometer')
|
||||
.itemInputs('2x #forge:plates/brass', '2x #forge:rods/brass', '#forge:glass')
|
||||
.inputFluids(Fluid.of('minecraft:water', 1000))
|
||||
.circuit(12)
|
||||
.itemOutputs('firmaciv:barometer')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
//#region Unfinished Barometer
|
||||
event.recipes.tfc.heating('firmaciv:unfinished_barometer', 930)
|
||||
.resultFluid(Fluid.of('gtceu:brass', 144))
|
||||
.id(`firmaciv:heating/unfinished_barometer`)
|
||||
//#endregion
|
||||
|
||||
event.recipes.tfc.heating('firmaciv:barometer', 930)
|
||||
.resultFluid(Fluid.of('gtceu:brass', 216))
|
||||
.id(`firmaciv:heating/barometer`)
|
||||
//#endregion
|
||||
//#region Barometer
|
||||
event.recipes.gtceu.assembler('tfg:firmaciv/barometer')
|
||||
.itemInputs('#forge:plates/brass', '2x #forge:small_gears/brass', '#forge:glass_panes')
|
||||
.inputFluids(Fluid.of('minecraft:water', 1000))
|
||||
.circuit(12)
|
||||
.itemOutputs('firmaciv:barometer')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
|
||||
//#region Compass
|
||||
event.recipes.gtceu.canner('tfg:firmaciv/compass')
|
||||
.itemInputs('minecraft:redstone', '#forge:plates/wrought_iron')
|
||||
.circuit(1)
|
||||
.itemOutputs('firmaciv:firmaciv_compass')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
//#endregion
|
||||
event.recipes.tfc.heating('firmaciv:barometer', 930)
|
||||
.resultFluid(Fluid.of('gtceu:brass', 216))
|
||||
.id(`firmaciv:heating/barometer`)
|
||||
//#endregion
|
||||
|
||||
//#region Oarlock
|
||||
event.recipes.gtceu.assembler('tfg:firmaciv/oarlock')
|
||||
.itemInputs('#forge:double_plates/wrought_iron')
|
||||
.circuit(13)
|
||||
.itemOutputs('firmaciv:oarlock')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
//#region Compass
|
||||
event.recipes.gtceu.assembler('tfg:firmaciv/compass')
|
||||
.itemInputs('#forge:plates/wrought_iron', '#forge:bolts/magnetic_iron', '#forge:glass_panes')
|
||||
.circuit(21)
|
||||
.itemOutputs('firmaciv:firmaciv_compass')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.tfc.heating('firmaciv:oarlock', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:iron', 288))
|
||||
.id(`firmaciv:heating/oarlock`)
|
||||
//#endregion
|
||||
event.shapeless('firmaciv:firmaciv_compass', ['tfc:lens', '#tfc:bowls', '#tfc:magnetic_rocks'])
|
||||
//#endregion
|
||||
|
||||
//#region Cleat
|
||||
event.recipes.gtceu.assembler('tfg:firmaciv/cleat')
|
||||
.itemInputs('#forge:double_plates/steel')
|
||||
.circuit(14)
|
||||
.itemOutputs('firmaciv:cleat')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
//#region Cannon Barrel
|
||||
event.recipes.gtceu.assembler('tfg:firmaciv/cannon_barrel')
|
||||
.itemInputs('#forge:double_plates/wrought_iron')
|
||||
.circuit(11)
|
||||
.itemOutputs('firmaciv:cannon_barrel')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.tfc.heating('firmaciv:cleat', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:steel', 288))
|
||||
.id(`firmaciv:heating/cleat`)
|
||||
//#endregion
|
||||
event.recipes.tfc.heating('firmaciv:cannon_barrel', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:iron', 288))
|
||||
.id(`firmaciv:heating/cannon_barrel`)
|
||||
//#endregion
|
||||
|
||||
//#region Anchor
|
||||
event.recipes.gtceu.assembler('tfg:firmaciv/anchor')
|
||||
.itemInputs('#forge:double_plates/steel')
|
||||
.circuit(10)
|
||||
.itemOutputs('firmaciv:anchor')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
//#region Cannon
|
||||
event.recipes.tfc.heating('firmaciv:cannon', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:iron', 1008))
|
||||
.id(`firmaciv:heating/cannon`)
|
||||
//#endregion
|
||||
|
||||
event.recipes.tfc.heating('firmaciv:anchor', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:steel', 288))
|
||||
.id(`firmaciv:heating/anchor`)
|
||||
|
||||
event.replaceOutput(
|
||||
'gtceu:arc_furnace/arc_anchor',
|
||||
'gtceu:steel_ingot',
|
||||
'2x gtceu:steel_ingot')
|
||||
|
||||
event.replaceOutput(
|
||||
'gtceu:macerator/macerate_anchor',
|
||||
'gtceu:steel_dust',
|
||||
'2x gtceu:steel_dust')
|
||||
//#endregion
|
||||
|
||||
//#region Cannon Barrel
|
||||
event.recipes.gtceu.assembler('tfg:firmaciv/cannon_barrel')
|
||||
.itemInputs('#forge:double_plates/wrought_iron')
|
||||
.circuit(11)
|
||||
.itemOutputs('firmaciv:cannon_barrel')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.tfc.heating('firmaciv:cannon_barrel', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:iron', 288))
|
||||
.id(`firmaciv:heating/cannon_barrel`)
|
||||
//#endregion
|
||||
|
||||
//#region Cannonball
|
||||
event.recipes.gtceu.assembler('tfg:firmaciv/cannonball')
|
||||
.itemInputs('#forge:double_plates/wrought_iron')
|
||||
.circuit(12)
|
||||
.itemOutputs('firmaciv:cannonball')
|
||||
.duration(75)
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.tfc.heating('firmaciv:cannonball', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:iron', 288))
|
||||
.id(`firmaciv:heating/cannonball`)
|
||||
|
||||
event.replaceOutput(
|
||||
'gtceu:arc_furnace/arc_cannon_barrel',
|
||||
'gtceu:wrought_iron_ingot',
|
||||
'2x gtceu:wrought_iron_ingot')
|
||||
|
||||
event.replaceOutput(
|
||||
'gtceu:macerator/macerate_cannon_barrel',
|
||||
'gtceu:iron_dust',
|
||||
'2x gtceu:iron_dust')
|
||||
//#endregion
|
||||
|
||||
//#region Cannon
|
||||
event.recipes.tfc.heating('firmaciv:cannon', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:iron', 1872))
|
||||
.id(`firmaciv:heating/cannon`)
|
||||
//#endregion
|
||||
// #region More rope
|
||||
event.shaped('firmaciv:rope_coil', [
|
||||
'A ',
|
||||
'AB',
|
||||
'A '
|
||||
], {
|
||||
A: '#forge:cloth',
|
||||
B: '#forge:wax'
|
||||
}).id('tfg:firmaciv/rope_coil_from_cloth')
|
||||
// #endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ const registerFirmaCivItemTags = (event) => {
|
|||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
|
||||
event.add(`forge:rope`, `firmaciv:rope_coil`)
|
||||
}
|
||||
|
||||
const registerFirmaCivBlockTags = (event) => {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -14,6 +14,8 @@ const registerFirmaLifeItemTags = (event) => {
|
|||
})
|
||||
|
||||
event.add('minecraft:trimmable_armor', '#firmalife:beekeeper_armor')
|
||||
|
||||
event.add('tfc:foods/usable_in_salad', 'firmalife:food/pickled_egg')
|
||||
|
||||
// Удаление тегов у руд
|
||||
event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/")
|
||||
|
|
@ -34,7 +36,6 @@ const registerFirmaLifeFluidTags = (event) => {
|
|||
|
||||
// Добавляем тег для скрытия в EMI
|
||||
event.add('c:hidden_from_recipe_viewers', 'firmalife:metal/chromium')
|
||||
event.add('c:hidden_from_recipe_viewers', 'create:honey')
|
||||
}
|
||||
|
||||
const registerFirmaLifePlacedFeatures = (event) => {
|
||||
|
|
|
|||
|
|
@ -1,436 +1,513 @@
|
|||
// priority: 0
|
||||
|
||||
const registerFramedBlocksRecipes = (event) => {
|
||||
|
||||
event.remove({ id: 'framedblocks:framed_torch' })
|
||||
event.remove({ id: 'framedblocks:framing_saw/framed_torch' })
|
||||
event.remove({ id: 'framedblocks:framed_soul_torch' })
|
||||
event.remove({ id: 'framedblocks:framing_saw/framed_soul_torch' })
|
||||
|
||||
//#region Framed Iron Door
|
||||
event.shaped('framedblocks:framed_iron_door', [
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:plates/wrought_iron',
|
||||
B: 'framedblocks:framed_door'
|
||||
}).id('framedblocks:framed_iron_door')
|
||||
event.remove({ id: 'framedblocks:framed_torch' })
|
||||
event.remove({ id: 'framedblocks:framing_saw/framed_torch' })
|
||||
event.remove({ id: 'framedblocks:framed_soul_torch' })
|
||||
event.remove({ id: 'framedblocks:framing_saw/framed_soul_torch' })
|
||||
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
"count": 2,
|
||||
"ingredient": {
|
||||
"tag": "forge:plates/wrought_iron"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 3072,
|
||||
result: {
|
||||
item: "framedblocks:framed_iron_door"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_iron_door')
|
||||
//#endregion
|
||||
//#region Framed Iron Door
|
||||
event.shaped('framedblocks:framed_iron_door', [
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:plates/wrought_iron',
|
||||
B: 'framedblocks:framed_door'
|
||||
}).id('framedblocks:framed_iron_door')
|
||||
|
||||
//#region Framed Iron Trapdoor
|
||||
event.shapeless('framedblocks:framed_iron_trapdoor', [
|
||||
'framedblocks:framed_trapdoor',
|
||||
'#forge:plates/wrought_iron'
|
||||
]).id('framedblocks:framed_iron_trapdoor')
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
"count": 2,
|
||||
"ingredient": {
|
||||
"tag": "forge:plates/wrought_iron"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 3072,
|
||||
result: {
|
||||
item: "framedblocks:framed_iron_door"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_iron_door')
|
||||
//#endregion
|
||||
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "forge:plates/wrought_iron"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 1536,
|
||||
result: {
|
||||
item: "framedblocks:framed_iron_trapdoor"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_iron_trapdoor')
|
||||
//#endregion
|
||||
//#region Framed Iron Trapdoor
|
||||
event.shapeless('framedblocks:framed_iron_trapdoor', [
|
||||
'framedblocks:framed_trapdoor',
|
||||
'#forge:plates/wrought_iron'
|
||||
]).id('framedblocks:framed_iron_trapdoor')
|
||||
|
||||
//#region Framed Obsidian Pressure Plate
|
||||
event.shaped('framedblocks:framed_obsidian_pressure_plate', [
|
||||
'AA',
|
||||
'BB'
|
||||
], {
|
||||
A: '#forge:plates/obsidian',
|
||||
B: 'framedblocks:framed_cube'
|
||||
}).id('framedblocks:framed_obsidian_pressure_plate')
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "forge:plates/wrought_iron"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 1536,
|
||||
result: {
|
||||
item: "framedblocks:framed_iron_trapdoor"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_iron_trapdoor')
|
||||
//#endregion
|
||||
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "forge:plates/obsidian"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 1536,
|
||||
result: {
|
||||
item: "framedblocks:framed_obsidian_pressure_plate"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_obsidian_pressure_plate')
|
||||
//#endregion
|
||||
//#region Framed Pressure Plate
|
||||
event.shapeless(
|
||||
Item.of('framedblocks:framed_pressure_plate', 1),
|
||||
[
|
||||
'#minecraft:pressure_plates',
|
||||
'framedblocks:framed_cube',
|
||||
]
|
||||
).id('framedblocks:framed_pressure_plate')
|
||||
|
||||
//#region Framed Gold Pressure Plate
|
||||
event.shaped('framedblocks:framed_gold_pressure_plate', [
|
||||
'AA',
|
||||
'BB'
|
||||
], {
|
||||
A: '#forge:plates/gold',
|
||||
B: 'framedblocks:framed_cube'
|
||||
}).id('framedblocks:framed_gold_pressure_plate')
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
"count": 1,
|
||||
"ingredient": {
|
||||
tag: "minecraft:pressure_plates"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 1536,
|
||||
result: {
|
||||
item: "framedblocks:framed_pressure_plate"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_pressure_plate')
|
||||
//#endregion
|
||||
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "forge:plates/gold"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 1536,
|
||||
result: {
|
||||
item: "framedblocks:framed_gold_pressure_plate"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_gold_pressure_plate')
|
||||
//#endregion
|
||||
//#region Framed Obsidian Pressure Plate
|
||||
event.shaped('framedblocks:framed_obsidian_pressure_plate', [
|
||||
'AA',
|
||||
'BB'
|
||||
], {
|
||||
A: '#forge:plates/obsidian',
|
||||
B: 'framedblocks:framed_cube'
|
||||
}).id('framedblocks:framed_obsidian_pressure_plate')
|
||||
|
||||
//#region Framed Iron Pressure Plate
|
||||
event.shaped('framedblocks:framed_iron_pressure_plate', [
|
||||
'AA',
|
||||
'BB'
|
||||
], {
|
||||
A: '#forge:plates/iron',
|
||||
B: 'framedblocks:framed_cube'
|
||||
}).id('framedblocks:framed_iron_pressure_plate')
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "forge:plates/obsidian"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 1536,
|
||||
result: {
|
||||
item: "framedblocks:framed_obsidian_pressure_plate"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_obsidian_pressure_plate')
|
||||
//#endregion
|
||||
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "forge:plates/iron"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 1536,
|
||||
result: {
|
||||
item: "framedblocks:framed_iron_pressure_plate"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_iron_pressure_plate')
|
||||
//#endregion
|
||||
//#region Framed Gold Pressure Plate
|
||||
event.shaped('framedblocks:framed_gold_pressure_plate', [
|
||||
'AA',
|
||||
'BB'
|
||||
], {
|
||||
A: '#forge:plates/gold',
|
||||
B: 'framedblocks:framed_cube'
|
||||
}).id('framedblocks:framed_gold_pressure_plate')
|
||||
|
||||
//#region Framed Hanging Sign
|
||||
event.shaped('6x framedblocks:framed_hanging_sign', [
|
||||
'A A',
|
||||
'BBB',
|
||||
'BBB'
|
||||
], {
|
||||
A: '#tfg:metal_chains',
|
||||
B: 'framedblocks:framed_cube'
|
||||
}).id('framedblocks:framed_hanging_sign')
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "forge:plates/gold"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 1536,
|
||||
result: {
|
||||
item: "framedblocks:framed_gold_pressure_plate"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_gold_pressure_plate')
|
||||
//#endregion
|
||||
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "tfg:metal_chains"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 3072,
|
||||
result: {
|
||||
count: 2,
|
||||
item: "framedblocks:framed_hanging_sign"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_hanging_sign')
|
||||
//#endregion
|
||||
//#region Framed Iron Pressure Plate
|
||||
event.shaped('framedblocks:framed_iron_pressure_plate', [
|
||||
'AA',
|
||||
'BB'
|
||||
], {
|
||||
A: '#forge:plates/wrought_iron',
|
||||
B: 'framedblocks:framed_cube'
|
||||
}).id('framedblocks:framed_iron_pressure_plate')
|
||||
|
||||
//#region Framed Collapsible Copycat Block
|
||||
event.shaped('4x framedblocks:framed_collapsible_copycat_block', [
|
||||
'ABA',
|
||||
'B B',
|
||||
'ABA'
|
||||
], {
|
||||
A: 'framedblocks:framed_cube',
|
||||
B: '#forge:sheets/copper'
|
||||
}).id('framedblocks:framed_collapsible_copycat_block')
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "forge:plates/iron"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 1536,
|
||||
result: {
|
||||
item: "framedblocks:framed_iron_pressure_plate"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_iron_pressure_plate')
|
||||
//#endregion
|
||||
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "forge:plates/copper"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 6144,
|
||||
result: {
|
||||
item: "framedblocks:framed_collapsible_copycat_block"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_collapsible_copycat_block')
|
||||
//#endregion
|
||||
//#region Framed Hanging Sign
|
||||
event.shaped('6x framedblocks:framed_hanging_sign', [
|
||||
'A A',
|
||||
'BBB',
|
||||
'BBB'
|
||||
], {
|
||||
A: '#tfg:metal_chains',
|
||||
B: 'framedblocks:framed_cube'
|
||||
}).id('framedblocks:framed_hanging_sign')
|
||||
|
||||
//#region Framed Fancy Rail Block
|
||||
event.shaped('32x framedblocks:framed_fancy_rail', [
|
||||
'A A',
|
||||
'ABA',
|
||||
'A A'
|
||||
], {
|
||||
A: '#forge:rods/wrought_iron',
|
||||
B: 'framedblocks:framed_cube'
|
||||
}).id('framedblocks:framed_fancy_rail')
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "tfg:metal_chains"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 3072,
|
||||
result: {
|
||||
count: 2,
|
||||
item: "framedblocks:framed_hanging_sign"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_hanging_sign')
|
||||
//#endregion
|
||||
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 6,
|
||||
ingredient: {
|
||||
tag: "forge:rods/wrought_iron"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 6144,
|
||||
result: {
|
||||
count: 32,
|
||||
item: "framedblocks:framed_fancy_rail"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_fancy_rail')
|
||||
//#endregion
|
||||
//#region Framed Collapsible Copycat Block
|
||||
event.shaped('4x framedblocks:framed_collapsible_copycat_block', [
|
||||
'ABA',
|
||||
'B B',
|
||||
'ABA'
|
||||
], {
|
||||
A: 'framedblocks:framed_cube',
|
||||
B: '#forge:sheets/copper'
|
||||
}).id('framedblocks:framed_collapsible_copycat_block')
|
||||
|
||||
//#region Framed Fancy Powered Rail Block
|
||||
event.shaped('16x framedblocks:framed_fancy_powered_rail', [
|
||||
'A A',
|
||||
'ABA',
|
||||
'ACA'
|
||||
], {
|
||||
A: '#forge:rods/gold',
|
||||
B: 'framedblocks:framed_cube',
|
||||
C: 'minecraft:redstone'
|
||||
}).id('framedblocks:framed_fancy_powered_rail')
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "forge:plates/copper"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 6144,
|
||||
result: {
|
||||
item: "framedblocks:framed_collapsible_copycat_block"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_collapsible_copycat_block')
|
||||
//#endregion
|
||||
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 6,
|
||||
ingredient: {
|
||||
tag: "forge:rods/gold"
|
||||
}
|
||||
},
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "forge:dusts/redstone"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 6144,
|
||||
result: {
|
||||
count: 16,
|
||||
item: "framedblocks:framed_fancy_powered_rail"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_fancy_powered_rail')
|
||||
//#endregion
|
||||
//#region Framed Fancy Rail Block
|
||||
event.shaped('32x framedblocks:framed_fancy_rail', [
|
||||
'A A',
|
||||
'ABA',
|
||||
'A A'
|
||||
], {
|
||||
A: '#forge:rods/wrought_iron',
|
||||
B: 'framedblocks:framed_cube'
|
||||
}).id('framedblocks:framed_fancy_rail')
|
||||
|
||||
//#region Framed Fancy Detector Rail Block
|
||||
event.shaped('4x framedblocks:framed_fancy_detector_rail', [
|
||||
'ABA',
|
||||
'ACA',
|
||||
'ADA'
|
||||
], {
|
||||
A: '#forge:rods/wrought_iron',
|
||||
B: '#minecraft:stone_pressure_plates',
|
||||
C: 'framedblocks:framed_cube',
|
||||
D: 'minecraft:redstone',
|
||||
}).id('framedblocks:framed_fancy_detector_rail')
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 6,
|
||||
ingredient: {
|
||||
tag: "forge:rods/wrought_iron"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 6144,
|
||||
result: {
|
||||
count: 32,
|
||||
item: "framedblocks:framed_fancy_rail"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_fancy_rail')
|
||||
//#endregion
|
||||
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 6,
|
||||
ingredient: {
|
||||
tag: "forge:rods/wrought_iron"
|
||||
}
|
||||
},
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "forge:dusts/redstone"
|
||||
}
|
||||
},
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "minecraft:stone_pressure_plates"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 6144,
|
||||
result: {
|
||||
count: 4,
|
||||
item: "framedblocks:framed_fancy_detector_rail"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_fancy_detector_rail')
|
||||
//#endregion
|
||||
//#region Framed Fancy Powered Rail Block
|
||||
event.shaped('16x framedblocks:framed_fancy_powered_rail', [
|
||||
'A A',
|
||||
'ABA',
|
||||
'ACA'
|
||||
], {
|
||||
A: '#forge:rods/gold',
|
||||
B: 'framedblocks:framed_cube',
|
||||
C: 'minecraft:redstone'
|
||||
}).id('framedblocks:framed_fancy_powered_rail')
|
||||
|
||||
//#region Framed Fancy Activator Rail Block
|
||||
event.shaped('4x framedblocks:framed_fancy_activator_rail', [
|
||||
'ABA',
|
||||
'ACA',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:rods/wrought_iron',
|
||||
B: 'framedblocks:framed_cube',
|
||||
C: 'minecraft:redstone_torch'
|
||||
}).id('framedblocks:framed_fancy_activator_rail')
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 6,
|
||||
ingredient: {
|
||||
tag: "forge:rods/gold"
|
||||
}
|
||||
},
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "forge:dusts/redstone"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 6144,
|
||||
result: {
|
||||
count: 16,
|
||||
item: "framedblocks:framed_fancy_powered_rail"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_fancy_powered_rail')
|
||||
//#endregion
|
||||
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 6,
|
||||
ingredient: {
|
||||
tag: "forge:rods/wrought_iron"
|
||||
}
|
||||
},
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
item: "minecraft:redstone_torch"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 6144,
|
||||
result: {
|
||||
count: 4,
|
||||
item: "framedblocks:framed_fancy_activator_rail"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_fancy_activator_rail')
|
||||
//#endregion
|
||||
//#region Framed Fancy Detector Rail Block
|
||||
event.shaped('4x framedblocks:framed_fancy_detector_rail', [
|
||||
'ABA',
|
||||
'ACA',
|
||||
'ADA'
|
||||
], {
|
||||
A: '#forge:rods/wrought_iron',
|
||||
B: '#minecraft:stone_pressure_plates',
|
||||
C: 'framedblocks:framed_cube',
|
||||
D: 'minecraft:redstone',
|
||||
}).id('framedblocks:framed_fancy_detector_rail')
|
||||
|
||||
// Framed Raiforcement
|
||||
event.shaped('32x framedblocks:framed_reinforcement', [
|
||||
'ABA',
|
||||
'BCB',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:plates/obsidian',
|
||||
B: '#forge:plates/wrought_iron',
|
||||
C: '#forge:frames'
|
||||
}).id('framedblocks:framed_reinforcement')
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 6,
|
||||
ingredient: {
|
||||
tag: "forge:rods/wrought_iron"
|
||||
}
|
||||
},
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "forge:dusts/redstone"
|
||||
}
|
||||
},
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
tag: "minecraft:stone_pressure_plates"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 6144,
|
||||
result: {
|
||||
count: 4,
|
||||
item: "framedblocks:framed_fancy_detector_rail"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_fancy_detector_rail')
|
||||
//#endregion
|
||||
|
||||
// Framed Key
|
||||
event.shaped('framedblocks:framed_key', [
|
||||
'AAB',
|
||||
'CC '
|
||||
], {
|
||||
A: '#forge:rods/wooden',
|
||||
B: 'framedblocks:framed_cube',
|
||||
C: '#forge:nuggets/wrought_iron'
|
||||
}).id('framedblocks:framed_key')
|
||||
//#region Framed Fancy Activator Rail Block
|
||||
event.shaped('4x framedblocks:framed_fancy_activator_rail', [
|
||||
'ABA',
|
||||
'ACA',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:rods/wrought_iron',
|
||||
B: 'framedblocks:framed_cube',
|
||||
C: 'minecraft:redstone_torch'
|
||||
}).id('framedblocks:framed_fancy_activator_rail')
|
||||
|
||||
// Framed Cube
|
||||
event.shaped('4x framedblocks:framed_cube', [
|
||||
'ABA',
|
||||
'B B',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#minecraft:planks',
|
||||
B: '#forge:rods/wooden'
|
||||
}).id('framedblocks:framed_cube')
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
count: 6,
|
||||
ingredient: {
|
||||
tag: "forge:rods/wrought_iron"
|
||||
}
|
||||
},
|
||||
{
|
||||
count: 1,
|
||||
ingredient: {
|
||||
item: "minecraft:redstone_torch"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 6144,
|
||||
result: {
|
||||
count: 4,
|
||||
item: "framedblocks:framed_fancy_activator_rail"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_fancy_activator_rail')
|
||||
//#endregion
|
||||
|
||||
// Framed Fence
|
||||
event.shaped('3x framedblocks:framed_fence', [
|
||||
'ABA',
|
||||
'ABA',
|
||||
], {
|
||||
A: 'framedblocks:framed_cube',
|
||||
B: '#forge:rods/wooden'
|
||||
}).id('framedblocks:framed_fence')
|
||||
// Framed Raiforcement
|
||||
event.shaped('32x framedblocks:framed_reinforcement', [
|
||||
'ABA',
|
||||
'BCB',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:plates/obsidian',
|
||||
B: '#forge:plates/wrought_iron',
|
||||
C: '#forge:frames'
|
||||
}).id('framedblocks:framed_reinforcement')
|
||||
|
||||
// Framed Fence Gate
|
||||
event.shaped('framedblocks:framed_fence_gate', [
|
||||
'ABA',
|
||||
'ABA',
|
||||
], {
|
||||
B: 'framedblocks:framed_cube',
|
||||
A: '#forge:rods/wooden'
|
||||
}).id('framedblocks:framed_fence_gate')
|
||||
// Framed Key
|
||||
event.shaped('framedblocks:framed_key', [
|
||||
'AAB',
|
||||
'CC '
|
||||
], {
|
||||
A: '#forge:rods/wooden',
|
||||
B: 'framedblocks:framed_cube',
|
||||
C: '#forge:nuggets/wrought_iron'
|
||||
}).id('framedblocks:framed_key')
|
||||
|
||||
// Framed Ladder
|
||||
event.shaped('3x framedblocks:framed_ladder', [
|
||||
'A A',
|
||||
'ABA',
|
||||
'A A'
|
||||
], {
|
||||
A: 'framedblocks:framed_cube',
|
||||
B: '#forge:rods/wooden'
|
||||
}).id('framedblocks:framed_ladder')
|
||||
// Framed Cube
|
||||
event.shaped('4x framedblocks:framed_cube', [
|
||||
'ABA',
|
||||
'B B',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#minecraft:planks',
|
||||
B: '#forge:rods/wooden'
|
||||
}).id('framedblocks:framed_cube')
|
||||
|
||||
// Framing Saw
|
||||
event.shaped('framedblocks:framing_saw', [
|
||||
' B ',
|
||||
'AAA',
|
||||
], {
|
||||
A: 'framedblocks:framed_cube',
|
||||
B: 'gtceu:wrought_iron_buzz_saw_blade'
|
||||
}).id('framedblocks:framing_saw')
|
||||
// Framed Fence
|
||||
event.shaped('3x framedblocks:framed_fence', [
|
||||
'ABA',
|
||||
'ABA',
|
||||
], {
|
||||
A: 'framedblocks:framed_cube',
|
||||
B: '#forge:rods/wooden'
|
||||
}).id('framedblocks:framed_fence')
|
||||
|
||||
// Powered Framing Saw
|
||||
event.shaped('framedblocks:powered_framing_saw', [
|
||||
'ABA',
|
||||
'CAD',
|
||||
'EEE'
|
||||
], {
|
||||
A: '#forge:glass',
|
||||
B: 'gtceu:wrought_iron_buzz_saw_blade',
|
||||
C: 'gtceu:lv_electric_motor',
|
||||
D: 'gtceu:lv_electric_motor',
|
||||
E: 'framedblocks:framed_cube'
|
||||
}).id('framedblocks:powered_framing_saw')
|
||||
// Framed Fence Gate
|
||||
event.shaped('framedblocks:framed_fence_gate', [
|
||||
'ABA',
|
||||
'ABA',
|
||||
], {
|
||||
B: 'framedblocks:framed_cube',
|
||||
A: '#forge:rods/wooden'
|
||||
}).id('framedblocks:framed_fence_gate')
|
||||
|
||||
// Framed Chest
|
||||
event.shapeless(
|
||||
Item.of('framedblocks:framed_chest', 1),
|
||||
[
|
||||
'gtceu:wood_crate',
|
||||
'framedblocks:framed_cube',
|
||||
]
|
||||
).id('framedblocks:framed_chest')
|
||||
// Framed Ladder
|
||||
event.shaped('3x framedblocks:framed_ladder', [
|
||||
'A A',
|
||||
'ABA',
|
||||
'A A'
|
||||
], {
|
||||
A: 'framedblocks:framed_cube',
|
||||
B: '#forge:rods/wooden'
|
||||
}).id('framedblocks:framed_ladder')
|
||||
|
||||
// Framing Saw
|
||||
event.shaped('framedblocks:framing_saw', [
|
||||
' B ',
|
||||
'AAA',
|
||||
], {
|
||||
A: 'framedblocks:framed_cube',
|
||||
B: 'gtceu:wrought_iron_buzz_saw_blade'
|
||||
}).id('framedblocks:framing_saw')
|
||||
|
||||
// Powered Framing Saw
|
||||
event.shaped('framedblocks:powered_framing_saw', [
|
||||
'ABA',
|
||||
'CAD',
|
||||
'EEE'
|
||||
], {
|
||||
A: '#forge:glass',
|
||||
B: 'gtceu:wrought_iron_buzz_saw_blade',
|
||||
C: 'gtceu:lv_electric_motor',
|
||||
D: 'gtceu:lv_electric_motor',
|
||||
E: 'framedblocks:framed_cube'
|
||||
}).id('framedblocks:powered_framing_saw')
|
||||
|
||||
// Framed Chest
|
||||
event.shapeless(
|
||||
Item.of('framedblocks:framed_chest', 1),
|
||||
[
|
||||
'gtceu:wood_crate',
|
||||
'framedblocks:framed_cube',
|
||||
]
|
||||
).id('framedblocks:framed_chest')
|
||||
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
"count": 1,
|
||||
"ingredient": {
|
||||
item: "gtceu:wood_crate"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 6144,
|
||||
result: {
|
||||
item: "framedblocks:framed_chest"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_chest')
|
||||
|
||||
// Button
|
||||
event.shapeless(
|
||||
Item.of('framedblocks:framed_button', 1),
|
||||
[
|
||||
'#minecraft:buttons',
|
||||
'framedblocks:framed_cube',
|
||||
]
|
||||
).id('framedblocks:framed_button')
|
||||
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
"count": 1,
|
||||
"ingredient": {
|
||||
tag: "minecraft:buttons"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 1536,
|
||||
result: {
|
||||
item: "framedblocks:framed_button"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_button')
|
||||
|
||||
// Stone button
|
||||
event.shapeless(
|
||||
Item.of('framedblocks:framed_stone_button', 1),
|
||||
[
|
||||
'#forge:stone',
|
||||
'framedblocks:framed_button',
|
||||
]
|
||||
).id('framedblocks:framed_stone_button')
|
||||
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
"count": 1,
|
||||
"ingredient": {
|
||||
tag: "forge:stone"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 1536,
|
||||
result: {
|
||||
item: "framedblocks:framed_stone_button"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_stone_button')
|
||||
|
||||
event.custom({
|
||||
type: "framedblocks:frame",
|
||||
additives: [
|
||||
{
|
||||
"count": 1,
|
||||
"ingredient": {
|
||||
item: "gtceu:wood_crate"
|
||||
}
|
||||
}
|
||||
],
|
||||
material: 6144,
|
||||
result: {
|
||||
item: "framedblocks:framed_chest"
|
||||
}
|
||||
}).id('framedblocks:framing_saw/framed_chest')
|
||||
}
|
||||
|
|
|
|||
26
kubejs/server_scripts/ftb_quests/filters.js
Normal file
26
kubejs/server_scripts/ftb_quests/filters.js
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
//#region Preservation Filter
|
||||
FTBFilterSystemEvents.customFilter("HasPreservation", evt =>
|
||||
{
|
||||
let stack = evt.getStack()
|
||||
let data = evt.getData()
|
||||
let foof = TFC.misc.getFood(stack)
|
||||
if(foof == null)
|
||||
{
|
||||
evt.cancel()
|
||||
return
|
||||
}
|
||||
|
||||
let trait = TFC.misc.getFoodTrait(data)
|
||||
if(trait == null)
|
||||
{
|
||||
evt.cancel()
|
||||
return
|
||||
}
|
||||
|
||||
if(!foof.hasTrait(trait))
|
||||
{
|
||||
evt.cancel()
|
||||
}
|
||||
evt.success()
|
||||
})
|
||||
//#endregion
|
||||
737
kubejs/server_scripts/grapplinghook/recipes.js
Normal file
737
kubejs/server_scripts/grapplinghook/recipes.js
Normal file
|
|
@ -0,0 +1,737 @@
|
|||
|
||||
/*
|
||||
* NBT Structure of a Grappling Hook:
|
||||
*
|
||||
* {
|
||||
* Damage:0, //The damage of the item, duh
|
||||
* custom:
|
||||
* {
|
||||
* angle:5.0d, //Used for the double hook, defaults to 5, can be increased or decreased using a Screwdriver
|
||||
* attract:0b, //Wether the magnet upgrade is equiped
|
||||
* attractradius:3.0d, //Strength of the magnet upgrade, tiered with GT's magnetic metallic ingots
|
||||
* crc32:2252267022L, //This fucking piece of shit is a Checksum, it needs to be calculated based off the boolean and double params.
|
||||
* detachonkeyrelease:0b,
|
||||
* doublehook:0b, //Wether we have a double hook, enabled by adding a black steel pickaxe head
|
||||
* enderstaff:0b,
|
||||
* hookgravity:1.0d, //The actual hook's gravity, can be set to 0.5 using a Helium Bucket, or to 0 using a Gravitation Engine Module
|
||||
* maxlen:200.0d, //The maximum length of the rope, this can be increased with Jute Rope, and decreased using a knife
|
||||
* motor:0b, //Wether the grappling hook has a motor.
|
||||
* motoracceleration:0.2d, //The acceleration of the motor, tiered with GT's electric motors
|
||||
* motordampener:0b,
|
||||
* motormaxspeed:4.0d, //The max speed of the motor, tiered with GT's electric motors
|
||||
* motorwhencrouching:0b,
|
||||
* motorwhennotcrouching:1b,
|
||||
* oneropepull:0b,
|
||||
* phaserope:0b,
|
||||
* playermovementmult:1.0d,
|
||||
* pullbackwards:1b,
|
||||
* reelin:1b,
|
||||
* repel:0b, //Wether the Force Field upgrade is enabled
|
||||
* repelforce:1.0d, //Strength of the Force Field upgrade, tiered with GT's Field Generators
|
||||
* rocket:0b,
|
||||
* rocket_active_time:0.5d,
|
||||
* rocket_force:1.0d,
|
||||
* rocket_refuel_ratio:15.0d,
|
||||
* rocket_vertical_angle:0.0d,
|
||||
* smartdoublemotor:1b, //Wether we have the smart motor enabled, this is enabled utilizing a basic electronic circuit
|
||||
* smartmotor:0b,//Wether we have the smart motor enabled, this is enabled utilizing a basic electronic circuit
|
||||
* sneakingangle:10.0d, //Used for the double hook while sneaking, Is always equal to angle / 2.
|
||||
* sneakingverticalthrowangle:0.0d, //Vertical throwing angle while sneaking, Is always equal to verticalthrowingangle / 2
|
||||
* sticky:0b, //Wether the rope is sticky, enabled using sticky resin
|
||||
* throwspeed:2.0d, //The speed we use to throw the grappling hook, tiered with GT's pistons
|
||||
* verticalthrowangle:0.0d //The angle at whicih we throw the hook vertically.
|
||||
* }
|
||||
* }
|
||||
*/
|
||||
|
||||
let $GrappleCustomization = Java.loadClass('com.yyon.grapplinghook.utils.GrappleCustomization');
|
||||
/**
|
||||
*
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
function registerGrapplingHookRecipes(event)
|
||||
{
|
||||
const ADDITIVE_UPGRADES_MINMAX =
|
||||
{
|
||||
maxLen: { nbt: "maxlen", maxValue: 200, minValue: 20},
|
||||
verticalThrowAngle: { nbt: "verticalthrowangle", maxValue: 90, minValue: 0},
|
||||
angle: { nbt: "angle", maxValue: 90, minValue: 5}
|
||||
}
|
||||
|
||||
let motorUpgrades =
|
||||
[
|
||||
{
|
||||
electricTier: "lv",
|
||||
motorMaxSpeed: 1,
|
||||
motorAcceleration: 0.125
|
||||
},
|
||||
{
|
||||
electricTier: "mv",
|
||||
motorMaxSpeed: 1.14,
|
||||
motorAcceleration: 0.25
|
||||
},
|
||||
{
|
||||
electricTier: "hv",
|
||||
motorMaxSpeed: 1.28,
|
||||
motorAcceleration: 0.375
|
||||
},
|
||||
{
|
||||
electricTier: "ev",
|
||||
motorMaxSpeed: 1.42,
|
||||
motorAcceleration: 0.5
|
||||
},
|
||||
{
|
||||
electricTier: "iv",
|
||||
motorMaxSpeed: 1.56,
|
||||
motorAcceleration: 0.625
|
||||
},
|
||||
{
|
||||
electricTier: "luv",
|
||||
motorMaxSpeed: 1.7,
|
||||
motorAcceleration: 0.75
|
||||
},
|
||||
{
|
||||
electricTier: "zpm",
|
||||
motorMaxSpeed: 1.84,
|
||||
motorAcceleration: 0.875
|
||||
},
|
||||
{
|
||||
electricTier: "uv",
|
||||
motorMaxSpeed: 2,
|
||||
motorAcceleration: 1
|
||||
}
|
||||
]
|
||||
|
||||
let forcefieldUpgrades =[
|
||||
{
|
||||
electricTier: "lv",
|
||||
repelForce: 0.625
|
||||
},
|
||||
{
|
||||
electricTier: "mv",
|
||||
repelForce: 1.25
|
||||
},
|
||||
{
|
||||
electricTier: "hv",
|
||||
repelForce: 1.875
|
||||
},
|
||||
{
|
||||
electricTier: "ev",
|
||||
repelForce: 2.5
|
||||
},
|
||||
{
|
||||
electricTier: "iv",
|
||||
repelForce: 3.125
|
||||
},
|
||||
{
|
||||
electricTier: "luv",
|
||||
repelForce: 3.75
|
||||
},
|
||||
{
|
||||
electricTier: "zpm",
|
||||
repelForce: 4.375
|
||||
},
|
||||
{
|
||||
electricTier: "uv",
|
||||
repelForce: 5
|
||||
},
|
||||
]
|
||||
|
||||
let magnetUpgrades =[
|
||||
{
|
||||
ingotName: 'magnetic_iron_ingot',
|
||||
attractionRadius: 1.25
|
||||
},
|
||||
{
|
||||
ingotName: 'magnetic_steel_ingot',
|
||||
attractionRadius: 2.5,
|
||||
},
|
||||
{
|
||||
ingotName: 'magnetic_neodymium_ingot',
|
||||
attractionRadius: 3.75,
|
||||
},
|
||||
{
|
||||
ingotName: 'magnetic_samarium_ingot',
|
||||
attractionRadius: 5
|
||||
}
|
||||
]
|
||||
|
||||
let throwUpgrades =[
|
||||
{
|
||||
electricTier: "lv",
|
||||
throwSpeed: 2.25
|
||||
},
|
||||
{
|
||||
electricTier: "mv",
|
||||
throwSpeed: 2.5
|
||||
},
|
||||
{
|
||||
electricTier: "hv",
|
||||
throwSpeed: 2.75
|
||||
},
|
||||
{
|
||||
electricTier: "ev",
|
||||
throwSpeed: 3
|
||||
},
|
||||
{
|
||||
electricTier: "iv",
|
||||
throwSpeed: 3.25
|
||||
},
|
||||
{
|
||||
electricTier: "luv",
|
||||
throwSpeed: 3.5
|
||||
},
|
||||
{
|
||||
electricTier: "zpm",
|
||||
throwSpeed: 3.75
|
||||
},
|
||||
{
|
||||
electricTier: "uv",
|
||||
throwSpeed: 4
|
||||
},
|
||||
]
|
||||
|
||||
/**
|
||||
* Helper method for creating an upgrade recipe utilizing the GrappleCustomization class. The method itself returns the REcipeBuilder so you can modify it further
|
||||
* @param {InputItem_[]} upgradeItems The items required to craft this upgrade
|
||||
* @param {(grappleCustomization: Internal.GrappleCustomization, orig: Internal.ItemStack, result: Internal.ItemStack) => Internal.ItemStack} grappleCustomizationCallback A function that's used to modify the GrapplingHook's NBT data. It must return the actual result of the crafting recipe, which can be result. If null is returned from this function then the result is Air, making it impossible to actually apply the upgrade.
|
||||
* @param {string} localizationToken A token to display as the item's name, only used in JEI to tell the end user what the upgrade does
|
||||
* @returns {Special.Recipes.ShapelessKubejs} The Recipe Builder
|
||||
*/
|
||||
function shapelessUpgradeRecipe(upgradeItems, grappleCustomizationCallback, localizationToken)
|
||||
{
|
||||
let inputs = ['grapplemod:grapplinghook'].concat(upgradeItems);
|
||||
let recipeBuilder = event.recipes.kubejs.shapeless(Item.of('grapplemod:grapplinghook').withName(Text.translate(localizationToken)), inputs);
|
||||
recipeBuilder.modifyResult((grid, result) =>
|
||||
{
|
||||
let fallbackItem = Item.of('minecraft:air');
|
||||
let orig = grid.find(Ingredient.of("grapplemod:grapplinghook"));
|
||||
|
||||
let customization = new $GrappleCustomization();
|
||||
customization.loadNBT(orig.nbt.getCompound("custom"));
|
||||
|
||||
result = grappleCustomizationCallback(customization, orig, result);
|
||||
if(result == null)
|
||||
{
|
||||
result = fallbackItem;
|
||||
return result;
|
||||
}
|
||||
|
||||
result.nbt.put("custom", customization.writeNBT());
|
||||
result.nbt.put("Damage", orig.nbt.getInt("Damage"));
|
||||
|
||||
if(orig.hasCustomHoverName())
|
||||
{
|
||||
result.setHoverName(orig.hoverName);
|
||||
}
|
||||
else
|
||||
{
|
||||
result.resetHoverName();
|
||||
}
|
||||
return result;
|
||||
})
|
||||
return recipeBuilder;
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method for creating an Shaped Upgrade Recipe utilizing the Grapple Customization class. The method itself returns the RecipeBuilder so you can modify it further.
|
||||
* @param {InputItem_[]} pattern The Pattern for the shaped recipe.
|
||||
* @param {{[key in string]: InputItem_}} keyMap The key map, a "grapplemod:grapplinghook" MUST be present
|
||||
* @param {(grappleCustomization: Internal.GrappleCustomization, orig: Internal.ItemStack, result: Internal.ItemStack) => Internal.ItemStack} grappleCustomizationCallback A function that's used to modify the GrapplingHook's NBT data. It must return the actual result of the crafting recipe, which can be result. If null is returned from this function then the result is Air, making it impossible to actually apply the upgrade.
|
||||
* @param {string} localizationToken A token to display as the item's name, only used in JEI to tell the end user what the upgrade does
|
||||
* @returns {Special.Recipes.ShapedKubejs} The Recipe Builder
|
||||
*/
|
||||
function shapedUpgradeRecipe(pattern, keyMap, grappleCustomizationCallback, localizationToken)
|
||||
{
|
||||
let recipeBuilder = event.recipes.kubejs.shaped(Item.of('grapplemod:grapplinghook').withName(Text.translate(localizationToken)), pattern, keyMap)
|
||||
recipeBuilder.modifyResult((grid, result) =>
|
||||
{
|
||||
let fallbackItem = Item.of('minecraft:air');
|
||||
let orig = grid.find(Ingredient.of("grapplemod:grapplinghook"));
|
||||
|
||||
let customization = new $GrappleCustomization();
|
||||
customization.loadNBT(orig.nbt.getCompound("custom"));
|
||||
|
||||
result = grappleCustomizationCallback(customization, orig, result);
|
||||
if(result == null)
|
||||
{
|
||||
result = fallbackItem;
|
||||
return result;
|
||||
}
|
||||
|
||||
result.nbt.put("custom", customization.writeNBT());
|
||||
result.nbt.put("Damage", orig.nbt.getInt("Damage"));
|
||||
if(orig.hasCustomHoverName())
|
||||
{
|
||||
result.setHoverName(orig.hoverName);
|
||||
}
|
||||
else
|
||||
{
|
||||
result.resetHoverName();
|
||||
}
|
||||
return result;
|
||||
})
|
||||
return recipeBuilder;
|
||||
}
|
||||
|
||||
event.remove({mod: 'grapplemod'})
|
||||
|
||||
event.recipes.kubejs.shapeless('grapplemod:grapplinghook', ['gtceu:wrought_iron_pickaxe_head', 'firmaciv:rope_coil', 'firmaciv:rope_coil', 'firmaciv:rope_coil', 'firmaciv:rope_coil'])
|
||||
.modifyResult((craftingGrid, result) =>
|
||||
{
|
||||
let grappleCustomization = new $GrappleCustomization();
|
||||
grappleCustomization.setDefaults();
|
||||
|
||||
grappleCustomization.maxlen = 80;
|
||||
grappleCustomization.smartmotor = false;
|
||||
grappleCustomization.smartdoublemotor = false;
|
||||
result.nbt.putInt("Damage", 0);
|
||||
result.nbt.put("custom", grappleCustomization.writeNBT());
|
||||
return result;
|
||||
}).id('tfg:grapplemod/shapeless/grapplinghook');
|
||||
|
||||
//Repair
|
||||
event.recipes.kubejs.shapeless(Item.of('grapplemod:grapplinghook').withName(Text.translate("tfg.grapplemod.repair")), ['grapplemod:grapplinghook', 'gtceu:wrought_iron_dust'])
|
||||
.modifyResult((craftingGrid, result) =>
|
||||
{
|
||||
try
|
||||
{
|
||||
let fallbackItem = Item.of("minecraft:air");
|
||||
let orig = craftingGrid.find(Ingredient.of('grapplemod:grapplinghook'));
|
||||
let damage = orig.nbt.getInt("Damage");
|
||||
|
||||
if(damage <= 0)
|
||||
{
|
||||
return fallbackItem;
|
||||
}
|
||||
let maxDamage = result.maxDamage;
|
||||
let restoredDamage = maxDamage / 3;
|
||||
result.nbt.putInt("Damage", Math.max(0, damage - restoredDamage));
|
||||
|
||||
let customization = new $GrappleCustomization();
|
||||
customization.loadNBT(orig.nbt.getCompound("custom"));
|
||||
|
||||
result.nbt.put("custom", customization.writeNBT());
|
||||
|
||||
|
||||
if(orig.hasCustomHoverName())
|
||||
{
|
||||
result.setHoverName(orig.hoverName);
|
||||
}
|
||||
else
|
||||
{
|
||||
result.resetHoverName();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
catch (exception)
|
||||
{
|
||||
console.log(exception);
|
||||
}
|
||||
}).id('tfg:grapplemod/shapeless/repair');
|
||||
|
||||
//Upgrade: Max Length
|
||||
shapelessUpgradeRecipe(['firmaciv:rope_coil'], (customization, orig, result) =>
|
||||
{
|
||||
let maxLen = customization.maxlen;
|
||||
if(maxLen >= ADDITIVE_UPGRADES_MINMAX.maxLen.maxValue)
|
||||
return null;
|
||||
|
||||
maxLen = Math.min(ADDITIVE_UPGRADES_MINMAX.maxLen.maxValue, maxLen + 20);
|
||||
customization.maxlen = maxLen;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.upgrades.maxlen').id('tfg:grapplemod/upgrades/maxlen');
|
||||
shapelessUpgradeRecipe(['#forge:tools/knives'], (customization, orig, result) =>
|
||||
{
|
||||
let maxLen = customization.maxlen;
|
||||
if(maxLen <= ADDITIVE_UPGRADES_MINMAX.maxLen.minValue)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
maxLen = Math.max(ADDITIVE_UPGRADES_MINMAX.maxLen.minValue, maxLen - 20);
|
||||
customization.maxlen = maxLen;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.downgrades.maxlen').replaceIngredient('grapplemod:grapplinghook', 'firmaciv:rope_coil').id("tfg:grapplemod/downgrades/maxlen_decrease")
|
||||
|
||||
//Upgrade: Motor
|
||||
motorUpgrades.forEach(motorUpgradeType =>
|
||||
{
|
||||
//Add motor
|
||||
shapelessUpgradeRecipe([`gtceu:${motorUpgradeType.electricTier}_electric_motor`], (customization, orig, result) =>
|
||||
{
|
||||
//If this already has a motor, disallow the recipe
|
||||
if(customization.motor)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.motor = true;
|
||||
customization.motormaxspeed = motorUpgradeType.motorMaxSpeed;
|
||||
customization.motoracceleration = motorUpgradeType.motorAcceleration;
|
||||
return result;
|
||||
}, `tfg.grapplemod.upgrades.motor.${motorUpgradeType.electricTier}`).id(`tfg:grapplemod/upgrades/motor/${motorUpgradeType.electricTier}`);
|
||||
|
||||
//Remove Motor
|
||||
shapelessUpgradeRecipe([`gtceu:${motorUpgradeType.electricTier}_electric_motor`, '#forge:tools/hammers'], (customization, orig, result) =>
|
||||
{
|
||||
let motorMaxSpeed = motorUpgradeType.motorMaxSpeed;
|
||||
let motorAcceleration = motorUpgradeType.motorAcceleration;
|
||||
if(!customization.motor)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if(customization.motormaxspeed != motorMaxSpeed)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if(customization.motoracceleration != motorAcceleration)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.motor = false;
|
||||
customization.motormaxspeed = 0;
|
||||
customization.motoracceleration = 0;
|
||||
return result;
|
||||
}, `tfg.grapplemod.downgrades.motor`)
|
||||
.replaceIngredient('grapplemod:grapplinghook', `gtceu:${motorUpgradeType.electricTier}_electric_motor`)
|
||||
.keepIngredient(`gtceu:${motorUpgradeType.electricTier}_electric_motor`)
|
||||
.id(`tfg:grapplemod/downgrades/motor/${motorUpgradeType.electricTier}`);
|
||||
})
|
||||
|
||||
//Enable Smart Motor
|
||||
shapelessUpgradeRecipe(['gtceu:basic_electronic_circuit'], (customization, orig, result) =>
|
||||
{
|
||||
if(!customization.motor)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if(customization.smartmotor || customization.smartdoublemotor)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.smartdoublemotor = true;
|
||||
customization.smartmotor = true;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.upgrades.smart_motor').id('tfg:grapplemod/upgrades/smart_motor');
|
||||
|
||||
//Disable Smart Motor
|
||||
shapelessUpgradeRecipe(['gtceu:basic_electronic_circuit', '#forge:tools/hammers'], (customization, orig, result) =>
|
||||
{
|
||||
if(!customization.smartmotor || !customization.smartdoublemotor)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.smartmotor = false;
|
||||
customization.smartdoublemotor = false;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.downgrades.smart_motor')
|
||||
.replaceIngredient('grapplemod:grapplinghook', 'gtceu:basic_electronic_circuit')
|
||||
.keepIngredient('gtceu:basic_electronic_circuit')
|
||||
.id('tfg:grapplemod/downgrades/smart_motor');
|
||||
|
||||
//Enable Sticky Rope
|
||||
shapelessUpgradeRecipe(['gtceu:sticky_resin'], (customization, orig, result) =>
|
||||
{
|
||||
if(customization.sticky)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.sticky = true;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.upgrades.sticky')
|
||||
.id('tfg:grapplemod/upgrades/sticky')
|
||||
|
||||
//Disable Sticky Rope
|
||||
shapelessUpgradeRecipe(['gtceu:sticky_resin', '#forge:tools/hammers'], (customization, orig, result) =>
|
||||
{
|
||||
if(!customization.sticky)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.sticky = false;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.downgrades.sticky')
|
||||
.replaceIngredient('grapplemod:grapplinghook', 'gtceu:sticky_resin')
|
||||
.keepIngredient('gtceu:sticky_resin')
|
||||
.id('tfg:grapplemod/downgrades/sticky')
|
||||
|
||||
//Upgrade: Forcefield
|
||||
forcefieldUpgrades.forEach(forcefieldUpgradeType =>
|
||||
{
|
||||
//Add Forcefield
|
||||
shapelessUpgradeRecipe([`gtceu:${forcefieldUpgradeType.electricTier}_field_generator`], (customization, orig, result) =>
|
||||
{
|
||||
if(customization.repel)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.repel = true;
|
||||
customization.repelforce = forcefieldUpgradeType.repelForce;
|
||||
return result;
|
||||
}, `tfg.grapplemod.upgrades.forcefield.${forcefieldUpgradeType.electricTier}`).id(`tfg:grapplemod/upgrades/forcefield/${forcefieldUpgradeType.electricTier}`);
|
||||
|
||||
//Remove Forcefield
|
||||
shapelessUpgradeRecipe([`gtceu:${forcefieldUpgradeType.electricTier}_field_generator`, '#forge:tools/hammers'], (customization, orig, result) =>
|
||||
{
|
||||
let repelForce = forcefieldUpgradeType.repelForce;
|
||||
if(!customization.repel)
|
||||
return null;
|
||||
|
||||
if(customization.repelforce != repelForce)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.repel = false;
|
||||
customization.repelforce = 0;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.downgrades.forcefield')
|
||||
.replaceIngredient('grapplemod:grapplinghook', `gtceu:${forcefieldUpgradeType.electricTier}_field_generator`)
|
||||
.keepIngredient(`gtceu:${forcefieldUpgradeType.electricTier}_field_generator`)
|
||||
.id(`tfg:grapplemod/downgrades/forcefield/${forcefieldUpgradeType.electricTier}`);
|
||||
})
|
||||
//Upgrade: Magnet
|
||||
magnetUpgrades.forEach(magnetUpgradeTier =>
|
||||
{
|
||||
//Add Magnet
|
||||
shapelessUpgradeRecipe([`gtceu:${magnetUpgradeTier.ingotName}`], (customization, orig, result) =>
|
||||
{
|
||||
if(customization.attract)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.attract = true;
|
||||
customization.attractradius = magnetUpgradeTier.attractionRadius;
|
||||
return result;
|
||||
}, `tfg.grapplemod.upgrades.magnet.${magnetUpgradeTier.ingotName}`).id(`tfg:grapplemod/upgrades/magnet/${magnetUpgradeTier.ingotName}`);
|
||||
|
||||
//Remove Magnet
|
||||
shapelessUpgradeRecipe([`gtceu:${magnetUpgradeTier.ingotName}`, '#forge:tools/hammers'], (customization, orig, result) =>
|
||||
{
|
||||
let attractionRadius = magnetUpgradeTier.attractionRadius;
|
||||
if(!customization.attract)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if(customization.attractradius != attractionRadius)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.attract = false;
|
||||
customization.attractradius = attractionRadius;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.downgrades.magnet')
|
||||
.replaceIngredient('grapplemod:grapplinghook', `gtceu:${magnetUpgradeTier.ingotName}`)
|
||||
.keepIngredient(`gtceu:${magnetUpgradeTier.ingotName}`)
|
||||
.id(`tfg:grapplemod/downgrades/magnet/${magnetUpgradeTier.ingotName}`);
|
||||
})
|
||||
|
||||
//Set gravity to 0.5
|
||||
shapelessUpgradeRecipe(['gtceu:helium_bucket'], (customization, orig, result) =>
|
||||
{
|
||||
if(customization.hookgravity != 1)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.hookgravity = 0.5;
|
||||
return result;
|
||||
}, `tfg.grapplemod.upgrades.gravity.0.5`).id('tfg:grapplemod/upgrades/gravity/0.5');
|
||||
//Set gravity to 1, from 0.5
|
||||
shapelessUpgradeRecipe(['minecraft:bucket', '#forge:tools/hammers'], (customization, orig, result) =>
|
||||
{
|
||||
if(customization.hookgravity != 0.5)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
customization.hookgravity = 1;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.downgrades.gravity.0.5')
|
||||
.replaceIngredient('minecraft:bucket', 'gtceu:helium_bucket')
|
||||
.id('tfg:grapplemod/downgrades/gravity/0.5');
|
||||
|
||||
//Set gravity to 0
|
||||
shapelessUpgradeRecipe(['gtceu:gravitation_engine_unit'], (customization, orig, result) =>
|
||||
{
|
||||
if(customization.hookgravity != 1)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.hookgravity = 0;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.upgrades.gravity.0').id('tfg:grapplemod/upgrades/gravity/0');
|
||||
//Set gravity to 1, from 0
|
||||
shapelessUpgradeRecipe(['gtceu:tungsten_block', '#forge:tools/hammers'], (customization, orig, result) =>
|
||||
{
|
||||
if(customization.hookgravity != 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.hookgravity = 1;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.downgrades.gravity.0')
|
||||
.replaceIngredient('grapplemod:grapplinghook', 'gtceu:gravitation_engine_unit')
|
||||
.keepIngredient('gtceu:tungsten_block')
|
||||
.id('tfg:grapplemod/downgrades/gravity/0')
|
||||
|
||||
//Upgrade: Throw Speed
|
||||
throwUpgrades.forEach(throwUpgradeType =>
|
||||
{
|
||||
//Add Throwspeed
|
||||
shapelessUpgradeRecipe([`gtceu:${throwUpgradeType.electricTier}_electric_piston`], (customization, orig, result) =>
|
||||
{
|
||||
if(customization.throwspeed != 2)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.throwspeed = throwUpgradeType.throwSpeed;
|
||||
return result;
|
||||
}, `tfg.grapplemod.upgrades.throwspeed.${throwUpgradeType.electricTier}`).id(`tfg:grapplemod/upgrades/throwspeed/${throwUpgradeType.electricTier}`);
|
||||
|
||||
//Remove Throwspeed
|
||||
shapelessUpgradeRecipe([`gtceu:${throwUpgradeType.electricTier}_electric_piston`, '#forge:tools/hammers'], (customization, orig, result) =>
|
||||
{
|
||||
let throwSpeed = throwUpgradeType.throwSpeed;
|
||||
|
||||
if(customization.throwspeed != throwSpeed)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.throwspeed = 2;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.downgrades.throwspeed')
|
||||
.replaceIngredient('grapplemod:grapplinghook', `gtceu:${throwUpgradeType.electricTier}_electric_piston`)
|
||||
.keepIngredient(`gtceu:${throwUpgradeType.electricTier}_electric_piston`)
|
||||
.id(`tfg:grapplemod/downgrades/throwspeed/${throwUpgradeType.electricTier}`);
|
||||
|
||||
})
|
||||
//Add Double Hook
|
||||
shapelessUpgradeRecipe(['gtceu:black_steel_pickaxe_head'], (customization, orig, result) =>
|
||||
{
|
||||
if(customization.doublehook)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.doublehook = true;
|
||||
customization.angle = 5;
|
||||
customization.sneakingangle = 2.5;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.upgrades.doublehook').id('tfg:grapplemod/upgrades/doublehook')
|
||||
|
||||
//Remove Double Hook
|
||||
shapelessUpgradeRecipe(['gtceu:black_steel_pickaxe_head', '#forge:tools/hammers'], (customization, orig, result) =>
|
||||
{
|
||||
if(!customization.doublehook)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.doublehook = false;
|
||||
customization.angle = 5;
|
||||
customization.sneakingangle = 2.5;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.downgrades.doublehook')
|
||||
.replaceIngredient('grapplemod:grapplinghook', 'gtceu:black_steel_pickaxe_head')
|
||||
.keepIngredient('gtceu:black_steel_pickaxe_head')
|
||||
.id('tfg:grapplemod/downgrades/doublehook')
|
||||
|
||||
// Increase Vertical Throw Angle
|
||||
shapedUpgradeRecipe([
|
||||
'A',
|
||||
'B'
|
||||
],{
|
||||
A: '#forge:tools/wrenches',
|
||||
B: 'grapplemod:grapplinghook'
|
||||
}, (customization, orig, result) =>
|
||||
{
|
||||
if(customization.verticalthrowangle >= ADDITIVE_UPGRADES_MINMAX.verticalThrowAngle.maxValue)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.verticalthrowangle = Math.min(ADDITIVE_UPGRADES_MINMAX.verticalThrowAngle.maxValue, customization.verticalthrowangle + 5);
|
||||
customization.sneakingverticalthrowangle = customization.verticalthrowangle / 2;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.upgrades.vertical_throwing_angle').id('tfg:grapplemod/upgrades/vertical_throwing_angle');
|
||||
//Decrease Vertical Throw Angle
|
||||
shapedUpgradeRecipe([
|
||||
'A',
|
||||
'B'
|
||||
],{
|
||||
A: 'grapplemod:grapplinghook',
|
||||
B: '#forge:tools/wrenches',
|
||||
}, (customization, orig, result) =>
|
||||
{
|
||||
if(customization.verticalthrowangle <= ADDITIVE_UPGRADES_MINMAX.verticalThrowAngle.minValue)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.verticalthrowangle = Math.max(ADDITIVE_UPGRADES_MINMAX.verticalThrowAngle.minValue, customization.verticalthrowangle - 5);
|
||||
customization.sneakingverticalthrowangle = customization.verticalthrowangle / 2;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.downgrades.vertical_throwing_angle').id('tfg:grapplemod/downgrades/vertical_throwing_angle')
|
||||
|
||||
// Increase Horizontal Throw Angle
|
||||
shapedUpgradeRecipe([
|
||||
'AB',
|
||||
],{
|
||||
A: 'grapplemod:grapplinghook',
|
||||
B: '#forge:tools/screwdrivers'
|
||||
}, (customization, orig, result) =>
|
||||
{
|
||||
if(!customization.doublehook)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if(customization.angle >= ADDITIVE_UPGRADES_MINMAX.angle.maxValue)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.angle = Math.min(ADDITIVE_UPGRADES_MINMAX.angle.maxValue, customization.angle + 5);
|
||||
customization.sneakingangle = customization.angle / 2;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.upgrades.angle').kjsMirror(false).id('tfg:grapplemod/upgrades/angle');
|
||||
//Decrease Horizontal Throw Angle
|
||||
shapedUpgradeRecipe([
|
||||
'AB',
|
||||
],{
|
||||
A: '#forge:tools/screwdrivers',
|
||||
B: 'grapplemod:grapplinghook',
|
||||
}, (customization, orig, result) =>
|
||||
{
|
||||
if(!customization.doublehook)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if(customization.angle <= ADDITIVE_UPGRADES_MINMAX.angle.minValue)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
customization.angle = Math.max(ADDITIVE_UPGRADES_MINMAX.angle.minValue, customization.angle - 5);
|
||||
customization.sneakingangle = customization.angle / 2;
|
||||
return result;
|
||||
}, 'tfg.grapplemod.downgrades.angle').kjsMirror(false).id('tfg:grapplemod/downgrades/angle')
|
||||
}
|
||||
411
kubejs/server_scripts/greate/recipes.js
Normal file
411
kubejs/server_scripts/greate/recipes.js
Normal file
|
|
@ -0,0 +1,411 @@
|
|||
// priority: 0
|
||||
|
||||
function registerGreateRecipes(event) {
|
||||
|
||||
removeGreateRecipes(event);
|
||||
registerGreateRecyclingRecipes(event);
|
||||
|
||||
event.replaceInput({ input: 'create:cogwheel'}, 'create:cogwheel', '#tfg:small_cogwheels')
|
||||
event.replaceInput({ input: 'create:large_cogwheel'}, 'create:large_cogwheel', '#tfg:large_cogwheels')
|
||||
event.replaceInput({ input: 'create:shaft'}, 'create:shaft', '#tfg:shafts')
|
||||
|
||||
// #region Shafts
|
||||
|
||||
event.shaped('4x greate:andesite_alloy_shaft', [
|
||||
'A ',
|
||||
' B'
|
||||
], {
|
||||
A: '#forge:tools/saws',
|
||||
B: '#forge:plates/black_bronze'
|
||||
}).id('greate:shaped/andesite_alloy_shaft_black_bronze')
|
||||
|
||||
event.shaped('6x greate:andesite_alloy_shaft', [
|
||||
'A ',
|
||||
' B'
|
||||
], {
|
||||
A: '#forge:tools/saws',
|
||||
B: '#forge:plates/wrought_iron'
|
||||
}).id('greate:shaped/andesite_alloy_shaft')
|
||||
|
||||
event.shaped('4x greate:andesite_alloy_shaft', [
|
||||
'A ',
|
||||
' B'
|
||||
], {
|
||||
A: '#forge:tools/saws',
|
||||
B: '#forge:plates/bronze'
|
||||
}).id('greate:shaped/andesite_alloy_shaft_bronze')
|
||||
|
||||
event.shaped('4x greate:andesite_alloy_shaft', [
|
||||
'A ',
|
||||
' B'
|
||||
], {
|
||||
A: '#forge:tools/saws',
|
||||
B: '#forge:plates/bismuth_bronze'
|
||||
}).id('greate:shaped/andesite_alloy_shaft_bismuth_bronze')
|
||||
|
||||
generateCutterRecipe(event, '#forge:plates/wrought_iron', '6x greate:andesite_alloy_shaft', 100, GTValues.VA[GTValues.ULV], 'andesite_alloy_shaft')
|
||||
generateCutterRecipe(event, '#forge:plates/steel', '6x greate:steel_shaft', 100, GTValues.VA[GTValues.ULV], 'steel_shaft')
|
||||
generateCutterRecipe(event, '#forge:plates/aluminium', '6x greate:aluminium_shaft', 100, GTValues.VA[GTValues.LV], 'aluminium_shaft')
|
||||
generateCutterRecipe(event, '#forge:plates/stainless_steel', '6x greate:stainless_steel_shaft', 100, GTValues.VA[GTValues.MV], 'stainless_steel_shaft')
|
||||
generateCutterRecipe(event, '#forge:plates/titanium', '6x greate:titanium_shaft', 100, GTValues.VA[GTValues.HV], 'titanium_shaft')
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Cogs
|
||||
|
||||
event.shapeless('greate:andesite_alloy_cogwheel', ['greate:andesite_alloy_shaft', '#forge:small_gears/wood', '#forge:tools/hammers'])
|
||||
.id('greate:shapeless/andesite_alloy_cogwheel')
|
||||
event.shapeless('greate:large_andesite_alloy_cogwheel', ['greate:andesite_alloy_shaft', '#forge:gears/wood', '#forge:tools/hammers'])
|
||||
.id('greate:shapeless/large_andesite_alloy_cogwheel');
|
||||
|
||||
// TODO: recycling recipes for these?
|
||||
event.shapeless('greate:steel_cogwheel', ['greate:steel_shaft', '#forge:small_gears/wrought_iron', '#forge:tools/wrenches'])
|
||||
.id('greate:shapeless/steel_cogwheel')
|
||||
event.shapeless('greate:large_steel_cogwheel', ['greate:steel_shaft', '#forge:gears/wrought_iron', '#forge:tools/wrenches'])
|
||||
.id('greate:shapeless/large_steel_cogwheel');
|
||||
|
||||
event.shapeless('greate:aluminium_cogwheel', ['greate:aluminium_shaft', '#forge:small_gears/steel', '#forge:tools/wrenches'])
|
||||
.id('greate:shapeless/aluminium_cogwheel')
|
||||
event.shapeless('greate:large_aluminium_cogwheel', ['greate:aluminium_shaft', '#forge:gears/steel', '#forge:tools/wrenches'])
|
||||
.id('greate:shapeless/large_aluminium_cogwheel');
|
||||
|
||||
event.shapeless('greate:stainless_steel_cogwheel', ['greate:stainless_steel_shaft', '#forge:small_gears/aluminium', '#forge:tools/wrenches'])
|
||||
.id('greate:shapeless/stainless_steel_cogwheel')
|
||||
event.shapeless('greate:large_stainless_steel_cogwheel', ['greate:stainless_steel_shaft', '#forge:gears/aluminium', '#forge:tools/wrenches'])
|
||||
.id('greate:shapeless/large_stainless_steel_cogwheel');
|
||||
|
||||
event.shapeless('greate:titanium_cogwheel', ['greate:titanium_shaft', '#forge:small_gears/stainless_steel', '#forge:tools/wrenches'])
|
||||
.id('greate:shapeless/titanium_cogwheel')
|
||||
event.shapeless('greate:large_titanium_cogwheel', ['greate:titanium_shaft', '#forge:gears/stainless_steel', '#forge:tools/wrenches'])
|
||||
.id('greate:shapeless/large_titanium_cogwheel');
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Millstones
|
||||
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('greate:andesite_alloy_millstone', [
|
||||
' B ',
|
||||
'DCE',
|
||||
' A '
|
||||
], {
|
||||
A: 'tfc:quern',
|
||||
B: 'tfc:handstone',
|
||||
C: '#forge:gears/bronze',
|
||||
D: '#forge:tools/hammers',
|
||||
E: '#tfc:chisels'
|
||||
})
|
||||
).id('greate:shaped/andesite_alloy_millstone')
|
||||
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('greate:andesite_alloy_millstone', [
|
||||
' B ',
|
||||
'DCE',
|
||||
' A '
|
||||
], {
|
||||
A: 'tfc:quern',
|
||||
B: 'tfc:handstone',
|
||||
C: '#forge:gears/bismuth_bronze',
|
||||
D: '#forge:tools/hammers',
|
||||
E: '#tfc:chisels'
|
||||
})
|
||||
).id('greate:shaped/andesite_alloy_millstone2')
|
||||
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('greate:andesite_alloy_millstone', [
|
||||
' B ',
|
||||
'DCE',
|
||||
' A '
|
||||
], {
|
||||
A: 'tfc:quern',
|
||||
B: 'tfc:handstone',
|
||||
C: '#forge:gears/black_bronze',
|
||||
D: '#forge:tools/hammers',
|
||||
E: '#tfc:chisels'
|
||||
})
|
||||
).id('greate:shaped/andesite_alloy_millstone3')
|
||||
|
||||
event.shaped('greate:steel_millstone', [
|
||||
'FBF',
|
||||
'DCE',
|
||||
'AAA'
|
||||
], {
|
||||
A: '#forge:smooth_stone',
|
||||
B: 'gtceu:treated_wood_slab',
|
||||
C: '#forge:gears/steel',
|
||||
D: '#forge:tools/hammers',
|
||||
E: '#forge:tools/wrenches',
|
||||
F: '#forge:dusts/diamond'
|
||||
}).id('greate:shaped/steel_millstone')
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Crushing wheels
|
||||
|
||||
event.recipes.createMechanicalCrafting('2x greate:steel_crushing_wheel', [
|
||||
' AAA ',
|
||||
'AABAA',
|
||||
'ABCBA',
|
||||
'AABAA',
|
||||
' AAA '
|
||||
], {
|
||||
A: '#forge:plates/tin_alloy',
|
||||
B: '#forge:storage_blocks/wrought_iron',
|
||||
C: 'greate:steel_shaft',
|
||||
}).id('greate:mechanical_crafting/steel_crushing_wheel')
|
||||
|
||||
event.recipes.createMechanicalCrafting('2x greate:aluminium_crushing_wheel', [
|
||||
' AAA ',
|
||||
'AABAA',
|
||||
'ABCBA',
|
||||
'AABAA',
|
||||
' AAA '
|
||||
], {
|
||||
A: '#forge:plates/vanadium_steel',
|
||||
B: '#forge:storage_blocks/steel',
|
||||
C: 'greate:aluminium_shaft',
|
||||
}).id('greate:mechanical_crafting/aluminium_crushing_wheel')
|
||||
|
||||
event.recipes.createMechanicalCrafting('2x greate:stainless_steel_crushing_wheel', [
|
||||
' AAA ',
|
||||
'AABAA',
|
||||
'ABCBA',
|
||||
'AABAA',
|
||||
' AAA '
|
||||
], {
|
||||
A: '#forge:plates/red_steel',
|
||||
B: '#forge:storage_blocks/aluminium',
|
||||
C: 'greate:stainless_steel_shaft',
|
||||
}).id('greate:mechanical_crafting/stainless_steel_crushing_wheel')
|
||||
|
||||
event.recipes.createMechanicalCrafting('2x greate:titanium_crushing_wheel', [
|
||||
' AAA ',
|
||||
'AABAA',
|
||||
'ABCBA',
|
||||
'AABAA',
|
||||
' AAA '
|
||||
], {
|
||||
A: '#forge:plates/ultimet',
|
||||
B: '#forge:storage_blocks/stainless_steel',
|
||||
C: 'greate:titanium_shaft',
|
||||
}).id('greate:mechanical_crafting/titanium_crushing_wheel')
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Encased Fan
|
||||
|
||||
event.shaped('greate:steel_encased_fan', [
|
||||
' A ',
|
||||
'BCB',
|
||||
'DEF'
|
||||
], {
|
||||
A: 'greate:steel_shaft',
|
||||
B: '#forge:small_gears/wrought_iron',
|
||||
C: 'create:andesite_casing',
|
||||
D: '#forge:tools/wrenches',
|
||||
E: 'gtceu:steel_rotor',
|
||||
F: '#forge:tools/hammers'
|
||||
}).id('greate:shaped/steel_encased_fan')
|
||||
|
||||
// The other fans are fine as-is
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Mechanical saw
|
||||
|
||||
event.shaped('greate:andesite_alloy_mechanical_saw', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'EF '
|
||||
], {
|
||||
A: '#forge:screws/wrought_iron',
|
||||
B: 'gtceu:wrought_iron_buzz_saw_blade',
|
||||
C: 'greate:andesite_alloy_cogwheel',
|
||||
D: 'create:andesite_casing',
|
||||
E: '#forge:tools/wrenches',
|
||||
F: 'greate:andesite_alloy_shaft'
|
||||
}).id('greate:shaped/andesite_alloy_mechanical_saw')
|
||||
|
||||
event.shaped('greate:steel_mechanical_saw', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'FE '
|
||||
], {
|
||||
A: '#gtceu:circuits/ulv',
|
||||
B: 'gtceu:cobalt_brass_buzz_saw_blade',
|
||||
C: 'greate:steel_cogwheel',
|
||||
D: 'gtceu:ulv_machine_casing',
|
||||
E: 'greate:steel_shaft',
|
||||
F: '#forge:tools/wrenches'
|
||||
}).id('greate:shaped/steel_mechanical_saw')
|
||||
|
||||
event.shaped('greate:aluminium_mechanical_saw', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'FE '
|
||||
], {
|
||||
A: '#gtceu:circuits/mv',
|
||||
B: 'gtceu:vanadium_steel_buzz_saw_blade',
|
||||
C: 'gtceu:mv_electric_motor',
|
||||
D: 'gtceu:mv_machine_casing',
|
||||
E: 'greate:aluminium_shaft',
|
||||
F: '#forge:tools/wrenches'
|
||||
}).id('greate:shaped/aluminium_mechanical_saw')
|
||||
|
||||
event.shaped('greate:stainless_steel_mechanical_saw', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'FE '
|
||||
], {
|
||||
A: '#gtceu:circuits/hv',
|
||||
B: 'gtceu:red_steel_buzz_saw_blade',
|
||||
C: 'gtceu:hv_electric_motor',
|
||||
D: 'gtceu:hv_machine_casing',
|
||||
E: 'greate:stainless_steel_shaft',
|
||||
F: '#forge:tools/wrenches'
|
||||
}).id('greate:shaped/stainless_steel_mechanical_saw')
|
||||
|
||||
event.shaped('greate:titanium_mechanical_saw', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'FE '
|
||||
], {
|
||||
A: '#gtceu:circuits/ev',
|
||||
B: 'gtceu:ultimet_buzz_saw_blade',
|
||||
C: 'gtceu:ev_electric_motor',
|
||||
D: 'gtceu:ev_machine_casing',
|
||||
E: 'greate:titanium_shaft',
|
||||
F: '#forge:tools/wrenches'
|
||||
}).id('greate:shaped/titanium_mechanical_saw')
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Mechanical Pump
|
||||
|
||||
event.shaped('greate:steel_mechanical_pump', [
|
||||
' AB',
|
||||
'CDE',
|
||||
' AB'
|
||||
], {
|
||||
A: '#forge:wax',
|
||||
B: '#forge:screws/steel',
|
||||
C: '#forge:tools/wrenches',
|
||||
D: 'create:fluid_pipe',
|
||||
E: 'greate:steel_cogwheel'
|
||||
}).id('greate:shaped/steel_mechanical_pump')
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Belt Connector
|
||||
|
||||
event.shaped('greate:rubber_belt_connector', [
|
||||
'AAA',
|
||||
'AAA',
|
||||
'BDC'
|
||||
], {
|
||||
A: '#forge:leather',
|
||||
B: '#forge:tools/knives',
|
||||
C: '#tfc:sewing_needles',
|
||||
D: '#forge:string'
|
||||
}).id('greate:shaped/rubber_belt_connector_from_leather')
|
||||
|
||||
event.shaped('greate:polyethylene_belt_connector', [
|
||||
'AAA',
|
||||
'AAA',
|
||||
'B C'
|
||||
], {
|
||||
A: '#forge:plates/styrene_butadiene_rubber',
|
||||
B: '#forge:tools/files',
|
||||
C: '#forge:tools/hammers',
|
||||
}).id('greate:shaped/polyethylene_belt_connector')
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Mixer
|
||||
|
||||
event.shaped('greate:steel_mechanical_mixer', [
|
||||
'ABA',
|
||||
'DCD',
|
||||
'FEG'
|
||||
], {
|
||||
A: '#gtceu:circuits/ulv',
|
||||
B: 'greate:steel_shaft',
|
||||
C: 'gtceu:ulv_machine_hull',
|
||||
D: '#forge:plates/black_steel',
|
||||
E: 'gtceu:steel_whisk',
|
||||
F: '#forge:tools/wrenches',
|
||||
G: '#forge:tools/hammers'
|
||||
}).id('greate:shaped/steel_mechanical_mixer')
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Whisks
|
||||
|
||||
event.shaped('gtceu:steel_whisk', [
|
||||
'ABC',
|
||||
'D D',
|
||||
'D D'
|
||||
], {
|
||||
A: '#forge:tools/hammers',
|
||||
B: '#forge:rings/steel',
|
||||
C: '#forge:tools/wrenches',
|
||||
D: '#forge:rods/long/steel'
|
||||
}).id('gtceu:shaped/steel_whisk')
|
||||
|
||||
event.shaped('gtceu:aluminium_whisk', [
|
||||
'ABC',
|
||||
'D D',
|
||||
'D D'
|
||||
], {
|
||||
A: '#forge:tools/hammers',
|
||||
B: '#forge:rings/aluminium',
|
||||
C: '#forge:tools/wrenches',
|
||||
D: '#forge:rods/long/aluminium'
|
||||
}).id('gtceu:shaped/aluminium_whisk')
|
||||
|
||||
event.shaped('gtceu:stainless_steel_whisk', [
|
||||
'ABC',
|
||||
'D D',
|
||||
'D D'
|
||||
], {
|
||||
A: '#forge:tools/hammers',
|
||||
B: '#forge:rings/stainless_steel',
|
||||
C: '#forge:tools/wrenches',
|
||||
D: '#forge:rods/long/stainless_steel'
|
||||
}).id('gtceu:shaped/stainless_steel_whisk')
|
||||
|
||||
event.shaped('gtceu:titanium_whisk', [
|
||||
'ABC',
|
||||
'D D',
|
||||
'D D'
|
||||
], {
|
||||
A: '#forge:tools/hammers',
|
||||
B: '#forge:rings/titanium',
|
||||
C: '#forge:tools/wrenches',
|
||||
D: '#forge:rods/long/titanium'
|
||||
}).id('gtceu:shaped/titanium_whisk')
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Cables
|
||||
// TODO: Remove this when we update greate
|
||||
|
||||
event.forEachRecipe([{ type: 'gtceu:wire_coating' }], recipe => {
|
||||
let r = JSON.parse(recipe.json)
|
||||
|
||||
let newRecipe = event.recipes.gtceu.assembler(recipe.getId())
|
||||
|
||||
let itemIns = [];
|
||||
r.inputs.item.forEach(i => {
|
||||
itemIns.push(`${i.content.count}x #${i.content.ingredient.tag}`);
|
||||
})
|
||||
|
||||
newRecipe.itemInputs(itemIns);
|
||||
newRecipe.inputFluids(Fluid.of(`${r.inputs.fluid[0].content.value[0].tag.replace(/forge/g, 'gtceu')}`, r.inputs.fluid[0].content.amount))
|
||||
newRecipe.itemOutputs(r.outputs.item[0].content.ingredient.item);
|
||||
newRecipe.EUt(r.tickInputs.eu[0].content)
|
||||
newRecipe.duration(r.duration);
|
||||
})
|
||||
|
||||
// #endregion
|
||||
}
|
||||
569
kubejs/server_scripts/greate/recipes.recycling.js
Normal file
569
kubejs/server_scripts/greate/recipes.recycling.js
Normal file
|
|
@ -0,0 +1,569 @@
|
|||
// priority: 0
|
||||
|
||||
function registerGreateRecyclingRecipes(event) {
|
||||
|
||||
// #region Shafts
|
||||
|
||||
// No andesite alloy shafts because those can be crafted from 4 different materials
|
||||
|
||||
event.recipes.gtceu.macerator('steel_shaft')
|
||||
.itemInputs('greate:steel_shaft')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Steel, 1))
|
||||
.duration(GTMaterials.Steel.getMass())
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('steel_shaft')
|
||||
.itemInputs('greate:steel_shaft')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Steel, 1))
|
||||
.duration(GTMaterials.Steel.getMass())
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('aluminium_shaft')
|
||||
.itemInputs('greate:aluminium_shaft')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Aluminium, 1))
|
||||
.duration(GTMaterials.Aluminium.getMass())
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('aluminium_shaft')
|
||||
.itemInputs('greate:aluminium_shaft')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Aluminium, 1))
|
||||
.duration(GTMaterials.Aluminium.getMass())
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('stainless_steel_shaft')
|
||||
.itemInputs('greate:stainless_steel_shaft')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.StainlessSteel, 1))
|
||||
.duration(GTMaterials.StainlessSteel.getMass())
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('stainless_steel_shaft')
|
||||
.itemInputs('greate:stainless_steel_shaft')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.nugget, GTMaterials.StainlessSteel, 1))
|
||||
.duration(GTMaterials.StainlessSteel.getMass())
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('titanium_shaft')
|
||||
.itemInputs('greate:titanium_shaft')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Titanium, 1))
|
||||
.duration(GTMaterials.Titanium.getMass())
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('titanium_shaft')
|
||||
.itemInputs('greate:titanium_shaft')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Titanium, 1))
|
||||
.duration(GTMaterials.Titanium.getMass())
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Cogs
|
||||
|
||||
event.recipes.tfc.extra_products_shapeless_crafting('greate:andesite_alloy_shaft',
|
||||
event.shapeless('#forge:small_gears/wood', ['greate:andesite_alloy_cogwheel']))
|
||||
|
||||
event.recipes.tfc.extra_products_shapeless_crafting('greate:andesite_alloy_shaft',
|
||||
event.shapeless('#forge:gears/wood', ['greate:large_andesite_alloy_cogwheel']))
|
||||
|
||||
event.recipes.tfc.extra_products_shapeless_crafting('greate:steel_shaft',
|
||||
event.shapeless('#forge:small_gears/wrought_iron', ['greate:steel_cogwheel']))
|
||||
|
||||
event.recipes.tfc.extra_products_shapeless_crafting('greate:steel_shaft',
|
||||
event.shapeless('#forge:gears/wrought_iron', ['greate:large_steel_cogwheel']))
|
||||
|
||||
event.recipes.tfc.extra_products_shapeless_crafting('greate:aluminium_shaft',
|
||||
event.shapeless('#forge:small_gears/steel', ['greate:aluminium_cogwheel']))
|
||||
|
||||
event.recipes.tfc.extra_products_shapeless_crafting('greate:aluminium_shaft',
|
||||
event.shapeless('#forge:gears/steel', ['greate:large_aluminium_cogwheel']))
|
||||
|
||||
event.recipes.tfc.extra_products_shapeless_crafting('greate:stainless_steel_shaft',
|
||||
event.shapeless('#forge:small_gears/aluminium', ['greate:stainless_steel_cogwheel']))
|
||||
|
||||
event.recipes.tfc.extra_products_shapeless_crafting('greate:stainless_steel_shaft',
|
||||
event.shapeless('#forge:gears/aluminium', ['greate:large_stainless_steel_cogwheel']))
|
||||
|
||||
event.recipes.tfc.extra_products_shapeless_crafting('greate:titanium_shaft',
|
||||
event.shapeless('#forge:small_gears/stainless_steel', ['greate:titanium_cogwheel']))
|
||||
|
||||
event.recipes.tfc.extra_products_shapeless_crafting('greate:titanium_shaft',
|
||||
event.shapeless('#forge:gears/stainless_steel', ['greate:large_titanium_cogwheel']))
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Millstones
|
||||
|
||||
event.recipes.gtceu.macerator('greate:steel_millstone')
|
||||
.itemInputs('greate:steel_millstone')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 4),
|
||||
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.TreatedWood, 2))
|
||||
.duration(GTMaterials.Steel.getMass() * 4)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:steel_millstone')
|
||||
.itemInputs('greate:steel_millstone')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4))
|
||||
.duration(GTMaterials.Steel.getMass() * 4)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Crushing Wheels
|
||||
|
||||
event.recipes.gtceu.macerator('greate:steel_crushing_wheel')
|
||||
.itemInputs('greate:steel_crushing_wheel')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 18),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.TinAlloy, 8),
|
||||
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Steel, 1))
|
||||
.duration(GTMaterials.TinAlloy.getMass() * 26)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:steel_crushing_wheel')
|
||||
.itemInputs('greate:steel_crushing_wheel')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 18),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.TinAlloy, 8),
|
||||
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Steel, 1))
|
||||
.duration(GTMaterials.TinAlloy.getMass() * 26)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:aluminium_crushing_wheel')
|
||||
.itemInputs('greate:aluminium_crushing_wheel')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 18),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.VanadiumSteel, 8),
|
||||
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Aluminium, 1))
|
||||
.duration(GTMaterials.VanadiumSteel.getMass() * 26)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:aluminium_crushing_wheel')
|
||||
.itemInputs('greate:aluminium_crushing_wheel')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 18),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.VanadiumSteel, 8),
|
||||
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Aluminium, 1))
|
||||
.duration(GTMaterials.VanadiumSteel.getMass() * 26)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:stainless_steel_crushing_wheel')
|
||||
.itemInputs('greate:stainless_steel_crushing_wheel')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 18),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 8),
|
||||
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.StainlessSteel, 1))
|
||||
.duration(GTMaterials.RedSteel.getMass() * 26)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:stainless_steel_crushing_wheel')
|
||||
.itemInputs('greate:stainless_steel_crushing_wheel')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 18),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 8),
|
||||
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.StainlessSteel, 1))
|
||||
.duration(GTMaterials.RedSteel.getMass() * 26)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:titanium_crushing_wheel')
|
||||
.itemInputs('greate:titanium_crushing_wheel')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 18),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ultimet, 8),
|
||||
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Titanium, 1))
|
||||
.duration(GTMaterials.Ultimet.getMass() * 26)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:titanium_crushing_wheel')
|
||||
.itemInputs('greate:titanium_crushing_wheel')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 18),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ultimet, 8),
|
||||
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Titanium, 1))
|
||||
.duration(GTMaterials.Ultimet.getMass() * 26)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Encased Fan
|
||||
|
||||
event.recipes.gtceu.macerator('greate:steel_encased_fan')
|
||||
.itemInputs('greate:steel_encased_fan')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 5),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 2))
|
||||
.duration(GTMaterials.Steel.getMass() * 7)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:steel_encased_fan')
|
||||
.itemInputs('greate:steel_encased_fan')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 5),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 2))
|
||||
.duration(GTMaterials.Steel.getMass() * 7)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:aluminium_encased_fan')
|
||||
.itemInputs('greate:aluminium_encased_fan')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 12))
|
||||
.duration(GTMaterials.Aluminium.getMass() * 12)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:aluminium_encased_fan')
|
||||
.itemInputs('greate:aluminium_encased_fan')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 12))
|
||||
.duration(GTMaterials.Aluminium.getMass() * 12)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:stainless_steel_encased_fan')
|
||||
.itemInputs('greate:stainless_steel_encased_fan')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 12))
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 12)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:stainless_steel_encased_fan')
|
||||
.itemInputs('greate:stainless_steel_encased_fan')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 12))
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 12)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:titanium_encased_fan')
|
||||
.itemInputs('greate:titanium_encased_fan')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 12))
|
||||
.duration(GTMaterials.Titanium.getMass() * 12)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:titanium_encased_fan')
|
||||
.itemInputs('greate:titanium_encased_fan')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 12))
|
||||
.duration(GTMaterials.Titanium.getMass() * 12)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Gearbox
|
||||
|
||||
event.recipes.tfc.extra_products_shapeless_crafting('4x greate:andesite_alloy_shaft',
|
||||
event.shapeless('create:andesite_casing', ['greate:andesite_alloy_gearbox', '#forge:tools/hammers']))
|
||||
|
||||
event.recipes.tfc.extra_products_shapeless_crafting('4x greate:steel_shaft',
|
||||
event.shapeless('create:andesite_casing', ['greate:steel_gearbox', '#forge:tools/hammers']))
|
||||
|
||||
event.recipes.tfc.extra_products_shapeless_crafting('4x greate:aluminium_shaft',
|
||||
event.shapeless('create:andesite_casing', ['greate:aluminium_gearbox', '#forge:tools/hammers']))
|
||||
|
||||
event.recipes.tfc.extra_products_shapeless_crafting('4x greate:stainless_steel_shaft',
|
||||
event.shapeless('create:andesite_casing', ['greate:stainless_steel_gearbox', '#forge:tools/hammers']))
|
||||
|
||||
event.recipes.tfc.extra_products_shapeless_crafting('4x greate:titanium_shaft',
|
||||
event.shapeless('create:andesite_casing', ['greate:titanium_gearbox', '#forge:tools/hammers']))
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Mechanical Saw
|
||||
|
||||
event.recipes.gtceu.macerator('greate:andesite_alloy_mechanical_saw')
|
||||
.itemInputs('greate:andesite_alloy_mechanical_saw')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 7),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Wood, 1))
|
||||
.duration(GTMaterials.WroughtIron.getMass() * 7)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:andesite_alloy_mechanical_saw')
|
||||
.itemInputs('greate:andesite_alloy_mechanical_saw')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 7),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ash, 1))
|
||||
.duration(GTMaterials.WroughtIron.getMass() * 7)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:steel_mechanical_saw')
|
||||
.itemInputs('greate:steel_mechanical_saw')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 8),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.CobaltBrass, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 4))
|
||||
.duration(GTMaterials.CobaltBrass.getMass() * 16)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:steel_mechanical_saw')
|
||||
.itemInputs('greate:steel_mechanical_saw')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 8),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.CobaltBrass, 4),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.AnnealedCopper, 4))
|
||||
.duration(GTMaterials.CobaltBrass.getMass() * 16)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:aluminium_mechanical_saw')
|
||||
.itemInputs('greate:aluminium_mechanical_saw')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 10),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Cupronickel, 8),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.VanadiumSteel, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 2))
|
||||
.duration(GTMaterials.VanadiumSteel.getMass() * 22)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:aluminium_mechanical_saw')
|
||||
.itemInputs('greate:aluminium_mechanical_saw')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 10),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Cupronickel, 8),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.VanadiumSteel, 4),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.AnnealedCopper, 2))
|
||||
.duration(GTMaterials.VanadiumSteel.getMass() * 22)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:stainless_steel_mechanical_saw')
|
||||
.itemInputs('greate:stainless_steel_mechanical_saw')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 10),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 8),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Silver, 4))
|
||||
.duration(GTMaterials.RedSteel.getMass() * 22)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:stainless_steel_mechanical_saw')
|
||||
.itemInputs('greate:stainless_steel_mechanical_saw')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 10),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 8),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 4),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Silver, 4))
|
||||
.duration(GTMaterials.RedSteel.getMass() * 22)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:titanium_mechanical_saw')
|
||||
.itemInputs('greate:titanium_mechanical_saw')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 10),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Kanthal, 8),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ultimet, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 4))
|
||||
.duration(GTMaterials.Ultimet.getMass() * 22)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:titanium_mechanical_saw')
|
||||
.itemInputs('greate:titanium_mechanical_saw')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 10),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Kanthal, 8),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ultimet, 4),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 4))
|
||||
.duration(GTMaterials.Ultimet.getMass() * 22)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Mechanical Pump
|
||||
|
||||
event.recipes.gtceu.macerator('greate:steel_mechanical_pump')
|
||||
.itemInputs('greate:steel_mechanical_pump')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 1),
|
||||
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Steel, 2))
|
||||
.duration(GTMaterials.Copper.getMass() * 3)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:steel_mechanical_pump')
|
||||
.itemInputs('greate:steel_mechanical_pump')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Copper, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 1),
|
||||
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Steel, 2))
|
||||
.duration(GTMaterials.Copper.getMass() * 3)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:aluminium_mechanical_pump')
|
||||
.itemInputs('greate:aluminium_mechanical_pump')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 1),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Rubber, 1),
|
||||
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Aluminium, 2))
|
||||
.duration(GTMaterials.Copper.getMass() * 3)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:aluminium_mechanical_pump')
|
||||
.itemInputs('greate:aluminium_mechanical_pump')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Copper, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 1),
|
||||
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Aluminium, 2))
|
||||
.duration(GTMaterials.Copper.getMass() * 3)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:stainless_steel_mechanical_pump')
|
||||
.itemInputs('greate:stainless_steel_mechanical_pump')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 1),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Rubber, 1),
|
||||
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.StainlessSteel, 2))
|
||||
.duration(GTMaterials.Copper.getMass() * 3)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:stainless_steel_mechanical_pump')
|
||||
.itemInputs('greate:stainless_steel_mechanical_pump')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Copper, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 1),
|
||||
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.StainlessSteel, 2))
|
||||
.duration(GTMaterials.Copper.getMass() * 3)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:titanium_mechanical_pump')
|
||||
.itemInputs('greate:titanium_mechanical_pump')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 1),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Rubber, 1),
|
||||
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Titanium, 2))
|
||||
.duration(GTMaterials.Copper.getMass() * 3)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:titanium_mechanical_pump')
|
||||
.itemInputs('greate:titanium_mechanical_pump')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Copper, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 1),
|
||||
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Titanium, 2))
|
||||
.duration(GTMaterials.Copper.getMass() * 3)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Belts
|
||||
|
||||
event.recipes.gtceu.macerator('greate:rubber_belt_connector')
|
||||
.itemInputs('greate:rubber_belt_connector')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Rubber, 6))
|
||||
.duration(GTMaterials.Rubber.getMass() * 6)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:silicone_rubber_belt_connector')
|
||||
.itemInputs('greate:silicone_rubber_belt_connector')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.SiliconeRubber, 6))
|
||||
.duration(GTMaterials.SiliconeRubber.getMass() * 6)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:polyethylene_belt_connector')
|
||||
.itemInputs('greate:polyethylene_belt_connector')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.StyreneButadieneRubber, 6))
|
||||
.duration(GTMaterials.StyreneButadieneRubber.getMass() * 6)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
// #region
|
||||
|
||||
// #region Mechanical Mixer
|
||||
|
||||
event.recipes.gtceu.macerator('greate:steel_mechanical_mixer')
|
||||
.itemInputs('greate:steel_mechanical_mixer')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 8),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 4))
|
||||
.duration(GTMaterials.WroughtIron.getMass() * 12)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:steel_mechanical_mixer')
|
||||
.itemInputs('greate:steel_mechanical_mixer')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 8),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4))
|
||||
.duration(GTMaterials.WroughtIron.getMass() * 12)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:aluminium_mechanical_mixer')
|
||||
.itemInputs('greate:aluminium_mechanical_mixer')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 12))
|
||||
.duration(GTMaterials.Aluminium.getMass() * 12)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:aluminium_mechanical_mixer')
|
||||
.itemInputs('greate:aluminium_mechanical_mixer')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 12))
|
||||
.duration(GTMaterials.Aluminium.getMass() * 12)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:stainless_steel_mechanical_mixer')
|
||||
.itemInputs('greate:stainless_steel_mechanical_mixer')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 12))
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 12)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:stainless_steel_mechanical_mixer')
|
||||
.itemInputs('greate:stainless_steel_mechanical_mixer')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 12))
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 12)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('greate:titanium_mechanical_mixer')
|
||||
.itemInputs('greate:titanium_mechanical_mixer')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 12))
|
||||
.duration(GTMaterials.Titanium.getMass() * 12)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('greate:titanium_mechanical_mixer')
|
||||
.itemInputs('greate:titanium_mechanical_mixer')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 12))
|
||||
.duration(GTMaterials.Titanium.getMass() * 12)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// #endregion
|
||||
}
|
||||
23
kubejs/server_scripts/greate/recipes.removes.js
Normal file
23
kubejs/server_scripts/greate/recipes.removes.js
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
// priority: 0
|
||||
|
||||
function removeGreateRecipes(event) {
|
||||
|
||||
global.GREATE_DISABLED_ITEMS.forEach(item => {
|
||||
event.remove({ input: item })
|
||||
event.remove({ output: item })
|
||||
})
|
||||
|
||||
event.remove({ mod: 'greate', input: 'create:andesite_alloy' });
|
||||
|
||||
event.remove({ id: 'greate:shapeless/large_andesite_alloy_cogwheel_from_little' })
|
||||
event.remove({ id: 'greate:shapeless/large_steel_cogwheel_from_little' })
|
||||
event.remove({ id: 'greate:shapeless/large_aluminium_cogwheel_from_little' })
|
||||
event.remove({ id: 'greate:shapeless/large_stainless_steel_cogwheel_from_little' })
|
||||
event.remove({ id: 'greate:shapeless/large_titanium_cogwheel_from_little' })
|
||||
|
||||
event.remove({ id: 'greate:splashing/dough' })
|
||||
|
||||
event.remove({ mod: 'greate', type: 'create:deploying' });
|
||||
event.remove({ mod: 'greate', type: 'create:sequenced_assembly' });
|
||||
event.remove({ mod: 'greate', type: 'gtceu:assembler' });
|
||||
}
|
||||
48
kubejs/server_scripts/greate/tags.js
Normal file
48
kubejs/server_scripts/greate/tags.js
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
// priority: 0
|
||||
|
||||
function registerGreateItemTags(event) {
|
||||
|
||||
global.GREATE_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
|
||||
event.add('tfg:small_cogwheels', 'greate:andesite_alloy_cogwheel')
|
||||
event.add('tfg:small_cogwheels', 'greate:steel_cogwheel')
|
||||
event.add('tfg:small_cogwheels', 'greate:aluminium_cogwheel')
|
||||
event.add('tfg:small_cogwheels', 'greate:stainless_steel_cogwheel')
|
||||
event.add('tfg:small_cogwheels', 'greate:titanium_cogwheel')
|
||||
|
||||
event.add('tfg:large_cogwheels', 'greate:large_andesite_alloy_cogwheel')
|
||||
event.add('tfg:large_cogwheels', 'greate:large_steel_cogwheel')
|
||||
event.add('tfg:large_cogwheels', 'greate:large_aluminium_cogwheel')
|
||||
event.add('tfg:large_cogwheels', 'greate:large_stainless_steel_cogwheel')
|
||||
event.add('tfg:large_cogwheels', 'greate:large_titanium_cogwheel')
|
||||
|
||||
event.add('tfg:shafts', 'greate:andesite_alloy_shaft')
|
||||
event.add('tfg:shafts', 'greate:steel_shaft')
|
||||
event.add('tfg:shafts', 'greate:aluminium_shaft')
|
||||
event.add('tfg:shafts', 'greate:stainless_steel_shaft')
|
||||
event.add('tfg:shafts', 'greate:titanium_shaft')
|
||||
}
|
||||
|
||||
|
||||
function registerGreateBlockTags(event) {
|
||||
|
||||
global.GREATE_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function registerGreateFluidTags(event) {
|
||||
|
||||
global.GREATE_DISABLED_FLUIDS.forEach(fluid => {
|
||||
event.removeAllTagsFrom(fluid)
|
||||
event.add('c:hidden_from_recipe_viewers', fluid)
|
||||
})
|
||||
|
||||
}
|
||||
|
|
@ -1,55 +1,177 @@
|
|||
// priority: 0
|
||||
// priority: 10
|
||||
|
||||
const STONE_TYPES_TO_COBBLE = {
|
||||
gabbro: 'tfc:rock/cobble/gabbro',
|
||||
shale: 'tfc:rock/cobble/shale',
|
||||
claystone: 'tfc:rock/cobble/claystone',
|
||||
limestone: 'tfc:rock/cobble/limestone',
|
||||
conglomerate: 'tfc:rock/cobble/conglomerate',
|
||||
dolomite: 'tfc:rock/cobble/dolomite',
|
||||
chert: 'tfc:rock/cobble/chert',
|
||||
chalk: 'tfc:rock/cobble/chalk',
|
||||
rhyolite: 'tfc:rock/cobble/rhyolite',
|
||||
dacite: 'tfc:rock/cobble/dacite',
|
||||
quartzite: 'tfc:rock/cobble/quartzite',
|
||||
slate: 'tfc:rock/cobble/slate',
|
||||
phyllite: 'tfc:rock/cobble/phyllite',
|
||||
schist: 'tfc:rock/cobble/schist',
|
||||
gneiss: 'tfc:rock/cobble/gneiss',
|
||||
marble: 'tfc:rock/cobble/marble',
|
||||
basalt: 'tfc:rock/cobble/basalt',
|
||||
diorite: 'tfc:rock/cobble/diorite',
|
||||
andesite: 'tfc:rock/cobble/andesite',
|
||||
granite: 'tfc:rock/cobble/granite',
|
||||
deepslate: 'minecraft:cobbled_deepslate',
|
||||
pyroxenite: 'minecraft:blackstone',
|
||||
dripstone: 'minecraft:dripstone_block',
|
||||
}
|
||||
|
||||
const registerGTCEULoots = (event) => {
|
||||
|
||||
global.TFC_STONE_TYPES.forEach(stoneType => {
|
||||
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
|
||||
if (material.hasProperty(PropertyKey.ORE)) {
|
||||
|
||||
let stoneTypeMaterial = TFGHelpers.getMaterial(stoneType)
|
||||
let stoneTypeDust = null
|
||||
|
||||
if (stoneTypeMaterial != null) stoneTypeDust = ChemicalHelper.get(TagPrefix.dust, stoneTypeMaterial, 1)
|
||||
// Have to define these here because normal loot table jsons don't support checking for hammers
|
||||
event.addBlockLootModifier('minecraft:deepslate')
|
||||
.matchMainHand('#forge:tools/hammers')
|
||||
.removeLoot(ItemFilter.ALWAYS_TRUE)
|
||||
.addLoot('minecraft:cobbled_deepslate')
|
||||
|
||||
let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1)
|
||||
let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1)
|
||||
let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1)
|
||||
event.addBlockLootModifier('minecraft:blackstone')
|
||||
.matchMainHand('#forge:tools/hammers')
|
||||
.removeLoot(ItemFilter.ALWAYS_TRUE)
|
||||
.addLoot('tfc:sand/black')
|
||||
|
||||
let crushedOre = ChemicalHelper.get(TagPrefix.crushed, material, 1)
|
||||
event.addBlockLootModifier('minecraft:dripstone_block')
|
||||
.matchMainHand('#forge:tools/hammers')
|
||||
.removeLoot(ItemFilter.ALWAYS_TRUE)
|
||||
.addLoot('tfc:sand/brown')
|
||||
|
||||
let blockName = `gtceu:${stoneType}_${material.getName()}_ore`
|
||||
event.addBlockLootModifier('tfg:rock/hardened_blackstone')
|
||||
.matchMainHand('#forge:tools/hammers')
|
||||
.removeLoot(ItemFilter.ALWAYS_TRUE)
|
||||
.addLoot('tfc:sand/black')
|
||||
|
||||
if (!richRawOre.isEmpty() && !normalRawOre.isEmpty() && !poorRawOre.isEmpty()) {
|
||||
|
||||
event.addBlockLootModifier(blockName)
|
||||
.removeLoot(Ingredient.all)
|
||||
.addWeightedLoot([
|
||||
richRawOre.withChance(0.2),
|
||||
normalRawOre.withChance(0.6),
|
||||
poorRawOre.withChance(0.2)
|
||||
]);
|
||||
}
|
||||
|
||||
if (!stoneTypeDust.isEmpty()) {
|
||||
event.addBlockLootModifier(blockName)
|
||||
.addLoot(
|
||||
LootEntry.of(stoneTypeDust).when((c) => c.randomChance(0.25))
|
||||
)
|
||||
}
|
||||
event.addBlockLootModifier('tfg:rock/hardened_deepslate')
|
||||
.matchMainHand('#forge:tools/hammers')
|
||||
.removeLoot(ItemFilter.ALWAYS_TRUE)
|
||||
.addLoot('tfc:sand/black')
|
||||
|
||||
if (!crushedOre.isEmpty()) {
|
||||
event.addBlockLootModifier(blockName)
|
||||
.matchMainHand('#forge:tools/hammers')
|
||||
.removeLoot(Ingredient.all)
|
||||
.addWeightedLoot([
|
||||
crushedOre.withChance(0.8),
|
||||
crushedOre.withCount(2).withChance(0.2)
|
||||
]);
|
||||
}
|
||||
event.addBlockLootModifier('tfg:rock/hardened_dripstone')
|
||||
.matchMainHand('#forge:tools/hammers')
|
||||
.removeLoot(ItemFilter.ALWAYS_TRUE)
|
||||
.addLoot('tfc:sand/brown')
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
})
|
||||
event.addBlockLootModifier('minecraft:gilded_blackstone')
|
||||
.matchMainHand('#forge:tools/hammers')
|
||||
.removeLoot(ItemFilter.ALWAYS_TRUE)
|
||||
.addSequenceLoot(
|
||||
LootEntry.of('tfc:sand/black'),
|
||||
LootEntry.of('tfc:powder/native_gold')
|
||||
)
|
||||
|
||||
event.addBlockLootModifier('beneath:crackrack')
|
||||
.matchMainHand('#forge:tools/hammers')
|
||||
.removeLoot(ItemFilter.ALWAYS_TRUE)
|
||||
.addLoot('tfc:sand/pink')
|
||||
|
||||
// Crush raw rock into cobble
|
||||
global.ORE_BEARING_STONES.forEach(stoneType => {
|
||||
event.addBlockLootModifier(`tfc:rock/raw/${stoneType}`)
|
||||
.matchMainHand('#forge:tools/hammers')
|
||||
.removeLoot(ItemFilter.ALWAYS_TRUE)
|
||||
.addLoot(STONE_TYPES_TO_COBBLE[stoneType]);
|
||||
})
|
||||
|
||||
if (TFGHelpers.isMaterialRegistrationFinished) {
|
||||
registerGTCEUMaterialLoots(event);
|
||||
}
|
||||
else {
|
||||
console.log("!!!!!!!! MATERIALS NOT DONE YET !!!!!!!!!")
|
||||
}
|
||||
}
|
||||
|
||||
function registerGTCEUMaterialLoots(event) {
|
||||
|
||||
// Go through all materials
|
||||
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
|
||||
|
||||
if (material.hasProperty(PropertyKey.ORE)) {
|
||||
|
||||
// Indicator buds
|
||||
if (material.hasProperty(PropertyKey.GEM)) {
|
||||
let normalDrop = ChemicalHelper.get(TagPrefix.gemChipped, material, 1)
|
||||
let sawDrop = ChemicalHelper.get(TagPrefix.gem, material, 1)
|
||||
|
||||
let bud = `gtceu:${material.getName()}_bud_indicator`;
|
||||
|
||||
event.addBlockLootModifier(bud)
|
||||
.matchMainHand("tfc:gem_saw")
|
||||
.addLoot(sawDrop);
|
||||
|
||||
event.addBlockLootModifier(bud)
|
||||
.not(n => n.matchMainHand("tfc:gem_saw"))
|
||||
.addLoot(normalDrop);
|
||||
}
|
||||
|
||||
let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1)
|
||||
let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1)
|
||||
let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1)
|
||||
|
||||
// I LOVE LOOTJS I LOVE LOOTJS I LOVE LOOTJS
|
||||
let rawOreBlock = `:${ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem()}`;
|
||||
if (material == GTMaterials.Copper || material == GTMaterials.Gold || material == GTMaterials.Iron)
|
||||
rawOreBlock = "minecraft" + rawOreBlock;
|
||||
else
|
||||
rawOreBlock = "gtceu" + rawOreBlock;
|
||||
|
||||
event.addBlockLootModifier(rawOreBlock)
|
||||
.removeLoot(ItemFilter.ALWAYS_TRUE)
|
||||
.or((or) => {
|
||||
or.matchMainHand('#minecraft:pickaxes')
|
||||
.matchMainHand('#forge:tools/hammers')
|
||||
.matchMainHand('#forge:tools/mining_hammers')
|
||||
})
|
||||
.addWeightedLoot([4, 6],
|
||||
[
|
||||
richRawOre.withChance(0.2),
|
||||
normalRawOre.withChance(0.6),
|
||||
poorRawOre.withChance(0.2)
|
||||
]);
|
||||
|
||||
// Stone ores
|
||||
global.ORE_BEARING_STONES.forEach(stoneType => {
|
||||
|
||||
let stoneTypeMaterial = TFGHelpers.getMaterial(stoneType)
|
||||
|
||||
// Material doesn't work here because of reasons
|
||||
if (stoneTypeMaterial == null) {
|
||||
if (stoneType == "pyroxenite")
|
||||
stoneTypeMaterial = GTMaterials.Blackstone;
|
||||
else if (stoneType == "deepslate")
|
||||
stoneTypeMaterial = GTMaterials.Deepslate;
|
||||
}
|
||||
|
||||
let stoneTypeDust = ChemicalHelper.get(TagPrefix.dust, stoneTypeMaterial, 1)
|
||||
|
||||
// break with pickaxe
|
||||
event.addBlockLootModifier(`gtceu:${stoneType}_${material.getName()}_ore`)
|
||||
.removeLoot(ItemFilter.ALWAYS_TRUE)
|
||||
.or((or) => {
|
||||
or.matchMainHand('#minecraft:pickaxes')
|
||||
.matchMainHand('#forge:tools/mining_hammers')
|
||||
})
|
||||
.addWeightedLoot([
|
||||
richRawOre.withChance(0.2),
|
||||
normalRawOre.withChance(0.6),
|
||||
poorRawOre.withChance(0.2)
|
||||
])
|
||||
.addLoot(
|
||||
LootEntry.of(stoneTypeDust).when((c) => c.randomChance(0.25))
|
||||
)
|
||||
|
||||
// break with hammer
|
||||
event.addBlockLootModifier(`gtceu:${stoneType}_${material.getName()}_ore`)
|
||||
.matchMainHand('#forge:tools/hammers')
|
||||
.addLoot(STONE_TYPES_TO_COBBLE[stoneType]);
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
714
kubejs/server_scripts/gregtech/recipes.materials.js
Normal file
714
kubejs/server_scripts/gregtech/recipes.materials.js
Normal file
|
|
@ -0,0 +1,714 @@
|
|||
// priority: 0
|
||||
|
||||
function registerGTCEUMetalRecipes(event) {
|
||||
|
||||
const makeToolRecipe = (toolType, headTagPrefix, extruderMold, cirucitMeta, material) => {
|
||||
const toolItem = ToolHelper.get(toolType, material)
|
||||
if (toolItem.isEmpty()) return
|
||||
|
||||
const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1)
|
||||
if (toolHeadItem.isEmpty()) return
|
||||
|
||||
if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) {
|
||||
event.shapeless(toolItem, [
|
||||
'#forge:rods/wooden',
|
||||
toolHeadItem
|
||||
]).id(`gtceu:shaped/${toolType.name}_${material.getName()}`)
|
||||
}
|
||||
else {
|
||||
event.recipes.tfc.advanced_shapeless_crafting(TFC.itemStackProvider.of(toolItem).copyForgingBonus(), ['#forge:rods/wooden', toolHeadItem])
|
||||
.id(`gtceu:shaped/${toolType.name}_${material.getName()}`)
|
||||
}
|
||||
|
||||
processToolHead(headTagPrefix, extruderMold, cirucitMeta, material)
|
||||
}
|
||||
|
||||
const processToolHead = (headTagPrefix, extruderMold, cirucitMeta, material) => {
|
||||
const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1)
|
||||
if (toolHeadItem.isEmpty()) return
|
||||
|
||||
if (material.hasProperty(PropertyKey.INGOT)) {
|
||||
|
||||
const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1)
|
||||
if (ingotItem.isEmpty()) return
|
||||
|
||||
event.recipes.gtceu.extruder(`tfg:extrude_${material.getName()}_ingot_to_${new String(headTagPrefix.name).toLowerCase()}_head`)
|
||||
.itemInputs(ingotItem.copyWithCount(Math.floor(headTagPrefix.materialAmount() / GTValues.M)))
|
||||
.notConsumable(extruderMold)
|
||||
.itemOutputs(toolHeadItem)
|
||||
.duration(material.getMass() * 6)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
if (headTagPrefix.materialAmount() / GTValues.M == 1) {
|
||||
event.custom({
|
||||
type: 'vintageimprovements:curving',
|
||||
ingredients: [ingotItem],
|
||||
itemAsHead: extruderMold,
|
||||
results: [toolHeadItem],
|
||||
processingTime: material.getMass() * 6 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER
|
||||
}).id(`tfg:vi/curving/${material.getName()}_ingot_to_${new String(headTagPrefix.name).toLowerCase()}_head`)
|
||||
}
|
||||
else {
|
||||
event.custom({
|
||||
type: 'vintageimprovements:curving',
|
||||
// have to do [item, item] instead of [item x2]
|
||||
ingredients: [ingotItem, ingotItem],
|
||||
itemAsHead: extruderMold,
|
||||
results: [toolHeadItem],
|
||||
processingTime: material.getMass() * 6 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER
|
||||
}).id(`tfg:vi/curving/${material.getName()}_ingot_to_${new String(headTagPrefix.name).toLowerCase()}_head`)
|
||||
}
|
||||
|
||||
event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`)
|
||||
.itemInputs(toolHeadItem)
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 1))
|
||||
.duration(material.getMass() * 6)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace(`tfg:arc_furnace_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`)
|
||||
.itemInputs(toolHeadItem)
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 1))
|
||||
.duration(material.getMass() * 6)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
if (GTMaterials.Stone != material) {
|
||||
event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`)
|
||||
.itemInputs(toolHeadItem)
|
||||
.outputFluids(Fluid.of(material.getFluid(), 144))
|
||||
.duration(material.getMass() * 6)
|
||||
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
|
||||
} else if (material.hasProperty(PropertyKey.GEM)) {
|
||||
|
||||
const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1)
|
||||
if (gemItem.isEmpty()) return
|
||||
|
||||
event.recipes.gtceu.laser_engraver(`tfg:engrave_${material.getName()}_gem_to_${new String(headTagPrefix.name).toLowerCase()}_head`)
|
||||
.itemInputs(gemItem.copyWithCount(Math.floor(headTagPrefix.materialAmount() / GTValues.M)))
|
||||
.notConsumable(ChemicalHelper.get(TagPrefix.lens, GTMaterials.Glass, 1))
|
||||
.circuit(cirucitMeta)
|
||||
.itemOutputs(toolHeadItem)
|
||||
.duration(material.getMass() * 6)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`)
|
||||
.itemInputs(toolHeadItem)
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 1))
|
||||
.duration(material.getMass() * 6)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
// else: ignore :3
|
||||
}
|
||||
|
||||
const processToolMortar = (toolType, material) => {
|
||||
const toolItem = ToolHelper.get(toolType, material)
|
||||
if (toolItem.isEmpty()) return
|
||||
|
||||
const usableTagPrefix = material.hasProperty(PropertyKey.GEM) ? TagPrefix.gem : TagPrefix.ingot;
|
||||
const usableItem = ChemicalHelper.get(usableTagPrefix, material, 1)
|
||||
|
||||
if (usableItem.isEmpty()) return
|
||||
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped(toolItem, [
|
||||
'CA ',
|
||||
' B '
|
||||
], {
|
||||
A: usableItem,
|
||||
B: '#tfc:rock/raw',
|
||||
C: '#tfc:chisels'
|
||||
})
|
||||
).id(`gtceu:shaped/mortar_${material.getName()}`)
|
||||
}
|
||||
|
||||
const processIngot = (tagPrefix, material) => {
|
||||
const ingotStack = ChemicalHelper.get(tagPrefix, material, 1)
|
||||
|
||||
if (material.hasFlag(MaterialFlags.GENERATE_PLATE)
|
||||
&& material != GTMaterials.Wood
|
||||
&& material != GTMaterials.TreatedWood
|
||||
&& !material.hasProperty(PropertyKey.POLYMER))
|
||||
{
|
||||
const plateStack = ChemicalHelper.get(TagPrefix.plate, material, 1)
|
||||
const blockStack = ChemicalHelper.get(TagPrefix.block, material, 1)
|
||||
|
||||
let matAmount = TagPrefix.block.getMaterialAmount(material) / GTValues.M;
|
||||
|
||||
if (!plateStack.isEmpty()) {
|
||||
|
||||
event.custom({
|
||||
type: "createaddition:rolling",
|
||||
input: ingotStack,
|
||||
result: plateStack,
|
||||
//processingTime: material.getMass() // TODO - controlled by a global config argh
|
||||
}).id(`tfg:rolling/${material.getName()}_plate`)
|
||||
|
||||
if (!blockStack.isEmpty() && GTMaterials.Stone != material) {
|
||||
|
||||
// 9х Слиток -> Блок
|
||||
event.recipes.createCompacting(blockStack, ingotStack.withCount(matAmount))
|
||||
.heated()
|
||||
.id(`tfg:compacting/${material.getName()}_block`)
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!blockStack.isEmpty()) {
|
||||
|
||||
// Блок из гемов -> 9 Пластин
|
||||
event.recipes.createCutting(plateStack.withCount(matAmount).withChance(0.65), blockStack)
|
||||
.id(`tfg:cutting/${material.getName()}_plate`)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const processPlate = (tagPrefix, material) => {
|
||||
const item = ChemicalHelper.get(tagPrefix, material, 1)
|
||||
if (item.isEmpty()) return
|
||||
|
||||
event.remove({ id: `gtceu:shaped/plate_${material.getName()}` })
|
||||
}
|
||||
|
||||
const processPlateDouble = (tagPrefix, material) => {
|
||||
const item = ChemicalHelper.get(tagPrefix, material, 1)
|
||||
if (item.isEmpty()) return
|
||||
|
||||
event.remove({ id: `gtceu:shaped/plate_double_${material.getName()}` })
|
||||
}
|
||||
|
||||
const processBlock = (tagPrefix, material) => {
|
||||
const item = ChemicalHelper.get(tagPrefix, material, 1)
|
||||
if (item.isEmpty()) return
|
||||
|
||||
event.remove({ id: `gtceu:compressor/compress_${material.getName()}_to_block` })
|
||||
}
|
||||
|
||||
const processFoil = (tagPrefix, material) => {
|
||||
|
||||
const foilItem = ChemicalHelper.get(tagPrefix, material, 4)
|
||||
const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1)
|
||||
|
||||
if (plateItem != null && foilItem != null) {
|
||||
event.custom({
|
||||
type: "createaddition:rolling",
|
||||
input: plateItem,
|
||||
result: foilItem,
|
||||
// TODO - processing time is controlled by a global config instead of setting it per-recipe...
|
||||
//processingTime: material.getMass()
|
||||
}).id(`tfg:rolling/${material.getName()}_foil`)
|
||||
}
|
||||
}
|
||||
|
||||
const processRodLong = (tagPrefix, material) => {
|
||||
const item = ChemicalHelper.get(tagPrefix, material, 1)
|
||||
if (item.isEmpty()) return
|
||||
|
||||
event.remove({ id: `gtceu:shaped/stick_long_stick_${material.getName()}` })
|
||||
}
|
||||
|
||||
const processIngotDouble = (tagPrefix, material) => {
|
||||
if (!material.hasFlag(TFGMaterialFlags.GENERATE_DOUBLE_INGOTS)) return;
|
||||
|
||||
const doubleIngotStack = ChemicalHelper.get(tagPrefix, material, 1);
|
||||
|
||||
if (material.hasProperty(PropertyKey.FLUID)) {
|
||||
event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_double_ingot`)
|
||||
.itemInputs(doubleIngotStack)
|
||||
.outputFluids(Fluid.of(material.getFluid(), 288))
|
||||
.duration(material.getMass())
|
||||
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
|
||||
if (material.hasProperty(PropertyKey.DUST)) {
|
||||
event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_double_ingot`)
|
||||
.itemInputs(doubleIngotStack)
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 2))
|
||||
.duration(material.getMass())
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
|
||||
const twoIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 2);
|
||||
|
||||
event.recipes.gtceu.arc_furnace(`tfg:arc_furnace_${material.getName()}_double_ingot`)
|
||||
.itemInputs(doubleIngotStack)
|
||||
.itemOutputs(twoIngotStack)
|
||||
.duration(material.getMass() * 6)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.bender(`tfg:bend_${material.getName()}_double_ingot`)
|
||||
.itemInputs(twoIngotStack)
|
||||
.itemOutputs(doubleIngotStack)
|
||||
.duration(material.getMass() * 6)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.circuit(3)
|
||||
}
|
||||
|
||||
const processSmallOre = (tagPrefix, material) => {
|
||||
if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_TFC_ORE)) return;
|
||||
|
||||
const smallOre = ChemicalHelper.get(tagPrefix, material, 1);
|
||||
const smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1);
|
||||
|
||||
event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_small_ore`)
|
||||
.itemInputs(smallOre)
|
||||
.itemOutputs(smallDust)
|
||||
.duration(material.getMass())
|
||||
.category(GTRecipeCategories.ORE_CRUSHING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
|
||||
const processSmallNativeOre = (tagPrefix, material) => {
|
||||
if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_NATIVE_TFC_ORE)) return;
|
||||
|
||||
const smallNativeOre = ChemicalHelper.get(tagPrefix, material, 1);
|
||||
const smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1);
|
||||
|
||||
event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_small_native_ore`)
|
||||
.itemInputs(smallNativeOre)
|
||||
.itemOutputs(smallDust)
|
||||
.duration(material.getMass())
|
||||
.category(GTRecipeCategories.ORE_CRUSHING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
|
||||
const processPoorRawOre = (tagPrefix, material) => {
|
||||
const poorOreItem = ChemicalHelper.get(tagPrefix, material, 2)
|
||||
const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1)
|
||||
|
||||
if (poorOreItem != null && crushedOreItem != null) {
|
||||
event.recipes.tfc.quern(crushedOreItem, poorOreItem)
|
||||
.id(`tfg:quern/${material.getName()}_crushed_ore_from_poor_raw_ore`)
|
||||
}
|
||||
}
|
||||
|
||||
const processNormalRawOre = (tagPrefix, material) => {
|
||||
const normalOreItem = ChemicalHelper.get(tagPrefix, material, 1)
|
||||
const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1)
|
||||
|
||||
if (normalOreItem != null && crushedOreItem != null) {
|
||||
event.recipes.tfc.quern(crushedOreItem, normalOreItem)
|
||||
.id(`tfg:quern/${material.getName()}_crushed_ore_from_normal_raw_ore`)
|
||||
}
|
||||
}
|
||||
|
||||
const processRichRawOre = (tagPrefix, material) => {
|
||||
const richOreItem = ChemicalHelper.get(tagPrefix, material, 1)
|
||||
const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 2)
|
||||
|
||||
if (richOreItem != null && crushedOreItem != null) {
|
||||
event.recipes.tfc.quern(crushedOreItem, richOreItem)
|
||||
.id(`tfg:quern/${material.getName()}_crushed_ore_from_rich_raw_ore`)
|
||||
}
|
||||
}
|
||||
|
||||
const processCrushedOre = (tagPrefix, material) => {
|
||||
const crushedOreItem = ChemicalHelper.get(tagPrefix, material, 1)
|
||||
const pureOreItem = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1)
|
||||
|
||||
if (crushedOreItem != null && pureOreItem != null) {
|
||||
|
||||
let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(0, material);
|
||||
const byproductItem = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1)
|
||||
|
||||
event.recipes.greate.splashing([pureOreItem, TieredOutputItem.of(byproductItem).withChance(0.333), 'gtceu:stone_dust'], crushedOreItem)
|
||||
.id(`tfg:splashing/${material.getName()}_purified_ore`)
|
||||
|
||||
// Дробленная руда -> Очищенная руда
|
||||
event.custom({
|
||||
type: "ae2:transform",
|
||||
circumstance: {
|
||||
type: "fluid",
|
||||
tag: "tfc:water"
|
||||
},
|
||||
ingredients: [
|
||||
crushedOreItem.toJson()
|
||||
],
|
||||
result: pureOreItem.toJson()
|
||||
}).id(`tfg:ae_transform/${material.getName()}_purified_ore`)
|
||||
}
|
||||
}
|
||||
|
||||
const processImpureDust = (tagPrefix, material) => {
|
||||
const impureDustItem = ChemicalHelper.get(tagPrefix, material, 1)
|
||||
const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1)
|
||||
|
||||
if (impureDustItem != null && dustItem != null) {
|
||||
|
||||
let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(0, material);
|
||||
const byproductItem = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1)
|
||||
|
||||
event.recipes.greate.splashing([dustItem, TieredOutputItem.of(byproductItem).withChance(0.333), 'gtceu:stone_dust'], impureDustItem)
|
||||
.id(`tfg:splashing/${material.getName()}_dust_from_impure`)
|
||||
|
||||
// Грязная пыль -> Пыль
|
||||
event.custom({
|
||||
type: "ae2:transform",
|
||||
circumstance: {
|
||||
type: "fluid",
|
||||
tag: "tfc:water"
|
||||
},
|
||||
ingredients: [
|
||||
impureDustItem.toJson()
|
||||
],
|
||||
result: dustItem.toJson()
|
||||
}).id(`tfg:ae_transform/${material.getName()}_dust_from_impure`)
|
||||
}
|
||||
}
|
||||
|
||||
const processPureDust = (tagPrefix, material) => {
|
||||
const pureDust = ChemicalHelper.get(tagPrefix, material, 1)
|
||||
const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1)
|
||||
|
||||
if (pureDust != null && dustItem != null) {
|
||||
|
||||
let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(0, material);
|
||||
const byproductItem = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1)
|
||||
|
||||
event.recipes.greate.splashing([dustItem, TieredOutputItem.of(byproductItem).withChance(0.333), 'gtceu:stone_dust'], pureDust)
|
||||
.id(`tfg:splashing/${material.getName()}_dust_from_pure`)
|
||||
|
||||
// Очищенная пыль -> Пыль
|
||||
event.custom({
|
||||
type: "ae2:transform",
|
||||
circumstance: {
|
||||
type: "fluid",
|
||||
tag: "tfc:water"
|
||||
},
|
||||
ingredients: [
|
||||
pureDust.toJson()
|
||||
],
|
||||
result: dustItem.toJson()
|
||||
}).id(`tfg:ae_transform/${material.getName()}_dust_from_pure`)
|
||||
}
|
||||
}
|
||||
|
||||
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
|
||||
const toolProperty = material.getProperty(PropertyKey.TOOL)
|
||||
const ingotProperty = material.getProperty(PropertyKey.INGOT)
|
||||
const oreProperty = material.getProperty(PropertyKey.ORE)
|
||||
const gemProperty = material.getProperty(PropertyKey.GEM)
|
||||
|
||||
const anvilStack = ChemicalHelper.get(TFGTagPrefix.anvil, material, 1)
|
||||
const finishedLampStack = ChemicalHelper.get(TFGTagPrefix.lamp, material, 1)
|
||||
const trapdoorStack = ChemicalHelper.get(TFGTagPrefix.trapdoor, material, 1)
|
||||
const chainStack = ChemicalHelper.get(TFGTagPrefix.chain, material, 1)
|
||||
const bellStack = ChemicalHelper.get(TFGTagPrefix.bell, material, 1)
|
||||
const barsStack = ChemicalHelper.get(TFGTagPrefix.bars, material, 4)
|
||||
|
||||
if (toolProperty != null) {
|
||||
makeToolRecipe(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, 'tfg:sword_head_extruder_mold', 1, material)
|
||||
makeToolRecipe(GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe, 'tfg:pickaxe_head_extruder_mold', 2, material)
|
||||
makeToolRecipe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, 'tfg:axe_head_extruder_mold', 3, material)
|
||||
makeToolRecipe(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, 'tfg:shovel_head_extruder_mold', 4, material)
|
||||
makeToolRecipe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, 'tfg:hoe_head_extruder_mold', 5, material)
|
||||
makeToolRecipe(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, 'tfg:knife_head_extruder_mold', 6, material)
|
||||
makeToolRecipe(GTToolType.FILE, TFGTagPrefix.toolHeadFile, 'tfg:file_head_extruder_mold', 7, material)
|
||||
makeToolRecipe(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, 'tfg:saw_head_extruder_mold', 8, material)
|
||||
makeToolRecipe(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, 'tfg:spade_head_extruder_mold', 9, material)
|
||||
makeToolRecipe(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, 'tfg:mining_hammer_head_extruder_mold', 10, material)
|
||||
makeToolRecipe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, 'tfg:scythe_head_extruder_mold', 11, material)
|
||||
makeToolRecipe(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, 'tfg:hammer_head_extruder_mold', 12, material)
|
||||
makeToolRecipe(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, 'tfg:butchery_knife_head_extruder_mold', 13, material)
|
||||
|
||||
processToolMortar(GTToolType.MORTAR, material)
|
||||
|
||||
processToolHead(TFGTagPrefix.toolHeadPropick, 'tfg:propick_head_extruder_mold', 14, material)
|
||||
processToolHead(TFGTagPrefix.toolHeadJavelin, 'tfg:javelin_head_extruder_mold', 15, material)
|
||||
processToolHead(TFGTagPrefix.toolHeadChisel, 'tfg:chisel_head_extruder_mold', 16, material)
|
||||
processToolHead(TFGTagPrefix.toolHeadMace, 'tfg:mace_head_extruder_mold', 17, material)
|
||||
processToolHead(TFGTagPrefix.toolHeadMattock, 'tfg:mattock_head_extruder_mold', 18, material)
|
||||
}
|
||||
|
||||
if (ingotProperty != null) {
|
||||
processIngot(TagPrefix.ingot, material)
|
||||
processPlate(TagPrefix.plate, material)
|
||||
processPlateDouble(TagPrefix.plateDouble, material)
|
||||
processBlock(TagPrefix.block, material)
|
||||
processFoil(TagPrefix.foil, material)
|
||||
processRodLong(TagPrefix.rodLong, material)
|
||||
processIngotDouble(TFGTagPrefix.ingotDouble, material)
|
||||
}
|
||||
|
||||
if (oreProperty != null) {
|
||||
processSmallOre(TFGTagPrefix.oreSmall, material)
|
||||
processSmallNativeOre(TFGTagPrefix.oreSmallNative, material)
|
||||
processPoorRawOre(TFGTagPrefix.poorRawOre, material)
|
||||
processNormalRawOre(TagPrefix.rawOre, material)
|
||||
processRichRawOre(TFGTagPrefix.richRawOre, material)
|
||||
|
||||
processCrushedOre(TagPrefix.crushed, material)
|
||||
processImpureDust(TagPrefix.dustImpure, material)
|
||||
processPureDust(TagPrefix.dustPure, material)
|
||||
|
||||
if (gemProperty != null) {
|
||||
let gem = ChemicalHelper.get(TagPrefix.gem, material, 1);
|
||||
let chipped = ChemicalHelper.get(TagPrefix.gemChipped, material, 1)
|
||||
let smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1)
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless(
|
||||
`gtceu:${material.getName()}_bud_indicator`, [gem, '#tfc:chisels']))
|
||||
.id(`shapeless/${material.getName()}_bud_indicator`)
|
||||
|
||||
event.shaped(smallDust,
|
||||
[ 'A', 'B' ],
|
||||
{ A: chipped, B: '#forge:tools/mortars'})
|
||||
.id(`shapeless/mortar_chipped_${material.getName()}`)
|
||||
}
|
||||
}
|
||||
|
||||
if (anvilStack != null) {
|
||||
event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_anvil`)
|
||||
.itemInputs(anvilStack)
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 14))
|
||||
.duration(material.getMass() * 32)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_anvil`)
|
||||
.itemInputs(anvilStack)
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 14))
|
||||
.duration(material.getMass() * 32)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_anvil`)
|
||||
.itemInputs(anvilStack)
|
||||
.outputFluids(Fluid.of(material.getFluid(), 14 * 144))
|
||||
.duration(material.getMass() * 32)
|
||||
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_anvil`)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.ingot, material, 14))
|
||||
.notConsumable('gtceu:anvil_casting_mold')
|
||||
.itemOutputs(anvilStack)
|
||||
.duration(material.getMass() * 32)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.category(GTRecipeCategories.INGOT_MOLDING)
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${material.getName()}_anvil`)
|
||||
.inputFluids(Fluid.of(material.getFluid(), 14 * 144))
|
||||
.notConsumable('gtceu:anvil_casting_mold')
|
||||
.itemOutputs(anvilStack)
|
||||
.duration(material.getMass() * 32)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
|
||||
if (finishedLampStack != null) {
|
||||
const materialDustStack = ChemicalHelper.get(TagPrefix.dust, material, 1)
|
||||
const materialIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1)
|
||||
const glassDustStack = ChemicalHelper.get(TagPrefix.dust, GTMaterials.Glass, 4)
|
||||
const unfinishedLampStack = ChemicalHelper.get(TFGTagPrefix.lampUnfinished, material, 1)
|
||||
|
||||
event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_lamp`)
|
||||
.itemInputs(finishedLampStack)
|
||||
.itemOutputs([materialDustStack, glassDustStack])
|
||||
.duration(material.getMass() * 8)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_lamp`)
|
||||
.itemInputs(finishedLampStack)
|
||||
.itemOutputs([materialIngotStack, glassDustStack])
|
||||
.duration(material.getMass() * 8)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:${material.getName()}_lamp`)
|
||||
.itemInputs("tfc:lamp_glass", unfinishedLampStack)
|
||||
.itemOutputs(finishedLampStack)
|
||||
.duration(material.getMass() * 7)
|
||||
.circuit(12)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:${material.getName()}_lamp_from_liquid`)
|
||||
.itemInputs(unfinishedLampStack)
|
||||
.inputFluids(Fluid.of(GTMaterials.Glass.getFluid(), 576))
|
||||
.itemOutputs(finishedLampStack)
|
||||
.duration(material.getMass() * 7)
|
||||
.circuit(13)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_unfinished_lamp`)
|
||||
.itemInputs(unfinishedLampStack)
|
||||
.itemOutputs(materialDustStack)
|
||||
.duration(material.getMass() * 8)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_unfinished_lamp`)
|
||||
.itemInputs(unfinishedLampStack)
|
||||
.itemOutputs([materialIngotStack, glassDustStack])
|
||||
.duration(material.getMass() * 8)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_unfinished_lamp`)
|
||||
.itemInputs(unfinishedLampStack)
|
||||
.outputFluids(Fluid.of(material.getFluid(), 144))
|
||||
.duration(material.getMass() * 8)
|
||||
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_unfinished_lamp`)
|
||||
.itemInputs(materialIngotStack)
|
||||
.notConsumable('tfg:lamp_casting_mold')
|
||||
.itemOutputs(unfinishedLampStack)
|
||||
.duration(material.getMass() * 8)
|
||||
.category(GTRecipeCategories.INGOT_MOLDING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${material.getName()}_unfinished_lamp`)
|
||||
.inputFluids(Fluid.of(material.getFluid(), 144))
|
||||
.notConsumable('tfg:lamp_casting_mold')
|
||||
.itemOutputs(unfinishedLampStack)
|
||||
.duration(material.getMass() * 8)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
|
||||
if (trapdoorStack != null) {
|
||||
const materialDustStack = ChemicalHelper.get(TagPrefix.dust, material, 1)
|
||||
const materialIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1)
|
||||
|
||||
event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_trapdoor`)
|
||||
.itemInputs(trapdoorStack)
|
||||
.itemOutputs(materialDustStack)
|
||||
.duration(material.getMass() * 7)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_trapdoor`)
|
||||
.itemInputs(trapdoorStack)
|
||||
.itemOutputs(materialIngotStack)
|
||||
.duration(material.getMass() * 7)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_trapdoor`)
|
||||
.itemInputs(trapdoorStack)
|
||||
.outputFluids(Fluid.of(material.getFluid(), 144))
|
||||
.duration(material.getMass() * 7)
|
||||
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_trapdoor`)
|
||||
.itemInputs(materialIngotStack)
|
||||
.notConsumable('tfg:trapdoor_casting_mold')
|
||||
.itemOutputs(trapdoorStack)
|
||||
.duration(material.getMass() * 8)
|
||||
.category(GTRecipeCategories.INGOT_MOLDING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${material.getName()}_trapdoor`)
|
||||
.inputFluids(Fluid.of(material.getFluid(), 144))
|
||||
.notConsumable('tfg:trapdoor_casting_mold')
|
||||
.itemOutputs(trapdoorStack)
|
||||
.duration(material.getMass() * 7)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
|
||||
if (chainStack != null) {
|
||||
const chain2Stack = ChemicalHelper.get(TFGTagPrefix.chain, material, 2)
|
||||
|
||||
const materialDustTinyStack = ChemicalHelper.get(TagPrefix.dustTiny, material, 1)
|
||||
const materialNuggetStack = ChemicalHelper.get(TagPrefix.nugget, material, 1)
|
||||
const materialIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1)
|
||||
|
||||
event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_chain`)
|
||||
.itemInputs(chain2Stack)
|
||||
.itemOutputs(materialDustTinyStack)
|
||||
.duration(material.getMass() * 3)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_chain`)
|
||||
.itemInputs(chain2Stack)
|
||||
.itemOutputs(materialNuggetStack)
|
||||
.duration(material.getMass() * 3)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_chain`)
|
||||
.itemInputs(chainStack)
|
||||
.outputFluids(Fluid.of(material.getFluid(), 9))
|
||||
.duration(material.getMass() * 3)
|
||||
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_chain`)
|
||||
.itemInputs(materialIngotStack)
|
||||
.notConsumable('tfg:chain_casting_mold')
|
||||
.itemOutputs(ChemicalHelper.get(TFGTagPrefix.chain, material, 16))
|
||||
.duration(material.getMass() * 3)
|
||||
.category(GTRecipeCategories.INGOT_MOLDING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${material.getName()}_chain`)
|
||||
.inputFluids(Fluid.of(material.getFluid(), 9))
|
||||
.notConsumable('tfg:chain_casting_mold')
|
||||
.itemOutputs(chainStack)
|
||||
.duration(material.getMass() * 3)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
|
||||
if (bellStack != null) {
|
||||
const materialDustStack = ChemicalHelper.get(TagPrefix.dust, material, 1)
|
||||
const materialIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1)
|
||||
|
||||
event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_bell`)
|
||||
.itemInputs(bellStack)
|
||||
.itemOutputs(materialDustStack)
|
||||
.duration(material.getMass() * 5)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_bell`)
|
||||
.itemInputs(bellStack)
|
||||
.itemOutputs(materialIngotStack)
|
||||
.duration(material.getMass() * 5)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_bell`)
|
||||
.itemInputs(bellStack)
|
||||
.outputFluids(Fluid.of(material.getFluid(), 144))
|
||||
.duration(material.getMass() * 5)
|
||||
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_bell`)
|
||||
.itemInputs(materialIngotStack)
|
||||
.notConsumable('tfg:bell_casting_mold')
|
||||
.itemOutputs(bellStack)
|
||||
.duration(material.getMass() * 5)
|
||||
.category(GTRecipeCategories.INGOT_MOLDING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${material.getName()}_bell`)
|
||||
.inputFluids(Fluid.of(material.getFluid(), 144))
|
||||
.notConsumable('tfg:bell_casting_mold')
|
||||
.itemOutputs(bellStack)
|
||||
.duration(material.getMass() * 5)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
}
|
||||
|
||||
if (barsStack != null) {
|
||||
event.stonecutting(barsStack, ChemicalHelper.get(TagPrefix.ingot, material, 1))
|
||||
.id(`${material.getName()}_ingot_to_bars`)
|
||||
}
|
||||
|
||||
// Indicators
|
||||
if (oreProperty != null) {
|
||||
event.replaceInput({ id: `gtceu:shaped/${material.getName()}_surface_indicator`},
|
||||
'minecraft:gravel', '#tfc:rock/gravel')
|
||||
}
|
||||
})
|
||||
}
|
||||
587
kubejs/server_scripts/gregtech/recipes.removes.js
Normal file
587
kubejs/server_scripts/gregtech/recipes.removes.js
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
// priority: 0
|
||||
|
||||
function removeGTCEURecipes(event) {
|
||||
|
||||
global.GTCEU_DISABLED_ITEMS.forEach(item => {
|
||||
event.remove({ input: item })
|
||||
event.remove({ output: item })
|
||||
})
|
||||
|
||||
//#region Выход: Крошечная кучка камня
|
||||
|
||||
event.remove({ id: 'gtceu:macerator/macerate_stone_button' })
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Маленькая кучка камня
|
||||
|
||||
event.remove({ id: 'gtceu:macerator/macerate_stone_stairs' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_stone_slab' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_stone_brick_stairs' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_stone_brick_slab' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_sandstone_stairs' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_sandstone_slab' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_red_sandstone_stairs' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_red_sandstone_slab' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_granite' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_diorite' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_cobblestone_slab' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_andesite' })
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Кучка камня
|
||||
|
||||
event.remove({ id: 'gtceu:macerator/macerate_stone_sword' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_stone_shovel' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_stone_pressure_plate' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_stone_pickaxe' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_stone_hoe' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_stone_bricks' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_stone_axe' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_mossy_cobblestone' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_cobblestone_wall' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_cobblestone' })
|
||||
event.remove({ id: 'gtceu:macerator/gravel_to_flint' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_furnace' })
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Deepslate
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/deepslate_hammer' })
|
||||
event.remove({ id: 'gtceu:shaped/cobbled_deepslate_stair_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/cobbled_deepslate_slab_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/cobbled_deepslate_wall_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/cobbled_deepslate_polish_hammer' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_cobbled_deepslate_into_stair' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_cobbled_deepslate_into_polished' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_cobbled_deepslate_into_wall' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_cobbled_deepslate_into_slab' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_cobbled_deepslate_into_slab_water' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_cobbled_deepslate_into_slab_distilled_water' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/cobbled_deepslate_polished_hammer' })
|
||||
event.remove({ id: 'gtceu:forming_press/form_cobbled_deepslate_slab_into_pillar' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/polished_deepslate_stair_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/polished_deepslate_slab_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/polished_deepslate_wall_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/polished_deepslate_polish_hammer' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_polished_deepslate_into_stair' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_polished_deepslate_into_polished' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_polished_deepslate_into_wall' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_polished_deepslate_into_slab' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_polished_deepslate_into_slab_water' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_polished_deepslate_into_slab_distilled_water' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/deepslate_bricks_hammer' })
|
||||
event.remove({ id: 'gtceu:shaped/deepslate_bricks_stair_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/deepslate_bricks_slab_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/deepslate_bricks_wall_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/deepslate_bricks_polish_hammer' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_deepslate_bricks_into_stair' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_deepslate_bricks_into_polished' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_deepslate_bricks_into_wall' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_deepslate_bricks_into_slab' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_deepslate_bricks_into_slab_water' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_deepslate_bricks_into_slab_distilled_water' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/deepslate_tile_hammer' })
|
||||
event.remove({ id: 'gtceu:shaped/deepslate_tile_stair_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/deepslate_tile_slab_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/deepslate_tile_wall_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/deepslate_tile_polish_hammer' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_deepslate_tile_into_stair' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_deepslate_tile_into_polished' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_deepslate_tile_into_wall' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_deepslate_tile_into_slab' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_deepslate_tile_into_slab_water' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_deepslate_tile_into_slab_distilled_water' })
|
||||
|
||||
event.remove({ id: 'gtceu:macerator/macerate_deepslate' })
|
||||
event.remove({ id: 'gtceu:rock_breaker/deepslate' })
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Blackstone
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/blackstone_stair_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/blackstone_slab_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/blackstone_wall_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/blackstone_polish_hammer' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_blackstone_into_stair' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_blackstone_into_polished' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_blackstone_into_wall' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_blackstone_into_slab' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_blackstone_into_slab_water' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_blackstone_into_slab_distilled_water' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/polished_blackstone_hammer' })
|
||||
event.remove({ id: 'gtceu:shaped/polished_blackstone_stair_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/polished_blackstone_slab_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/polished_blackstone_wall_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/polished_blackstone_polish_hammer' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_polished_blackstone_into_stair' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_polished_blackstone_into_polished' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_polished_blackstone_into_wall' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_polished_blackstone_into_slab' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_polished_blackstone_into_slab_water' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_polished_blackstone_into_slab_distilled_water' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/polished_blackstone_polished_hammer' })
|
||||
event.remove({ id: 'gtceu:forming_press/form_polished_blackstone_slab_into_pillar' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/polished_blackstone_brick_hammer' })
|
||||
event.remove({ id: 'gtceu:shaped/polished_blackstone_brick_stair_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/polished_blackstone_brick_slab_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/polished_blackstone_brick_wall_saw' })
|
||||
event.remove({ id: 'gtceu:shaped/polished_blackstone_brick_polish_hammer' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_polished_blackstone_brick_into_stair' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_polished_blackstone_brick_into_polished' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_polished_blackstone_brick_into_wall' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_polished_blackstone_brick_into_slab' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_polished_blackstone_brick_into_slab_water' })
|
||||
event.remove({ id: 'gtceu:cutter/cut_polished_blackstone_brick_into_slab_distilled_water' })
|
||||
|
||||
event.remove({ id: 'gtceu:rock_breaker/blackstone' })
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region basalt
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/basalt_polish_hammer' })
|
||||
event.remove({ id: 'gtceu:assembler/assemble_basalt_into_polished' })
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Plant Ball
|
||||
|
||||
event.remove({ id: 'gtceu:compressor/plant_ball_from_wheat' })
|
||||
event.remove({ id: 'gtceu:compressor/plant_ball_from_warped_stem' })
|
||||
event.remove({ id: 'gtceu:compressor/plant_ball_from_crimson_stem' })
|
||||
event.remove({ id: 'gtceu:compressor/plant_ball_from_tube_coral' })
|
||||
event.remove({ id: 'gtceu:compressor/plant_ball_from_sugar_cane' })
|
||||
event.remove({ id: 'gtceu:compressor/plant_ball_from_potato' })
|
||||
event.remove({ id: 'gtceu:compressor/plant_ball_from_nether_wart' })
|
||||
event.remove({ id: 'gtceu:compressor/plant_ball_from_horn_coral' })
|
||||
event.remove({ id: 'gtceu:compressor/plant_ball_from_fire_coral' })
|
||||
event.remove({ id: 'gtceu:compressor/plant_ball_from_carrot' })
|
||||
event.remove({ id: 'gtceu:compressor/plant_ball_from_cactus' })
|
||||
event.remove({ id: 'gtceu:compressor/plant_ball_from_bubble_coral' })
|
||||
event.remove({ id: 'gtceu:compressor/plant_ball_from_brain_coral' })
|
||||
event.remove({ id: 'gtceu:compressor/plant_ball_from_beetroot' })
|
||||
event.remove({ id: 'gtceu:compressor/plant_ball_from_moss' })
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Biomass
|
||||
|
||||
event.remove({ id: 'gtceu:brewery/biomass_from_sugar_cane' })
|
||||
event.remove({ id: 'gtceu:brewery/biomass_from_potato' })
|
||||
event.remove({ id: 'gtceu:brewery/biomass_from_carrot' })
|
||||
event.remove({ id: 'gtceu:brewery/biomass_from_cactus' })
|
||||
event.remove({ id: 'gtceu:brewery/biomass_from_beetroot' })
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Fish Oil
|
||||
|
||||
event.remove({ id: 'gtceu:extractor/fish_oil_from_tropical_fish' })
|
||||
event.remove({ id: 'gtceu:extractor/fish_oil_from_salmon' })
|
||||
event.remove({ id: 'gtceu:extractor/fish_oil_from_pufferfish' })
|
||||
event.remove({ id: 'gtceu:extractor/fish_oil_from_cod' })
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Wrought Iron Nugget
|
||||
|
||||
event.remove({ output: 'gtceu:wrought_iron_nugget', type: 'minecraft:smelting' })
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Seed Oil
|
||||
|
||||
event.remove({ id: 'gtceu:extractor/seed_oil_from_tag_seeds' })
|
||||
event.remove({ id: 'gtceu:extractor/seed_oil_from_pumpkin' })
|
||||
event.remove({ id: 'gtceu:extractor/seed_oil_from_melon' })
|
||||
event.remove({ id: 'gtceu:extractor/seed_oil_from_beetroot' })
|
||||
|
||||
// #endregion
|
||||
|
||||
//#region Выход: Крошечная кучка дерева
|
||||
|
||||
event.remove({ id: 'gtceu:macerator/macerate_warped_button' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_spruce_button' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_oak_button' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_mangrove_button' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_jungle_button' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_dark_oak_button' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_crimson_button' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_cherry_button' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_birch_button' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_acacia_button' })
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Маленькая кучка дерева
|
||||
|
||||
event.remove({ id: 'gtceu:macerator/macerate_wooden_sword' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_wooden_shovel' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_wooden_pickaxe' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_wooden_hoe' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_wooden_axe' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_warped_stairs' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_warped_slab' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_spruce_stairs' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_spruce_slab' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_oak_stairs' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_oak_slab' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_mangrove_stairs' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_mangrove_slab' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_jungle_stairs' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_jungle_slab' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_iron_sword' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_iron_shovel' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_iron_pickaxe' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_iron_hoe' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_iron_axe' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_golden_sword' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_golden_shovel' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_golden_pickaxe' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_golden_hoe' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_golden_axe' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_diamond_sword' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_diamond_shovel' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_diamond_pickaxe' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_diamond_hoe' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_diamond_axe' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_dark_oak_stairs' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_dark_oak_slab' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_crimson_stairs' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_crimson_slab' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_cherry_stairs' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_cherry_slab' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_birch_stairs' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_birch_slab' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_acacia_stairs' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_acacia_slab' })
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Деревянная пыль
|
||||
|
||||
event.remove({ id: 'gtceu:macerator/macerate_trapped_chest' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_spruce_planks' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_spruce_fence_gate' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_spruce_fence' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_spruce_door' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_spruce_boat' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_oak_planks' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_oak_fence_gate' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_oak_fence' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_oak_door' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_oak_boat' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_mangrove_planks' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_mangrove_fence_gate' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_mangrove_fence' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_mangrove_door' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_mangrove_boat' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_jungle_planks' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_jungle_fence_gate' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_jungle_fence' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_jungle_door' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_jungle_boat' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_dark_oak_planks' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_dark_oak_fence_gate' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_dark_oak_fence' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_dark_oak_door' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_dark_oak_boat' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_crafting_table' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_chest' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_chest_minecart' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_cherry_planks' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_cherry_fence_gate' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_cherry_fence' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_cherry_door' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_cherry_boat' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_bookshelf' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_birch_planks' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_birch_fence_gate' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_birch_fence' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_birch_door' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_birch_boat' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_acacia_planks' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_acacia_fence_gate' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_acacia_fence' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_acacia_door' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_acacia_boat' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_bamboo_raft' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_crimson_door' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_crimson_fence' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_crimson_fence_gate' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_crimson_planks' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_warped_door' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_warped_fence' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_warped_fence_gate' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_warped_planks' })
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Бумажная пыль
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/paper_dust' })
|
||||
|
||||
//#endregion
|
||||
|
||||
|
||||
//#region Выход: Маленькая кучка мяса
|
||||
|
||||
event.remove({ id: 'gtceu:macerator/macerate_steak' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_rabbit' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_pork_chop' })
|
||||
|
||||
//#endregion
|
||||
|
||||
// #region Meat
|
||||
|
||||
event.remove({ id: 'gtceu:macerator/macerate_mutton' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_chicken' })
|
||||
|
||||
// #endregion
|
||||
|
||||
//#region Выход: Пшеничная пыль
|
||||
|
||||
event.remove({ id: 'gtceu:shapeless/wheat_to_dust' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_wheat' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_hay_block' })
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Слиток кованного железа
|
||||
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_chest_minecart' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_iron_trapdoor' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_damaged_anvil' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_chipped_anvil' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_anvil' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_furnace_minecart' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_compass' })
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Кованные самородки
|
||||
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_iron_bars' })
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Железная пыль
|
||||
|
||||
event.remove({ id: 'gtceu:macerator/macerate_iron_trapdoor' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_damaged_anvil' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_chipped_anvil' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_anvil' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_furnace_minecart' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_bucket' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_compass' })
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Крошечная железная пыль
|
||||
|
||||
event.remove({ id: 'gtceu:macerator/macerate_iron_bars' })
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Крошечная пыль золы
|
||||
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_bookshelf' })
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Пыль незерака
|
||||
|
||||
event.remove({ id: 'gtceu:macerator/macerate_nether_brick_stairs' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_nether_brick_slab' })
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Пыль базальта
|
||||
|
||||
event.remove({ id: 'gtceu:macerator/macerate_basalt' })
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Слиток камня
|
||||
|
||||
event.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_stone_to_ingot' })
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Выход: Бронзовые машины (Плюс их декрафты)
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/bronze_hull' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_bronze_machine_casing' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_bronze_machine_casing' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/steam_extractor_bronze' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_extractor' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_lp_steam_extractor' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/steam_macerator_bronze' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_macerator' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_lp_steam_macerator' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/steam_compressor_bronze' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_compressor' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_lp_steam_compressor' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/steam_hammer_bronze' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_forge_hammer' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_lp_steam_forge_hammer' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/steam_furnace_bronze' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_furnace' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_lp_steam_furnace' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/steam_alloy_smelter_bronze' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_alloy_smelter' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_lp_steam_alloy_smelter' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/steam_rock_breaker_bronze' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_rock_crusher' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_lp_steam_rock_crusher' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/steam_miner_bronze' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_steam_miner_bronze' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_steam_miner_bronze' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/steam_miner_bronze' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_steam_miner_bronze' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_steam_miner_bronze' })
|
||||
|
||||
|
||||
event.remove({ id: 'gtceu:shaped/steam_miner_steel' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_steam_miner_steel' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_steam_miner_steel' })
|
||||
|
||||
// #endregion
|
||||
|
||||
|
||||
//#region Выход: некоторые рецепты пылей
|
||||
|
||||
event.remove({ id: 'gtceu:shapeless/dust_brass' })
|
||||
event.remove({ id: 'gtceu:shapeless/glass_dust_flint' })
|
||||
event.remove({ id: 'gtceu:shapeless/dust_bronze' })
|
||||
event.remove({ id: 'gtceu:shapeless/potin_dust' })
|
||||
|
||||
//#endregion
|
||||
|
||||
// Удаление рецептов связанных с Primitive Blast Furnace
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_primitive_blast_furnace' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_primitive_blast_furnace' })
|
||||
|
||||
// Удаление рецепта беск. воды кавера
|
||||
event.remove('gtceu:assembler/cover_infinite_water')
|
||||
|
||||
// Удаление рецептов помпы
|
||||
event.remove('gtceu:shaped/pump_deck')
|
||||
event.remove('gtceu:shaped/pump_hatch')
|
||||
event.remove('gtceu:shaped/primitive_pump')
|
||||
|
||||
// Удаление рецептов связанных с Barrel
|
||||
event.remove({ id: 'gtceu:shaped/wooden_barrel' })
|
||||
event.remove({ id: 'gtceu:assembler/wood_barrel' })
|
||||
event.remove({ id: 'gtceu:arc_furnace/arc_wood_drum' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_wood_drum' })
|
||||
|
||||
// Удаление рецептов связанных с FireBricks
|
||||
event.remove({ id: 'gtceu:shaped/casing_primitive_bricks' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_firebricks' })
|
||||
event.remove({ id: 'gtceu:extractor/extract_primitive_bricks' })
|
||||
|
||||
// Удаление рецептов связанных с FireBrick
|
||||
event.remove({ id: 'gtceu:smelting/fireclay_brick' })
|
||||
event.remove({ id: 'gtceu:macerator/macerate_firebrick' })
|
||||
|
||||
// Clay from mud
|
||||
event.remove({ id: 'gtceu:compressor/mud_to_clay' })
|
||||
|
||||
// Rubber extraction
|
||||
event.remove({ id: 'gtceu:extractor/extract_raw_rubber_dust' })
|
||||
event.remove({ id: 'gtceu:extractor/raw_rubber_from_resin' })
|
||||
event.remove({ id: 'gtceu:extractor/raw_rubber_from_slime' })
|
||||
|
||||
// Mortar
|
||||
event.remove({ id: 'gtceu:shaped/gem_to_dust_coal_chipped_gem' })
|
||||
event.remove({ id: 'gtceu:shaped/gem_to_dust_coke_chipped_gem' })
|
||||
event.remove({ id: 'gtceu:shaped/sandstone_polished_hammer' })
|
||||
event.remove({ id: 'gtceu:shaped/stone_brick_polished_hammer' })
|
||||
event.remove({ id: 'gtceu:shaped/purpur_polished_hammer' })
|
||||
event.remove({ id: 'gtceu:shaped/red_sandstone_polished_hammer' })
|
||||
event.remove({ id: 'gtceu:shaped/nether_bricks_polished_hammer' })
|
||||
|
||||
event.remove({ id: 'gtceu:shaped_fluid_container/brick_from_water' })
|
||||
|
||||
// Gears
|
||||
event.remove({ id: 'gtceu:extruder/extrude_wood_ingot_to_small_gear' })
|
||||
event.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_wood_ingot_to_small_gear' })
|
||||
|
||||
// Misc vanilla stuff
|
||||
event.remove({ id: 'gtceu:shaped/observer' })
|
||||
event.remove({ id: 'gtceu:shaped/observer_certus' })
|
||||
event.remove({ id: 'gtceu:shaped/observer_quartzite' })
|
||||
event.remove({ id: 'gtceu:shaped/piston_iron' })
|
||||
event.remove({ id: 'gtceu:shaped/comparator' })
|
||||
event.remove({ id: 'gtceu:shaped/repeater' })
|
||||
event.remove({ id: 'gtceu:shaped/crossbow' })
|
||||
event.remove({ id: 'gtceu:shaped/spyglass' })
|
||||
event.remove({ id: 'gtceu:shaped/lead' })
|
||||
event.remove({ id: 'gtceu:shaped/target' })
|
||||
event.remove({ id: 'gtceu:shaped/lectern' })
|
||||
event.remove({ id: 'gtceu:shaped/item_frame' })
|
||||
event.remove({ id: 'gtceu:shaped/clock' })
|
||||
event.remove({ id: 'gtceu:shaped/loom' })
|
||||
event.remove({ id: 'gtceu:shaped/scaffolding' })
|
||||
event.remove({ id: 'gtceu:shaped/bow' })
|
||||
event.remove({ id: 'gtceu:shaped/leather_horse_armor' })
|
||||
event.remove({ id: 'gtceu:shaped/bowl' })
|
||||
event.remove({ id: 'gtceu:shaped/flower_pot' })
|
||||
event.remove({ id: 'gtceu:shaped/jack_o_lantern' })
|
||||
event.remove({ id: 'gtceu:shaped/armor_stand' })
|
||||
event.remove({ id: 'gtceu:shaped/white_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/light_gray_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/gray_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/black_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/brown_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/red_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/orange_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/yellow_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/lime_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/green_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/cyan_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/light_blue_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/blue_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/purple_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/magenta_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/pink_bed' })
|
||||
event.remove({ id: 'gtceu:shaped/flour_to_dough' })
|
||||
event.remove({ id: 'gtceu:shaped/grindstone' })
|
||||
event.remove({ id: 'gtceu:shaped/treated_trapdoor_iron' })
|
||||
event.remove({ id: 'gtceu:shaped/treated_trapdoor_steel' })
|
||||
event.remove({ id: 'gtceu:shaped/treated_door' })
|
||||
event.remove({ id: 'gtceu:shaped/barrel' })
|
||||
event.remove({ id: 'gtceu:shaped/book' })
|
||||
event.remove({ id: 'gtceu:shaped/bucket_of_concrete' })
|
||||
event.remove({ id: 'gtceu:shaped_fluid_container/treated_wood_planks' })
|
||||
|
||||
event.remove({ id: 'gtceu:assembler/bell' })
|
||||
event.remove({ id: 'gtceu:assembler/armor_stand' })
|
||||
event.remove({ id: 'gtceu:assembler/piston_stainless_steel' })
|
||||
event.remove({ id: 'gtceu:assembler/treated_trapdoor_iron' })
|
||||
event.remove({ id: 'gtceu:assembler/treated_trapdoor_steel' })
|
||||
event.remove({ id: 'gtceu:assembler/treated_door' })
|
||||
event.remove({ id: 'gtceu:assembler/barrel' })
|
||||
|
||||
}
|
||||
|
|
@ -1,57 +1,115 @@
|
|||
// priority: 0
|
||||
|
||||
const registerGTCEUItemTags = (event) => {
|
||||
|
||||
// Удаление тегов у отключенных предметов
|
||||
global.GTCEU_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
|
||||
global.GTCEU_HIDED_ITEMS.forEach(item => {
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
// Удаление тегов у отключенных предметов
|
||||
global.GTCEU_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
|
||||
global.GTCEU_ARMORS.forEach(item => {
|
||||
event.add('minecraft:trimmable_armor', item)
|
||||
})
|
||||
global.GTCEU_HIDED_ITEMS.forEach(item => {
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
|
||||
// Добавление тега EMI для скрытия всех руд
|
||||
event.add('c:hidden_from_recipe_viewers', '#forge:ores')
|
||||
global.GTCEU_ARMORS.forEach(item => {
|
||||
event.add('minecraft:trimmable_armor', item)
|
||||
})
|
||||
|
||||
//#region Пыли стоунтайпов в один тэг
|
||||
event.add('tfg:stone_dusts', 'tfg:gabbro_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:shale_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:claystone_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:limestone_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:conglomerate_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:dolomite_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:chert_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:chalk_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:rhyolite_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:dacite_dust')
|
||||
event.add('tfg:stone_dusts', 'gtceu:quartzite_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:slate_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:phyllite_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:schist_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:gneiss_dust')
|
||||
event.add('tfg:stone_dusts', 'gtceu:marble_dust')
|
||||
event.add('tfg:stone_dusts', 'gtceu:basalt_dust')
|
||||
event.add('tfg:stone_dusts', 'gtceu:diorite_dust')
|
||||
event.add('tfg:stone_dusts', 'gtceu:andesite_dust')
|
||||
event.add('tfg:stone_dusts', 'gtceu:granite_dust')
|
||||
// Добавление тега EMI для скрытия всех руд
|
||||
event.add('c:hidden_from_recipe_viewers', '#forge:ores')
|
||||
|
||||
event.add('tfg:stone_dusts', 'gtceu:stone_dust')
|
||||
//#region Пыли стоунтайпов в один тэг
|
||||
event.add('tfg:stone_dusts', 'tfg:gabbro_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:shale_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:claystone_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:limestone_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:conglomerate_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:dolomite_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:chert_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:chalk_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:rhyolite_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:dacite_dust')
|
||||
event.add('tfg:stone_dusts', 'gtceu:quartzite_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:slate_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:phyllite_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:schist_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:gneiss_dust')
|
||||
event.add('tfg:stone_dusts', 'gtceu:marble_dust')
|
||||
event.add('tfg:stone_dusts', 'gtceu:basalt_dust')
|
||||
event.add('tfg:stone_dusts', 'gtceu:diorite_dust')
|
||||
event.add('tfg:stone_dusts', 'gtceu:andesite_dust')
|
||||
event.add('tfg:stone_dusts', 'gtceu:granite_dust')
|
||||
event.add('tfg:stone_dusts', 'gtceu:deepslate_dust')
|
||||
event.add('tfg:stone_dusts', 'gtceu:blackstone_dust')
|
||||
event.add('tfg:stone_dusts', 'tfg:dripstone_dust')
|
||||
|
||||
event.add('tfg:stone_dusts', 'gtceu:stone_dust')
|
||||
//#endregion
|
||||
|
||||
event.remove('minecraft:planks', 'gtceu:treated_wood_planks')
|
||||
|
||||
event.add('tfg:sugars', 'minecraft:sugar')
|
||||
event.add('tfg:sugars', 'afc:birch_sugar')
|
||||
event.add('tfg:sugars', 'afc:maple_sugar')
|
||||
|
||||
//#endregion
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dyeName =>
|
||||
{
|
||||
event.remove('ae2:p2p_attunements/fluid_p2p_tunnel', `gtceu:${dyeName}_dye_bucket`)
|
||||
})
|
||||
}
|
||||
|
||||
const registerGTCEUBlockTags = (event) => {
|
||||
|
||||
// Удаление тегов у отключенных предметов
|
||||
global.GTCEU_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
})
|
||||
|
||||
// Удаление тегов у отключенных предметов
|
||||
global.GTCEU_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
})
|
||||
|
||||
// TODO: Ores all broke for some reason? This is a workaround for now
|
||||
event.add('minecraft:mineable/pickaxe', '#forge:ores')
|
||||
event.add('minecraft:needs_iron_tool', '#forge:ores')
|
||||
|
||||
// Let GT indicators be covered by snow
|
||||
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
|
||||
|
||||
if (material.hasProperty(PropertyKey.ORE)) {
|
||||
let indicator = `gtceu:${material.getName()}_indicator`;
|
||||
|
||||
event.add('tfg:dust_ore_indicators', indicator)
|
||||
event.add('tfc:can_be_snow_piled', indicator)
|
||||
event.add('tfc:can_be_ice_piled', indicator)
|
||||
|
||||
if (material.hasProperty(PropertyKey.GEM)) {
|
||||
|
||||
let bud = `gtceu:${material.getName()}_bud_indicator`;
|
||||
|
||||
event.add('tfg:bud_ore_indicators', bud)
|
||||
event.add('tfc:can_be_snow_piled', bud)
|
||||
event.add('tfc:can_be_ice_piled', bud)
|
||||
|
||||
event.add('minecraft:mineable/pickaxe', bud)
|
||||
}
|
||||
|
||||
// I LOVE KUBEJS I LOVE KUBEJS I LOVE KUBEJS
|
||||
let str = `:${ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem()}`;
|
||||
if (material == GTMaterials.Copper || material == GTMaterials.Gold || material == GTMaterials.Iron)
|
||||
str = "minecraft" + str;
|
||||
else
|
||||
str = "gtceu" + str;
|
||||
|
||||
event.add('tfc:can_collapse', str);
|
||||
event.add('tfc:can_start_collapse', str);
|
||||
event.add('tfc:can_trigger_collapse', str);
|
||||
// Hide these from JEI
|
||||
event.add('c:hidden_from_recipe_viewers', str);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const registerGTCEUFluidTags = (event) => {
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', /gtceu.*potion.*/)
|
||||
|
||||
}
|
||||
|
|
@ -1,88 +1,100 @@
|
|||
// priority: 0
|
||||
|
||||
const generateMixerRecipe = (event, input, fluid_input, output, circuit, fluid_output, duration, EUt, rpm, id) => {
|
||||
const recipe1 = event.recipes.gtceu.mixer(id)
|
||||
.itemInputs(input)
|
||||
.inputFluids(fluid_input)
|
||||
.itemOutputs(output)
|
||||
.outputFluids(fluid_output)
|
||||
.duration(duration)
|
||||
.EUt(EUt)
|
||||
const recipe = event.recipes.gtceu.mixer(id)
|
||||
.itemInputs(input)
|
||||
.inputFluids(fluid_input)
|
||||
.itemOutputs(output)
|
||||
.outputFluids(fluid_output)
|
||||
.duration(duration)
|
||||
.EUt(EUt)
|
||||
|
||||
const recipe2 = event.recipes.gtceu.create_mixer(id)
|
||||
.itemInputs(input)
|
||||
.inputFluids(fluid_input)
|
||||
.itemOutputs(output)
|
||||
.outputFluids(fluid_output)
|
||||
.duration(duration)
|
||||
.EUt(EUt)
|
||||
.rpm(rpm)
|
||||
|
||||
if (circuit != null) {
|
||||
recipe1.circuit(circuit)
|
||||
recipe2.circuit(circuit)
|
||||
}
|
||||
if (circuit != null) {
|
||||
recipe.circuit(circuit)
|
||||
}
|
||||
}
|
||||
|
||||
const generateCutterRecipe = (event, input, circuit, output, duration, EUt, id) => {
|
||||
// Вот зачем я, скажете вы, делаю тут всякие костыли,
|
||||
// потому что блядский разработчик GTCEu не может исправить баги своего мода
|
||||
// Я так устал..
|
||||
const generateCutterRecipe = (event, input, output, duration, EUt, id) => {
|
||||
|
||||
const recipe1 = event.recipes.gtceu.cutter(`tfg:${id}_water`)
|
||||
.itemInputs(input)
|
||||
.inputFluids(Fluid.of('minecraft:water', 4))
|
||||
.itemOutputs(output)
|
||||
.duration(duration)
|
||||
.EUt(EUt)
|
||||
|
||||
const recipe2 = event.recipes.gtceu.cutter(`tfg:${id}_dist_water`)
|
||||
.itemInputs(input)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 3))
|
||||
.itemOutputs(output)
|
||||
.duration(duration)
|
||||
.EUt(EUt)
|
||||
|
||||
const recipe3 = event.recipes.gtceu.cutter(`tfg:${id}_lubricant`)
|
||||
.itemInputs(input)
|
||||
.inputFluids(Fluid.of('gtceu:lubricant', 1))
|
||||
.itemOutputs(output)
|
||||
.duration(duration)
|
||||
.EUt(EUt)
|
||||
|
||||
event.recipes.createCutting(output, input)
|
||||
.id(`tfg:cutting/${id}`)
|
||||
|
||||
|
||||
if (circuit != null) {
|
||||
recipe1.circuit(circuit)
|
||||
recipe2.circuit(circuit)
|
||||
recipe3.circuit(circuit)
|
||||
}
|
||||
event.recipes.gtceu.cutter(`tfg:${id}`)
|
||||
.itemInputs(input)
|
||||
.itemOutputs(output)
|
||||
.duration(duration)
|
||||
.EUt(EUt)
|
||||
}
|
||||
|
||||
const generateGreenHouseRecipe = (event, input, fluid_amount, output, id) => {
|
||||
|
||||
// Без удобрения
|
||||
event.recipes.gtceu.greenhouse(id)
|
||||
.itemInputs(input)
|
||||
.circuit(1)
|
||||
.inputFluids(Fluid.of('minecraft:water', fluid_amount))
|
||||
.itemOutputs(output)
|
||||
.chancedOutput(input, 7500, 0)
|
||||
.chancedOutput(input, 5000, 0)
|
||||
.duration(64000)
|
||||
.EUt(128)
|
||||
|
||||
// С удобрением
|
||||
event.recipes.gtceu.greenhouse(`${id}_fertilized`)
|
||||
.itemInputs(input)
|
||||
.itemInputs('8x gtceu:fertilizer')
|
||||
.circuit(2)
|
||||
.inputFluids(Fluid.of('minecraft:water', fluid_amount))
|
||||
.itemOutputs(output)
|
||||
.chancedOutput(input, 8500, 0)
|
||||
.chancedOutput(input, 6000, 0)
|
||||
.duration(16000)
|
||||
.EUt(256)
|
||||
// Без удобрения
|
||||
event.recipes.gtceu.greenhouse(id)
|
||||
.itemInputs(input)
|
||||
.circuit(1)
|
||||
.inputFluids(Fluid.of('minecraft:water', fluid_amount))
|
||||
.itemOutputs(output)
|
||||
.chancedOutput(input, 7500, 0)
|
||||
.chancedOutput(input, 5000, 0)
|
||||
.duration(36000) // 30 mins
|
||||
.EUt(72)
|
||||
|
||||
// С удобрением
|
||||
event.recipes.gtceu.greenhouse(`${id}_fertilized`)
|
||||
.itemInputs(input)
|
||||
.itemInputs('8x gtceu:fertilizer')
|
||||
.circuit(2)
|
||||
.inputFluids(Fluid.of('minecraft:water', fluid_amount))
|
||||
.itemOutputs(output)
|
||||
.chancedOutput(input, 8500, 0)
|
||||
.chancedOutput(input, 6000, 0)
|
||||
.duration(12000) // 10 mins
|
||||
.EUt(196)
|
||||
}
|
||||
|
||||
const getFillingNBT = (material, amount) => {
|
||||
return {
|
||||
tank: {
|
||||
FluidName: Fluid.of(material.getFluid()).getId(),
|
||||
Amount: amount
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function generatePlatedBlockRecipe(event, material) {
|
||||
let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1);
|
||||
|
||||
let platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1);
|
||||
let platedSlab = ChemicalHelper.get(TFGTagPrefix.slabPlated, material, 1);
|
||||
let platedStair = ChemicalHelper.get(TFGTagPrefix.stairPlated, material, 1);
|
||||
|
||||
event.recipes.create.item_application(platedBlock, ['#forge:stone_bricks', plateItem])
|
||||
.id(`tfg:item_application/${material.getName()}_plated_block`)
|
||||
event.recipes.createDeploying(platedBlock, ['#forge:stone_bricks', plateItem])
|
||||
.id(`tfg:deploying/${material.getName()}_plated_block`)
|
||||
event.recipes.gtceu.assembler(`tfg:assembler/${material.getName()}_plated_block`)
|
||||
.itemInputs('#forge:stone_bricks', plateItem)
|
||||
.itemOutputs(platedBlock)
|
||||
.circuit(10)
|
||||
.duration(50)
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.create.item_application(platedSlab, ['#tfg:brick_slabs', plateItem])
|
||||
.id(`tfg:item_application/${material.getName()}_plated_slab`)
|
||||
event.recipes.createDeploying(platedSlab, ['#tfg:brick_slabs', plateItem])
|
||||
.id(`tfg:deploying/${material.getName()}_plated_slab`)
|
||||
event.recipes.gtceu.assembler(`tfg:assembler/${material.getName()}_plated_slab`)
|
||||
.itemInputs('#tfg:brick_slabs', plateItem)
|
||||
.itemOutputs(platedSlab)
|
||||
.circuit(10)
|
||||
.duration(50)
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.create.item_application(platedStair, ['#tfg:brick_stairs', plateItem])
|
||||
.id(`tfg:item_application/${material.getName()}_plated_stair`)
|
||||
event.recipes.createDeploying(platedStair, ['#tfg:brick_stairs', plateItem])
|
||||
.id(`tfg:deploying/${material.getName()}_plated_stair`)
|
||||
event.recipes.gtceu.assembler(`tfg:assembler/${material.getName()}_plated_stair`)
|
||||
.itemInputs('#tfg:brick_stairs', plateItem)
|
||||
.itemOutputs(platedStair)
|
||||
.circuit(10)
|
||||
.duration(50)
|
||||
.EUt(4)
|
||||
}
|
||||
16
kubejs/server_scripts/immersive_aircraft/data.js
Normal file
16
kubejs/server_scripts/immersive_aircraft/data.js
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
/**
|
||||
*
|
||||
* @param {Internal.TFCDataEventJS} evt
|
||||
*/
|
||||
|
||||
const registerTFCDataForImmersiveAircraft = (evt) =>
|
||||
{
|
||||
evt.itemSize('immersive_aircraft:quadrocopter', 'large', 'heavy');
|
||||
evt.itemSize('immersive_aircraft:airship', 'very_large', 'heavy');
|
||||
evt.itemSize('immersive_aircraft:gyrodyne', 'very_large', 'very_heavy');
|
||||
evt.itemSize('immersive_aircraft:cargo_airship', 'very_large', 'very_heavy');
|
||||
evt.itemSize('immersive_aircraft:warship', 'huge', 'very_heavy');
|
||||
evt.itemSize('immersive_aircraft:biplane', 'huge', 'very_heavy');
|
||||
evt.itemSize('man_of_many_planes:economy_plane', 'huge', 'very_heavy');
|
||||
evt.itemSize('man_of_many_planes:scarlet_biplane', 'huge', 'very_heavy');
|
||||
}
|
||||
833
kubejs/server_scripts/immersive_aircraft/recipes.js
Normal file
833
kubejs/server_scripts/immersive_aircraft/recipes.js
Normal file
|
|
@ -0,0 +1,833 @@
|
|||
// priority: 0
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
function registerImmersiveAircraftRecipes(event) {
|
||||
|
||||
//#region Recycling Util
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {string} id
|
||||
* @param {{input: string, duration: number, outputsMacerator: Internal.ItemStack[], outputsArcFurnace: Internal.ItemStack[]}} args
|
||||
*/
|
||||
let generateRecyclingRecipe = (id, args) =>
|
||||
{
|
||||
event.recipes.gtceu.macerator(id)
|
||||
.itemInputs(args.input)
|
||||
// macerator only has 6 output slots
|
||||
.itemOutputs(args.outputsMacerator.slice(0, 6))
|
||||
.duration(args.duration)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV]);
|
||||
|
||||
event.recipes.gtceu.arc_furnace(id)
|
||||
.itemInputs(args.input)
|
||||
.itemOutputs(args.outputsArcFurnace)
|
||||
.duration(args.duration)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {string} inputItem
|
||||
* @param {com.gregtechceu.gtceu.api.data.chemical.material.Material[]} outputMaterialsArray
|
||||
* @param {{tagPrefixMacerator: TagPrefix, tagPrefixArcFurnace: TagPrefix, count: number}[]} materialToResults
|
||||
* @returns {input: string, duration: number, outputsMacerator: Internal.ItemStack[], outputsArcFurnace: Internal.ItemStack[]}
|
||||
*/
|
||||
let createRecyclingRecipeArgs = (inputItem, outputMaterialsArray, materialToResults) =>
|
||||
{
|
||||
|
||||
let outputsMacerator = []
|
||||
let outputsArcFurnace = []
|
||||
let duration = 0;
|
||||
|
||||
for(let i = 0; i < outputMaterialsArray.length; i++)
|
||||
{
|
||||
if(i > 9)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
let material = outputMaterialsArray[i];
|
||||
let arcFurnaceMaterial = material;
|
||||
|
||||
let result = materialToResults[i];
|
||||
|
||||
/*FIXME: This should do a couple of things it doesnt do rn, but i cba to fix it myself.
|
||||
//The arcFurnaceMaterial should have special checks to see if it should be replaced with Ash if the material is a Wood or a Polymer.
|
||||
//It should also set itself to annealed copper if the input is regular copper
|
||||
//Ideally we should make sure the specified material has a specific TagPrefix before pushing it into the array, cant get it to work tho. I think the method TagPrefix.doGenerateItem() is ideal for this
|
||||
*/
|
||||
|
||||
outputsArcFurnace.push(ChemicalHelper.get(result.tagPrefixArcFurnace, arcFurnaceMaterial, result.count));
|
||||
outputsMacerator.push(ChemicalHelper.get(result.tagPrefixMacerator, material, result.count));
|
||||
duration += material.getMass() * result.count;
|
||||
}
|
||||
|
||||
let result = {
|
||||
input: inputItem,
|
||||
duration: duration,
|
||||
outputsMacerator: outputsMacerator,
|
||||
outputsArcFurnace: outputsArcFurnace,
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {TagPrefix} tagPrefixMacerator
|
||||
* @param {TagPrefix} tagPrefixArcFurnace
|
||||
* @param {number} count
|
||||
* @returns {tagPrefixMacerator: TagPrefix, tagPrefixArcFurnace: TagPrefix, count: number}
|
||||
*/
|
||||
let createMaterialsToResults = (tagPrefixMacerator, tagPrefixArcFurnace, count) =>
|
||||
{
|
||||
let result =
|
||||
{
|
||||
tagPrefixMacerator: tagPrefixMacerator,
|
||||
tagPrefixArcFurnace: tagPrefixArcFurnace,
|
||||
count: count
|
||||
};
|
||||
return result;
|
||||
}
|
||||
//#endregion
|
||||
|
||||
event.remove({mod: 'man_of_many_planes'});
|
||||
event.remove({mod: 'immersive_aircraft'});
|
||||
|
||||
event.shaped('immersive_aircraft:hull',[
|
||||
'AAA',
|
||||
'BCB',
|
||||
'AAA'
|
||||
],{
|
||||
A: '#minecraft:planks',
|
||||
B: 'gtceu:wrought_iron_plate',
|
||||
C: 'tfc:glue',
|
||||
}).id('tfg:immersive_aircraft/shaped/hull');
|
||||
|
||||
event.shaped('immersive_aircraft:engine',[
|
||||
'ABC',
|
||||
'DED'
|
||||
],{
|
||||
A: '#forge:tools/hammers',
|
||||
B: 'gtceu:tin_alloy_small_fluid_pipe',
|
||||
C: '#forge:tools/wrenches',
|
||||
D: '#tfg:metal_bars',
|
||||
E: 'create:andesite_casing'
|
||||
}).id('tfg:immersive_aircraft/shaped/engine');
|
||||
|
||||
event.shaped('immersive_aircraft:sail',[
|
||||
'ABA',
|
||||
'BCB',
|
||||
'ABA'
|
||||
],{
|
||||
A: 'gtceu:wrought_iron_screw',
|
||||
B: '#forge:cloth',
|
||||
C: '#minecraft:trapdoors'
|
||||
}).id('tfg:immersive_aircraft/shaped/sail');
|
||||
|
||||
event.shaped('immersive_aircraft:rotary_cannon',[
|
||||
'ABA',
|
||||
'ACA',
|
||||
' D '
|
||||
],{
|
||||
A: 'create:copper_sheet',
|
||||
B: 'minecraft:dispenser',
|
||||
C: 'gtceu:wrought_iron_gear',
|
||||
D: 'tfc:powderkeg'
|
||||
}).id('tfg:immersive_aircraft/shaped/rotary_cannon');
|
||||
|
||||
event.shaped('immersive_aircraft:heavy_crossbow',[
|
||||
'ABA',
|
||||
'CDC',
|
||||
' A '
|
||||
],{
|
||||
A: '#minecraft:logs',
|
||||
B: 'gtceu:long_steel_rod',
|
||||
C: '#tfg:metal_chains',
|
||||
D: 'minecraft:crossbow'
|
||||
}).id('tfg:immersive_aircraft/shaped/heavy_crossbow');
|
||||
|
||||
event.shaped('immersive_aircraft:telescope',[
|
||||
'ABC',
|
||||
' D ',
|
||||
' E '
|
||||
], {
|
||||
A: 'gtceu:small_brass_gear',
|
||||
B: 'minecraft:spyglass',
|
||||
C: '#forge:glass/colorless',
|
||||
D: 'gtceu:copper_rod',
|
||||
E: 'gtceu:wrought_iron_plate'
|
||||
}).id('tfg:immersive_aircraft/shaped/telescope');
|
||||
|
||||
event.shaped('immersive_aircraft:bomb_bay',[
|
||||
'AAA',
|
||||
'ABA',
|
||||
'ACA'
|
||||
],{
|
||||
A: 'gtceu:steel_plate',
|
||||
B: 'tfc:powderkeg',
|
||||
C: 'minecraft:dispenser'
|
||||
}).id('tfg:immersive_aircraft/shaped/bomb_bay');
|
||||
|
||||
//#region Airplane Upgrades
|
||||
|
||||
event.shaped('immersive_aircraft:industrial_gears',[
|
||||
'ABA',
|
||||
'CAB',
|
||||
'ACA'
|
||||
],{
|
||||
A: 'gtceu:small_brass_gear',
|
||||
B: 'gtceu:double_wrought_iron_plate',
|
||||
C: 'gtceu:double_copper_plate'
|
||||
}).id('tfg:immersive_aircraft/shaped/industrial_gears');
|
||||
|
||||
event.shaped('immersive_aircraft:sturdy_pipes',[
|
||||
'EDA',
|
||||
'BAC',
|
||||
'AD '
|
||||
],{
|
||||
A: '#forge:small_fluid_pipes',
|
||||
B: 'gtceu:blue_steel_plate',
|
||||
C: 'gtceu:red_steel_plate',
|
||||
D: 'gtceu:black_steel_screw',
|
||||
E: '#forge:tools/screwdrivers',
|
||||
}).id('tfg:immersive_aircraft/shaped/sturdy_pipes')
|
||||
|
||||
event.shaped('immersive_aircraft:gyroscope',[
|
||||
'ABC',
|
||||
'DED',
|
||||
'FDG'
|
||||
],{
|
||||
A: '#forge:tools/wrenches',
|
||||
B: 'minecraft:comparator',
|
||||
C: 'ae2:quartz_glass',
|
||||
D: 'gtceu:small_brass_gear',
|
||||
E: 'firmaciv:firmaciv_compass',
|
||||
F: 'gtceu:aluminium_screw',
|
||||
G: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:immersive_aircraft/shaped/gyroscope')
|
||||
|
||||
event.shaped('tfg:black_steel_plated_airplane_propeller',[
|
||||
'CA ',
|
||||
'ABA',
|
||||
' AD'
|
||||
],{
|
||||
A: 'gtceu:black_steel_plate',
|
||||
B: '#forge:rotors',
|
||||
C: '#forge:tools/hammers',
|
||||
D: '#forge:tools/wrenches'
|
||||
}).id('tfg:shaped/black_steel_plated_airplane_propeller');
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/black_steel_plated_airplane_propeller',
|
||||
createRecyclingRecipeArgs('tfg:black_steel_plated_airplane_propeller', [GTMaterials.BlackSteel], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)]))
|
||||
|
||||
event.shaped('tfg:redblu_steel_plated_airplane_propeller',[
|
||||
'ABC',
|
||||
'DED',
|
||||
'CBF'
|
||||
],{
|
||||
A: '#forge:tools/hammers',
|
||||
B: 'gtceu:red_steel_plate',
|
||||
C: 'gtceu:red_alloy_dust',
|
||||
D: 'gtceu:blue_steel_plate',
|
||||
E: '#forge:rotors',
|
||||
F: '#forge:tools/wrenches'
|
||||
}).id('tfg:shaped/redblu_steel_plated_airplane_propeller');
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/redblu_steel_plated_airplane_propeller',
|
||||
createRecyclingRecipeArgs('tfg:redblu_steel_plated_airplane_propeller',[
|
||||
GTMaterials.RedSteel,
|
||||
GTMaterials.BlueSteel,
|
||||
GTMaterials.RedAlloy
|
||||
],[
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1)
|
||||
])
|
||||
);
|
||||
|
||||
event.shaped('immersive_aircraft:enhanced_propeller',[
|
||||
'CA ',
|
||||
'ABA',
|
||||
' AD'
|
||||
],{
|
||||
A: 'vintageimprovements:aluminum_sheet',
|
||||
B: '#forge:rotors',
|
||||
C: '#forge:tools/hammers',
|
||||
D: '#forge:tools/wrenches'
|
||||
}).id('tfg:immersive_aircraft/shaped/enhanced_propeller');
|
||||
|
||||
generateRecyclingRecipe('immersive_aircraft:recycling/enhanced_propeller',
|
||||
createRecyclingRecipeArgs('immersive_aircraft:enhanced_propeller', [GTMaterials.Aluminium], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)]))
|
||||
|
||||
event.shaped('tfg:stainless_steel_plated_airplane_propeller',[
|
||||
'CA ',
|
||||
'ABA',
|
||||
' AD'
|
||||
],{
|
||||
A: 'gtceu:stainless_steel_plate',
|
||||
B: '#forge:rotors',
|
||||
C: '#forge:tools/hammers',
|
||||
D: '#forge:tools/wrenches'
|
||||
}).id('tfg:shaped/stainless_steel_plated_airplane_propeller');
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/stainless_steel_plated_airplane_propeller',
|
||||
createRecyclingRecipeArgs('tfg:stainless_steel_plated_airplane_propeller', [GTMaterials.StainlessSteel], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)]))
|
||||
|
||||
event.shaped('tfg:titanium_plated_airplane_propeller',[
|
||||
'CA ',
|
||||
'ABA',
|
||||
' AD'
|
||||
],{
|
||||
A: 'gtceu:titanium_plate',
|
||||
B: '#forge:rotors',
|
||||
C: '#forge:tools/hammers',
|
||||
D: '#forge:tools/wrenches'
|
||||
}).id('tfg:shaped/titanium_plated_airplane_propeller');
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/titanium_plated_airplane_propeller',
|
||||
createRecyclingRecipeArgs('tfg:titanium_plated_airplane_propeller', [GTMaterials.Titanium], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)]))
|
||||
|
||||
event.shaped('immersive_aircraft:eco_engine',[
|
||||
'ABC',
|
||||
'BDB',
|
||||
'EEE'
|
||||
],{
|
||||
A: '#forge:tools/hammers',
|
||||
B: 'gtceu:double_rose_gold_plate',
|
||||
C: '#forge:tools/screwdrivers',
|
||||
D: 'immersive_aircraft:engine',
|
||||
E: 'gtceu:double_sterling_silver_plate'
|
||||
}).id('tfg:immersive_aircraft/shaped/eco_engine');
|
||||
|
||||
event.shaped('immersive_aircraft:steel_boiler',[
|
||||
'ABA',
|
||||
'ACA',
|
||||
'DAD'
|
||||
],{
|
||||
A: 'gtceu:steel_plate',
|
||||
B: 'gtceu:black_steel_rod',
|
||||
C: 'immersive_aircraft:engine',
|
||||
D: 'gtceu:tin_alloy_small_fluid_pipe'
|
||||
}).id('tfg:immersive_aircraft/shaped/steel_boiler');
|
||||
|
||||
generateRecyclingRecipe('immersive_aircraft:recycling/steel_boiler',
|
||||
createRecyclingRecipeArgs('immersive_aircraft:steel_boiler',[
|
||||
GTMaterials.Steel,
|
||||
GTMaterials.TinAlloy,
|
||||
GTMaterials.WroughtIron,
|
||||
GTMaterials.BlackSteel
|
||||
],[
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dustTiny, TagPrefix.nugget, 4)
|
||||
])
|
||||
)
|
||||
|
||||
event.shaped('tfg:lv_aircraft_engine',[
|
||||
'ABC',
|
||||
'DED',
|
||||
'FGF'
|
||||
],{
|
||||
A: 'gtceu:red_steel_plate',
|
||||
B: 'gtceu:black_steel_plate',
|
||||
C: 'gtceu:blue_steel_plate',
|
||||
D: 'gtceu:lv_electric_piston',
|
||||
E: 'immersive_aircraft:engine',
|
||||
F: 'gtceu:red_alloy_single_cable',
|
||||
G: 'gtceu:lv_electric_pump'
|
||||
}).id('tfg:shaped/lv_aircraft_engine')
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/lv_aircraft_engine',
|
||||
createRecyclingRecipeArgs('tfg:lv_aircraft_engine', [
|
||||
GTMaterials.Steel,
|
||||
GTMaterials.Tin,
|
||||
GTMaterials.Copper,
|
||||
GTMaterials.Bronze,
|
||||
GTMaterials.RedSteel,
|
||||
GTMaterials.BlueSteel,
|
||||
GTMaterials.BlackSteel,
|
||||
GTMaterials.RedAlloy,
|
||||
GTMaterials.TinAlloy
|
||||
],[
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 10),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 7),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 4),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1)
|
||||
])
|
||||
)
|
||||
|
||||
event.shaped('immersive_aircraft:nether_engine',[
|
||||
'AAA',
|
||||
'BCB',
|
||||
'DED'
|
||||
],{
|
||||
A: 'vintageimprovements:aluminum_sheet',
|
||||
B: 'gtceu:mv_electric_piston',
|
||||
C: 'immersive_aircraft:engine',
|
||||
D: 'gtceu:aluminium_single_cable',
|
||||
E: 'gtceu:mv_electric_pump'
|
||||
}).id('tfg:immersive_aircraft/shaped/nether_engine')
|
||||
|
||||
generateRecyclingRecipe('immersive_aircraft:recycling/nether_engine',
|
||||
createRecyclingRecipeArgs('immersive_aircraft:nether_engine',[
|
||||
GTMaterials.Aluminium,
|
||||
GTMaterials.Cupronickel,
|
||||
GTMaterials.AnnealedCopper,
|
||||
GTMaterials.Steel,
|
||||
GTMaterials.Bronze,
|
||||
GTMaterials.TinAlloy,
|
||||
GTMaterials.WroughtIron
|
||||
],[
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 12),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 9),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1)
|
||||
])
|
||||
)
|
||||
|
||||
event.shaped('tfg:hv_aircraft_engine',[
|
||||
'AAA',
|
||||
'BCB',
|
||||
'DED'
|
||||
],{
|
||||
A: 'gtceu:stainless_steel_plate',
|
||||
B: 'gtceu:hv_electric_piston',
|
||||
C: 'immersive_aircraft:engine',
|
||||
D: 'gtceu:aluminium_double_cable',
|
||||
E: 'gtceu:hv_electric_pump',
|
||||
}).id('tfg:shaped/hv_aircraft_engine')
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/hv_aircraft_engine',
|
||||
createRecyclingRecipeArgs('tfg:hv_aircraft_engine',[
|
||||
GTMaterials.StainlessSteel,
|
||||
GTMaterials.Electrum,
|
||||
GTMaterials.Silver,
|
||||
GTMaterials.Steel,
|
||||
GTMaterials.Gold,
|
||||
GTMaterials.Aluminium,
|
||||
GTMaterials.TinAlloy,
|
||||
GTMaterials.WroughtIron
|
||||
], [
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 14),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 9),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 4),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
])
|
||||
)
|
||||
|
||||
event.shaped('tfg:ev_aircraft_engine',[
|
||||
'AAA',
|
||||
'BCB',
|
||||
'DED'
|
||||
],{
|
||||
A: 'gtceu:titanium_plate',
|
||||
B: 'gtceu:ev_electric_piston',
|
||||
C: 'immersive_aircraft:engine',
|
||||
D: 'gtceu:aluminium_quadruple_cable',
|
||||
E: 'gtceu:ev_electric_pump',
|
||||
}).id('tfg:shaped/ev_aircraft_engine')
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/ev_aircraft_engine',
|
||||
createRecyclingRecipeArgs('tfg:ev_aircraft_engine',[
|
||||
GTMaterials.Titanium,
|
||||
GTMaterials.Aluminium,
|
||||
GTMaterials.Kanthal,
|
||||
GTMaterials.StainlessSteel,
|
||||
GTMaterials.Neodymium,
|
||||
GTMaterials.TinAlloy,
|
||||
GTMaterials.WroughtIron
|
||||
],[
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 14),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 9),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 9),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
])
|
||||
);
|
||||
|
||||
event.shaped('immersive_aircraft:hull_reinforcement',[
|
||||
'AB ',
|
||||
'BCB',
|
||||
' BD'
|
||||
],{
|
||||
A: '#forge:tools/hammers',
|
||||
B: 'gtceu:black_steel_plate',
|
||||
C: 'immersive_aircraft:hull',
|
||||
D: '#forge:tools/wrench'
|
||||
}).id('tfg:immersive_aircraft/shaped/hull_reinforcement');
|
||||
|
||||
generateRecyclingRecipe('immersive_aircraft:recycling/hull_reinforcement',
|
||||
createRecyclingRecipeArgs('immersive_aircraft:hull_reinforcement',[
|
||||
GTMaterials.BlackSteel,
|
||||
GTMaterials.WroughtIron
|
||||
], [
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1)
|
||||
])
|
||||
)
|
||||
|
||||
event.shaped('tfg:redblu_steel_hull_reinforcement',[
|
||||
'ABF',
|
||||
'ECE',
|
||||
'FBD'
|
||||
],{
|
||||
A: '#forge:tools/hammers',
|
||||
B: 'gtceu:red_steel_plate',
|
||||
C: 'immersive_aircraft:hull',
|
||||
D: '#forge:tools/wrench',
|
||||
E: 'gtceu:blue_steel_plate',
|
||||
F: 'gtceu:red_alloy_dust'
|
||||
}).id('tfg:shaped/redblu_steel_hull_reinforcement');
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/redblu_steel_hull_reinforcement',
|
||||
createRecyclingRecipeArgs('tfg:redblu_steel_hull_reinforcement',[
|
||||
GTMaterials.BlueSteel,
|
||||
GTMaterials.RedSteel,
|
||||
GTMaterials.RedAlloy,
|
||||
GTMaterials.WroughtIron
|
||||
],[
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1),
|
||||
])
|
||||
);
|
||||
|
||||
event.shaped('tfg:aluminium_hull_reinforcement',[
|
||||
'AB ',
|
||||
'BCB',
|
||||
' BD'
|
||||
],{
|
||||
A: '#forge:tools/hammers',
|
||||
B: 'vintageimprovements:aluminum_sheet',
|
||||
C: 'immersive_aircraft:hull',
|
||||
D: '#forge:tools/wrench'
|
||||
}).id('tfg:shaped/aluminium_hull_reinforcement');
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/aluminium_hull_reinforcement',
|
||||
createRecyclingRecipeArgs('tfg:aluminium_hull_reinforcement',[
|
||||
GTMaterials.Aluminium,
|
||||
GTMaterials.WroughtIron
|
||||
], [
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1)
|
||||
])
|
||||
)
|
||||
|
||||
event.shaped('tfg:stainless_steel_hull_reinforcement',[
|
||||
'AB ',
|
||||
'BCB',
|
||||
' BD'
|
||||
],{
|
||||
A: '#forge:tools/hammers',
|
||||
B: 'gtceu:stainless_steel_plate',
|
||||
C: 'immersive_aircraft:hull',
|
||||
D: '#forge:tools/wrench'
|
||||
}).id('tfg:shaped/stainless_steel_hull_reinforcement');
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/stainless_steel_hull_reinforcement',
|
||||
createRecyclingRecipeArgs('tfg:stainless_steel_hull_reinforcement',[
|
||||
GTMaterials.StainlessSteel,
|
||||
GTMaterials.WroughtIron
|
||||
], [
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1)
|
||||
])
|
||||
)
|
||||
|
||||
event.shaped('tfg:titanium_hull_reinforcement',[
|
||||
'AB ',
|
||||
'BCB',
|
||||
' BD'
|
||||
],{
|
||||
A: '#forge:tools/hammers',
|
||||
B: 'gtceu:titanium_plate',
|
||||
C: 'immersive_aircraft:hull',
|
||||
D: '#forge:tools/wrench'
|
||||
}).id('tfg:shaped/titanium_hull_reinforcement');
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/titanium_hull_reinforcement',
|
||||
createRecyclingRecipeArgs('tfg:titanium_hull_reinforcement',[
|
||||
GTMaterials.Titanium,
|
||||
GTMaterials.WroughtIron
|
||||
], [
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1)
|
||||
])
|
||||
)
|
||||
|
||||
event.shaped('immersive_aircraft:improved_landing_gear',[
|
||||
'ABC',
|
||||
'DEB',
|
||||
'DDF'
|
||||
],{
|
||||
A: '#forge:tools/wrenches',
|
||||
B: 'gtceu:black_steel_plate',
|
||||
C: 'gtceu:black_steel_rod',
|
||||
D: 'gtceu:rubber_plate',
|
||||
E: 'gtceu:small_brass_gear',
|
||||
F: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:immersive_aircraft/shaped/improved_landing_gear');
|
||||
|
||||
generateRecyclingRecipe('immersive_aircraft:recycling/improved_landing_gear',
|
||||
createRecyclingRecipeArgs('immersive_aircraft:improved_landing_gear',[
|
||||
GTMaterials.BlackSteel,
|
||||
GTMaterials.Brass
|
||||
],[
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2),
|
||||
createMaterialsToResults(TagPrefix.dustTiny, TagPrefix.nugget, 7),
|
||||
])
|
||||
);
|
||||
|
||||
event.shaped('tfg:redblu_steel_landing_gear',[
|
||||
'ABC',
|
||||
'DEB',
|
||||
'DDF'
|
||||
],{
|
||||
A: '#forge:tools/wrenches',
|
||||
B: 'gtceu:red_steel_plate',
|
||||
C: 'gtceu:blue_steel_rod',
|
||||
D: 'gtceu:rubber_plate',
|
||||
E: 'gtceu:small_brass_gear',
|
||||
F: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:shaped/redblu_steel_landing_gear')
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/redblu_steel_landing_gear',
|
||||
createRecyclingRecipeArgs('tfg:redblu_steel_landing_gear',[
|
||||
GTMaterials.RedSteel,
|
||||
GTMaterials.BlueSteel,
|
||||
GTMaterials.Brass,
|
||||
],[
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2),
|
||||
createMaterialsToResults(TagPrefix.dustTiny, TagPrefix.nugget, 3),
|
||||
createMaterialsToResults(TagPrefix.dustTiny, TagPrefix.nugget, 7),
|
||||
])
|
||||
);
|
||||
|
||||
event.shaped('tfg:aluminium_landing_gear',[
|
||||
'ABC',
|
||||
'DEB',
|
||||
'DDF'
|
||||
],{
|
||||
A: '#forge:tools/wrenches',
|
||||
B: 'vintageimprovements:aluminum_sheet',
|
||||
C: 'gtceu:aluminium_rod',
|
||||
D: 'gtceu:rubber_plate',
|
||||
E: 'gtceu:cobalt_brass_gear',
|
||||
F: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:shaped/aluminium_landing_gear')
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/aluminium_landing_gear',
|
||||
createRecyclingRecipeArgs('tfg:aluminium_landing_gear',[
|
||||
GTMaterials.Aluminium,
|
||||
GTMaterials.CobaltBrass
|
||||
],[
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3),
|
||||
])
|
||||
);
|
||||
|
||||
event.shaped('tfg:stainless_steel_landing_gear',[
|
||||
'ABC',
|
||||
'DEB',
|
||||
'DDF'
|
||||
],{
|
||||
A: '#forge:tools/wrenches',
|
||||
B: 'gtceu:stainless_steel_plate',
|
||||
C: 'gtceu:stainless_steel_rod',
|
||||
D: 'gtceu:rubber_plate',
|
||||
E: 'gtceu:cobalt_brass_gear',
|
||||
F: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:shaped/stainless_steel_landing_gear');
|
||||
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/stainless_steel_landing_gear',
|
||||
createRecyclingRecipeArgs('tfg:stainless_steel_landing_gear',[
|
||||
GTMaterials.StainlessSteel,
|
||||
GTMaterials.CobaltBrass
|
||||
],[
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3),
|
||||
])
|
||||
);
|
||||
|
||||
event.shaped('tfg:titanium_landing_gear',[
|
||||
'ABC',
|
||||
'DEB',
|
||||
'DDF'
|
||||
],{
|
||||
A: '#forge:tools/wrenches',
|
||||
B: 'gtceu:titanium_plate',
|
||||
C: 'gtceu:titanium_rod',
|
||||
D: 'gtceu:rubber_plate',
|
||||
E: 'gtceu:cobalt_brass_gear',
|
||||
F: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:shaped/titanium_landing_gear');
|
||||
|
||||
generateRecyclingRecipe('tfg:recycling/titanium_landing_gear',
|
||||
createRecyclingRecipeArgs('tfg:titanium_landing_gear',[
|
||||
GTMaterials.Titanium,
|
||||
GTMaterials.CobaltBrass
|
||||
],[
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2),
|
||||
createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3),
|
||||
])
|
||||
);
|
||||
//#region Aircrafts
|
||||
|
||||
event.shaped('immersive_aircraft:quadrocopter',[
|
||||
'ABA',
|
||||
'CDC',
|
||||
'AEA'
|
||||
],{
|
||||
A: '#forge:rotors',
|
||||
B: '#create:seats',
|
||||
C: 'gtceu:long_wood_rod',
|
||||
D: 'tfg:scaffolding_frame',
|
||||
E: 'immersive_aircraft:engine'
|
||||
}).id('tfg:immersive_aircraft/shaped/quadrocopter');
|
||||
|
||||
event.shaped('immersive_aircraft:airship',[
|
||||
'ABA',
|
||||
'CDE',
|
||||
'FGA'
|
||||
], {
|
||||
A: 'immersive_aircraft:sail',
|
||||
B: 'tfg:airship_balloon',
|
||||
C: 'immersive_aircraft:engine',
|
||||
D: '#create:seats',
|
||||
E: 'firmaciv:rope_coil',
|
||||
F: '#forge:rotors',
|
||||
G: 'tfg:airship_hull'
|
||||
}).id('tfg:immersive_aircraft/shaped/airship')
|
||||
|
||||
event.shaped('immersive_aircraft:cargo_airship',[
|
||||
'ABA',
|
||||
'CDC',
|
||||
'EFE'
|
||||
], {
|
||||
A: '#forge:rotors',
|
||||
B: '#forge:tools/hammers',
|
||||
C: 'immersive_aircraft:engine',
|
||||
D: 'immersive_aircraft:airship',
|
||||
E: 'gtceu:wood_crate',
|
||||
F: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:immersive_aircraft/shaped/cargo_airship')
|
||||
|
||||
//WAAGH!
|
||||
event.recipes.create.mechanical_crafting('immersive_aircraft:warship',[
|
||||
'ABCC ',
|
||||
' DDD ',
|
||||
' EEEF',
|
||||
' EGEH',
|
||||
' EEEF',
|
||||
' DDD '
|
||||
],{
|
||||
A: 'immersive_aircraft:enhanced_propeller',
|
||||
B: 'immersive_aircraft:steel_boiler',
|
||||
C: 'tfg:airship_balloon',
|
||||
D: 'gtceu:wrought_iron_plate',
|
||||
E: 'immersive_aircraft:hull',
|
||||
F: 'gtceu:wrought_iron_rod',
|
||||
G: 'immersive_aircraft:cargo_airship',
|
||||
H: '#create:seats'
|
||||
}).id('tfg:immersive_aircraft/mechanical_crafter/warship')
|
||||
|
||||
event.recipes.create.mechanical_crafting('immersive_aircraft:gyrodyne',[
|
||||
' A ',
|
||||
' B ',
|
||||
'CCDDDCC',
|
||||
'BBDEDBB',
|
||||
' FDDDF ',
|
||||
' B ',
|
||||
' G ',
|
||||
],{
|
||||
A: 'immersive_aircraft:enhanced_propeller',
|
||||
B: 'gtceu:long_wood_rod',
|
||||
C: 'immersive_aircraft:sail',
|
||||
D: 'immersive_aircraft:hull',
|
||||
E: '#create:seats',
|
||||
F: 'create:hand_crank',
|
||||
G: 'gtceu:wrought_iron_double_ingot'
|
||||
}).id('tfg:immersive_aircraft/mechanical_crafter/gyrodyne')
|
||||
|
||||
event.recipes.create.mechanical_crafting('man_of_many_planes:economy_plane',[
|
||||
' AABCBAA ',
|
||||
'ADDBEBDDA',
|
||||
' FGBHBGF ',
|
||||
' D ',
|
||||
' D ',
|
||||
' DAD ',
|
||||
' DDD ',
|
||||
' AAA '
|
||||
], {
|
||||
A: 'immersive_aircraft:sail',
|
||||
B: 'gtceu:blue_steel_plate',
|
||||
C: '#tfg:metal_bars',
|
||||
D: 'gtceu:long_treated_wood_rod',
|
||||
E: '#create:seats',
|
||||
F: 'gtceu:black_steel_rotor',
|
||||
G: 'greate:rubber_belt_connector',
|
||||
H: 'create:steam_engine'
|
||||
}).id('tfg:man_of_many_planes/mechanical_crafter/economy_plane');
|
||||
|
||||
event.recipes.create.mechanical_crafting('immersive_aircraft:biplane',[
|
||||
' A ',
|
||||
'BBBCBBB',
|
||||
' BDB ',
|
||||
' BBB ',
|
||||
' B ',
|
||||
' E ',
|
||||
' BEB ',
|
||||
' B '
|
||||
],{
|
||||
A: 'immersive_aircraft:enhanced_propeller',
|
||||
B: 'immersive_aircraft:hull',
|
||||
C: 'immersive_aircraft:steel_boiler',
|
||||
D: 'man_of_many_planes:economy_plane',
|
||||
E: '#minecraft:logs'
|
||||
}).id('tfg:immersive_aircraft/mechanical_crafter/biplane')
|
||||
|
||||
event.recipes.create.mechanical_crafting('man_of_many_planes:scarlet_biplane',[
|
||||
' A ',
|
||||
' B ',
|
||||
'CCCDEDCCC',
|
||||
' F DDD F ',
|
||||
' CCDGDCC ',
|
||||
' H ',
|
||||
' CHC ',
|
||||
' C '
|
||||
],{
|
||||
A: 'immersive_aircraft:enhanced_propeller',
|
||||
B: 'immersive_aircraft:nether_engine',
|
||||
C: 'immersive_aircraft:hull',
|
||||
D: 'gtceu:red_steel_plate',
|
||||
E: 'immersive_aircraft:biplane',
|
||||
F: 'gtceu:black_steel_rod',
|
||||
G: '#create:seats',
|
||||
H: 'tfc:metal/ingot/red_steel'
|
||||
}).id('tfg:man_of_many_planes/mechanical_crafter/scarlet_biplane')
|
||||
|
||||
//#endregion
|
||||
}
|
||||
9
kubejs/server_scripts/immersive_aircraft/tags.js
Normal file
9
kubejs/server_scripts/immersive_aircraft/tags.js
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
/**
|
||||
*
|
||||
* @param {TagEvent.Item} evt
|
||||
*/
|
||||
const registerImmersiveAircraftItemTags = (evt) =>
|
||||
{
|
||||
evt.add('c:hidden_from_recipe_viewers', 'immersive_aircraft:propeller');
|
||||
evt.add('c:hidden_from_recipe_viewers', 'immersive_aircraft:boiler')
|
||||
}
|
||||
9
kubejs/server_scripts/lootr/loot.js
Normal file
9
kubejs/server_scripts/lootr/loot.js
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
// priority: 0
|
||||
|
||||
function registerLootrLoots(event) {
|
||||
|
||||
event.addBlockLootModifier('lootr:lootr_chest')
|
||||
.removeLoot(ItemFilter.ALWAYS_TRUE)
|
||||
.addLoot('#tfg:default_chests')
|
||||
|
||||
}
|
||||
|
|
@ -4,29 +4,43 @@
|
|||
* Событие регистрации предмет-тэгов.
|
||||
*/
|
||||
ServerEvents.tags('item', event => {
|
||||
registerAdvancedPeripheralsItemTags(event)
|
||||
registerAE2ItemTags(event)
|
||||
registerAFCItemTags(event)
|
||||
registerAlekiroofsItemTags(event)
|
||||
registerAlekishipsItemTags(event)
|
||||
registerAsticorCartsItemTags(event)
|
||||
registerBeneathItemTags(event)
|
||||
registerChalkItemTags(event);
|
||||
registerChiselAndBitsItemTags(event)
|
||||
registerComputerCraftItemTags(event)
|
||||
registerCreateItemTags(event)
|
||||
registerCreateAdditionsItemTags(event)
|
||||
registerCreateConnectedItemTags(event)
|
||||
registerCreatedecoItemTags(event)
|
||||
registerDiggerHelmetItemTags(event)
|
||||
registerEndermanOverhaulItemTags(event)
|
||||
registerEveryCompatItemTags(event)
|
||||
registerExposureItemTags(event)
|
||||
registerExtendedAE2ItemTags(event)
|
||||
registerFirmaCivItemTags(event)
|
||||
registerFirmaLifeItemTags(event)
|
||||
registerFramedBlocksItemTags(event)
|
||||
registerFTBQuestsItemTags(event)
|
||||
registerGreateItemTags(event)
|
||||
registerGTCEUItemTags(event)
|
||||
registerMegaCellsItemTags(event)
|
||||
registerMinecraftItemTags(event)
|
||||
registerMoreRedItemTags(event)
|
||||
registerHotOrNotItemTags(event)
|
||||
registerRailWaysItemTags(event)
|
||||
registerRnrItemTags(event)
|
||||
registerSophisticatedBackpacksItemTags(event)
|
||||
registerTFCAmbientalItemTags(event)
|
||||
registerTFCItemTags(event)
|
||||
registerTFCTextileItemTags(event)
|
||||
registerTFGItemTags(event)
|
||||
registerVintageImprovementsItemTags(event)
|
||||
})
|
||||
|
||||
/**
|
||||
|
|
@ -34,16 +48,21 @@ ServerEvents.tags('item', event => {
|
|||
*/
|
||||
ServerEvents.tags('block', event => {
|
||||
registerAE2BlockTags(event)
|
||||
registerAFCBlockTags(event)
|
||||
registerAsticorCartsBlockTags(event)
|
||||
registerBeneathBlockTags(event)
|
||||
registerChiselAndBitsBlockTags(event)
|
||||
registerComputerCraftBlockTags(event)
|
||||
registerCreateBlockTags(event)
|
||||
registerCreateAdditionsBlockTags(event)
|
||||
registerDomumOrnamentumBlockTags(event)
|
||||
registerEndermanOverhaulBlockTags(event)
|
||||
registerExtendedAE2BlockTags(event)
|
||||
registerFirmaCivBlockTags(event)
|
||||
registerFirmaLifeBlockTags(event)
|
||||
registerFramedBlocksBlockTags(event)
|
||||
registerFTBQuestsBlockTags(event)
|
||||
registerGreateBlockTags(event)
|
||||
registerGTCEUBlockTags(event)
|
||||
registerMegaCellsBlockTags(event)
|
||||
registerMinecraftBlockTags(event)
|
||||
|
|
@ -52,16 +71,23 @@ ServerEvents.tags('block', event => {
|
|||
registerRailWaysBlockTags(event)
|
||||
registerSophisticatedBackpacksBlockTags(event)
|
||||
registerTFCBlockTags(event)
|
||||
registerTFGBlockTags(event)
|
||||
registerVintageImprovementsBlockTags(event)
|
||||
})
|
||||
|
||||
/**
|
||||
* Событие регистрации жидкость-тэгов.
|
||||
*/
|
||||
ServerEvents.tags('fluid', event => {
|
||||
registerAFCFluidTags(event)
|
||||
registerCreateFluidTags(event)
|
||||
registerCreateAdditionsFluidTags(event)
|
||||
registerFirmaLifeBlockTags(event)
|
||||
registerGTCEUFluidTags(event)
|
||||
registerGreateFluidTags(event)
|
||||
registerFirmaLifeFluidTags(event)
|
||||
registerTFCFluidTags(event)
|
||||
registerTFGFluidTags(event)
|
||||
registerVintageImprovementsFluidTags(event)
|
||||
})
|
||||
|
||||
/**
|
||||
|
|
@ -70,6 +96,11 @@ ServerEvents.tags('fluid', event => {
|
|||
ServerEvents.tags('worldgen/placed_feature', event => {
|
||||
registerFirmaLifePlacedFeatures(event)
|
||||
registerTFCPlacedFeatures(event)
|
||||
registerTFGPlacedFeatures(event)
|
||||
})
|
||||
|
||||
ServerEvents.tags('worldgen/biome', event => {
|
||||
registerTFGBiomeTags(event)
|
||||
})
|
||||
|
||||
/**
|
||||
|
|
@ -85,9 +116,12 @@ ServerEvents.highPriorityData(event => {
|
|||
* Срабатывает до инициализации рецептов, но после тегов.
|
||||
*/
|
||||
TFCEvents.data(event => {
|
||||
registerTFCDataForArborFirmaCraft(event)
|
||||
registerTFCDataForChalk(event);
|
||||
registerTFCDataForGTCEU(event)
|
||||
registerTFCDataForImmersiveAircraft(event);
|
||||
registerTFCDataForTFC(event)
|
||||
registerTFCDataForTreeTap(event)
|
||||
registerTFCDataForTFCBetterBF(event)
|
||||
registerTFCDataForWaterFlasks(event)
|
||||
})
|
||||
|
||||
|
|
@ -97,6 +131,7 @@ TFCEvents.data(event => {
|
|||
*/
|
||||
LootJS.modifiers((event) => {
|
||||
registerGTCEULoots(event)
|
||||
registerLootrLoots(event)
|
||||
});
|
||||
|
||||
/**
|
||||
|
|
@ -104,7 +139,7 @@ LootJS.modifiers((event) => {
|
|||
* Не представляю когда срабатывает, но явно после тегов и датапаков.
|
||||
*/
|
||||
GTCEuServerEvents.oreVeins(event => {
|
||||
// event.removeAll()
|
||||
event.removeAll()
|
||||
})
|
||||
|
||||
/**
|
||||
|
|
@ -112,16 +147,32 @@ GTCEuServerEvents.oreVeins(event => {
|
|||
* Срабатывает после инициализации датапаков и тегов.
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
registerAdvancedPeripheralsRecipes(event)
|
||||
registerAdvancedPeripheralsRecyclingRecipes(event)
|
||||
registerAlekishipsRecipes(event)
|
||||
registerAE2Recipes(event)
|
||||
registerAFCRecipes(event)
|
||||
registerAsticorCartsRecipes(event)
|
||||
registerAE2InsertExportCardRecipes(event)
|
||||
registerAE2NetworkAnalyzerRecipes(event)
|
||||
registerAE2WTLibRecipes(event)
|
||||
registerBeneathRecipes(event)
|
||||
registerBuildingGadgetsRecipes(event)
|
||||
registerChalkRecipes(event);
|
||||
registerChiselAndBitsRecipes(event)
|
||||
registerComfortsRecipes(event);
|
||||
registerComputerCraftRecipes(event)
|
||||
registerComputerCraftRecyclingRecipes(event)
|
||||
registerCccBridgeRecipes(event)
|
||||
registerCccBridgeRecyclingRecipes(event)
|
||||
registerConstructionwandRecipes(event)
|
||||
registerCreateRecipes(event)
|
||||
registerCreateAdditionsRecipes(event)
|
||||
registerCreateConnectedRecipes(event)
|
||||
registerCreatedecoRecipes(event)
|
||||
registerCreateHorsePowerBlockRecipes(event)
|
||||
registerDiggerHelmetRecipes(event)
|
||||
registerDomumOrnamentumRecipes(event)
|
||||
registerEveryCompatRecipes(event)
|
||||
registerExtendedAE2Recipes(event)
|
||||
registerExposureRecipes(event)
|
||||
|
|
@ -130,20 +181,28 @@ ServerEvents.recipes(event => {
|
|||
registerFirmaLifeRecipes(event)
|
||||
registerFramedBlocksRecipes(event)
|
||||
registerFTBQuestsRecipes(event)
|
||||
registerGrapplingHookRecipes(event);
|
||||
registerGreateRecipes(event)
|
||||
registerGTCEURecipes(event)
|
||||
registerHandGliderRecipes(event)
|
||||
registerHotOrNotRecipes(event)
|
||||
registerImmersiveAircraftRecipes(event)
|
||||
registerMeasurementsRecipes(event)
|
||||
registerMegaCellsRecipes(event)
|
||||
registerMERequesterRecipes(event)
|
||||
registerMinecraftRecipes(event)
|
||||
registerMoreRedRecipes(event)
|
||||
registerRailWaysRecipes(event)
|
||||
registerRnrRecipes(event)
|
||||
registerSophisticatedBackpacksRecipes(event)
|
||||
registerSimplylightRecipes(event)
|
||||
registerTfceaRecipes(event)
|
||||
registerTFCRecipes(event)
|
||||
registerTFCBetterBFRecipes(event)
|
||||
registerTFGRecipes(event)
|
||||
registerTFCGroomingStationRecipes(event)
|
||||
registerToolBeltRecipes(event)
|
||||
registerTreeTapRecipes(event)
|
||||
registerVintageImprovementsRecipes(event)
|
||||
registerWaterFlasksRecipes(event)
|
||||
})
|
||||
})
|
||||
30
kubejs/server_scripts/measurements/recipes.js
Normal file
30
kubejs/server_scripts/measurements/recipes.js
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
const registerMeasurementsRecipes = (event) => {
|
||||
|
||||
event.remove({ mod: 'measurements' })
|
||||
|
||||
event.shaped('1x measurements:tape_measure', [
|
||||
'ABD',
|
||||
'BED',
|
||||
'CBB'
|
||||
], {
|
||||
A: '#forge:plates/rubber',
|
||||
B: '#forge:foils/steel',
|
||||
C: '#forge:ingots/rubber',
|
||||
D: '#forge:plates/brass',
|
||||
E: '#forge:springs/steel'
|
||||
}).id('measurements:shapeless/tape_measure')
|
||||
|
||||
event.recipes.gtceu.arc_furnace('measurements:arc_furnace/recycling/tape_measure')
|
||||
.itemInputs('1x measurements:tape_measure')
|
||||
.itemOutputs('1x gtceu:steel_ingot', '1x create:brass_ingot', '1x gtceu:rubber_ingot')
|
||||
.duration(224)
|
||||
.EUt(30)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
|
||||
event.recipes.gtceu.macerator('measurements:macerator/recycling/tape_measure')
|
||||
.itemInputs('1x measurements:tape_measure')
|
||||
.itemOutputs('1x gtceu:steel_dust', '1x gtceu:brass_dust', '1x gtceu:rubber_dust')
|
||||
.duration(224)
|
||||
.EUt(7)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
}
|
||||
|
|
@ -26,7 +26,7 @@ const registerMegaCellsRecipes = (event) => {
|
|||
|
||||
// Inscrdiber Silicon Press
|
||||
event.recipes.gtceu.laser_engraver('ae2:accumulation_processor_press_iron')
|
||||
.itemInputs('#forge:plates/iron', 'ae2:singularity')
|
||||
.itemInputs('#forge:plates/cast_iron', 'ae2:singularity')
|
||||
.notConsumable('#forge:lenses/black')
|
||||
.itemOutputs('megacells:accumulation_processor_press')
|
||||
.duration(6000)
|
||||
|
|
|
|||
240
kubejs/server_scripts/minecraft/recipes.dyes.js
Normal file
240
kubejs/server_scripts/minecraft/recipes.dyes.js
Normal file
|
|
@ -0,0 +1,240 @@
|
|||
// priority: 0
|
||||
|
||||
function registerMinecraftDyeRecipes(event) {
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dye => {
|
||||
event.remove({ id: `minecraft:dye_${dye}_wool` })
|
||||
event.remove({ id: `minecraft:${dye}_candle` })
|
||||
event.remove({ id: `minecraft:dye_${dye}_carpet` })
|
||||
event.remove({ id: `minecraft:${dye}_bed` })
|
||||
event.remove({ id: `minecraft:dye_${dye}_bed` })
|
||||
|
||||
//#region Выход: Ковры, Кровати
|
||||
|
||||
event.shapeless(`2x minecraft:${dye}_carpet`, [
|
||||
'#tfc:saws',
|
||||
`minecraft:${dye}_wool`
|
||||
]).id(`minecraft:${dye}_carpet`)
|
||||
|
||||
if (dye != 'white') {
|
||||
event.recipes.gtceu.chemical_bath(`tfg:${dye}_carpet`)
|
||||
.itemInputs(`minecraft:white_carpet`)
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 72))
|
||||
.itemOutputs(`minecraft:${dye}_carpet`)
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`${dye}_bed`)
|
||||
.itemInputs(`minecraft:white_bed`)
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 216))
|
||||
.itemOutputs(`minecraft:${dye}_bed`)
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
}
|
||||
|
||||
//#endregion
|
||||
})
|
||||
|
||||
// White
|
||||
event.remove({ id: 'minecraft:white_dye_from_lily_of_the_valley' })
|
||||
event.remove({ id: 'gtceu:extractor/lily_of_the_valley_dye' })
|
||||
|
||||
event.recipes.gtceu.extractor('white_dye')
|
||||
.itemInputs('1x #tfc:makes_white_dye')
|
||||
.itemOutputs('2x minecraft:white_dye')
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.createMilling('2x minecraft:white_dye', '1x #tfc:makes_white_dye')
|
||||
.id('tfg:milling/white_dye')
|
||||
|
||||
// Red
|
||||
event.remove({ id: 'minecraft:red_dye_from_tulip' })
|
||||
event.remove({ id: 'minecraft:red_dye_from_rose_bush' })
|
||||
event.remove({ id: 'minecraft:red_dye_from_poppy' })
|
||||
event.remove({ id: 'minecraft:red_dye_from_beetroot' })
|
||||
event.remove({ id: 'gtceu:extractor/rose_bush_dye' })
|
||||
event.remove({ id: 'gtceu:extractor/red_tulip_dye' })
|
||||
event.remove({ id: 'gtceu:extractor/poppy_dye' })
|
||||
event.remove({ id: 'gtceu:extractor/beetroot_dye' })
|
||||
|
||||
event.recipes.gtceu.extractor('red_dye')
|
||||
.itemInputs('1x #tfc:makes_red_dye')
|
||||
.itemOutputs('2x minecraft:red_dye')
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.createMilling('2x minecraft:red_dye', '1x #tfc:makes_red_dye')
|
||||
.id('tfg:milling/red_dye')
|
||||
|
||||
// Lime
|
||||
event.remove({ id: 'minecraft:lime_dye_from_smelting' })
|
||||
|
||||
event.recipes.gtceu.extractor('lime_dye')
|
||||
.itemInputs('1x tfc:plant/moss')
|
||||
.itemOutputs('2x minecraft:lime_dye')
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.createMilling('2x minecraft:lime_dye', '1x #tfc:makes_lime_dye')
|
||||
.id('tfg:milling/lime_dye')
|
||||
|
||||
// Light Blue
|
||||
event.remove({ id: 'minecraft:light_blue_dye_from_blue_orchid' })
|
||||
event.remove({ id: 'gtceu:extractor/blue_orchid_dye' })
|
||||
|
||||
event.recipes.gtceu.extractor('light_blue_dye')
|
||||
.itemInputs('1x #tfc:makes_light_blue_dye')
|
||||
.itemOutputs('2x minecraft:light_blue_dye')
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.createMilling('2x minecraft:light_blue_dye', '1x #tfc:makes_light_blue_dye')
|
||||
.id('tfg:milling/light_blue_dye')
|
||||
|
||||
// Green
|
||||
event.remove({ id: 'minecraft:green_dye' })
|
||||
|
||||
event.recipes.gtceu.extractor('green_dye')
|
||||
.itemInputs('1x #tfc:makes_green_dye')
|
||||
.itemOutputs('2x minecraft:green_dye')
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.createMilling('2x minecraft:green_dye', '1x #tfc:makes_green_dye')
|
||||
.id('tfg:milling/green_dye')
|
||||
|
||||
// Magenta
|
||||
event.remove({ id: 'minecraft:magenta_dye_from_lilac' })
|
||||
event.remove({ id: 'minecraft:magenta_dye_from_allium' })
|
||||
event.remove({ id: 'gtceu:extractor/lilac_dye' })
|
||||
event.remove({ id: 'gtceu:extractor/allium_dye' })
|
||||
|
||||
event.recipes.gtceu.extractor('magenta_dye')
|
||||
.itemInputs('1x #tfc:makes_magenta_dye')
|
||||
.itemOutputs('2x minecraft:magenta_dye')
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.createMilling('2x minecraft:magenta_dye', '1x #tfc:makes_magenta_dye')
|
||||
.id('tfg:milling/magenta_dye')
|
||||
|
||||
// Orange
|
||||
event.remove({ id: 'minecraft:orange_dye_from_torchflower' })
|
||||
event.remove({ id: 'minecraft:orange_dye_from_orange_tulip' })
|
||||
event.remove({ id: 'gtceu:extractor/orange_tulip_dye' })
|
||||
|
||||
event.recipes.gtceu.extractor('orange_dye')
|
||||
.itemInputs('1x #tfc:makes_orange_dye')
|
||||
.itemOutputs('2x minecraft:orange_dye')
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.createMilling('2x minecraft:orange_dye', '1x #tfc:makes_orange_dye')
|
||||
.id('tfg:milling/orange_dye')
|
||||
|
||||
// Purple
|
||||
event.recipes.gtceu.extractor('purple_dye')
|
||||
.itemInputs('1x #tfc:makes_purple_dye')
|
||||
.itemOutputs('2x minecraft:purple_dye')
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.createMilling('2x minecraft:purple_dye', '1x #tfc:makes_purple_dye')
|
||||
.id('tfg:milling/purple_dye')
|
||||
|
||||
// Brown
|
||||
event.remove({ id: 'minecraft:brown_dye' })
|
||||
|
||||
event.recipes.gtceu.extractor('brown_dye')
|
||||
.itemInputs('1x #tfc:makes_brown_dye')
|
||||
.itemOutputs('2x minecraft:brown_dye')
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.createMilling('2x minecraft:brown_dye', '1x #tfc:makes_brown_dye')
|
||||
.id('tfg:milling/brown_dye')
|
||||
|
||||
// Light Gray
|
||||
event.remove({ id: 'minecraft:light_gray_dye_from_white_tulip' })
|
||||
event.remove({ id: 'minecraft:light_gray_dye_from_azure_bluet' })
|
||||
event.remove({ id: 'minecraft:light_gray_dye_from_oxeye_daisy' })
|
||||
event.remove({ id: 'gtceu:extractor/white_tulip_dye' })
|
||||
event.remove({ id: 'gtceu:extractor/azure_bluet_dye' })
|
||||
event.remove({ id: 'gtceu:extractor/oxeye_daisy_dye' })
|
||||
|
||||
event.recipes.gtceu.extractor('light_gray_dye')
|
||||
.itemInputs('1x tfc:plant/yucca')
|
||||
.itemOutputs('2x minecraft:light_gray_dye')
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.createMilling('2x minecraft:light_gray_dye', '1x #tfc:makes_light_gray_dye')
|
||||
.id('tfg:milling/light_gray_dye')
|
||||
|
||||
// Yellow
|
||||
event.remove({ id: 'minecraft:yellow_dye_from_sunflower' })
|
||||
event.remove({ id: 'minecraft:yellow_dye_from_dandelion' })
|
||||
event.remove({ id: 'gtceu:extractor/sunflower_dye' })
|
||||
event.remove({ id: 'gtceu:extractor/dandelion_dye' })
|
||||
|
||||
event.recipes.gtceu.extractor('yellow_dye')
|
||||
.itemInputs('1x #tfc:makes_yellow_dye')
|
||||
.itemOutputs('2x minecraft:yellow_dye')
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.createMilling('2x minecraft:yellow_dye', '1x #tfc:makes_yellow_dye')
|
||||
.id('tfg:milling/yellow_dye')
|
||||
|
||||
// Blue
|
||||
event.remove({ id: 'minecraft:blue_dye_from_cornflower' })
|
||||
event.remove({ id: 'gtceu:extractor/cornflower_dye' })
|
||||
|
||||
event.recipes.gtceu.extractor('blue_dye')
|
||||
.itemInputs('1x #tfc:makes_blue_dye')
|
||||
.itemOutputs('2x minecraft:blue_dye')
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.createMilling('2x minecraft:blue_dye', '1x #tfc:makes_blue_dye')
|
||||
.id('tfg:milling/blue_dye')
|
||||
|
||||
// Pink
|
||||
event.remove({ id: 'minecraft:pink_dye_from_pink_petals' })
|
||||
event.remove({ id: 'minecraft:pink_dye_from_pink_tulip' })
|
||||
event.remove({ id: 'minecraft:pink_dye_from_peony' })
|
||||
event.remove({ id: 'gtceu:extractor/pink_tulip_dye' })
|
||||
event.remove({ id: 'gtceu:extractor/peony_dye' })
|
||||
|
||||
event.recipes.gtceu.extractor('pink_dye')
|
||||
.itemInputs('1x #tfc:makes_pink_dye')
|
||||
.itemOutputs('2x minecraft:pink_dye')
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.createMilling('2x minecraft:pink_dye', '1x #tfc:makes_pink_dye')
|
||||
.id('tfg:milling/pink_dye')
|
||||
|
||||
// Cyan
|
||||
event.remove({ id: 'minecraft:cyan_dye_from_pitcher_plant' })
|
||||
|
||||
// Black
|
||||
event.remove({ id: 'minecraft:black_dye_from_wither_rose' })
|
||||
event.remove({ id: 'gtceu:extractor/wither_rose_dye' })
|
||||
|
||||
|
||||
//#region Выход: Кровати
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`bed_decolor`)
|
||||
.itemInputs('#tfc:colored_bed')
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 72))
|
||||
.itemOutputs(`minecraft:white_bed`)
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
//#endregion
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
2074
kubejs/server_scripts/minecraft/recipes.removes.js
Normal file
2074
kubejs/server_scripts/minecraft/recipes.removes.js
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +1,9 @@
|
|||
// priority: 0
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {TagEvent.Item} event
|
||||
*/
|
||||
const registerMinecraftItemTags = (event) => {
|
||||
global.MINECRAFT_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
|
|
@ -10,12 +14,50 @@ const registerMinecraftItemTags = (event) => {
|
|||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
|
||||
// Hide potions
|
||||
event.add('c:hidden_from_recipe_viewers', /minecraft.*potion.*/)
|
||||
|
||||
// Теперь обсидиан сторадж блок
|
||||
event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian')
|
||||
|
||||
// Бамбуковые полублоки
|
||||
event.add('tfg:bamboo_slabs', 'minecraft:bamboo_slab')
|
||||
event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab')
|
||||
|
||||
event.remove('minecraft:creeper_drop_music_discs', ['minecraft:music_disc_11'])
|
||||
event.add('tfc:foods', 'minecraft:red_mushroom')
|
||||
event.add('tfc:foods', 'minecraft:brown_mushroom')
|
||||
event.add('tfc:foods', 'minecraft:glow_berries')
|
||||
event.add('tfc:foods', 'minecraft:chorus_fruit')
|
||||
|
||||
event.add('tfc:foods/vegetables', 'minecraft:red_mushroom')
|
||||
event.add('tfc:foods/vegetables', 'minecraft:brown_mushroom')
|
||||
event.add('tfc:foods/fruits', 'minecraft:glow_berries')
|
||||
event.add('tfc:foods/fruits', 'minecraft:chorus_fruit')
|
||||
|
||||
event.add('beneath:usable_in_juicer', 'minecraft:glow_berries')
|
||||
event.add('beneath:usable_in_juicer', 'minecraft:chorus_fruit')
|
||||
event.add('beneath:usable_in_juicer', 'minecraft:red_mushroom')
|
||||
event.add('beneath:usable_in_juicer', 'minecraft:brown_mushroom')
|
||||
|
||||
event.add('tfc:foods/usable_in_soup', 'minecraft:red_mushroom')
|
||||
event.add('tfc:foods/usable_in_soup', 'minecraft:brown_mushroom')
|
||||
event.add('tfc:foods/usable_in_soup', 'minecraft:glow_berries')
|
||||
event.add('tfc:foods/usable_in_soup', 'minecraft:chorus_fruit')
|
||||
|
||||
event.add('tfc:foods/usable_in_salad', 'minecraft:red_mushroom')
|
||||
event.add('tfc:foods/usable_in_salad', 'minecraft:brown_mushroom')
|
||||
event.add('tfc:foods/usable_in_salad', 'minecraft:glow_berries')
|
||||
event.add('tfc:foods/usable_in_salad', 'minecraft:chorus_fruit')
|
||||
|
||||
event.add('tfc:rock/raw', 'minecraft:deepslate')
|
||||
event.add('tfc:rock/raw', 'minecraft:blackstone')
|
||||
event.add('tfc:rock/raw', 'minecraft:dripstone_block')
|
||||
|
||||
event.add('forge:cloth', 'minecraft:phantom_membrane')
|
||||
event.add('tfc:sewing_dark_cloth', 'minecraft:phantom_membrane')
|
||||
|
||||
event.remove('forge:gems', 'minecraft:charcoal')
|
||||
}
|
||||
|
||||
const registerMinecraftBlockTags = (event) => {
|
||||
|
|
@ -25,4 +67,63 @@ const registerMinecraftBlockTags = (event) => {
|
|||
|
||||
// Теперь обсидиан сторадж блок
|
||||
event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian')
|
||||
|
||||
//#region Nether blocks
|
||||
|
||||
event.add('tfg:lush_ground_replaceable', 'minecraft:deepslate')
|
||||
event.add('tfg:lush_ground_replaceable', 'minecraft:blackstone')
|
||||
|
||||
event.add('tfc:rock/raw', 'minecraft:deepslate')
|
||||
event.add('tfc:rock/raw', 'minecraft:blackstone')
|
||||
event.add('tfc:rock/raw', 'minecraft:dripstone_block')
|
||||
event.add('forge:cobblestone/normal', 'minecraft:cobbled_deepslate')
|
||||
event.add('minecraft:lush_ground_replaceable', 'minecraft:blackstone')
|
||||
event.add('beneath:nether_bush_plantable_on', 'minecraft:blackstone')
|
||||
event.add('beneath:nether_bush_plantable_on', 'minecraft:deepslate')
|
||||
event.add('beneath:nether_bush_plantable_on', 'minecraft:moss_block')
|
||||
event.add('beneath:nether_bush_plantable_on', 'minecraft:dripstone_block')
|
||||
event.add('minecraft:nether_carver_replaceables', 'minecraft:blackstone')
|
||||
event.add('minecraft:nether_carver_replaceables', 'minecraft:deepslate')
|
||||
event.add('minecraft:nether_carver_replaceables', 'minecraft:dripstone_block')
|
||||
event.add('minecraft:frogs_spawnable_on', 'minecraft:deepslate')
|
||||
event.add('minecraft:frogs_spawnable_on', 'minecraft:blackstone')
|
||||
event.add('minecraft:frogs_spawnable_on', 'minecraft:dripstone_block')
|
||||
event.add('minecraft:axolotls_spawnable_on', 'minecraft:deepslate')
|
||||
event.add('minecraft:axolotls_spawnable_on', 'minecraft:dripstone_block')
|
||||
event.add('tfc:grass_plantable_on', 'minecraft:moss_block')
|
||||
event.add('tfc:creeping_plantable_on', 'minecraft:moss_block')
|
||||
event.add('tfc:creeping_plantable_on', 'minecraft:deepslate')
|
||||
event.add('tfc:creeping_plantable_on', 'minecraft:blackstone')
|
||||
event.add('tfc:creeping_stone_plantable_on', 'minecraft:moss_block')
|
||||
event.add('tfc:creeping_stone_plantable_on', 'minecraft:deepslate')
|
||||
event.add('tfc:creeping_stone_plantable_on', 'minecraft:blackstone')
|
||||
event.add('minecraft:base_stone_nether', 'minecraft:deepslate')
|
||||
event.add('minecraft:base_stone_nether', 'minecraft:blackstone')
|
||||
event.add('minecraft:base_stone_nether', 'minecraft:dripstone_block')
|
||||
event.add('forge:stone', 'minecraft:blackstone')
|
||||
|
||||
event.add('tfc:can_landslide', 'minecraft:cobbled_deepslate')
|
||||
|
||||
event.add('tfc:breaks_when_isolated', 'minecraft:deepslate')
|
||||
event.add('tfc:breaks_when_isolated', 'minecraft:blackstone')
|
||||
event.add('tfc:breaks_when_isolated', 'minecraft:gilded_blackstone')
|
||||
event.add('tfc:breaks_when_isolated', 'minecraft:dripstone_block')
|
||||
|
||||
event.add('tfg:rock_stairs', 'minecraft:cobbled_deepslate_stairs')
|
||||
event.add('tfg:rock_slabs', 'minecraft:cobbled_deepslate_slab')
|
||||
event.add('tfg:rock_walls', 'minecraft:cobbled_deepslate_wall')
|
||||
event.add('tfg:brick_stairs', 'minecraft:deepslate_brick_stairs')
|
||||
event.add('tfg:brick_slabs', 'minecraft:deepslate_brick_slab')
|
||||
event.add('tfg:brick_walls', 'minecraft:deepslate_brick_wall')
|
||||
event.add('tfg:brick_stairs', 'minecraft:deepslate_tile_stairs')
|
||||
event.add('tfg:brick_slabs', 'minecraft:deepslate_tile_slab')
|
||||
event.add('tfg:brick_walls', 'minecraft:deepslate_tile_wall')
|
||||
event.add('tfg:rock_stairs', 'minecraft:blackstone_stairs')
|
||||
event.add('tfg:rock_slabs', 'minecraft:blackstone_slab')
|
||||
event.add('tfg:rock_walls', 'minecraft:blackstone_wall')
|
||||
event.add('tfg:brick_stairs', 'minecraft:blackstone_stairs')
|
||||
event.add('tfg:brick_slabs', 'minecraft:blackstone_slab')
|
||||
event.add('tfg:brick_walls', 'minecraft:blackstone_wall')
|
||||
|
||||
//#region
|
||||
}
|
||||
|
|
@ -257,15 +257,17 @@ const registerMoreRedRecipes = (event) => {
|
|||
.itemOutputs('morered:red_alloy_wire')
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dye => {
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`tfg:morered/${dye}_wire`)
|
||||
.itemInputs('morered:red_alloy_wire')
|
||||
.inputFluids(Fluid.of(`gtceu:${dye}_dye`, 72))
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 72))
|
||||
.itemOutputs(`morered:${dye}_network_cable`)
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,96 @@
|
|||
const locometalDyeGroups = {
|
||||
slashed_locometal: '#railways:palettes/dye_groups/slashed',
|
||||
riveted_locometal: '#railways:palettes/dye_groups/riveted',
|
||||
locometal_pillar: '#railways:palettes/dye_groups/pillar',
|
||||
locometal_smokebox: '#railways:palettes/dye_groups/smokebox',
|
||||
plated_locometal: '#railways:palettes/dye_groups/plated',
|
||||
flat_slashed_locometal: '#railways:palettes/dye_groups/flat_slashed',
|
||||
flat_riveted_locometal: '#railways:palettes/dye_groups/flat_riveted'
|
||||
}
|
||||
|
||||
const locometalBase = {
|
||||
slashed_locometal: 'slashed_locometal',
|
||||
riveted_locometal: 'riveted_locometal',
|
||||
locometal_pillar: 'locometal_pillar',
|
||||
locometal_smokebox: 'locometal_smokebox',
|
||||
plated_locometal: 'plated_locometal',
|
||||
flat_slashed_locometal: 'flat_slashed_locometal',
|
||||
flat_riveted_locometal: 'flat_riveted_locometal'
|
||||
}
|
||||
|
||||
const railwaysLocometalIntegration = (event) => {
|
||||
for (var locometal in locometalBase) {
|
||||
event.recipes.create.cutting(`8x railways:${locometal}`, '#forge:storage_blocks/iron').processingTime(200);
|
||||
event.recipes.create.cutting(`16x railways:${locometal}`, '#forge:storage_blocks/wrought_iron').processingTime(200);
|
||||
event.recipes.create.cutting(`24x railways:${locometal}`, '#forge:storage_blocks/steel').processingTime(200);
|
||||
event.recipes.create.cutting(`railways:${locometal}`, `#railways:palettes/cycle_groups/base`).processingTime(20);
|
||||
event.recipes.gtceu.chemical_bath(`gpedia:undying/locometal/${locometal}`)
|
||||
.itemInputs(Item.of(locometalDyeGroups[`${locometal}`], 1))
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 18))
|
||||
.itemOutputs(Item.of(`railways:${locometal}`))
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
}
|
||||
|
||||
event.recipes.create.item_application(`railways:iron_wrapped_locometal`, [`#railways:palettes/cycle_groups/base`, '#forge:plates/wrought_iron']);
|
||||
event.recipes.create.item_application(`railways:copper_wrapped_locometal`, [`#railways:palettes/cycle_groups/base`, '#forge:plates/copper']);
|
||||
event.recipes.create.item_application(`railways:brass_wrapped_locometal`, [`#railways:palettes/cycle_groups/base`, '#forge:plates/brass'])
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`gpedia:undying/brass_wrapped_locometal`)
|
||||
.itemInputs('#railways:palettes/dye_groups/brass_wrapped_slashed')
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 18))
|
||||
.itemOutputs(`railways:brass_wrapped_locometal`)
|
||||
.duration(20)
|
||||
.EUt(24);
|
||||
event.recipes.gtceu.chemical_bath(`gpedia:undying/copper_wrapped_locometal`)
|
||||
.itemInputs('#railways:palettes/dye_groups/copper_wrapped_slashed')
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 18))
|
||||
.itemOutputs(`railways:copper_wrapped_locometal`)
|
||||
.duration(20)
|
||||
.EUt(24);
|
||||
event.recipes.gtceu.chemical_bath(`gpedia:undying/iron_wrapped_locometal`)
|
||||
.itemInputs('#railways:palettes/dye_groups/iron_wrapped_slashed')
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 18))
|
||||
.itemOutputs(`railways:iron_wrapped_locometal`)
|
||||
.duration(20)
|
||||
.EUt(24)
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dye => {
|
||||
for (var locometal in locometalBase) {
|
||||
event.recipes.gtceu.chemical_bath(`gpedia:chemical_dying_locometal/${locometal}/${dye}`)
|
||||
.itemInputs(Item.of(locometalDyeGroups[`${locometal}`], 1))
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 18))
|
||||
.itemOutputs(Item.of(`railways:${dye}_${locometal}`))
|
||||
.duration(20)
|
||||
.EUt(24);
|
||||
event.shapeless(
|
||||
Item.of(`railways:${dye}_${locometal}`, 8),
|
||||
[
|
||||
Item.of(locometalDyeGroups[`${locometal}`], 8),
|
||||
`1x #forge:dyes/${dye}_dye`
|
||||
]
|
||||
)
|
||||
};
|
||||
event.recipes.create.item_application(`railways:${dye}_iron_wrapped_locometal`, [`#railways:palettes/cycle_groups/${dye}`, '#forge:plates/wrought_iron']);
|
||||
event.recipes.create.item_application(`railways:${dye}_copper_wrapped_locometal`, [`#railways:palettes/cycle_groups/${dye}`, '#forge:plates/copper']);
|
||||
event.recipes.create.item_application(`railways:${dye}_brass_wrapped_locometal`, [`#railways:palettes/cycle_groups/${dye}`, '#forge:plates/brass']);
|
||||
event.recipes.gtceu.chemical_bath(`gpedia:brass_locometal_bathing/${dye}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/brass_wrapped_slashed')
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 18))
|
||||
.itemOutputs(`railways:${dye}_brass_wrapped_locometal`)
|
||||
.duration(20)
|
||||
.EUt(24);
|
||||
event.recipes.gtceu.chemical_bath(`gpedia:copper_locometal_bathing/${dye}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/copper_wrapped_slashed')
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 18))
|
||||
.itemOutputs(`railways:${dye}_copper_wrapped_locometal`)
|
||||
.duration(20)
|
||||
.EUt(24);
|
||||
event.recipes.gtceu.chemical_bath(`gpedia:locometal_bathing/${dye}`)
|
||||
.itemInputs('#railways:palettes/dye_groups/iron_wrapped_slashed')
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 18))
|
||||
.itemOutputs(`railways:${dye}_iron_wrapped_locometal`)
|
||||
.duration(20)
|
||||
.EUt(24);
|
||||
})
|
||||
}
|
||||
|
|
@ -1,363 +1,365 @@
|
|||
// priority: 0
|
||||
|
||||
const registerRailWaysRecipes = (event) => {
|
||||
|
||||
// Удаление рецептов мода railways
|
||||
event.remove({ mod: 'railways' });
|
||||
|
||||
// Семафор
|
||||
event.shaped('railways:semaphore', [
|
||||
' A ',
|
||||
'BCD',
|
||||
'EAE'
|
||||
], {
|
||||
A: '#forge:plates/wrought_iron',
|
||||
B: '#minecraft:fences',
|
||||
C: 'create:andesite_casing',
|
||||
D: 'create:electron_tube',
|
||||
E: '#forge:tools/hammers',
|
||||
}).id('tfg:railways/shaped/semaphore')
|
||||
// Удаление рецептов мода railways
|
||||
event.remove({ mod: 'railways' });
|
||||
|
||||
railwaysLocometalIntegration(event)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/semaphore')
|
||||
.itemInputs('2x #forge:plates/wrought_iron', '#minecraft:fences', 'create:andesite_casing', 'create:electron_tube')
|
||||
.circuit(3)
|
||||
.itemOutputs('railways:semaphore')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
// Семафор
|
||||
event.shaped('railways:semaphore', [
|
||||
' A ',
|
||||
'BCD',
|
||||
'EAE'
|
||||
], {
|
||||
A: '#forge:plates/wrought_iron',
|
||||
B: '#minecraft:fences',
|
||||
C: 'create:andesite_casing',
|
||||
D: 'create:electron_tube',
|
||||
E: '#forge:tools/hammers',
|
||||
}).id('tfg:railways/shaped/semaphore')
|
||||
|
||||
// Соединитель поездов
|
||||
event.shaped('railways:track_coupler', [
|
||||
'AAA',
|
||||
'DBE',
|
||||
' C '
|
||||
], {
|
||||
A: '#forge:sheets/wrought_iron',
|
||||
B: 'gtceu:red_alloy_single_wire',
|
||||
C: 'create:railway_casing',
|
||||
D: '#forge:tools/wire_cutters',
|
||||
E: '#forge:tools/screwdrivers',
|
||||
}).id('tfg:railways/shaped/track_coupler')
|
||||
event.recipes.gtceu.assembler('tfg:railways/semaphore')
|
||||
.itemInputs('2x #forge:plates/wrought_iron', '#minecraft:fences', 'create:andesite_casing', 'create:electron_tube')
|
||||
.circuit(3)
|
||||
.itemOutputs('railways:semaphore')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/track_coupler')
|
||||
.itemInputs('3x #forge:sheets/wrought_iron', 'gtceu:red_alloy_single_wire', 'create:railway_casing')
|
||||
.circuit(3)
|
||||
.itemOutputs('railways:track_coupler')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
// Соединитель поездов
|
||||
event.shaped('railways:track_coupler', [
|
||||
'AAA',
|
||||
'DBE',
|
||||
' C '
|
||||
], {
|
||||
A: '#forge:sheets/wrought_iron',
|
||||
B: 'gtceu:red_alloy_single_wire',
|
||||
C: 'create:railway_casing',
|
||||
D: '#forge:tools/wire_cutters',
|
||||
E: '#forge:tools/screwdrivers',
|
||||
}).id('tfg:railways/shaped/track_coupler')
|
||||
|
||||
// Переключатель пути поезда из андезита
|
||||
event.shaped('railways:track_switch_andesite', [
|
||||
'BAB',
|
||||
'CDC',
|
||||
'ECF'
|
||||
], {
|
||||
A: 'minecraft:lever',
|
||||
B: '#forge:bolts/wrought_iron',
|
||||
C: 'create:cogwheel',
|
||||
D: 'create:andesite_casing',
|
||||
E: '#forge:tools/screwdrivers',
|
||||
F: '#forge:tools/hammers',
|
||||
}).id('tfg:railways/shaped/track_switch_andesite')
|
||||
event.recipes.gtceu.assembler('tfg:railways/track_coupler')
|
||||
.itemInputs('3x #forge:sheets/wrought_iron', 'gtceu:red_alloy_single_wire', 'create:railway_casing')
|
||||
.circuit(3)
|
||||
.itemOutputs('railways:track_coupler')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/track_switch_andesite')
|
||||
.itemInputs('minecraft:lever', '2x #forge:bolts/wrought_iron', '2x create:cogwheel', 'create:andesite_casing')
|
||||
.circuit(3)
|
||||
.itemOutputs('railways:track_switch_andesite')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
// Переключатель пути поезда из андезита
|
||||
event.shaped('railways:track_switch_andesite', [
|
||||
'BAB',
|
||||
'CDC',
|
||||
'ECF'
|
||||
], {
|
||||
A: 'minecraft:lever',
|
||||
B: '#forge:bolts/wrought_iron',
|
||||
C: '#tfg:small_cogwheels',
|
||||
D: 'create:andesite_casing',
|
||||
E: '#forge:tools/screwdrivers',
|
||||
F: '#forge:tools/hammers',
|
||||
}).id('tfg:railways/shaped/track_switch_andesite')
|
||||
|
||||
// Переключатель пути поезда из латуни
|
||||
event.shaped('railways:track_switch_brass', [
|
||||
'BAB',
|
||||
'CDC',
|
||||
'ECF'
|
||||
], {
|
||||
A: 'minecraft:lever',
|
||||
B: '#forge:bolts/brass',
|
||||
C: 'create:cogwheel',
|
||||
D: 'create:brass_casing',
|
||||
E: '#forge:tools/screwdrivers',
|
||||
F: '#forge:tools/hammers',
|
||||
}).id('tfg:railways/shaped/track_switch_brass')
|
||||
event.recipes.gtceu.assembler('tfg:railways/track_switch_andesite')
|
||||
.itemInputs('minecraft:lever', '2x #forge:bolts/wrought_iron', '2x #tfg:small_cogwheels', 'create:andesite_casing')
|
||||
.circuit(3)
|
||||
.itemOutputs('railways:track_switch_andesite')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/track_switch_brass')
|
||||
.itemInputs('minecraft:lever', '2x #forge:bolts/wrought_iron', '2x create:cogwheel', 'create:brass_casing')
|
||||
.circuit(3)
|
||||
.itemOutputs('railways:track_switch_brass')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
// Переключатель пути поезда из латуни
|
||||
event.shaped('railways:track_switch_brass', [
|
||||
'BAB',
|
||||
'CDC',
|
||||
'ECF'
|
||||
], {
|
||||
A: 'minecraft:lever',
|
||||
B: '#forge:bolts/brass',
|
||||
C: '#tfg:small_cogwheels',
|
||||
D: 'create:brass_casing',
|
||||
E: '#forge:tools/screwdrivers',
|
||||
F: '#forge:tools/hammers',
|
||||
}).id('tfg:railways/shaped/track_switch_brass')
|
||||
|
||||
// Свисток кондуктора
|
||||
event.shaped('railways:conductor_whistle', [
|
||||
'ABC'
|
||||
], {
|
||||
A: '#forge:plates/brass',
|
||||
B: '#forge:tools/hammers',
|
||||
C: '#forge:tools/files',
|
||||
}).id('tfg:railways/shaped/conductor_whistle')
|
||||
event.recipes.gtceu.assembler('tfg:railways/track_switch_brass')
|
||||
.itemInputs('minecraft:lever', '2x #forge:bolts/wrought_iron', '2x #tfg:small_cogwheels', 'create:brass_casing')
|
||||
.circuit(3)
|
||||
.itemOutputs('railways:track_switch_brass')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/conductor_whistle')
|
||||
.itemInputs('#forge:plates/brass')
|
||||
.circuit(4)
|
||||
.itemOutputs('railways:conductor_whistle')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
// Свисток кондуктора
|
||||
event.shaped('railways:conductor_whistle', [
|
||||
'ABC'
|
||||
], {
|
||||
A: '#forge:plates/brass',
|
||||
B: '#forge:tools/hammers',
|
||||
C: '#forge:tools/files',
|
||||
}).id('tfg:railways/shaped/conductor_whistle')
|
||||
|
||||
// Удаленная линза
|
||||
event.shaped('railways:remote_lens', [
|
||||
'ABC',
|
||||
'DE '
|
||||
], {
|
||||
A: '#forge:plates/brass',
|
||||
B: '#forge:tools/hammers',
|
||||
C: '#forge:tools/files',
|
||||
D: 'create:precision_mechanism',
|
||||
E: 'ae2:wireless_access_point'
|
||||
}).id('tfg:railways/shaped/remote_lens')
|
||||
event.recipes.gtceu.assembler('tfg:railways/conductor_whistle')
|
||||
.itemInputs('#forge:plates/brass')
|
||||
.circuit(4)
|
||||
.itemOutputs('railways:conductor_whistle')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/remote_lens')
|
||||
.itemInputs('#forge:plates/brass', 'create:precision_mechanism', 'ae2:wireless_access_point')
|
||||
.circuit(3)
|
||||
.itemOutputs('railways:remote_lens')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
// Удаленная линза
|
||||
event.shaped('railways:remote_lens', [
|
||||
'ABC',
|
||||
'DE '
|
||||
], {
|
||||
A: '#forge:plates/brass',
|
||||
B: '#forge:tools/hammers',
|
||||
C: '#forge:tools/files',
|
||||
D: 'create:precision_mechanism',
|
||||
E: 'gtceu:lv_sensor'
|
||||
}).id('tfg:railways/shaped/remote_lens')
|
||||
|
||||
// Дымогенератор 1
|
||||
event.shaped('railways:smokestack_caboosestyle', [
|
||||
'BCB',
|
||||
'DA '
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:nuggets/black_steel',
|
||||
C: '#forge:plates/black_steel',
|
||||
D: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_caboosestyle')
|
||||
event.recipes.gtceu.assembler('tfg:railways/remote_lens')
|
||||
.itemInputs('#forge:plates/brass', 'create:precision_mechanism', 'gtceu:lv_sensor')
|
||||
.circuit(3)
|
||||
.itemOutputs('railways:remote_lens')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_caboosestyle')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '2x #forge:nuggets/black_steel', '#forge:plates/black_steel')
|
||||
.circuit(4)
|
||||
.itemOutputs('railways:smokestack_caboosestyle')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
// Дымогенератор 1
|
||||
event.shaped('railways:smokestack_caboosestyle', [
|
||||
'BCB',
|
||||
'DA '
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:nuggets/black_steel',
|
||||
C: '#forge:plates/black_steel',
|
||||
D: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_caboosestyle')
|
||||
|
||||
// Дымогенератор 2
|
||||
event.shaped('railways:smokestack_long', [
|
||||
'C ',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:nuggets/black_steel',
|
||||
C: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_long')
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_caboosestyle')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '2x #forge:nuggets/black_steel', '#forge:plates/black_steel')
|
||||
.circuit(4)
|
||||
.itemOutputs('railways:smokestack_caboosestyle')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_long')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '2x #forge:nuggets/black_steel')
|
||||
.circuit(5)
|
||||
.itemOutputs('railways:smokestack_long')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
// Дымогенератор 2
|
||||
event.shaped('railways:smokestack_long', [
|
||||
'C ',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:nuggets/black_steel',
|
||||
C: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_long')
|
||||
|
||||
// Дымогенератор 3
|
||||
event.shaped('railways:smokestack_coalburner', [
|
||||
'B B',
|
||||
'BCB',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:plates/black_steel',
|
||||
C: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_coalburner')
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_long')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '2x #forge:nuggets/black_steel')
|
||||
.circuit(5)
|
||||
.itemOutputs('railways:smokestack_long')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_coalburner')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/black_steel')
|
||||
.circuit(6)
|
||||
.itemOutputs('railways:smokestack_coalburner')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
// Дымогенератор 3
|
||||
event.shaped('railways:smokestack_coalburner', [
|
||||
'B B',
|
||||
'BCB',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:plates/black_steel',
|
||||
C: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_coalburner')
|
||||
|
||||
// Дымогенератор 4
|
||||
event.shaped('railways:smokestack_oilburner', [
|
||||
'BCB',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:plates/black_steel',
|
||||
C: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_oilburner')
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_coalburner')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/black_steel')
|
||||
.circuit(6)
|
||||
.itemOutputs('railways:smokestack_coalburner')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_oilburner')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/black_steel')
|
||||
.circuit(7)
|
||||
.itemOutputs('railways:smokestack_oilburner')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
// Дымогенератор 4
|
||||
event.shaped('railways:smokestack_oilburner', [
|
||||
'BCB',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:plates/black_steel',
|
||||
C: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_oilburner')
|
||||
|
||||
// Дымогенератор 5
|
||||
event.shaped('railways:smokestack_streamlined', [
|
||||
'C ',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:plates/black_steel',
|
||||
C: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_streamlined')
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_oilburner')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/black_steel')
|
||||
.circuit(7)
|
||||
.itemOutputs('railways:smokestack_oilburner')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_streamlined')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '2x #forge:plates/black_steel')
|
||||
.circuit(8)
|
||||
.itemOutputs('railways:smokestack_streamlined')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
// Дымогенератор 5
|
||||
event.shaped('railways:smokestack_streamlined', [
|
||||
'C ',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:plates/black_steel',
|
||||
C: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_streamlined')
|
||||
|
||||
// Дымогенератор 6
|
||||
event.shaped('railways:smokestack_woodburner', [
|
||||
' D ',
|
||||
'CBC',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:plates/black_steel',
|
||||
C: '#forge:nuggets/black_steel',
|
||||
D: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_woodburner')
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_streamlined')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '2x #forge:plates/black_steel')
|
||||
.circuit(8)
|
||||
.itemOutputs('railways:smokestack_streamlined')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_woodburner')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '3x #forge:plates/black_steel', '2x #forge:nuggets/black_steel')
|
||||
.circuit(9)
|
||||
.itemOutputs('railways:smokestack_woodburner')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
// Вентилятор радиатора
|
||||
event.shaped('2x railways:smokestack_diesel', [
|
||||
'ABA',
|
||||
'BCB',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:plates/wrought_iron',
|
||||
B: '#forge:rods/wrought_iron',
|
||||
C: 'create:propeller',
|
||||
}).id('tfg:railways/shaped/smokestack_diesel')
|
||||
// Дымогенератор 6
|
||||
event.shaped('railways:smokestack_woodburner', [
|
||||
' D ',
|
||||
'CBC',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:storage_blocks/charcoal',
|
||||
B: '#forge:plates/black_steel',
|
||||
C: '#forge:nuggets/black_steel',
|
||||
D: '#forge:tools/hammers'
|
||||
}).id('tfg:railways/shaped/smokestack_woodburner')
|
||||
|
||||
// Монорельс
|
||||
event.recipes.createSequencedAssembly([
|
||||
'4x railways:track_monorail',
|
||||
], 'create:metal_girder', [
|
||||
event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']),
|
||||
event.recipes.createPressing('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail']),
|
||||
event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']),
|
||||
event.recipes.createPressing('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail']),
|
||||
]).transitionalItem('railways:track_incomplete_monorail').loops(1).id('tfg:railways/sequenced_assembly/track_monorail')
|
||||
event.recipes.gtceu.assembler('tfg:railways/smokestack_woodburner')
|
||||
.itemInputs('#forge:storage_blocks/charcoal', '3x #forge:plates/black_steel', '2x #forge:nuggets/black_steel')
|
||||
.circuit(9)
|
||||
.itemOutputs('railways:smokestack_woodburner')
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.assembler('railways/monorail')
|
||||
.itemInputs('create:metal_girder', '2x #forge:plates/wrought_iron')
|
||||
.itemOutputs('4x railways:track_monorail')
|
||||
.duration(250)
|
||||
.EUt(32)
|
||||
// Вентилятор радиатора
|
||||
event.shaped('2x railways:smokestack_diesel', [
|
||||
'ABA',
|
||||
'BCB',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:plates/wrought_iron',
|
||||
B: '#forge:rods/wrought_iron',
|
||||
C: 'create:propeller',
|
||||
}).id('tfg:railways/shaped/smokestack_diesel')
|
||||
|
||||
// Железнодорожное полотно (Узкое)
|
||||
event.recipes.createSequencedAssembly([
|
||||
'8x railways:track_create_andesite_narrow',
|
||||
], '#tfg:rock_slabs', [
|
||||
event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_rod']),
|
||||
event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', '#tfc:mortar']),
|
||||
event.recipes.createPressing('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow']),
|
||||
]).transitionalItem('railways:track_incomplete_create_andesite_narrow').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite_narrow_from_steel')
|
||||
// Монорельс
|
||||
event.recipes.createSequencedAssembly([
|
||||
'4x railways:track_monorail',
|
||||
], 'create:metal_girder', [
|
||||
event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']),
|
||||
event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:tools/hammers']),
|
||||
event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']),
|
||||
event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:tools/hammers']),
|
||||
]).transitionalItem('railways:track_incomplete_monorail').loops(1).id('tfg:railways/sequenced_assembly/track_monorail')
|
||||
|
||||
event.recipes.gtceu.assembler('railways/track_create_andesite_narrow_from_steel')
|
||||
.itemInputs('#tfg:rock_slabs', '2x gtceu:steel_rod')
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 144))
|
||||
.itemOutputs('8x railways:track_create_andesite_narrow')
|
||||
.duration(800)
|
||||
.EUt(16)
|
||||
event.recipes.gtceu.assembler('railways/monorail')
|
||||
.itemInputs('create:metal_girder', '2x #forge:plates/wrought_iron')
|
||||
.itemOutputs('4x railways:track_monorail')
|
||||
.duration(250)
|
||||
.EUt(32)
|
||||
|
||||
// Железнодорожное полотно (Узкое)
|
||||
event.recipes.createSequencedAssembly([
|
||||
'8x railways:track_create_andesite_narrow',
|
||||
], '#tfg:rock_slabs', [
|
||||
event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_rod']),
|
||||
event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', '#tfc:mortar']),
|
||||
event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', '#forge:tools/hammers']),
|
||||
]).transitionalItem('railways:track_incomplete_create_andesite_narrow').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite_narrow_from_steel')
|
||||
|
||||
event.recipes.gtceu.assembler('railways/track_create_andesite_narrow_from_steel')
|
||||
.itemInputs('#tfg:rock_slabs', '2x gtceu:steel_rod')
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 144))
|
||||
.itemOutputs('8x railways:track_create_andesite_narrow')
|
||||
.duration(800)
|
||||
.EUt(16)
|
||||
.circuit(1)
|
||||
|
||||
// Железнодорожное полотно (Нормальное)
|
||||
event.recipes.createSequencedAssembly([
|
||||
'8x create:track',
|
||||
], '#tfg:rock_slabs', [
|
||||
event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfg:rock_slabs']),
|
||||
// Железнодорожное полотно (Нормальное)
|
||||
event.recipes.createSequencedAssembly([
|
||||
'8x create:track',
|
||||
], '#tfg:rock_slabs', [
|
||||
event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfg:rock_slabs']),
|
||||
event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', 'gtceu:steel_rod']),
|
||||
event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfc:mortar']),
|
||||
event.recipes.createPressing('create:incomplete_track', ['create:incomplete_track']),
|
||||
]).transitionalItem('create:incomplete_track').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite')
|
||||
event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfc:mortar']),
|
||||
event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#forge:tools/hammers']),
|
||||
]).transitionalItem('create:incomplete_track').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite')
|
||||
|
||||
event.recipes.gtceu.assembler('railways/track')
|
||||
.itemInputs('3x #tfg:rock_slabs', '2x gtceu:steel_rod')
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 144))
|
||||
.itemOutputs('8x create:track')
|
||||
.duration(800)
|
||||
.EUt(16)
|
||||
event.recipes.gtceu.assembler('railways/track')
|
||||
.itemInputs('3x #tfg:rock_slabs', '2x gtceu:steel_rod')
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 144))
|
||||
.itemOutputs('8x create:track')
|
||||
.duration(800)
|
||||
.EUt(16)
|
||||
.circuit(2)
|
||||
|
||||
// Железнодорожное полотно (Широкое)
|
||||
event.recipes.createSequencedAssembly([
|
||||
'8x railways:track_create_andesite_wide',
|
||||
], '#tfg:rock_slabs', [
|
||||
event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#forge:stone']),
|
||||
event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', 'gtceu:steel_rod']),
|
||||
event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#tfc:mortar']),
|
||||
event.recipes.createPressing('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide']),
|
||||
]).transitionalItem('railways:track_incomplete_create_andesite_wide').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite_wide')
|
||||
// Железнодорожное полотно (Широкое)
|
||||
event.recipes.createSequencedAssembly([
|
||||
'8x railways:track_create_andesite_wide',
|
||||
], '#tfg:rock_slabs', [
|
||||
event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#forge:stone']),
|
||||
event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', 'gtceu:steel_rod']),
|
||||
event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#tfc:mortar']),
|
||||
event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#forge:tools/hammers']),
|
||||
]).transitionalItem('railways:track_incomplete_create_andesite_wide').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite_wide')
|
||||
|
||||
event.recipes.gtceu.assembler('railways/track_create_andesite_wide')
|
||||
.itemInputs('5x #tfg:rock_slabs', '2x gtceu:steel_rod')
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 144))
|
||||
.itemOutputs('8x railways:track_create_andesite_wide')
|
||||
.duration(800)
|
||||
.EUt(16)
|
||||
event.recipes.gtceu.assembler('railways/track_create_andesite_wide')
|
||||
.itemInputs('5x #tfg:rock_slabs', '2x gtceu:steel_rod')
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 144))
|
||||
.itemOutputs('8x railways:track_create_andesite_wide')
|
||||
.duration(800)
|
||||
.EUt(16)
|
||||
.circuit(3)
|
||||
|
||||
// Железнодородные полотна из дерева
|
||||
global.TFC_WOOD_TYPES.forEach(woodType => {
|
||||
// Узкое
|
||||
event.recipes.createSequencedAssembly([
|
||||
`8x railways:track_tfc_${woodType}_narrow`,
|
||||
], `tfc:wood/planks/${woodType}_slab`, [
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_rod']),
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, '#forge:screws']),
|
||||
event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`]),
|
||||
]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_narrow`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_narrow`)
|
||||
|
||||
event.recipes.gtceu.assembler(`railways/track_create_${woodType}_narrow`)
|
||||
.itemInputs(`tfc:wood/planks/${woodType}_slab`, '2x gtceu:steel_rod', '2x #forge:screws')
|
||||
.itemOutputs(`8x railways:track_tfc_${woodType}_narrow`)
|
||||
.duration(800)
|
||||
.EUt(16)
|
||||
// Железнодородные полотна из дерева
|
||||
global.TFC_WOOD_TYPES.forEach(woodType => {
|
||||
// Узкое
|
||||
event.recipes.createSequencedAssembly([
|
||||
`8x railways:track_tfc_${woodType}_narrow`,
|
||||
], `tfc:wood/planks/${woodType}_slab`, [
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_rod']),
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, '#forge:screws']),
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, '#forge:tools/hammers']),
|
||||
]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_narrow`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_narrow`)
|
||||
|
||||
event.recipes.gtceu.assembler(`railways/track_create_${woodType}_narrow`)
|
||||
.itemInputs(`tfc:wood/planks/${woodType}_slab`, '2x gtceu:steel_rod', '2x #forge:screws')
|
||||
.itemOutputs(`8x railways:track_tfc_${woodType}_narrow`)
|
||||
.duration(800)
|
||||
.EUt(16)
|
||||
.circuit(1)
|
||||
|
||||
// Нормальное
|
||||
event.recipes.createSequencedAssembly([
|
||||
`8x railways:track_tfc_${woodType}`,
|
||||
], `tfc:wood/planks/${woodType}_slab`, [
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, `tfc:wood/lumber/${woodType}`]),
|
||||
|
||||
// Нормальное
|
||||
event.recipes.createSequencedAssembly([
|
||||
`8x railways:track_tfc_${woodType}`,
|
||||
], `tfc:wood/planks/${woodType}_slab`, [
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, `tfc:wood/lumber/${woodType}`]),
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, 'gtceu:steel_rod']),
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, '#forge:screws']),
|
||||
event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`]),
|
||||
]).transitionalItem(`railways:track_incomplete_tfc_${woodType}`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}`)
|
||||
|
||||
event.recipes.gtceu.assembler(`railways/track_${woodType}`)
|
||||
.itemInputs(`tfc:wood/planks/${woodType}_slab`, `2x tfc:wood/lumber/${woodType}`, '2x gtceu:steel_rod', '2x #forge:screws')
|
||||
.itemOutputs(`8x railways:track_tfc_${woodType}`)
|
||||
.duration(800)
|
||||
.EUt(16)
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, '#forge:screws']),
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, '#forge:tools/hammers']),
|
||||
]).transitionalItem(`railways:track_incomplete_tfc_${woodType}`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}`)
|
||||
|
||||
event.recipes.gtceu.assembler(`railways/track_${woodType}`)
|
||||
.itemInputs(`tfc:wood/planks/${woodType}_slab`, `2x tfc:wood/lumber/${woodType}`, '2x gtceu:steel_rod', '2x #forge:screws')
|
||||
.itemOutputs(`8x railways:track_tfc_${woodType}`)
|
||||
.duration(800)
|
||||
.EUt(16)
|
||||
.circuit(2)
|
||||
|
||||
// Широкое
|
||||
event.recipes.createSequencedAssembly([
|
||||
`8x railways:track_tfc_${woodType}_wide`,
|
||||
], `tfc:wood/planks/${woodType}_slab`, [
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, `tfc:wood/planks/${woodType}_slab`]),
|
||||
|
||||
// Широкое
|
||||
event.recipes.createSequencedAssembly([
|
||||
`8x railways:track_tfc_${woodType}_wide`,
|
||||
], `tfc:wood/planks/${woodType}_slab`, [
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, `tfc:wood/planks/${woodType}_slab`]),
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, `gtceu:steel_rod`]),
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, '#forge:screws']),
|
||||
event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`])
|
||||
]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_wide`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_wide`)
|
||||
|
||||
event.recipes.gtceu.assembler(`railways/track_${woodType}_wide`)
|
||||
.itemInputs(`3x tfc:wood/planks/${woodType}_slab`, '2x gtceu:steel_rod', '2x #forge:screws')
|
||||
.itemOutputs(`8x railways:track_tfc_${woodType}_wide`)
|
||||
.duration(800)
|
||||
.EUt(16)
|
||||
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, '#forge:tools/hammers'])
|
||||
]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_wide`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_wide`)
|
||||
|
||||
event.recipes.gtceu.assembler(`railways/track_${woodType}_wide`)
|
||||
.itemInputs(`3x tfc:wood/planks/${woodType}_slab`, '2x gtceu:steel_rod', '2x #forge:screws')
|
||||
.itemOutputs(`8x railways:track_tfc_${woodType}_wide`)
|
||||
.duration(800)
|
||||
.EUt(16)
|
||||
.circuit(3)
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
|
|||
61
kubejs/server_scripts/rnr/recipes.js
Normal file
61
kubejs/server_scripts/rnr/recipes.js
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
const registerRnrRecipes = (event) => {
|
||||
event.remove({input: 'rnr:concrete_powder'})
|
||||
event.remove({id: 'rnr:crafting/concrete_powder'})
|
||||
|
||||
//#region Recipes
|
||||
event.recipes.gtceu.assembler('rnr:assembler/base_course')
|
||||
.itemInputs('1x rnr:crushed_base_course', '1x #tfc:dirt')
|
||||
.itemOutputs('2x rnr:base_course')
|
||||
.circuit(7)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.assembler('rnr:assembler/crushed_base_course')
|
||||
.itemInputs('1x #forge:gravel', '1x #rnr:loose_rock_items')
|
||||
.itemOutputs('8x rnr:crushed_base_course')
|
||||
.circuit(7)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
global.TFC_STONE_TYPES.forEach(stone => {
|
||||
event.recipes.gtceu.assembler(`rnr:assembler/flagstone/${stone}`)
|
||||
.itemInputs(`tfc:rock/loose/${stone}`)
|
||||
.itemOutputs(`2x rnr:flagstone/${stone}`)
|
||||
.circuit(7)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.assembler(`rnr:assembler/flagstone/mossy_${stone}`)
|
||||
.itemInputs(`tfc:rock/mossy_loose/${stone}`)
|
||||
.itemOutputs(`2x rnr:flagstone/${stone}`)
|
||||
.circuit(7)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
});
|
||||
|
||||
global.SAND_COLORS.forEach(sand => {
|
||||
event.recipes.gtceu.assembler(`rnr:assembler/flagstone/${sand}_sandstone`)
|
||||
.itemInputs(`tfc:raw_sandstone/${sand}`)
|
||||
.itemOutputs(`8x rnr:flagstone/${sand}_sandstone`)
|
||||
.circuit(7)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
});
|
||||
|
||||
event.smelting(
|
||||
'1x rnr:terracotta_roof_tile',
|
||||
'rnr:unfired_terracotta_roof_tile'
|
||||
).id('rnr:smelting/unfired_terracotta_roof_tile')
|
||||
|
||||
event.smelting(
|
||||
'1x rnr:ceramic_roof_tile',
|
||||
'rnr:unfired_roof_tile'
|
||||
).id('rnr:smelting/unfired_roof_tile')
|
||||
|
||||
event.recipes.gtceu.mixer('rnr:mixer/wet_concrete_mix')
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 192), Fluid.of('minecraft:water', 808))
|
||||
.outputFluids(Fluid.of('rnr:concrete', 1000))
|
||||
.circuit(7)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
};
|
||||
7
kubejs/server_scripts/rnr/tags.js
Normal file
7
kubejs/server_scripts/rnr/tags.js
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
const registerRnrItemTags = (event) => {
|
||||
|
||||
global.RNR_DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
});
|
||||
};
|
||||
161
kubejs/server_scripts/simplylight/recipes.js
Normal file
161
kubejs/server_scripts/simplylight/recipes.js
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
// priority: 0
|
||||
|
||||
const registerSimplylightRecipes = (event) => {
|
||||
|
||||
// remove old recipes
|
||||
global.MINECRAFT_DYE_NAMES.forEach(color => {
|
||||
event.remove({ id: `simplylight:illuminant_${color}_block_on_dyed` })
|
||||
event.remove({ id: `simplylight:illuminant_${color}_block_dyed` })
|
||||
})
|
||||
event.remove({ id: `simplylight:illuminant_block_on_dyed` })
|
||||
event.remove({ id: `simplylight:illuminant_block_dyed` })
|
||||
event.remove({ id: 'simplylight:illuminant_slab' })
|
||||
event.remove({ id: 'simplylight:walllamp' })
|
||||
event.remove({ id: 'simplylight:rodlamp' })
|
||||
event.remove({ id: 'simplylight:bulb' })
|
||||
event.remove({ id: 'simplylight:edge_light' })
|
||||
event.remove({ id: 'simplylight:lamp_post' })
|
||||
event.remove({ id: 'simplylight:illuminant_block_on' })
|
||||
event.remove({ id: 'simplylight:illuminant_block' })
|
||||
|
||||
// new recipes
|
||||
global.MINECRAFT_DYE_NAMES.forEach(color => {
|
||||
|
||||
//exeption for white lamps because who needs consistency?
|
||||
if (color != 'white') {
|
||||
event.recipes.gtceu.chemical_bath(`simplylight:chemical_bath/dyeing/illuminant_${color}_block_on`)
|
||||
.itemInputs('#simplylight:any_lamp_on')
|
||||
.inputFluids(Fluid.of(`tfc:${color}_dye`, 25))
|
||||
.itemOutputs(`simplylight:illuminant_${color}_block_on`)
|
||||
.duration(80)
|
||||
.EUt(20)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`simplylight:chemical_bath/dyeing/illuminant_${color}_block`)
|
||||
.itemInputs('#simplylight:any_lamp_off')
|
||||
.inputFluids(Fluid.of(`tfc:${color}_dye`, 25))
|
||||
.itemOutputs(`simplylight:illuminant_${color}_block`)
|
||||
.duration(80)
|
||||
.EUt(20)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
event.recipes.tfc.barrel_sealed(1000)
|
||||
.outputItem(`simplylight:illuminant_${color}_block_on`)
|
||||
.inputItem(Ingredient.of('#simplylight:any_lamp_on').subtract(`simplylight:illuminant_${color}_block_on`))
|
||||
.inputFluid(Fluid.of(`tfc:${color}_dye`, 25))
|
||||
.id(`simplylight:barrel/dyeing/illuminant_${color}_block_on`)
|
||||
|
||||
event.recipes.tfc.barrel_sealed(1000)
|
||||
.outputItem(`simplylight:illuminant_${color}_block`)
|
||||
.inputItem(Ingredient.of('#simplylight:any_lamp_off').subtract(`simplylight:illuminant_${color}_block`))
|
||||
.inputFluid(Fluid.of(`tfc:${color}_dye`, 25))
|
||||
.id(`simplylight:barrel/dyeing/illuminant_${color}_block`)
|
||||
}
|
||||
})
|
||||
|
||||
event.recipes.tfc.barrel_sealed(1000)
|
||||
.outputItem(`simplylight:illuminant_block_on`)
|
||||
.inputItem(Ingredient.of('#simplylight:any_lamp_on').subtract(`simplylight:illuminant_block_on`))
|
||||
.inputFluid(Fluid.of(`tfc:white_dye`, 25))
|
||||
.id(`simplylight:barrel/dyeing/illuminant_block_on`)
|
||||
|
||||
event.recipes.tfc.barrel_sealed(1000)
|
||||
.outputItem(`simplylight:illuminant_block`)
|
||||
.inputItem(Ingredient.of('#simplylight:any_lamp_off').subtract(`simplylight:illuminant_block`))
|
||||
.inputFluid(Fluid.of(`tfc:white_dye`, 25))
|
||||
.id(`simplylight:barrel/dyeing/illuminant_block`)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`simplylight:chemical_bath/bleaching/illuminant_block_on`)
|
||||
.itemInputs(Ingredient.of('#simplylight:any_lamp_on').subtract(`simplylight:illuminant_block_on`))
|
||||
.inputFluids(Fluid.of('gtceu:chlorine', 72))
|
||||
.itemOutputs('simplylight:illuminant_block_on')
|
||||
.duration(80)
|
||||
.EUt(20)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`simplylight:chemical_bath/bleaching/illuminant_block`)
|
||||
.itemInputs(Ingredient.of('#simplylight:any_lamp_off').subtract(`simplylight:illuminant_block`))
|
||||
.inputFluids(Fluid.of('gtceu:chlorine', 72))
|
||||
.itemOutputs('simplylight:illuminant_block')
|
||||
.duration(80)
|
||||
.EUt(20)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
event.shaped('6x simplylight:illuminant_slab', [
|
||||
'AAA',
|
||||
'BBB',
|
||||
' '
|
||||
], {
|
||||
A: '#forge:dusts/glowstone',
|
||||
B: '#forge:plates/tin_alloy'
|
||||
}).id('tfg:simplylight/illuminant_slab')
|
||||
|
||||
event.shaped('4x simplylight:wall_lamp', [
|
||||
'BB ',
|
||||
'BA ',
|
||||
'BA '
|
||||
], {
|
||||
A: '#forge:dusts/glowstone',
|
||||
B: '#forge:plates/tin_alloy'
|
||||
}).id('tfg:simplylight/wall_lamp')
|
||||
|
||||
event.shaped('12x simplylight:rodlamp', [
|
||||
'ACA',
|
||||
'ABA',
|
||||
'ACA'
|
||||
], {
|
||||
A: '#forge:dusts/glowstone',
|
||||
B: '#forge:rods/tin_alloy',
|
||||
C: '#forge:bolts/tin_alloy'
|
||||
}).id('tfg:simplylight/rod_lamp')
|
||||
|
||||
event.shaped('2x simplylight:lightbulb', [
|
||||
' A ',
|
||||
'BBB',
|
||||
' '
|
||||
], {
|
||||
A: '#forge:dusts/glowstone',
|
||||
B: '#forge:plates/tin_alloy'
|
||||
}).id('tfg:simplylight/light_bulb')
|
||||
|
||||
event.shaped('6x simplylight:edge_light', [
|
||||
'AAA',
|
||||
'CBC',
|
||||
' '
|
||||
], {
|
||||
A: '#forge:dusts/glowstone',
|
||||
B: '#forge:rods/tin_alloy',
|
||||
C: '#forge:bolts/tin_alloy'
|
||||
}).id('tfg:simplylight/edge_light')
|
||||
|
||||
event.shaped('8x simplylight:lamp_post', [
|
||||
' A ',
|
||||
' B ',
|
||||
'CDC'
|
||||
], {
|
||||
A: '#simplylight:any_lamp_on',
|
||||
B: '#forge:rods/long/bronze',
|
||||
C: '#forge:plates/bronze',
|
||||
D: '#forge:screws/bronze'
|
||||
}).id('tfg:simplylight/lamp_post')
|
||||
|
||||
event.shaped('8x simplylight:illuminant_block_on', [
|
||||
'BAB',
|
||||
'ACA',
|
||||
'BAB'
|
||||
], {
|
||||
A: '#forge:dusts/glowstone',
|
||||
B: '#forge:plates/tin_alloy',
|
||||
C: '#forge:fine_wires/red_alloy',
|
||||
}).id('tfg:simplylight/illuminant_block_on')
|
||||
|
||||
event.shaped('8x simplylight:illuminant_block', [
|
||||
'ABA',
|
||||
'BCB',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:dusts/glowstone',
|
||||
B: '#forge:plates/tin_alloy',
|
||||
C: '#forge:fine_wires/red_alloy',
|
||||
}).id('tfg:simplylight/illuminant_block')
|
||||
}
|
||||
|
|
@ -212,19 +212,21 @@ const registerSophisticatedBackpacksRecipes = (event) => {
|
|||
event.shaped('sophisticatedbackpacks:magnet_upgrade', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'AEA'
|
||||
'FEG'
|
||||
], {
|
||||
A: 'gtceu:hv_robot_arm',
|
||||
A: 'gtceu:lv_robot_arm',
|
||||
B: 'gtceu:item_filter',
|
||||
C: '#gtceu:circuits/hv',
|
||||
C: '#gtceu:circuits/lv',
|
||||
D: 'sophisticatedbackpacks:upgrade_base',
|
||||
E: '#gtceu:batteries/hv'
|
||||
E: 'gtceu:lv_item_magnet',
|
||||
F: '#forge:tools/wrenches',
|
||||
G: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:sophisticated_backpacks/shaped/magnet_upgrade')
|
||||
|
||||
// Улучшение - улучшенный магнит
|
||||
event.shapeless('sophisticatedbackpacks:advanced_magnet_upgrade', [
|
||||
'sophisticatedbackpacks:magnet_upgrade',
|
||||
'#gtceu:circuits/ev'
|
||||
'gtceu:hv_item_magnet'
|
||||
]).id('tfg:sophisticated_backpacks/shapeless/advanced_magnet_upgrade')
|
||||
|
||||
// Улучшение - уничтожитель
|
||||
|
|
@ -239,7 +241,7 @@ const registerSophisticatedBackpacksRecipes = (event) => {
|
|||
D: 'sophisticatedbackpacks:upgrade_base',
|
||||
E: '#forge:tools/wrenches',
|
||||
F: 'gtceu:brass_normal_item_pipe',
|
||||
G: '#forge:ender_pearls'
|
||||
G: 'ae2:ender_dust'
|
||||
}).id('tfg:sophisticated_backpacks/shaped/void_upgrade')
|
||||
|
||||
// Улучшение - улучшенный уничтожитель
|
||||
|
|
@ -313,11 +315,11 @@ const registerSophisticatedBackpacksRecipes = (event) => {
|
|||
'BDB',
|
||||
'EBA'
|
||||
], {
|
||||
A: 'gtceu:zpm_field_generator',
|
||||
B: '#forge:plates/neutronium',
|
||||
C: '#gtceu:circuits/zpm',
|
||||
A: 'gtceu:ev_field_generator',
|
||||
B: '#forge:plates/titanium',
|
||||
C: '#gtceu:circuits/ev',
|
||||
D: 'sophisticatedbackpacks:upgrade_base',
|
||||
E: '#gtceu:batteries/zpm'
|
||||
E: '#gtceu:batteries/ev'
|
||||
}).id('tfg:sophisticated_backpacks/shaped/everlasting_upgrade')
|
||||
|
||||
// Улучшение - верстак
|
||||
|
|
@ -332,7 +334,19 @@ const registerSophisticatedBackpacksRecipes = (event) => {
|
|||
D: 'sophisticatedbackpacks:upgrade_base',
|
||||
}).id('tfg:sophisticated_backpacks/shaped/crafting_upgrade')
|
||||
|
||||
// Улучшение - Stack Lvl. 1
|
||||
// Улучшение - Stack
|
||||
event.shaped('sophisticatedbackpacks:stack_upgrade_starter_tier', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'AEA'
|
||||
], {
|
||||
A: '#gtceu:circuits/hv',
|
||||
B: 'gtceu:mercury_barium_calcium_cuprate_single_wire',
|
||||
C: '#gtceu:batteries/hv',
|
||||
D: 'sophisticatedbackpacks:upgrade_base',
|
||||
E: 'gtceu:hv_field_generator'
|
||||
}).id('tfg:sophisticated_backpacks/shaped/stack_upgrade_starter_tier')
|
||||
|
||||
event.shaped('sophisticatedbackpacks:stack_upgrade_tier_1', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
|
|
@ -357,6 +371,11 @@ const registerSophisticatedBackpacksRecipes = (event) => {
|
|||
D: 'sophisticatedbackpacks:upgrade_base',
|
||||
}).id('tfg:sophisticated_backpacks/shaped/jukebox_upgrade')
|
||||
|
||||
event.shapeless('sophisticatedbackpacks:advanced_jukebox_upgrade', [
|
||||
'sophisticatedbackpacks:jukebox_upgrade',
|
||||
'#gtceu:circuits/mv'
|
||||
]).id('tfg:sophisticated_backpacks/shaped/advanced_jukebox_upgrade')
|
||||
|
||||
// Улучшение - ToolSwapper
|
||||
event.shaped('sophisticatedbackpacks:tool_swapper_upgrade', [
|
||||
'ABC',
|
||||
|
|
@ -377,4 +396,19 @@ const registerSophisticatedBackpacksRecipes = (event) => {
|
|||
'sophisticatedbackpacks:tool_swapper_upgrade',
|
||||
'#gtceu:circuits/mv'
|
||||
]).id('tfg:sophisticated_backpacks/shapeless/advanced_tool_swapper_upgrade')
|
||||
|
||||
// Tank upgrade
|
||||
event.shaped('sophisticatedbackpacks:tank_upgrade', [
|
||||
'ABC',
|
||||
'DEF',
|
||||
'CGA'
|
||||
], {
|
||||
A: '#gtceu:circuits/mv',
|
||||
B: 'gtceu:fluid_filter',
|
||||
C: 'gtceu:mv_electric_pump',
|
||||
D: '#forge:tools/screwdrivers',
|
||||
E: 'sophisticatedbackpacks:upgrade_base',
|
||||
F: '#forge:tools/wrenches',
|
||||
G: 'gtceu:aluminium_drum',
|
||||
}).id('tfg:sophisticated_backpacks/shaped/tank_upgrade')
|
||||
}
|
||||
|
|
@ -9,8 +9,10 @@ const registerTFCDataForTFC = (event) => {
|
|||
registerTFCKnappingTypes(event)
|
||||
registerTFCItemSize(event)
|
||||
registerTFCFoodData(event)
|
||||
registerTFCSupportData(event)
|
||||
}
|
||||
|
||||
//#region registerTFCMetals
|
||||
const registerTFCMetals = (event) => {
|
||||
event.metal('gtceu:copper', 1080, 0.00857, '#forge:ingots/copper', '#forge:double_ingots/copper', '#forge:plates/copper', 1, 'tfc:copper')
|
||||
event.metal('gtceu:bismuth_bronze', 985, 0.00857, '#forge:ingots/bismuth_bronze', '#forge:double_ingots/bismuth_bronze', '#forge:plates/bismuth_bronze', 2, 'tfc:bismuth_bronze')
|
||||
|
|
@ -22,16 +24,6 @@ const registerTFCMetals = (event) => {
|
|||
event.metal('gtceu:blue_steel', 1540, 0.00857, '#forge:ingots/blue_steel', '#forge:double_ingots/blue_steel', '#forge:plates/blue_steel', 6, 'tfc:blue_steel')
|
||||
event.metal('gtceu:red_steel', 1540, 0.00857, '#forge:ingots/red_steel', '#forge:double_ingots/red_steel', '#forge:plates/red_steel', 6, 'tfc:red_steel')
|
||||
|
||||
event.metal('tfg:pig_iron', 1535, 0.00857, '#forge:ingots/pig_iron', null, null, 3, 'tfc:pig_iron')
|
||||
event.metal('tfg:high_carbon_steel', 1540, 0.00857, '#forge:ingots/high_carbon_steel', null, null, 3, 'tfc:high_carbon_steel')
|
||||
event.metal('tfg:high_carbon_black_steel', 1535, 0.00857, '#forge:ingots/high_carbon_black_steel', null, null, 4, 'tfc:high_carbon_black_steel')
|
||||
event.metal('tfg:high_carbon_red_steel', 1535, 0.00857, '#forge:ingots/high_carbon_red_steel', null, null, 5, 'tfc:high_carbon_red_steel')
|
||||
event.metal('tfg:high_carbon_blue_steel', 1535, 0.00857, '#forge:ingots/high_carbon_blue_steel', null, null, 5, 'tfc:high_carbon_blue_steel')
|
||||
event.metal('tfg:weak_steel', 1540, 0.00857, '#forge:ingots/weak_steel', null, null, 4, 'tfc:weak_steel')
|
||||
event.metal('tfg:weak_red_steel', 1540, 0.00857, '#forge:ingots/weak_red_steel', null, null, 5, 'tfc:weak_red_steel')
|
||||
event.metal('tfg:weak_blue_steel', 1540, 0.00857, '#forge:ingots/weak_blue_steel', null, null, 5, 'tfc:weak_blue_steel')
|
||||
event.metal('tfg:unknown', 400, 0.006, '#forge:ingots/unknown', null, null, 0, 'tfc:unknown')
|
||||
|
||||
event.metal('gtceu:iron', 1535, 0.00857, '#forge:ingots/iron', '#forge:double_ingots/iron', '#forge:plates/iron', 3, 'tfc:cast_iron')
|
||||
event.metal('gtceu:tin', 230, 0.02143, '#forge:ingots/tin', '#forge:double_ingots/tin', '#forge:plates/tin', 1, 'tfc:tin')
|
||||
event.metal('gtceu:bismuth', 270, 0.02143, '#forge:ingots/bismuth', '#forge:double_ingots/bismuth', '#forge:plates/bismuth', 1, 'tfc:bismuth')
|
||||
|
|
@ -47,7 +39,9 @@ const registerTFCMetals = (event) => {
|
|||
event.metal('gtceu:red_alloy', 740, 0.01529, '#forge:ingots/red_alloy', null, '#forge:plates/red_alloy', 2, 'tfg:red_alloy')
|
||||
event.metal('gtceu:tin_alloy', 1250, 0.00829, '#forge:ingots/tin_alloy', null, '#forge:plates/tin_alloy', 3, 'tfg:tin_alloy')
|
||||
}
|
||||
//#endregion
|
||||
|
||||
//#region registerTFCHeats
|
||||
const registerTFCHeats = (event) => {
|
||||
|
||||
function makeItemHeatByTagPrefix(tagPrefix, material, tfcProperty, heatCapacity) {
|
||||
|
|
@ -127,22 +121,40 @@ const registerTFCHeats = (event) => {
|
|||
event.itemHeat('tfc:groundcover/seaweed', 1.0, null, null)
|
||||
event.itemHeat('tfc:plant/leafy_kelp', 1.0, null, null)
|
||||
event.itemHeat('tfc:plant/winged_kelp', 1.0, null, null)
|
||||
|
||||
// Misc
|
||||
event.itemHeat('tfg:latex_soaked_gloves', 1.0, null, null)
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach (color => {
|
||||
event.itemHeat(`tfg:decorative_vase/unfired/${color}`, 1.0, null, null)
|
||||
})
|
||||
event.itemHeat('tfg:decorative_vase/unfired', 1.0, null, null)
|
||||
}
|
||||
//#endregion
|
||||
|
||||
//#region registerTFCFuels
|
||||
const registerTFCFuels = (event) => {
|
||||
event.fuel('minecraft:coal', 1415, 2200, 1.0)
|
||||
event.fuel('gtceu:coke_gem', 1415, 4400, 1.0)
|
||||
event.fuel('gtceu:coke_dust', 1415, 1200, 0.95)
|
||||
|
||||
event.fuel('beneath:cursecoal', 1540, 2200, 1.0)
|
||||
|
||||
event.fuel('minecraft:coal', 1415, 2200, 1.0)
|
||||
event.fuel('gtceu:rich_raw_coal', 1415, 2200, 0.95)
|
||||
event.fuel('gtceu:raw_coal', 1415, 1900, 0.95)
|
||||
event.fuel('gtceu:poor_raw_coal', 1415, 1600, 0.95)
|
||||
event.fuel('gtceu:coal_dust', 1415, 600, 0.95)
|
||||
}
|
||||
//#endregion
|
||||
|
||||
//#region registerTFCLampFuels
|
||||
const registerTFCLampFuels = (event) => {
|
||||
event.lampFuel('gtceu:creosote', '#tfc:lamps', 1000)
|
||||
event.lampFuel("gtceu:glowstone", "#tfc:lamps", -1)
|
||||
}
|
||||
//#endregion
|
||||
|
||||
//#region registerTFCFertilizers
|
||||
const registerTFCFertilizers = (event) => {
|
||||
event.fertilizer('gtceu:fertilizer', 0.15, 0.15, 0.15)
|
||||
|
||||
|
|
@ -161,17 +173,43 @@ const registerTFCFertilizers = (event) => {
|
|||
event.fertilizer('gtceu:tiny_bone_dust', null, 0.01, null)
|
||||
event.fertilizer('gtceu:small_bone_dust', null, 0.025, null)
|
||||
}
|
||||
//#endregion
|
||||
|
||||
//#region registerTFCKnappingTypes
|
||||
const registerTFCKnappingTypes = (event) => {
|
||||
// event.knappingType('gtceu:rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:rubber_plate', 'tfg:rubber')
|
||||
// event.knappingType('gtceu:styrene_butadiene_rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:styrene_butadiene_rubber_plate', 'tfg:styrene_butadiene_rubber_plate')
|
||||
// event.knappingType('gtceu:silicone_rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:silicone_rubber_plate', 'tfg:silicone_rubber_plate')
|
||||
}
|
||||
//#endregion
|
||||
|
||||
//#region registerTFCItemSize
|
||||
const registerTFCItemSize = (event) => {
|
||||
// TODO event.itemSize('minecraft:gold_ingot', 'huge', 'very_heavy')
|
||||
}
|
||||
event.itemSize('sophisticatedbackpacks:backpack', 'very_large', 'very_heavy', 'backpack_size')
|
||||
event.itemSize('sophisticatedbackpacks:iron_backpack', 'very_large', 'very_heavy', 'iron_backpack_size')
|
||||
event.itemSize('sophisticatedbackpacks:gold_backpack', 'very_large', 'very_heavy', 'gold_backpack_size')
|
||||
event.itemSize('sophisticatedbackpacks:diamond_backpack', 'very_large', 'very_heavy', 'diamond_backpack_size')
|
||||
event.itemSize('sophisticatedbackpacks:netherite_backpack', 'very_large', 'very_heavy', 'netherite_backpack_size')
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach (color => {
|
||||
event.itemSize(`tfg:decorative_vase/${color}`, 'normal', 'medium', `decorative_vase/${color}`)
|
||||
event.itemSize(`tfg:decorative_vase/unfired/${color}`, 'normal', 'medium', `decorative_vase/unfired/${color}`)
|
||||
})
|
||||
event.itemSize('tfg:decorative_vase', 'normal', 'medium', 'decorative_vase')
|
||||
event.itemSize('tfg:decorative_vase/unfired', 'normal', 'medium', 'decorative_vase/unfired')
|
||||
|
||||
event.itemSize('man_of_many_planes:scarlet_biplane', 'huge', 'very_heavy')
|
||||
event.itemSize('man_of_many_planes:economy_plane', 'huge', 'very_heavy')
|
||||
event.itemSize('immersive_aircraft:airship', 'huge', 'very_heavy')
|
||||
event.itemSize('immersive_aircraft:cargo_airship', 'huge', 'very_heavy')
|
||||
event.itemSize('immersive_aircraft:warship', 'huge', 'very_heavy')
|
||||
event.itemSize('immersive_aircraft:biplane', 'huge', 'very_heavy')
|
||||
event.itemSize('immersive_aircraft:gyrodyne', 'huge', 'very_heavy')
|
||||
event.itemSize('immersive_aircraft:quadrocopter', 'very_large', 'very_heavy')
|
||||
}
|
||||
//#endregion
|
||||
|
||||
//#region registerTFCFoodData
|
||||
const registerTFCFoodData = (event) => {
|
||||
event.foodItem('minecraft:golden_apple', food => {
|
||||
food.hunger(2)
|
||||
|
|
@ -184,4 +222,59 @@ const registerTFCFoodData = (event) => {
|
|||
food.fruit(2)
|
||||
food.decayModifier(0.2)
|
||||
})
|
||||
|
||||
event.foodItem('minecraft:glow_berries', food => {
|
||||
food.hunger(1)
|
||||
food.fruit(0.5)
|
||||
food.water(5)
|
||||
food.decayModifier(2)
|
||||
})
|
||||
|
||||
event.foodItem('minecraft:chorus_fruit', food => {
|
||||
food.hunger(1.5)
|
||||
food.fruit(1)
|
||||
food.water(5)
|
||||
})
|
||||
|
||||
|
||||
event.foodItem('minecraft:red_mushroom', food => {
|
||||
food.hunger(1.5)
|
||||
food.vegetables(1)
|
||||
food.water(5)
|
||||
food.decayModifier(2)
|
||||
})
|
||||
|
||||
event.foodItem('minecraft:brown_mushroom', food => {
|
||||
food.saturation(2)
|
||||
food.hunger(2)
|
||||
food.vegetables(1)
|
||||
food.water(2)
|
||||
food.decayModifier(2)
|
||||
})
|
||||
|
||||
event.foodItem('gtceu:chocolate_coin', food => {
|
||||
food.hunger(1)
|
||||
food.dairy(0.5)
|
||||
})
|
||||
}
|
||||
//#endregion
|
||||
|
||||
//#region registerTFCSupportData
|
||||
//up, down, horizontal
|
||||
const registerTFCSupportData = (event) => {
|
||||
event.support('tfg:light_concrete_support', 4, 4, 8, 'light_concrete_support')
|
||||
event.support('tfg:dark_concrete_support', 4, 4, 8, 'dark_concrete_support')
|
||||
event.support('tfg:reinforced_light_concrete_support', 6, 6, 16, 'reinforced_light_concrete_support')
|
||||
event.support('tfg:reinforced_dark_concrete_support', 6, 6, 16, 'reinforced_dark_concrete_support')
|
||||
event.support('tfg:rebar_support', 4, 4, 8, 'rebar_support')
|
||||
event.support('tfg:steel_support', 6, 6, 16, 'steel_support')
|
||||
|
||||
const other_stone = ['pyroxenite', 'migmatite', 'travertine']
|
||||
const stone_types = global.TFC_STONE_TYPES.concat(other_stone)
|
||||
|
||||
stone_types.forEach(stone => {
|
||||
|
||||
event.support(`tfg:${stone}_support`, 2, 2, 4, `${stone}_support`)
|
||||
})
|
||||
}
|
||||
//#endregion
|
||||
|
|
|
|||
95
kubejs/server_scripts/tfc/recipes.alabaster.js
Normal file
95
kubejs/server_scripts/tfc/recipes.alabaster.js
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFCAlabasterRecipes(event) {
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('4x tfc:alabaster_brick', ['#forge:raw_materials/gypsum', '#tfc:chisels']))
|
||||
.id('tfc:crafting/alabaster_brick/raw_gypsum')
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('2x tfc:alabaster_brick', ['#forge:poor_raw_materials/gypsum', '#tfc:chisels']))
|
||||
.id('tfc:crafting/alabaster_brick/poor_raw_gypsum')
|
||||
|
||||
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('6x tfc:alabaster_brick', ['#forge:rich_raw_materials/gypsum', '#tfc:chisels']))
|
||||
.id('tfc:crafting/alabaster_brick/rich_raw_gypsum')
|
||||
|
||||
// Alabaster Brick
|
||||
event.recipes.gtceu.assembler('tfc:alabaster/bricks')
|
||||
.itemInputs('5x tfc:alabaster_brick')
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 72))
|
||||
.itemOutputs('4x tfc:alabaster/bricks')
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfc:alabaster/bricks')
|
||||
.itemInputs('#tfc:colored_bricks_alabaster')
|
||||
.inputFluids(Fluid.of('gtceu:chlorine', 72))
|
||||
.itemOutputs('tfc:alabaster/bricks')
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
for (let i = 0; i < 16; i++) {
|
||||
event.recipes.gtceu.chemical_bath(`tfg:tfc/alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`)
|
||||
.itemInputs('tfc:alabaster/bricks')
|
||||
.inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72))
|
||||
.itemOutputs(`tfc:alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`)
|
||||
.duration(20)
|
||||
.EUt(7)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
}
|
||||
|
||||
// Raw Alabaster
|
||||
event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/poor_raw_gypsum')
|
||||
.itemInputs('gtceu:poor_raw_gypsum')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 50))
|
||||
.itemOutputs('tfc:alabaster/raw')
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/raw_gypsum')
|
||||
.itemInputs('gtceu:raw_gypsum')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 100))
|
||||
.itemOutputs('2x tfc:alabaster/raw')
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/rich_raw_gypsum')
|
||||
.itemInputs('gtceu:rich_raw_gypsum')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 150))
|
||||
.itemOutputs('3x tfc:alabaster/raw')
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfc:alabaster/raw')
|
||||
.itemInputs('#tfc:colored_bricks_alabaster')
|
||||
.inputFluids(Fluid.of('gtceu:chlorine', 72))
|
||||
.itemOutputs('tfc:alabaster/raw')
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
for (let i = 0; i < 16; i++) {
|
||||
event.recipes.gtceu.chemical_bath(`tfg:alabaster/raw/${global.MINECRAFT_DYE_NAMES[i]}`)
|
||||
.itemInputs('tfc:alabaster/raw')
|
||||
.inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 36))
|
||||
.itemOutputs(`tfc:alabaster/raw/${global.MINECRAFT_DYE_NAMES[i]}`)
|
||||
.duration(20)
|
||||
.EUt(7)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`tfg:alabaster/polished/${global.MINECRAFT_DYE_NAMES[i]}`)
|
||||
.itemInputs('tfc:alabaster/polished')
|
||||
.inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 36))
|
||||
.itemOutputs(`tfc:alabaster/polished/${global.MINECRAFT_DYE_NAMES[i]}`)
|
||||
.duration(20)
|
||||
.EUt(7)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`tfg:alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`)
|
||||
.itemInputs('tfc:alabaster/bricks')
|
||||
.inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 36))
|
||||
.itemOutputs(`tfc:alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`)
|
||||
.duration(20)
|
||||
.EUt(7)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
}
|
||||
}
|
||||
124
kubejs/server_scripts/tfc/recipes.dirt.js
Normal file
124
kubejs/server_scripts/tfc/recipes.dirt.js
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFCDirtRecipes(event) {
|
||||
|
||||
//#region Земля
|
||||
|
||||
// Loam + Silt -> Silty Loam (Миксер)
|
||||
event.recipes.gtceu.mixer('silty_loam_dirt')
|
||||
.itemInputs('tfc:dirt/loam', 'tfc:dirt/silt')
|
||||
.itemOutputs('tfc:dirt/silty_loam')
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
|
||||
// Loam + Sand -> Sandy Loam (Миксер)
|
||||
event.recipes.gtceu.mixer('sandy_loam_dirt')
|
||||
.itemInputs('tfc:dirt/loam', '#forge:sand')
|
||||
.circuit(3)
|
||||
.itemOutputs('tfc:dirt/sandy_loam')
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
|
||||
// Dirt + Sticks -> Rooted Dirt
|
||||
global.TFC_MUD_TYPES.forEach(mud => {
|
||||
event.recipes.gtceu.mixer(`${mud}_to_rooted`)
|
||||
.itemInputs(`tfc:dirt/${mud}`, "#tfc:can_be_lit_on_torch")
|
||||
.itemOutputs(`tfc:rooted_dirt/${mud}`)
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
})
|
||||
|
||||
global.TFC_MUD_TYPES.forEach(mud => {
|
||||
event.smelting(`tfc:dirt/${mud}`, `tfc:mud/${mud}`)
|
||||
.id(`tfg:smelting/${mud}_mud_to_grass`)
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Грязь
|
||||
|
||||
global.TFC_MUD_TYPES.forEach(mud => {
|
||||
// Dirt -> Mud
|
||||
event.recipes.gtceu.mixer(`${mud}_grass_to_mud`)
|
||||
.itemInputs(`tfc:dirt/${mud}`)
|
||||
.inputFluids(Fluid.of('minecraft:water', 100))
|
||||
.circuit(2)
|
||||
.itemOutputs(`tfc:mud/${mud}`)
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
//AE Transform Mud
|
||||
global.TFC_MUD_TYPES.forEach(mud => {
|
||||
event.custom({
|
||||
type: "ae2:transform",
|
||||
circumstance: {
|
||||
type: "fluid",
|
||||
tag: "tfc:water"
|
||||
},
|
||||
ingredients: [
|
||||
{item: `tfc:dirt/${mud}`}],
|
||||
result: {item: `tfc:mud/${mud}`}
|
||||
}).id(`tfg:ae_transform/${mud}_to_mud`)
|
||||
})
|
||||
|
||||
|
||||
//#region Грязь кирпичи
|
||||
|
||||
global.TFC_MUD_TYPES.forEach(mud => {
|
||||
|
||||
// Влажный кирпич -> Кирпич
|
||||
event.smelting(`tfc:mud_brick/${mud}`, `tfc:drying_bricks/${mud}`)
|
||||
.id(`tfg:smelting/${mud}_drying_brick_to_brick`)
|
||||
|
||||
event.custom({
|
||||
type: "firmalife:drying",
|
||||
ingredient: {
|
||||
item: `tfc:drying_bricks/${mud}`
|
||||
},
|
||||
result: {
|
||||
item: `tfc:mud_brick/${mud}`
|
||||
}
|
||||
}).id(`tfg:drying/${mud}_drying_brick_to_brick`)
|
||||
|
||||
// Кирпич -> Блок кирпичей
|
||||
event.shaped(`tfc:mud_bricks/${mud}`, [
|
||||
'ABA',
|
||||
'BAB',
|
||||
'ABA'
|
||||
], {
|
||||
A: `tfc:mud_brick/${mud}`,
|
||||
B: '#tfc:mortar'
|
||||
}).id(`tfc:crafting/soil/${mud}_mud_bricks`)
|
||||
|
||||
event.recipes.gtceu.assembler(`mud_bricks_${mud}`)
|
||||
.itemInputs(`5x tfc:mud_brick/${mud}`)
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 72))
|
||||
.itemOutputs(`4x tfc:mud_bricks/${mud}`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
// Блок кирпичей -> Ступени
|
||||
event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_stairs` })
|
||||
|
||||
event.stonecutting(`tfc:mud_bricks/${mud}_stairs`, `tfc:mud_bricks/${mud}`)
|
||||
.id(`tfc:stonecutting/soil/${mud}_mud_bricks_stairs`)
|
||||
|
||||
// Блок кирпичей -> Плиты
|
||||
event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_slab` })
|
||||
|
||||
event.stonecutting(`2x tfc:mud_bricks/${mud}_slab`, `tfc:mud_bricks/${mud}`)
|
||||
.id(`tfc:stonecutting/soil/${mud}_mud_bricks_slab`)
|
||||
|
||||
// Блок кирпичей -> Стена
|
||||
event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_wall` })
|
||||
|
||||
event.stonecutting(`tfc:mud_bricks/${mud}_wall`, `tfc:mud_bricks/${mud}`)
|
||||
.id(`tfc:stonecutting/soil/${mud}_mud_bricks_wall`)
|
||||
|
||||
})
|
||||
|
||||
//#endregion
|
||||
}
|
||||
132
kubejs/server_scripts/tfc/recipes.dyes.js
Normal file
132
kubejs/server_scripts/tfc/recipes.dyes.js
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
// priority: 0
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
function registerTFCDyeRecipes(event) {
|
||||
|
||||
//#region Выход: Свечи
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`tfg:tfc/candle_decolor`)
|
||||
.itemInputs('#tfc:colored_candles')
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 72))
|
||||
.itemOutputs('tfc:candle')
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dye => {
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`tfg:tfc/${dye}_candle`)
|
||||
.itemInputs('tfc:candle')
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 36))
|
||||
.itemOutputs(`tfc:candle/${dye}`)
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Обычный сосуд
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`unfired_vessel_decolor`)
|
||||
.itemInputs('#tfg:colorized_unfired_vessels')
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 36))
|
||||
.itemOutputs('tfc:ceramic/unfired_vessel')
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`fired_vessel_decolor`)
|
||||
.itemInputs('#tfg:colorized_fired_vessels')
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 36))
|
||||
.itemOutputs('tfc:ceramic/vessel')
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dye => {
|
||||
event.recipes.gtceu.chemical_bath(`${dye}_unfired_vessel`)
|
||||
.itemInputs('tfc:ceramic/unfired_vessel')
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 36))
|
||||
.itemOutputs(`tfc:ceramic/${dye}_unfired_vessel`)
|
||||
.duration(150)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`${dye}_vessel`)
|
||||
.itemInputs('tfc:ceramic/vessel')
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 36))
|
||||
.itemOutputs(`tfc:ceramic/${dye}_glazed_vessel`)
|
||||
.duration(150)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Большой сосуд
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`unfired_large_vessel_decolor`)
|
||||
.itemInputs('#tfg:colorized_unfired_large_vessels')
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 72))
|
||||
.itemOutputs('tfc:ceramic/unfired_large_vessel')
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`fired_large_vessel_decolor`)
|
||||
.itemInputs('#tfg:colorized_fired_large_vessels')
|
||||
.inputFluids(Fluid.of(`gtceu:chlorine`, 72))
|
||||
.itemOutputs('tfc:ceramic/large_vessel')
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dye => {
|
||||
event.recipes.gtceu.chemical_bath(`${dye}_large_unfired_vessel`)
|
||||
.itemInputs('tfc:ceramic/unfired_large_vessel')
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 72))
|
||||
.itemOutputs(`tfc:ceramic/unfired_large_vessel/${dye}`)
|
||||
.duration(150)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
|
||||
event.recipes.gtceu.chemical_bath(`${dye}_large_vessel`)
|
||||
.itemInputs('tfc:ceramic/large_vessel')
|
||||
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 72))
|
||||
.itemOutputs(`tfc:ceramic/large_vessel/${dye}`)
|
||||
.duration(150)
|
||||
.EUt(4)
|
||||
.category(GTRecipeCategories.CHEM_DYES)
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Replace existing dyes
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dyeName => {
|
||||
|
||||
event.remove(`tfc:pot/${dyeName}_dye`);
|
||||
|
||||
let inputArray = new Array(0);
|
||||
|
||||
for (let i = 1; i < 5; i++) {
|
||||
|
||||
inputArray.length = 0;
|
||||
|
||||
for (let j = 1; j < i + 1; j++) {
|
||||
inputArray.push(`#forge:dyes/${dyeName}`);
|
||||
}
|
||||
|
||||
event.recipes.tfc.pot(inputArray, Fluid.of('tfc:salt_water', 250 * i), 600, 2000)
|
||||
.fluidOutput(Fluid.of(`tfc:${dyeName}_dye`, 144 * i))
|
||||
.id(`tfc:pot/${i}x_${dyeName}_dye`)
|
||||
}
|
||||
})
|
||||
|
||||
//#endregion
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
210
kubejs/server_scripts/tfc/recipes.knapping.js
Normal file
210
kubejs/server_scripts/tfc/recipes.knapping.js
Normal file
|
|
@ -0,0 +1,210 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFCKnappingRecipes(event) {
|
||||
|
||||
//#region Топор
|
||||
|
||||
// Инструмент
|
||||
event.remove({ id: `tfc:crafting/stone/axe_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/axe_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/axe_metamorphic` })
|
||||
event.remove({ id: `tfc:crafting/stone/axe_sedimentary` })
|
||||
|
||||
// Оголовья
|
||||
event.remove({ id: `tfc:rock_knapping/axe_head_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/axe_head_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/axe_head_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/axe_head_sedimentary` })
|
||||
|
||||
event.recipes.tfc.knapping('gtceu:stone_axe_head', 'tfc:rock', [
|
||||
" X ",
|
||||
"XXXX ",
|
||||
"XXXXX",
|
||||
"XXXX ",
|
||||
" X "
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_axe_head')
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Молот
|
||||
|
||||
// Инструмент
|
||||
event.remove({ id: `tfc:crafting/stone/hammer_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/hammer_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/hammer_metamorphic` })
|
||||
event.remove({ id: `tfc:crafting/stone/hammer_sedimentary` })
|
||||
|
||||
// Оголовья
|
||||
event.remove({ id: `tfc:rock_knapping/hammer_head_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hammer_head_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hammer_head_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/hammer_head_sedimentary` })
|
||||
|
||||
event.recipes.tfc.knapping('gtceu:stone_hammer_head', 'tfc:rock', [
|
||||
"XXXXX",
|
||||
"XXXXX",
|
||||
" X "
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_hammer_head')
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Мотыга
|
||||
|
||||
// Инструмент
|
||||
event.remove({ id: `tfc:crafting/stone/hoe_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/hoe_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/hoe_metamorphic` })
|
||||
event.remove({ id: `tfc:crafting/stone/hoe_sedimentary` })
|
||||
|
||||
// Оголовья
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_1_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_2_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_sedimentary` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_1_sedimentary` })
|
||||
event.remove({ id: `tfc:rock_knapping/hoe_head_2_sedimentary` })
|
||||
|
||||
event.recipes.tfc.knapping('gtceu:stone_hoe_head', 'tfc:rock', [
|
||||
"XXXXX",
|
||||
" XX"
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_hoe_head')
|
||||
|
||||
event.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [
|
||||
"XXXXX",
|
||||
"XX ",
|
||||
" ",
|
||||
"XXXXX",
|
||||
"XX "
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_hoe_head_1')
|
||||
|
||||
event.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [
|
||||
"XXXXX",
|
||||
"XX ",
|
||||
" ",
|
||||
"XXXXX",
|
||||
" XX"
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_hoe_head_2')
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Нож
|
||||
|
||||
// Инструмент
|
||||
event.remove({ id: `tfc:crafting/stone/knife_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/knife_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/knife_metamorphic` })
|
||||
event.remove({ id: `tfc:crafting/stone/knife_sedimentary` })
|
||||
|
||||
// Оголовья
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_1_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_2_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_3_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_sedimentary` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_1_sedimentary` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_2_sedimentary` })
|
||||
event.remove({ id: `tfc:rock_knapping/knife_head_3_sedimentary` })
|
||||
|
||||
event.recipes.tfc.knapping('gtceu:stone_knife_head', 'tfc:rock', [
|
||||
"X ",
|
||||
"XX",
|
||||
"XX",
|
||||
"XX",
|
||||
"XX"
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_knife_head')
|
||||
|
||||
event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [
|
||||
"X X ",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX"
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_knife_head_1')
|
||||
|
||||
event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [
|
||||
"X X",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX"
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_knife_head_2')
|
||||
|
||||
event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [
|
||||
" X X ",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX"
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_knife_head_3')
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Лопата
|
||||
|
||||
// Инструмент
|
||||
event.remove({ id: `tfc:crafting/stone/shovel_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/shovel_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:crafting/stone/shovel_metamorphic` })
|
||||
event.remove({ id: `tfc:crafting/stone/shovel_sedimentary` })
|
||||
|
||||
// Оголовья
|
||||
event.remove({ id: `tfc:rock_knapping/shovel_head_igneous_extrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/shovel_head_igneous_intrusive` })
|
||||
event.remove({ id: `tfc:rock_knapping/shovel_head_metamorphic` })
|
||||
event.remove({ id: `tfc:rock_knapping/shovel_head_sedimentary` })
|
||||
|
||||
event.recipes.tfc.knapping('gtceu:stone_shovel_head', 'tfc:rock', [
|
||||
"XXX",
|
||||
"XXX",
|
||||
"XXX",
|
||||
"XXX",
|
||||
" X "
|
||||
])
|
||||
.ingredient('#tfc:rock_knapping')
|
||||
.outsideSlotRequired(false)
|
||||
.id('tfg:rock_knapping/stone_shovel_head')
|
||||
|
||||
//#endregion
|
||||
|
||||
}
|
||||
423
kubejs/server_scripts/tfc/recipes.machines.js
Normal file
423
kubejs/server_scripts/tfc/recipes.machines.js
Normal file
|
|
@ -0,0 +1,423 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFCMachineRecipes(event) {
|
||||
|
||||
// Бумага
|
||||
event.recipes.gtceu.cutter('tfg:unrefined_paper')
|
||||
.itemInputs('tfc:unrefined_paper')
|
||||
.itemOutputs('minecraft:paper')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
// Limewater
|
||||
event.recipes.gtceu.mixer('tfg:limewater_from_lime')
|
||||
.itemInputs('tfc:powder/lime')
|
||||
.inputFluids(Fluid.of('water', 500))
|
||||
.outputFluids(Fluid.of('tfc:limewater', 500))
|
||||
.duration(20)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:limewater_from_flux')
|
||||
.itemInputs('tfc:powder/flux')
|
||||
.inputFluids(Fluid.of('water', 500))
|
||||
.outputFluids(Fluid.of('tfc:limewater', 500))
|
||||
.duration(20)
|
||||
.EUt(16)
|
||||
|
||||
// Tannin
|
||||
event.recipes.gtceu.chemical_bath('tfg:tannin')
|
||||
.itemInputs('#tfc:makes_tannin')
|
||||
.inputFluids(Fluid.of('water', 1000))
|
||||
.outputFluids(Fluid.of('tfc:tannin', 1000))
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
// Soaked hides
|
||||
event.recipes.gtceu.chemical_bath('tfg:small_soaked_hide')
|
||||
.itemInputs('tfc:small_raw_hide')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 300))
|
||||
.itemOutputs('tfc:small_soaked_hide')
|
||||
.duration(1600)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:medium_soaked_hide')
|
||||
.itemInputs('tfc:medium_raw_hide')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 400))
|
||||
.itemOutputs('tfc:medium_soaked_hide')
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:large_soaked_hide')
|
||||
.itemInputs('tfc:large_raw_hide')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 500))
|
||||
.itemOutputs('tfc:large_soaked_hide')
|
||||
.duration(3200)
|
||||
.EUt(16)
|
||||
|
||||
// Scraped Hides
|
||||
event.recipes.gtceu.cutter('tfg:small_scraped_hide')
|
||||
.itemInputs('tfc:small_soaked_hide')
|
||||
.itemOutputs('tfc:small_scraped_hide')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:medium_scraped_hide')
|
||||
.itemInputs('tfc:medium_soaked_hide')
|
||||
.itemOutputs('tfc:medium_scraped_hide')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:large_scraped_hide')
|
||||
.itemInputs('tfc:large_soaked_hide')
|
||||
.itemOutputs('tfc:large_scraped_hide')
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
// Prepared hides
|
||||
event.recipes.gtceu.chemical_bath('tfg:small_prepared_hide')
|
||||
.itemInputs('tfc:small_soaked_hide')
|
||||
.inputFluids(Fluid.of('water', 300))
|
||||
.itemOutputs('tfc:small_prepared_hide')
|
||||
.duration(1600)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:medium_prepared_hide')
|
||||
.itemInputs('tfc:medium_soaked_hide')
|
||||
.inputFluids(Fluid.of('water', 400))
|
||||
.itemOutputs('tfc:medium_prepared_hide')
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:large_prepared_hide')
|
||||
.itemInputs('tfc:large_soaked_hide')
|
||||
.inputFluids(Fluid.of('water', 500))
|
||||
.itemOutputs('tfc:large_prepared_hide')
|
||||
.duration(3200)
|
||||
.EUt(16)
|
||||
|
||||
// Leather
|
||||
event.recipes.gtceu.chemical_bath('tfg:small_leather')
|
||||
.itemInputs('tfc:small_prepared_hide')
|
||||
.inputFluids(Fluid.of('tfc:tannin', 300))
|
||||
.itemOutputs('minecraft:leather')
|
||||
.duration(1600)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:medium_leather')
|
||||
.itemInputs('tfc:medium_prepared_hide')
|
||||
.inputFluids(Fluid.of('tfc:tannin', 400))
|
||||
.itemOutputs('2x minecraft:leather')
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:large_leather')
|
||||
.itemInputs('tfc:large_prepared_hide')
|
||||
.inputFluids(Fluid.of('tfc:tannin', 500))
|
||||
.itemOutputs('3x minecraft:leather')
|
||||
.duration(3200)
|
||||
.EUt(16)
|
||||
|
||||
//#region Рецепты плоского теста
|
||||
|
||||
global.TFC_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS.forEach(element => {
|
||||
event.recipes.gtceu.mixer(element.name)
|
||||
.itemInputs(element.input)
|
||||
.inputFluids(Fluid.of('minecraft:water', 100))
|
||||
.itemOutputs(element.output)
|
||||
.duration(300)
|
||||
.EUt(16)
|
||||
.circuit(3)
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Молды в ассемблере
|
||||
|
||||
for (let i = 0; i < global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) {
|
||||
let element = global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i];
|
||||
|
||||
event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`)
|
||||
.itemInputs(element.input)
|
||||
.circuit(i)
|
||||
.itemOutputs(element.output)
|
||||
.duration(450)
|
||||
.EUt(2)
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Стеклянные смеси в бутылки в ассемблере
|
||||
|
||||
global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS.forEach(element => {
|
||||
event.recipes.gtceu.alloy_smelter(`tfg:tfc/${element.name}`)
|
||||
.itemInputs(element.input)
|
||||
.notConsumable('gtceu:bottle_casting_mold')
|
||||
.itemOutputs(element.output)
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region СЫЫЫР 0_0
|
||||
|
||||
// Rennet
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/vegetable_rennet')
|
||||
.itemInputs('#tfg:ferments_to_rennet')
|
||||
.itemOutputs('firmalife:rennet')
|
||||
.duration(400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/biomass_rennet')
|
||||
.inputFluids(Fluid.of('gtceu:fermented_biomass', 100))
|
||||
.itemOutputs('firmalife:rennet')
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
// Curdled milk
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/curdled_milk')
|
||||
.inputFluids(Fluid.of('minecraft:milk', 1000))
|
||||
.itemInputs('firmalife:rennet')
|
||||
.outputFluids(Fluid.of('tfc:curdled_milk'))
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/curdled_yak_milk')
|
||||
.inputFluids(Fluid.of('firmalife:yak_milk', 1000))
|
||||
.itemInputs('firmalife:rennet')
|
||||
.outputFluids(Fluid.of('firmalife:curdled_yak_milk'))
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/curdled_goat_milk')
|
||||
.inputFluids(Fluid.of('firmalife:goat_milk', 1000))
|
||||
.itemInputs('firmalife:rennet')
|
||||
.outputFluids(Fluid.of('firmalife:curdled_goat_milk'))
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
//Curds
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/milk_curd')
|
||||
.inputFluids(Fluid.of('tfc:curdled_milk', 1000))
|
||||
.itemOutputs('firmalife:food/milk_curd')
|
||||
.duration(1200)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/yak_curd')
|
||||
.inputFluids(Fluid.of('firmalife:curdled_yak_milk', 1000))
|
||||
.itemOutputs('firmalife:food/yak_curd')
|
||||
.duration(1200)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/goat_curd')
|
||||
.inputFluids(Fluid.of('firmalife:curdled_goat_milk', 1000))
|
||||
.itemOutputs('firmalife:food/goat_curd')
|
||||
.duration(1200)
|
||||
.EUt(16)
|
||||
|
||||
// Cheese wheels
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/gouda_wheel')
|
||||
.inputFluids(Fluid.of('tfc:salt_water', 750))
|
||||
.itemInputs('3x firmalife:food/milk_curd')
|
||||
.itemOutputs('firmalife:gouda_wheel')
|
||||
.duration(12000)
|
||||
.EUt(24)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/shosha_wheel')
|
||||
.inputFluids(Fluid.of('tfc:salt_water', 750))
|
||||
.itemInputs('3x firmalife:food/yak_curd')
|
||||
.itemOutputs('firmalife:shosha_wheel')
|
||||
.duration(12000)
|
||||
.EUt(24)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/feta_wheel')
|
||||
.inputFluids(Fluid.of('tfc:salt_water', 750))
|
||||
.itemInputs('3x firmalife:food/goat_curd')
|
||||
.itemOutputs('firmalife:feta_wheel')
|
||||
.duration(12000)
|
||||
.EUt(24)
|
||||
|
||||
// Cutting
|
||||
event.recipes.gtceu.cutter('tfg:cutter/gouda')
|
||||
.itemInputs('firmalife:gouda_wheel')
|
||||
.itemOutputs('4x firmalife:food/gouda')
|
||||
.duration(40)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:cutter/shosha')
|
||||
.itemInputs('firmalife:shosha_wheel')
|
||||
.itemOutputs('4x firmalife:food/shosha')
|
||||
.duration(40)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:cutter/feta')
|
||||
.itemInputs('firmalife:feta_wheel')
|
||||
.itemOutputs('4x firmalife:food/feta')
|
||||
.duration(40)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:cutter/cheddar')
|
||||
.itemInputs('firmalife:cheddar_wheel')
|
||||
.itemOutputs('4x firmalife:food/cheddar')
|
||||
.duration(40)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:cutter/chevre')
|
||||
.itemInputs('firmalife:chevre_wheel')
|
||||
.itemOutputs('4x firmalife:food/chevre')
|
||||
.duration(40)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.cutter('tfg:cutter/rajya_metok')
|
||||
.itemInputs('firmalife:rajya_metok_wheel')
|
||||
.itemOutputs('4x firmalife:food/rajya_metok')
|
||||
.duration(40)
|
||||
.EUt(7)
|
||||
|
||||
// Misc
|
||||
global.TFC_MILKS.forEach(milk => {
|
||||
event.recipes.gtceu.fermenter(`tfg:fermenter/cream_from_${milk.id.replace(':', '_')}`)
|
||||
.inputFluids(Fluid.of(milk.id, 1000))
|
||||
.outputFluids(Fluid.of('firmalife:cream'))
|
||||
.duration(1200)
|
||||
.EUt(24)
|
||||
})
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:mixer/tomato_sauce')
|
||||
.itemInputs('firmalife:food/tomato_sauce_mix')
|
||||
.inputFluids(Fluid.of('minecraft:water', 200))
|
||||
.itemOutputs('firmalife:food/tomato_sauce')
|
||||
.duration(200)
|
||||
.EUt(24)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Оливки
|
||||
|
||||
event.recipes.gtceu.macerator(`tfg:tfc/olive_paste`)
|
||||
.itemInputs('tfc:food/olive')
|
||||
.itemOutputs('2x tfc:olive_paste')
|
||||
.duration(60)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:tfc/olive_oil_water')
|
||||
.inputFluids(Fluid.of('water', 200))
|
||||
.itemInputs('2x tfc:olive_paste')
|
||||
.outputFluids(Fluid.of('tfc:olive_oil_water', 200))
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.distillery('tfg:tfc/olive_oil')
|
||||
.inputFluids(Fluid.of('tfc:olive_oil_water', 250))
|
||||
.outputFluids(Fluid.of('tfc:olive_oil', 50))
|
||||
.duration(600)
|
||||
.EUt(28)
|
||||
|
||||
//#endregion
|
||||
|
||||
// Lamp Glass
|
||||
event.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass`)
|
||||
.itemInputs('#tfc:glass_batches')
|
||||
.notConsumable('#tfg:unfinished_lamps')
|
||||
.itemOutputs('tfc:lamp_glass')
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
// Glass lens
|
||||
event.recipes.gtceu.alloy_smelter(`tfg:tfc/glass_lens`)
|
||||
.itemInputs('tfc:silica_glass_batch')
|
||||
.notConsumable('#forge:lenses')
|
||||
.itemOutputs('tfc:lens')
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
// Empty Jar
|
||||
event.recipes.gtceu.assembler(`tfg:tfc/glass_jar`)
|
||||
.itemInputs('#tfc:glass_batches_tier_2')
|
||||
.circuit(2)
|
||||
.itemOutputs('tfc:empty_jar')
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
// Wool Yarn
|
||||
event.recipes.gtceu.macerator('macerate_wool')
|
||||
.itemInputs('#minecraft:wool')
|
||||
.itemOutputs('tfc:wool_yarn')
|
||||
.chancedOutput('tfc:wool_yarn', 9000, 0)
|
||||
.chancedOutput('tfc:wool_yarn', 5000, 0)
|
||||
.chancedOutput('tfc:wool_yarn', 2000, 0)
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
// LimeWater + Sand -> Mortar
|
||||
event.recipes.gtceu.centrifuge('mortar')
|
||||
.itemInputs('#forge:sand')
|
||||
.inputFluids(Fluid.of('tfc:limewater', 100))
|
||||
.itemOutputs('16x tfc:mortar')
|
||||
.duration(800)
|
||||
.EUt(8)
|
||||
|
||||
|
||||
// 1x Small SheepSkin -> 1x Wool
|
||||
event.recipes.gtceu.assembler('tfg:tfc/wool_1')
|
||||
.itemInputs('tfc:small_sheepskin_hide')
|
||||
.itemOutputs('tfc:wool')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// 1x Medium SheepSkin -> 1x Wool
|
||||
event.recipes.gtceu.assembler('tfg:tfc/wool_2')
|
||||
.itemInputs('tfc:medium_sheepskin_hide')
|
||||
.itemOutputs('2x tfc:wool')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// 1x Large SheepSkin -> 1x Wool
|
||||
event.recipes.gtceu.assembler('tfg:tfc/wool_3')
|
||||
.itemInputs('tfc:large_sheepskin_hide')
|
||||
.itemOutputs('3x tfc:wool')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Wool Yarn
|
||||
event.recipes.gtceu.wiremill('tfg:tfc/wool_yarn')
|
||||
.itemInputs('tfc:wool')
|
||||
.itemOutputs('8x tfc:wool_yarn')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Burlap Cloth
|
||||
event.recipes.gtceu.assembler('tfg:tfc/burlap_cloth')
|
||||
.itemInputs('12x tfc:jute_fiber')
|
||||
.circuit(0)
|
||||
.itemOutputs('tfc:burlap_cloth')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Silk Cloth
|
||||
event.recipes.gtceu.assembler('tfg:tfc/silk_cloth')
|
||||
.itemInputs('24x minecraft:string')
|
||||
.circuit(0)
|
||||
.itemOutputs('tfc:silk_cloth')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Wool Cloth
|
||||
event.recipes.gtceu.assembler('tfg:tfc/wool_cloth')
|
||||
.itemInputs('16x tfc:wool_yarn')
|
||||
.circuit(0)
|
||||
.itemOutputs('tfc:wool_cloth')
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Cloths to Wool
|
||||
event.recipes.gtceu.assembler('tfg:tfc/cloth_to_wool')
|
||||
.itemInputs('4x #tfc:sewing_light_cloth')
|
||||
.itemOutputs('8x minecraft:white_wool')
|
||||
.circuit(16)
|
||||
.duration(100)
|
||||
.EUt(4)
|
||||
|
||||
// Jute Fiber
|
||||
generateMixerRecipe(event, 'tfc:jute', Fluid.of('minecraft:water', 200), 'tfc:jute_fiber', null, [], 100, 4, 16, 'tfg:tfc/jute_fiber')
|
||||
}
|
||||
1283
kubejs/server_scripts/tfc/recipes.materials.js
Normal file
1283
kubejs/server_scripts/tfc/recipes.materials.js
Normal file
File diff suppressed because it is too large
Load diff
335
kubejs/server_scripts/tfc/recipes.metals.js
Normal file
335
kubejs/server_scripts/tfc/recipes.metals.js
Normal file
|
|
@ -0,0 +1,335 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFCMetalsRecipes(event) {
|
||||
|
||||
//#region Рецепты для новых сплавов
|
||||
|
||||
event.recipes.tfc.alloy('tfg:red_alloy', [
|
||||
TFC.alloyPart('tfg:redstone', 0.75, 0.85),
|
||||
TFC.alloyPart('tfc:copper', 0.15, 0.25)
|
||||
]).id('tfg:alloy/red_alloy')
|
||||
|
||||
event.recipes.tfc.alloy('tfg:tin_alloy', [
|
||||
TFC.alloyPart('tfc:tin', 0.45, 0.55),
|
||||
TFC.alloyPart('tfc:cast_iron', 0.45, 0.55)
|
||||
]).id('tfg:alloy/tin_alloy')
|
||||
|
||||
//#endregion
|
||||
|
||||
|
||||
//#region Фикс рецептов колоколов
|
||||
|
||||
//#region Из золота
|
||||
|
||||
event.recipes.tfc.casting(`minecraft:bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:gold', 144), 1)
|
||||
.id(`tfc:casting/gold_bell`)
|
||||
|
||||
event.recipes.tfc.heating(`minecraft:bell`, 1060)
|
||||
.resultFluid(Fluid.of('gtceu:gold', 144))
|
||||
.id(`tfc:heating/gold_bell`)
|
||||
|
||||
event.recipes.create.filling(
|
||||
Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Gold, 144)),
|
||||
[
|
||||
Fluid.of(GTMaterials.Gold.getFluid(), 144),
|
||||
Item.of('tfc:ceramic/bell_mold').strongNBT()
|
||||
]
|
||||
).id(`tfg:tfc/filling/${GTMaterials.Gold.getName()}_bell_mold`)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Из латуни
|
||||
|
||||
event.recipes.tfc.casting(`tfc:brass_bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:brass', 144), 1)
|
||||
.id(`tfc:casting/brass_bell`)
|
||||
|
||||
event.recipes.tfc.heating(`tfc:brass_bell`, 930)
|
||||
.resultFluid(Fluid.of('gtceu:brass', 144))
|
||||
.id(`tfc:heating/brass_bell`)
|
||||
|
||||
event.recipes.create.filling(
|
||||
Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Brass, 144)),
|
||||
[
|
||||
Fluid.of(GTMaterials.Brass.getFluid(), 144),
|
||||
Item.of('tfc:ceramic/bell_mold').strongNBT()
|
||||
]
|
||||
).id(`tfg:tfc/filling/${GTMaterials.Brass.getName()}_bell_mold`)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Из бронзы
|
||||
|
||||
event.recipes.tfc.casting(`tfc:bronze_bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:bronze', 144), 1)
|
||||
.id(`tfc:casting/bronze_bell`)
|
||||
|
||||
event.recipes.tfc.heating(`tfc:bronze_bell`, 930)
|
||||
.resultFluid(Fluid.of('gtceu:bronze', 144))
|
||||
.id(`tfc:heating/bronze_bell`)
|
||||
|
||||
event.recipes.create.filling(
|
||||
Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Bronze, 144)),
|
||||
[
|
||||
Fluid.of(GTMaterials.Bronze.getFluid(), 144),
|
||||
Item.of('tfc:ceramic/bell_mold').strongNBT()
|
||||
]
|
||||
).id(`tfg:tfc/filling/${GTMaterials.Bronze.getName()}_bell_mold`)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Рецепты ковки TFC слитков в GT машинах
|
||||
|
||||
// Сырая крица -> Укрепленная крица
|
||||
event.recipes.gtceu.forge_hammer('tfg/refined_bloom')
|
||||
.itemInputs('tfc:raw_iron_bloom')
|
||||
.itemOutputs('tfc:refined_iron_bloom')
|
||||
.duration(1000)
|
||||
.EUt(4)
|
||||
|
||||
// Укрепленная крица -> Слиток кованного железа
|
||||
event.recipes.gtceu.forge_hammer('tfg/wrought_iron_ingot')
|
||||
.itemInputs('tfc:refined_iron_bloom')
|
||||
.itemOutputs('gtceu:wrought_iron_ingot')
|
||||
.duration(1000)
|
||||
.EUt(4)
|
||||
|
||||
// Чугун -> Высокоуглеродная сталь
|
||||
event.recipes.gtceu.forge_hammer('tfg/high_carbon_steel')
|
||||
.itemInputs('tfc:metal/ingot/pig_iron')
|
||||
.itemOutputs('tfc:metal/ingot/high_carbon_steel')
|
||||
.duration(700)
|
||||
.EUt(4)
|
||||
|
||||
// Высокоуглеродная сталь -> Cталь
|
||||
event.recipes.gtceu.forge_hammer('tfg/steel')
|
||||
.itemInputs('tfc:metal/ingot/high_carbon_steel')
|
||||
.itemOutputs('gtceu:steel_ingot')
|
||||
.duration(700)
|
||||
.EUt(4)
|
||||
|
||||
// Высокоуглеродная черная сталь -> черная сталь
|
||||
event.recipes.gtceu.forge_hammer('tfg/black_steel')
|
||||
.itemInputs('tfc:metal/ingot/high_carbon_black_steel')
|
||||
.itemOutputs('tfc:metal/ingot/black_steel')
|
||||
.duration(900)
|
||||
.EUt(4)
|
||||
|
||||
// Высокоуглеродная синяя сталь -> синяя сталь
|
||||
event.recipes.gtceu.forge_hammer('tfg/blue_steel')
|
||||
.itemInputs('tfc:metal/ingot/high_carbon_blue_steel')
|
||||
.itemOutputs('tfc:metal/ingot/blue_steel')
|
||||
.duration(1000)
|
||||
.EUt(4)
|
||||
|
||||
// Высокоуглеродная красная сталь -> красная сталь
|
||||
event.recipes.gtceu.forge_hammer('tfg/red_steel')
|
||||
.itemInputs('tfc:metal/ingot/high_carbon_red_steel')
|
||||
.itemOutputs('tfc:metal/ingot/red_steel')
|
||||
.duration(1000)
|
||||
.EUt(4)
|
||||
|
||||
// Слабая сталь + Чугун -> Высокоуглеродная черная сталь
|
||||
event.recipes.gtceu.alloy_smelter('tfg/high_carbon_black_steel')
|
||||
.itemInputs('tfc:metal/ingot/weak_steel', 'tfc:metal/ingot/pig_iron')
|
||||
.itemOutputs('2x tfc:metal/ingot/high_carbon_black_steel')
|
||||
.duration(1000)
|
||||
.EUt(4)
|
||||
|
||||
// Слабая синяя сталь + Черная сталь -> Высокоуглеродная синяя сталь
|
||||
event.recipes.gtceu.alloy_smelter('tfg/high_carbon_blue_steel')
|
||||
.itemInputs('tfc:metal/ingot/weak_blue_steel', 'tfc:metal/ingot/black_steel')
|
||||
.itemOutputs('2x tfc:metal/ingot/high_carbon_blue_steel')
|
||||
.duration(1000)
|
||||
.EUt(4)
|
||||
|
||||
// Слабая красная сталь + Черная сталь -> Высокоуглеродная красная сталь
|
||||
event.recipes.gtceu.alloy_smelter('tfg/high_carbon_red_steel')
|
||||
.itemInputs('tfc:metal/ingot/weak_red_steel', 'tfc:metal/ingot/black_steel')
|
||||
.itemOutputs('2x tfc:metal/ingot/high_carbon_red_steel')
|
||||
.duration(1000)
|
||||
.EUt(4)
|
||||
|
||||
const TFC_INTERMEDIATE_METALS =
|
||||
[
|
||||
{ metal: 'pig_iron', meltTemp: 1535 },
|
||||
{ metal: 'high_carbon_steel', meltTemp: 1540 },
|
||||
{ metal: 'high_carbon_black_steel', meltTemp: 1540 },
|
||||
{ metal: 'high_carbon_red_steel', meltTemp: 1540 },
|
||||
{ metal: 'high_carbon_blue_steel', meltTemp: 1540 },
|
||||
{ metal: 'weak_steel', meltTemp: 1540 },
|
||||
{ metal: 'weak_blue_steel', meltTemp: 1540 },
|
||||
{ metal: 'weak_red_steel', meltTemp: 1540 },
|
||||
{ metal: 'unknown', meltTemp: 400 }
|
||||
]
|
||||
|
||||
TFC_INTERMEDIATE_METALS.forEach(x => {
|
||||
|
||||
event.recipes.tfc.casting(`tfc:metal/ingot/${x.metal}`, 'tfc:ceramic/ingot_mold', Fluid.of(`tfc:metal/${x.metal}`, 144), 0.1)
|
||||
.id(`tfc:casting/${x.metal}_ingot`)
|
||||
|
||||
event.recipes.tfc.casting(`tfc:metal/ingot/${x.metal}`, 'tfc:ceramic/fire_ingot_mold', Fluid.of(`tfc:metal/${x.metal}`, 144), 0.01)
|
||||
.id(`tfc:casting/${x.metal}_fire_ingot`)
|
||||
|
||||
event.recipes.tfc.heating(`tfc:metal/ingot/${x.metal}`, x.meltTemp)
|
||||
.resultFluid(Fluid.of(`tfc:metal/${x.metal}`, 144))
|
||||
.id(`tfc:heating/metal/${x.metal}_ingot`)
|
||||
|
||||
event.recipes.create.filling(
|
||||
Item.of('tfc:ceramic/ingot_mold',
|
||||
{
|
||||
tank: {
|
||||
FluidName: `tfc:metal/${x.metal}`,
|
||||
Amount: 144
|
||||
}
|
||||
}),
|
||||
[
|
||||
Fluid.of(`tfc:metal/${x.metal}`, 144),
|
||||
Item.of('tfc:ceramic/ingot_mold').strongNBT()
|
||||
])
|
||||
.id(`tfg:tfc/filling/${x.metal}_ingot`)
|
||||
|
||||
event.recipes.create.filling(
|
||||
Item.of('tfc:ceramic/fire_ingot_mold',
|
||||
{
|
||||
tank: {
|
||||
FluidName: `tfc:metal/${x.metal}`,
|
||||
Amount: 144
|
||||
}
|
||||
}),
|
||||
[
|
||||
Fluid.of(`tfc:metal/${x.metal}`, 144),
|
||||
Item.of('tfc:ceramic/fire_ingot_mold').strongNBT()
|
||||
]
|
||||
).id(`tfg:tfc/filling/${x.metal}_fire_ingot`)
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Фикс рецептов металлических предметов
|
||||
|
||||
// Рецепт Jacks
|
||||
event.recipes.tfc.welding('tfc:jacks', '#forge:rods/brass', '#forge:plates/brass', 2)
|
||||
.id(`tfc:welding/jacks`)
|
||||
|
||||
// Декрафт Jacks
|
||||
event.recipes.tfc.heating('tfc:jacks', 930)
|
||||
.resultFluid(Fluid.of('gtceu:brass', 144))
|
||||
.id(`tfc:heating/jacks`)
|
||||
|
||||
// Декрафт Gem Saw
|
||||
event.recipes.tfc.heating('tfc:gem_saw', 930)
|
||||
.resultFluid(Fluid.of('gtceu:brass', 72))
|
||||
.id(`tfc:heating/gem_saw`)
|
||||
|
||||
// Декрафт сырой крицы в жидкость
|
||||
event.recipes.tfc.heating(`tfc:raw_iron_bloom`, 1535)
|
||||
.resultFluid(Fluid.of('gtceu:iron', 144))
|
||||
.id(`tfc:heating/raw_bloom`)
|
||||
|
||||
// Декрафт укрепленной крицы в жидкость
|
||||
event.recipes.tfc.heating(`tfc:refined_iron_bloom`, 1535)
|
||||
.resultFluid(Fluid.of('gtceu:iron', 144))
|
||||
.id(`tfc:heating/refined_bloom`)
|
||||
|
||||
// Гриль
|
||||
event.recipes.tfc.heating('tfc:wrought_iron_grill', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:iron', 288))
|
||||
.id(`tfc:heating/grill`)
|
||||
|
||||
// Ванильная дверь декрафт
|
||||
event.recipes.tfc.heating('minecraft:iron_door', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:iron', 144))
|
||||
.id(`tfc:heating/iron_door`)
|
||||
|
||||
// Ванильная дверь на наковальне
|
||||
event.recipes.tfc.anvil('minecraft:iron_door', '#forge:plates/wrought_iron', ['hit_last', 'draw_not_last', 'punch_not_last'])
|
||||
.tier(3)
|
||||
.id(`tfc:anvil/iron_door`)
|
||||
|
||||
// Bloom -> Wrought Iron Ingot
|
||||
event.recipes.tfc.anvil('gtceu:wrought_iron_ingot', 'tfc:refined_iron_bloom', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(2)
|
||||
.id('tfc:anvil/wrought_iron_from_bloom')
|
||||
|
||||
// High Carbon Steel Ingot -> Steel Ingot
|
||||
event.recipes.tfc.anvil('gtceu:steel_ingot', 'tfc:metal/ingot/high_carbon_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(3)
|
||||
.id('tfc:anvil/steel_ingot')
|
||||
|
||||
// High Carbon Black Steel Ingot -> Black Steel Ingot
|
||||
event.recipes.tfc.anvil('tfc:metal/ingot/black_steel', 'tfc:metal/ingot/high_carbon_black_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(4)
|
||||
.id('tfc:anvil/black_steel_ingot')
|
||||
|
||||
// High Carbon Red Steel Ingot -> Red Steel Ingot
|
||||
event.recipes.tfc.anvil('tfc:metal/ingot/red_steel', 'tfc:metal/ingot/high_carbon_red_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(5)
|
||||
.id('tfc:anvil/red_steel_ingot')
|
||||
|
||||
// High Carbon Blue Steel Ingot -> Blue Steel Ingot
|
||||
event.recipes.tfc.anvil('tfc:metal/ingot/blue_steel', 'tfc:metal/ingot/high_carbon_blue_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(5)
|
||||
.id('tfc:anvil/blue_steel_ingot')
|
||||
|
||||
// Gears
|
||||
event.recipes.tfc.anvil('gtceu:bronze_gear', '#forge:double_plates/bronze', ['punch_last', 'shrink_any', 'draw_any']).tier(2)
|
||||
.id('tfc:anvil/bronze_gear')
|
||||
event.recipes.tfc.anvil('gtceu:black_bronze_gear', '#forge:double_plates/black_bronze', ['punch_last', 'shrink_any', 'draw_any']).tier(2)
|
||||
.id('tfc:anvil/black_bronze_gear')
|
||||
event.recipes.tfc.anvil('gtceu:bismuth_bronze_gear', '#forge:double_plates/bismuth_bronze', ['punch_last', 'shrink_any', 'draw_any']).tier(2)
|
||||
.id('tfc:anvil/bismuth_bronze_gear')
|
||||
event.recipes.tfc.anvil('gtceu:wrought_iron_gear', '#forge:double_plates/wrought_iron', ['punch_last', 'shrink_any', 'draw_any']).tier(3)
|
||||
.id('tfc:anvil/wrought_iron_gear')
|
||||
event.recipes.tfc.anvil('gtceu:steel_gear', '#forge:double_plates/steel', ['punch_last', 'shrink_any', 'draw_any']).tier(4)
|
||||
.id('tfc:anvil/steel_gear')
|
||||
event.recipes.tfc.anvil('gtceu:black_steel_gear', '#forge:double_plates/black_steel', ['punch_last', 'shrink_any', 'draw_any']).tier(5)
|
||||
.id('tfc:anvil/black_steel_gear')
|
||||
event.recipes.tfc.anvil('gtceu:red_steel_gear', '#forge:double_plates/red_steel', ['punch_last', 'shrink_any', 'draw_any']).tier(6)
|
||||
.id('tfc:anvil/red_steel_gear')
|
||||
event.recipes.tfc.anvil('gtceu:blue_steel_gear', '#forge:double_plates/blue_steel', ['punch_last', 'shrink_any', 'draw_any']).tier(6)
|
||||
.id('tfc:anvil/blue_steel_gear')
|
||||
|
||||
event.recipes.tfc.anvil('gtceu:small_wrought_iron_gear', '#forge:ingots/wrought_iron', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(3)
|
||||
.id('tfc:anvil/small_wrought_iron_gear')
|
||||
event.recipes.tfc.anvil('gtceu:small_steel_gear', '#forge:ingots/steel', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(4)
|
||||
.id('tfc:anvil/small_steel_gear')
|
||||
event.recipes.tfc.anvil('gtceu:small_brass_gear', '#forge:ingots/brass', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(2)
|
||||
.id('tfc:anvil/small_brass_gear')
|
||||
event.recipes.tfc.anvil('gtceu:small_bronze_gear', '#forge:ingots/bronze', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(2)
|
||||
.id('tfc:anvil/small_bronze_gear')
|
||||
|
||||
// Cast iron -> Raw Iron Bloom
|
||||
event.recipes.tfc.bloomery('tfc:raw_iron_bloom', 'minecraft:charcoal', Fluid.of('gtceu:iron', 144), 15000)
|
||||
.id('tfc:bloomery/raw_iron_bloom')
|
||||
|
||||
// Cast Iron -> Pig Iron
|
||||
event.recipes.tfc.blast_furnace(Fluid.of('tfc:metal/pig_iron', 1), '#tfc:flux', Fluid.of('gtceu:iron', 1))
|
||||
.id('tfc:blast_furnace/pig_iron')
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Gravel Deposit Washing
|
||||
const deposit_ores = [
|
||||
'native_gold',
|
||||
'native_copper',
|
||||
'native_silver',
|
||||
'cassiterite'
|
||||
];
|
||||
|
||||
global.TFC_STONE_TYPES.forEach(stone => {
|
||||
deposit_ores.forEach(ore => {
|
||||
|
||||
event.recipes.gtceu.ore_washer(`tfc:ore_washer/water/deposit/${ore}/${stone}`)
|
||||
.itemInputs(`1x tfc:deposit/${ore}/${stone}`)
|
||||
.inputFluids(Fluid.of('minecraft:water', 100))
|
||||
.circuit(4)
|
||||
.itemOutputs(`1x tfc:ore/normal_${ore}`)
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.ore_washer(`tfc:ore_washer/distilled_water/deposit/${ore}/${stone}`)
|
||||
.itemInputs(`1x tfc:deposit/${ore}/${stone}`)
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
|
||||
.circuit(4)
|
||||
.itemOutputs(`1x tfc:ore/normal_${ore}`)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
})})
|
||||
//#endregion
|
||||
}
|
||||
147
kubejs/server_scripts/tfc/recipes.removes.js
Normal file
147
kubejs/server_scripts/tfc/recipes.removes.js
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
// priority: 0
|
||||
|
||||
function removeTFCRecipes(event) {
|
||||
|
||||
// Удаление рецептов руд TFC
|
||||
event.remove({ id: /tfc:heating\/ore\/poor_*/ })
|
||||
event.remove({ id: /tfc:heating\/ore\/normal_*/ })
|
||||
event.remove({ id: /tfc:heating\/ore\/rich_*/ })
|
||||
|
||||
// Удаление рецептов блоков
|
||||
event.remove({ id: /tfc:crafting\/metal\/block\/*/ })
|
||||
event.remove({ id: /tfc:heating\/metal\/*_block/ })
|
||||
|
||||
// Удаление рецептов ступеней
|
||||
event.remove({ id: /tfc:crafting\/metal\/block\/*_stairs/ })
|
||||
event.remove({ id: /tfc:heating\/metal\/*_block_stairs/ })
|
||||
|
||||
// Удалание рецептов полублоков
|
||||
event.remove({ id: /tfc:crafting\/metal\/block\/*_slab/ })
|
||||
event.remove({ id: /tfc:heating\/metal\/*_block_slab/ })
|
||||
|
||||
//#region Удаление рецептов для предметов из Cast Iron
|
||||
|
||||
// Блок
|
||||
event.remove({ id: `tfc:crafting/metal/block/cast_iron` })
|
||||
event.remove({ id: `tfc:heating/metal/cast_iron_block` })
|
||||
|
||||
// Ступень
|
||||
event.remove({ id: `tfc:crafting/metal/block/cast_iron_stairs` })
|
||||
event.remove({ id: `tfc:heating/metal/cast_iron_block_stairs` })
|
||||
|
||||
// Полублок
|
||||
event.remove({ id: `tfc:crafting/metal/block/cast_iron_slab` })
|
||||
event.remove({ id: `tfc:heating/metal/cast_iron_block_slab` })
|
||||
|
||||
// Слиток
|
||||
event.remove({ id: `tfc:casting/cast_iron_ingot` })
|
||||
event.remove({ id: `tfc:casting/cast_iron_fire_ingot` })
|
||||
event.remove({ id: `tfc:heating/metal/cast_iron_ingot` })
|
||||
event.remove({ id: `tfc:welding/cast_iron_double_ingot` })
|
||||
event.remove({ id: `tfc:anvil/cast_iron_rod` })
|
||||
|
||||
// Двойной слиток
|
||||
event.remove({ id: `tfc:heating/metal/cast_iron_double_ingot` })
|
||||
event.remove({ id: `tfc:anvil/cast_iron_sheet` })
|
||||
|
||||
// Пластина
|
||||
event.remove({ id: `tfc:heating/metal/cast_iron_sheet` })
|
||||
event.remove({ id: `tfc:welding/cast_iron_double_sheet` })
|
||||
|
||||
// Двойная пластина
|
||||
event.remove({ id: `tfc:heating/metal/cast_iron_double_sheet` })
|
||||
|
||||
// Стержень
|
||||
event.remove({ id: `tfc:heating/metal/cast_iron_rod` })
|
||||
|
||||
//#endregion
|
||||
|
||||
|
||||
// #region Удаление рецептов
|
||||
event.remove({ id: 'tfc:quern/amethyst' })
|
||||
event.remove({ id: 'tfc:quern/amethyst_cut' })
|
||||
event.remove({ id: 'tfc:quern/blaze_rod' })
|
||||
event.remove({ id: 'tfc:quern/borax' })
|
||||
event.remove({ id: 'tfc:quern/charcoal' })
|
||||
event.remove({ id: 'tfc:quern/cinnabar' })
|
||||
event.remove({ id: 'tfc:quern/cryolite' })
|
||||
event.remove({ id: 'tfc:quern/diamond' })
|
||||
event.remove({ id: 'tfc:quern/diamond_cut' })
|
||||
event.remove({ id: 'tfc:quern/emerald' })
|
||||
event.remove({ id: 'tfc:quern/emerald_cut' })
|
||||
event.remove({ id: 'tfc:quern/graphite' })
|
||||
event.remove({ id: 'tfc:quern/lapis_lazuli' })
|
||||
event.remove({ id: 'tfc:quern/lapis_lazuli_cut' })
|
||||
event.remove({ id: 'tfc:quern/normal_bismuthinite' })
|
||||
event.remove({ id: 'tfc:quern/normal_cassiterite' })
|
||||
event.remove({ id: 'tfc:quern/normal_garnierite' })
|
||||
event.remove({ id: 'tfc:quern/normal_hematite' })
|
||||
event.remove({ id: 'tfc:quern/normal_limonite' })
|
||||
event.remove({ id: 'tfc:quern/normal_magnetite' })
|
||||
event.remove({ id: 'tfc:quern/normal_malachite' })
|
||||
event.remove({ id: 'tfc:quern/normal_native_copper' })
|
||||
event.remove({ id: 'tfc:quern/normal_native_gold' })
|
||||
event.remove({ id: 'tfc:quern/normal_native_silver' })
|
||||
event.remove({ id: 'tfc:quern/normal_sphalerite' })
|
||||
event.remove({ id: 'tfc:quern/normal_tetrahedrite' })
|
||||
event.remove({ id: 'tfc:quern/opal' })
|
||||
event.remove({ id: 'tfc:quern/opal_cut' })
|
||||
event.remove({ id: 'tfc:quern/poor_bismuthinite' })
|
||||
event.remove({ id: 'tfc:quern/poor_cassiterite' })
|
||||
event.remove({ id: 'tfc:quern/poor_garnierite' })
|
||||
event.remove({ id: 'tfc:quern/poor_hematite' })
|
||||
event.remove({ id: 'tfc:quern/poor_limonite' })
|
||||
event.remove({ id: 'tfc:quern/poor_magnetite' })
|
||||
event.remove({ id: 'tfc:quern/poor_malachite' })
|
||||
event.remove({ id: 'tfc:quern/poor_native_copper' })
|
||||
event.remove({ id: 'tfc:quern/poor_native_gold' })
|
||||
event.remove({ id: 'tfc:quern/poor_native_silver' })
|
||||
event.remove({ id: 'tfc:quern/poor_sphalerite' })
|
||||
event.remove({ id: 'tfc:quern/poor_tetrahedrite' })
|
||||
event.remove({ id: 'tfc:quern/pyrite' })
|
||||
event.remove({ id: 'tfc:quern/pyrite_cut' })
|
||||
event.remove({ id: 'tfc:quern/raw_limestone' })
|
||||
event.remove({ id: 'tfc:quern/rich_bismuthinite' })
|
||||
event.remove({ id: 'tfc:quern/rich_cassiterite' })
|
||||
event.remove({ id: 'tfc:quern/rich_garnierite' })
|
||||
event.remove({ id: 'tfc:quern/rich_hematite' })
|
||||
event.remove({ id: 'tfc:quern/rich_limonite' })
|
||||
event.remove({ id: 'tfc:quern/rich_magnetite' })
|
||||
event.remove({ id: 'tfc:quern/rich_malachite' })
|
||||
event.remove({ id: 'tfc:quern/rich_native_copper' })
|
||||
event.remove({ id: 'tfc:quern/rich_native_gold' })
|
||||
event.remove({ id: 'tfc:quern/rich_native_silver' })
|
||||
event.remove({ id: 'tfc:quern/rich_sphalerite' })
|
||||
event.remove({ id: 'tfc:quern/rich_tetrahedrite' })
|
||||
event.remove({ id: 'tfc:quern/ruby' })
|
||||
event.remove({ id: 'tfc:quern/ruby_cut' })
|
||||
event.remove({ id: 'tfc:quern/salt' })
|
||||
event.remove({ id: 'tfc:quern/saltpeter' })
|
||||
event.remove({ id: 'tfc:quern/sapphire' })
|
||||
event.remove({ id: 'tfc:quern/sapphire_cut' })
|
||||
event.remove({ id: 'tfc:quern/sulfur' })
|
||||
event.remove({ id: 'tfc:quern/topaz' })
|
||||
event.remove({ id: 'tfc:quern/topaz_cut' })
|
||||
//#endregion
|
||||
|
||||
//#region Удаление рецептов лопастей ветряной мельницы
|
||||
|
||||
event.remove({ id: `tfc:crafting/windmill_blade` })
|
||||
event.remove({ id: `tfc:barrel/dye/bleach_windmill_blades` })
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(dye => {
|
||||
event.remove({ id: `tfc:barrel/dye/${dye}_windmill_blade` })
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
// Другое
|
||||
event.remove({ id: `tfc:crafting/trip_hammer` })
|
||||
event.remove({ id: `tfc:anvil/steel_pump` })
|
||||
event.remove({ id: `tfc:anvil/brass_mechanisms` })
|
||||
event.remove({ id: `tfc:crafting/steel_pump` })
|
||||
event.remove({ id: `tfc:crafting/crankshaft` })
|
||||
|
||||
|
||||
event.remove({ id: 'tfc:crafting/sandpaper' })
|
||||
}
|
||||
173
kubejs/server_scripts/tfc/recipes.sand.js
Normal file
173
kubejs/server_scripts/tfc/recipes.sand.js
Normal file
|
|
@ -0,0 +1,173 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFCSandRecipes(event) {
|
||||
|
||||
// Нефтеносный -> Желтый песок
|
||||
event.recipes.gtceu.centrifuge('oilsands_ore_separation')
|
||||
.itemInputs('#forge:ores/oilsands')
|
||||
.chancedOutput('tfc:sand/yellow', 5000, 5000)
|
||||
.outputFluids(Fluid.of('gtceu:oil', 2000))
|
||||
.duration(200)
|
||||
.EUt(30)
|
||||
|
||||
// Пыль нефтеносного песка -> Желтый песок
|
||||
event.recipes.gtceu.centrifuge('oilsands_dust_separation')
|
||||
.itemInputs('gtceu:oilsands_dust')
|
||||
.chancedOutput('tfc:sand/yellow', 5000, 5000)
|
||||
.outputFluids(Fluid.of('gtceu:oil', 2000))
|
||||
.duration(200)
|
||||
.EUt(30)
|
||||
|
||||
// Земля -> Желтый песок
|
||||
event.recipes.gtceu.centrifuge('dirt_separation')
|
||||
.itemInputs('#tfc:dirt')
|
||||
.chancedOutput('gtceu:plant_ball', 1250, 700)
|
||||
.chancedOutput('tfc:sand/yellow', 5000, 1200)
|
||||
.chancedOutput('gtceu:tiny_clay_dust', 4000, 900)
|
||||
.duration(250)
|
||||
.EUt(30)
|
||||
|
||||
// Рецепты где нужно итерироваться по всем цветам
|
||||
global.SAND_COLORS.forEach(sandColor => {
|
||||
// Песчанник -> Песок
|
||||
event.recipes.gtceu.forge_hammer(`raw_${sandColor}_sandstone_to_sand`)
|
||||
.itemInputs(`tfc:raw_sandstone/${sandColor}`)
|
||||
.itemOutputs(`tfc:sand/${sandColor}`)
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
|
||||
// Гладкий песчанник -> Песок
|
||||
event.recipes.gtceu.forge_hammer(`smooth_${sandColor}_sandstone_to_sand`)
|
||||
.itemInputs(`tfc:smooth_sandstone/${sandColor}`)
|
||||
.itemOutputs(`tfc:sand/${sandColor}`)
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
|
||||
// Обрезанный песчанник -> Песок
|
||||
event.recipes.gtceu.forge_hammer(`cut_${sandColor}_sandstone_to_sand`)
|
||||
.itemInputs(`tfc:cut_sandstone/${sandColor}`)
|
||||
.itemOutputs(`tfc:sand/${sandColor}`)
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
|
||||
// Песок -> Песчанник
|
||||
event.recipes.gtceu.compressor(`sand_${sandColor}_to_sandstone`)
|
||||
.itemInputs(`4x tfc:sand/${sandColor}`)
|
||||
.itemOutputs(`tfc:raw_sandstone/${sandColor}`)
|
||||
.duration(800)
|
||||
.EUt(2)
|
||||
|
||||
// Песчанник -> Гладкий песчанник
|
||||
event.stonecutting(`tfc:smooth_sandstone/${sandColor}`, `tfc:raw_sandstone/${sandColor}`)
|
||||
.id(`tfg:stonecutting/raw_sandstone_${sandColor}_to_smooth_sandstone`)
|
||||
|
||||
// Песчанник -> Обрезанный песчанник
|
||||
event.stonecutting(`tfc:cut_sandstone/${sandColor}`, `tfc:raw_sandstone/${sandColor}`)
|
||||
.id(`raw_sandstone_${sandColor}_to_cut_sandstone`)
|
||||
|
||||
// Песчанник -> Ступень
|
||||
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_stairs` })
|
||||
|
||||
event.stonecutting(`tfc:raw_sandstone/${sandColor}_stairs`, `tfc:raw_sandstone/${sandColor}`)
|
||||
.id(`tfg:stonecutting/${sandColor}_sandstone_to_stairs`)
|
||||
|
||||
// Песчанник -> Плита
|
||||
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_slab` })
|
||||
|
||||
event.stonecutting(`2x tfc:raw_sandstone/${sandColor}_slab`, `tfc:raw_sandstone/${sandColor}`)
|
||||
.id(`tfg:stonecutting/${sandColor}_sandstone_to_slabs`)
|
||||
|
||||
// Песчанник -> Стена
|
||||
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_wall` })
|
||||
|
||||
event.stonecutting(`tfc:raw_sandstone/${sandColor}_wall`, `tfc:raw_sandstone/${sandColor}`)
|
||||
.id(`tfg:stonecutting/${sandColor}_sandstone_to_wall`)
|
||||
|
||||
// Гладкий песчанник -> Ступень
|
||||
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_stairs` })
|
||||
|
||||
event.stonecutting(`tfc:smooth_sandstone/${sandColor}_stairs`, `tfc:smooth_sandstone/${sandColor}`)
|
||||
.id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_stairs`)
|
||||
|
||||
// Гладкий песчанник -> Плита
|
||||
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_slab` })
|
||||
|
||||
event.stonecutting(`2x tfc:smooth_sandstone/${sandColor}_slab`, `tfc:smooth_sandstone/${sandColor}`)
|
||||
.id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_slab`)
|
||||
|
||||
// Гладкий песчанник -> Стена
|
||||
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_wall` })
|
||||
|
||||
event.stonecutting(`tfc:smooth_sandstone/${sandColor}_wall`, `tfc:smooth_sandstone/${sandColor}`)
|
||||
.id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_wall`)
|
||||
|
||||
// Обрезанный песчанник -> Ступень
|
||||
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_stairs` })
|
||||
|
||||
event.stonecutting(`tfc:cut_sandstone/${sandColor}_stairs`, `tfc:cut_sandstone/${sandColor}`)
|
||||
.id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_stairs`)
|
||||
|
||||
// Обрезанный песчанник -> Плита
|
||||
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_slab` })
|
||||
|
||||
event.stonecutting(`2x tfc:cut_sandstone/${sandColor}_slab`, `tfc:cut_sandstone/${sandColor}`)
|
||||
.id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_slab`)
|
||||
|
||||
// Обрезанный песчанник -> Стена
|
||||
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_wall` })
|
||||
|
||||
event.stonecutting(`tfc:cut_sandstone/${sandColor}_wall`, `tfc:cut_sandstone/${sandColor}`)
|
||||
.id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_wall`)
|
||||
|
||||
})
|
||||
|
||||
// Коричневый гравий -> Песок
|
||||
event.recipes.gtceu.forge_hammer('brown_gravel_to_sand')
|
||||
.itemInputs('#tfc:brown_gravel')
|
||||
.itemOutputs('tfc:sand/brown')
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
|
||||
// Белый гравий -> Песок
|
||||
event.recipes.gtceu.forge_hammer('white_gravel_to_sand')
|
||||
.itemInputs('#tfc:white_gravel')
|
||||
.itemOutputs('tfc:sand/white')
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
|
||||
// Черный гравий -> Песок
|
||||
event.recipes.gtceu.forge_hammer('black_gravel_to_sand')
|
||||
.itemInputs('#tfc:black_gravel')
|
||||
.itemOutputs('tfc:sand/black')
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
|
||||
// Красный гравий -> Песок
|
||||
event.recipes.gtceu.forge_hammer('red_gravel_to_sand')
|
||||
.itemInputs('#tfc:red_gravel')
|
||||
.itemOutputs('tfc:sand/red')
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
|
||||
// Желтый гравий -> Песок
|
||||
event.recipes.gtceu.forge_hammer('yellow_gravel_to_sand')
|
||||
.itemInputs('#tfc:yellow_gravel')
|
||||
.itemOutputs('tfc:sand/yellow')
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
|
||||
// Зеленый гравий -> Песок
|
||||
event.recipes.gtceu.forge_hammer('green_gravel_to_sand')
|
||||
.itemInputs('#tfc:green_gravel')
|
||||
.itemOutputs('tfc:sand/green')
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
|
||||
// Розовый гравий -> Песок
|
||||
event.recipes.gtceu.forge_hammer('pink_gravel_to_sand')
|
||||
.itemInputs('#tfc:pink_gravel')
|
||||
.itemOutputs('tfc:sand/pink')
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
|
||||
}
|
||||
745
kubejs/server_scripts/tfc/recipes.stone.js
Normal file
745
kubejs/server_scripts/tfc/recipes.stone.js
Normal file
|
|
@ -0,0 +1,745 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFCStoneRecipes(event) {
|
||||
|
||||
global.TFC_STONE_TYPES.forEach(stone => {
|
||||
|
||||
let stoneMaterial = TFGHelpers.getMaterial(stone);
|
||||
let stoneDust = ChemicalHelper.get(TagPrefix.dust, stoneMaterial, 1)
|
||||
let smallStoneDust = ChemicalHelper.get(TagPrefix.dustSmall, stoneMaterial, 1)
|
||||
|
||||
// Кирпич (предмет)
|
||||
event.recipes.gtceu.assembler(`tfg:tfc/${stone}_loose_to_brick`)
|
||||
.itemInputs(`tfc:rock/loose/${stone}`)
|
||||
.itemOutputs(`tfc:brick/${stone}`)
|
||||
.circuit(1)
|
||||
.duration(40)
|
||||
.EUt(8)
|
||||
|
||||
//#region Сырой камень
|
||||
|
||||
// Сырой камень -> Сырой камень
|
||||
event.recipes.gtceu.rock_breaker(`${stone}_raw`)
|
||||
.notConsumable(`tfc:rock/raw/${stone}`)
|
||||
.itemOutputs(`tfc:rock/raw/${stone}`)
|
||||
.duration(16)
|
||||
.EUt(7)
|
||||
|
||||
// Сырой камень -> Булыжник
|
||||
event.recipes.gtceu.forge_hammer(`${stone}_raw_to_cobble`)
|
||||
.itemInputs(`tfc:rock/raw/${stone}`)
|
||||
.itemOutputs(`tfc:rock/cobble/${stone}`)
|
||||
.duration(10)
|
||||
.EUt(16)
|
||||
|
||||
// ? -> Сырая нажимная пластина
|
||||
event.shaped(`tfc:rock/pressure_plate/${stone}`, [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'AEA'
|
||||
], {
|
||||
A: '#forge:screws/wrought_iron',
|
||||
B: '#tfc:hammers',
|
||||
C: `tfc:rock/raw/${stone}_slab`,
|
||||
D: '#forge:springs',
|
||||
E: '#forge:tools/screwdrivers'
|
||||
}).id(`tfc:crafting/rock/${stone}_pressure_plate`)
|
||||
|
||||
event.recipes.gtceu.assembler(`${stone}_raw_pressure_plate`)
|
||||
.itemInputs('#forge:springs', `2x tfc:rock/raw/${stone}_slab`)
|
||||
.circuit(0)
|
||||
.itemOutputs(`2x tfc:rock/pressure_plate/${stone}`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
// ? -> Сырая кнопка
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_button` })
|
||||
|
||||
generateCutterRecipe(event, `tfc:rock/pressure_plate/${stone}`, `6x tfc:rock/button/${stone}`, 50, 2, `${stone}_raw_button`)
|
||||
|
||||
// Gravel Crafting
|
||||
event.shapeless(`1x tfc:rock/gravel/${stone}`, [
|
||||
`4x tfc:rock/loose/${stone}`
|
||||
]).id(`tfc:shapeless/loose_${stone}_to_gravel`)
|
||||
|
||||
event.shapeless(`1x tfc:rock/gravel/${stone}`, [
|
||||
`4x tfc:rock/mossy_loose/${stone}`
|
||||
]).id(`tfc:shapeless/mossy_loose_${stone}_to_gravel`)
|
||||
|
||||
event.shapeless(`16x tfc:rock/loose/${stone}`, [
|
||||
`4x tfc:rock/gravel/${stone}`
|
||||
]).id(`tfc:shapeless/gravel_to_loose_${stone}`)
|
||||
|
||||
//#endregion
|
||||
|
||||
// #region Stonecutting
|
||||
|
||||
// Сырой камень -> Ступени
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_raw_stairs` })
|
||||
|
||||
// Сырой камень -> Плиты
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_raw_slab` })
|
||||
|
||||
// Сырой камень -> Стена
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_raw_wall` })
|
||||
|
||||
// Булыжник -> Ступени
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_cobble_stairs` })
|
||||
|
||||
// Булыжник -> Плиты
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_cobble_slab` })
|
||||
|
||||
// Булыжник -> Стена
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_cobble_wall` })
|
||||
|
||||
// Булыжник -> Ступени
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_smooth_stairs` })
|
||||
|
||||
// Булыжник -> Плиты
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_smooth_slab` })
|
||||
|
||||
// Булыжник -> Стена
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_smooth_wall` })
|
||||
|
||||
// Блок кирпичей -> Ступени
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_bricks_stairs` })
|
||||
|
||||
// Блок кирпичей -> Плиты
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_bricks_slab` })
|
||||
|
||||
// Блок кирпичей -> Стена
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_bricks_wall` })
|
||||
|
||||
// Потрескавшийся кирпич -> Ступени
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_stairs` })
|
||||
|
||||
// Потрескавшийся кирпич -> Плиты
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_slab` })
|
||||
|
||||
// Потрескавшийся кирпич -> Стена
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_wall` })
|
||||
|
||||
// Замшелый булыжник -> Ступени
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_stairs` })
|
||||
|
||||
//Замшелый булыжник -> Плиты
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_slab` })
|
||||
|
||||
// Замшелый булыжник -> Стена
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_wall` })
|
||||
|
||||
// Замшелый булыжник -> Ступени
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_stairs` })
|
||||
|
||||
//Замшелый булыжник -> Плиты
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_slab` })
|
||||
|
||||
// Замшелый булыжник -> Стена
|
||||
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_wall` })
|
||||
|
||||
// Укрепленный сырой камень -> Гладкий
|
||||
event.stonecutting(`tfc:rock/smooth/${stone}`, `tfc:rock/hardened/${stone}`).id(`hardened_${stone}_to_smooth`)
|
||||
|
||||
// Блок кирпичей -> Резной кирпич
|
||||
event.stonecutting(`tfc:rock/chiseled/${stone}`, `tfc:rock/bricks/${stone}`).id(`chiseled_${stone}`)
|
||||
|
||||
// #endregion
|
||||
|
||||
//#region Булыжник
|
||||
|
||||
// Булыжник -> Булыжник
|
||||
event.recipes.gtceu.rock_breaker(`${stone}_cobble`)
|
||||
.notConsumable(`tfc:rock/cobble/${stone}`)
|
||||
.itemOutputs(`tfc:rock/cobble/${stone}`)
|
||||
.duration(16)
|
||||
.EUt(7)
|
||||
|
||||
// Булыжник -> Гравий
|
||||
event.recipes.gtceu.forge_hammer(`${stone}_cobble_to_gravel`)
|
||||
.itemInputs(`tfc:rock/cobble/${stone}`)
|
||||
.itemOutputs(`tfc:rock/gravel/${stone}`)
|
||||
.duration(10)
|
||||
.EUt(16)
|
||||
|
||||
// Камни -> Булыжник
|
||||
event.shaped(`tfc:rock/cobble/${stone}`, [
|
||||
'ABA',
|
||||
'BAB',
|
||||
'ABA'
|
||||
], {
|
||||
A: `tfc:rock/loose/${stone}`,
|
||||
B: '#tfc:mortar'
|
||||
}).id(`tfc:crafting/rock/${stone}_loose_rocks_to_cobble`)
|
||||
|
||||
event.recipes.gtceu.assembler(`${stone}_loose_rocks_to_cobble`)
|
||||
.itemInputs(`4x tfc:rock/loose/${stone}`)
|
||||
.circuit(2)
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 72))
|
||||
.itemOutputs(`tfc:rock/cobble/${stone}`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
// #endregion
|
||||
|
||||
|
||||
//#region Кирпич -> Блок кирпичей
|
||||
|
||||
event.recipes.gtceu.assembler(`bricks_${stone}`)
|
||||
.itemInputs(`5x tfc:brick/${stone}`)
|
||||
.circuit(0)
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 72))
|
||||
.itemOutputs(`4x tfc:rock/bricks/${stone}`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Кирпич -> Потрескавшийся кирпич
|
||||
|
||||
event.recipes.gtceu.forge_hammer(`cracked_bricks_${stone}`)
|
||||
.itemInputs(`tfc:rock/bricks/${stone}`)
|
||||
.itemOutputs(`tfc:rock/cracked_bricks/${stone}`)
|
||||
.duration(25)
|
||||
.EUt(8)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Замшелый булыжник
|
||||
|
||||
// Булыжник -> Замшелый булыжник
|
||||
event.shaped(`tfc:rock/mossy_cobble/${stone}`, [
|
||||
'ABA',
|
||||
'BAB',
|
||||
'ABA'
|
||||
], {
|
||||
A: `tfc:rock/mossy_loose/${stone}`,
|
||||
B: '#tfc:mortar'
|
||||
}).id(`tfc:crafting/rock/${stone}_mossy_loose_rocks_to_cobble`)
|
||||
|
||||
event.recipes.gtceu.assembler(`${stone}_mossy_loose_rocks_to_mossy_cobble`)
|
||||
.itemInputs(`4x tfc:rock/mossy_loose/${stone}`)
|
||||
.circuit(0)
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 72))
|
||||
.itemOutputs(`tfc:rock/mossy_cobble/${stone}`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.assembler(`${stone}_cobble_rocks_to_mossy_cobble`)
|
||||
.itemInputs(`tfc:rock/cobble/${stone}`, '#tfc:compost_greens_low')
|
||||
.circuit(0)
|
||||
.inputFluids(Fluid.of('minecraft:water', 144))
|
||||
.itemOutputs(`tfc:rock/mossy_cobble/${stone}`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Блок кирпичей -> Замшелый кирпич
|
||||
|
||||
event.recipes.gtceu.assembler(`mossy_bricks_${stone}`)
|
||||
.itemInputs(`tfc:rock/bricks/${stone}`, '#tfc:compost_greens_low')
|
||||
.circuit(0)
|
||||
.inputFluids(Fluid.of('minecraft:water', 144))
|
||||
.itemOutputs(`tfc:rock/mossy_bricks/${stone}`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Укрепленный камень
|
||||
|
||||
event.recipes.gtceu.assembler(`hardened_${stone}`)
|
||||
.itemInputs(`5x tfc:rock/raw/${stone}`)
|
||||
.circuit(0)
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 72))
|
||||
.itemOutputs(`2x tfc:rock/hardened/${stone}`)
|
||||
.duration(250)
|
||||
.EUt(8)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Акведук
|
||||
|
||||
event.recipes.gtceu.assembler(`aqueduct_${stone}`)
|
||||
.itemInputs(`3x tfc:brick/${stone}`)
|
||||
.circuit(1)
|
||||
.inputFluids(Fluid.of('gtceu:concrete', 16))
|
||||
.itemOutputs(`tfc:rock/aqueduct/${stone}`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Декрафт блоков камня в пыль
|
||||
|
||||
//#region Целый блок
|
||||
|
||||
// Сырой
|
||||
event.recipes.gtceu.macerator(`raw_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/raw/${stone}`)
|
||||
.itemOutputs(stoneDust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Булыжник
|
||||
event.recipes.gtceu.macerator(`cobble_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/cobble/${stone}`)
|
||||
.itemOutputs(stoneDust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Гладкий
|
||||
event.recipes.gtceu.macerator(`smooth_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/smooth/${stone}`)
|
||||
.itemOutputs(stoneDust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Кирпичи
|
||||
event.recipes.gtceu.macerator(`bricks_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/bricks/${stone}`)
|
||||
.itemOutputs(stoneDust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Потрескавшиеся кирпичи
|
||||
event.recipes.gtceu.macerator(`cracked_bricks_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/cracked_bricks/${stone}`)
|
||||
.itemOutputs(stoneDust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Замшелый булыжник
|
||||
event.recipes.gtceu.macerator(`mossy_cobble_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/mossy_cobble/${stone}`)
|
||||
.itemOutputs(stoneDust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Замшелый кирпич
|
||||
event.recipes.gtceu.macerator(`mossy_bricks_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/mossy_bricks/${stone}`)
|
||||
.itemOutputs(stoneDust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Ступень
|
||||
|
||||
// Сырой
|
||||
event.recipes.gtceu.macerator(`raw_stairs_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/raw/${stone}_stairs`)
|
||||
.itemOutputs(smallStoneDust.withCount(6))
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Булыжник
|
||||
event.recipes.gtceu.macerator(`cobble_stairs_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/cobble/${stone}_stairs`)
|
||||
.itemOutputs(smallStoneDust.withCount(6))
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Гладкий
|
||||
event.recipes.gtceu.macerator(`smooth_stairs_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/smooth/${stone}_stairs`)
|
||||
.itemOutputs(smallStoneDust.withCount(6))
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Кирпичи
|
||||
event.recipes.gtceu.macerator(`bricks_stairs_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/bricks/${stone}_stairs`)
|
||||
.itemOutputs(smallStoneDust.withCount(6))
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Потрескавшиеся кирпичи
|
||||
event.recipes.gtceu.macerator(`cracked_bricks_stairs_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/cracked_bricks/${stone}_stairs`)
|
||||
.itemOutputs(smallStoneDust.withCount(6))
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Замшелый булыжник
|
||||
event.recipes.gtceu.macerator(`mossy_cobble_stairs_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/mossy_cobble/${stone}_stairs`)
|
||||
.itemOutputs(smallStoneDust.withCount(6))
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Замшелый кирпич
|
||||
event.recipes.gtceu.macerator(`mossy_bricks_stairs_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/mossy_bricks/${stone}_stairs`)
|
||||
.itemOutputs(smallStoneDust.withCount(6))
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Плита
|
||||
|
||||
// Сырой
|
||||
event.recipes.gtceu.macerator(`raw_slab_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/raw/${stone}_slab`)
|
||||
.itemOutputs(smallStoneDust.withCount(2))
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Булыжник
|
||||
event.recipes.gtceu.macerator(`cobble_slab_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/cobble/${stone}_slab`)
|
||||
.itemOutputs(smallStoneDust.withCount(2))
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Гладкий
|
||||
event.recipes.gtceu.macerator(`smooth_slab_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/smooth/${stone}_slab`)
|
||||
.itemOutputs(smallStoneDust.withCount(2))
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Кирпичи
|
||||
event.recipes.gtceu.macerator(`bricks_slab_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/bricks/${stone}_slab`)
|
||||
.itemOutputs(smallStoneDust.withCount(2))
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Потрескавшиеся кирпичи
|
||||
event.recipes.gtceu.macerator(`cracked_bricks_slab_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/cracked_bricks/${stone}_slab`)
|
||||
.itemOutputs(smallStoneDust.withCount(2))
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Замшелый булыжник
|
||||
event.recipes.gtceu.macerator(`mossy_cobble_slab_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/mossy_cobble/${stone}_slab`)
|
||||
.itemOutputs(smallStoneDust.withCount(2))
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Замшелый кирпич
|
||||
event.recipes.gtceu.macerator(`mossy_bricks_slab_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/mossy_bricks/${stone}_slab`)
|
||||
.itemOutputs(smallStoneDust.withCount(2))
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Стена
|
||||
|
||||
// Сырой
|
||||
event.recipes.gtceu.macerator(`raw_wall_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/raw/${stone}_wall`)
|
||||
.itemOutputs(stoneDust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Булыжник
|
||||
event.recipes.gtceu.macerator(`cobble_wall_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/cobble/${stone}_wall`)
|
||||
.itemOutputs(stoneDust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Гладкий
|
||||
event.recipes.gtceu.macerator(`smooth_wall_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/smooth/${stone}_wall`)
|
||||
.itemOutputs(stoneDust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Кирпичи
|
||||
event.recipes.gtceu.macerator(`bricks_wall_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/bricks/${stone}_wall`)
|
||||
.itemOutputs(stoneDust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Потрескавшиеся кирпичи
|
||||
event.recipes.gtceu.macerator(`cracked_bricks_wall_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/cracked_bricks/${stone}_wall`)
|
||||
.itemOutputs(stoneDust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Замшелый булыжник
|
||||
event.recipes.gtceu.macerator(`mossy_cobble_wall_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/mossy_cobble/${stone}_wall`)
|
||||
.itemOutputs(stoneDust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Замшелый кирпич
|
||||
event.recipes.gtceu.macerator(`mossy_bricks_wall_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/mossy_bricks/${stone}_wall`)
|
||||
.itemOutputs(stoneDust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
//#endregion
|
||||
|
||||
// Резной кирпич
|
||||
event.recipes.gtceu.macerator(`chiseled_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/chiseled/${stone}`)
|
||||
.itemOutputs(stoneDust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
// Укрепленный
|
||||
event.recipes.gtceu.macerator(`hardened_${stone}_to_dust`)
|
||||
.itemInputs(`tfc:rock/hardened/${stone}`)
|
||||
.itemOutputs(stoneDust.withCount(2))
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
|
||||
//#endregion
|
||||
|
||||
|
||||
event.custom({
|
||||
type: "tfc:collapse",
|
||||
ingredient: {
|
||||
tag: `forge:ores_in_ground/${stone}`
|
||||
},
|
||||
result: `tfc:rock/cobble/${stone}`
|
||||
}).id(`tfg:collapse/${stone}_gt_ores`)
|
||||
})
|
||||
|
||||
|
||||
// #region Rock decomposition recipes
|
||||
|
||||
let oxygenFluid = GTMaterials.Oxygen.getFluid();
|
||||
|
||||
// Replacements
|
||||
|
||||
event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_blackstone' })
|
||||
|
||||
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__diorite')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Diorite, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Mirabilite, 1), 2000, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Clay, 1), 7000, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 5))
|
||||
|
||||
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__marble')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Marble, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnesium, 1), 1500, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcite, 1), 8000, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 12))
|
||||
|
||||
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__andesite')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Andesite, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Asbestos, 1), 8000, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Saltpeter, 1), 2000, 700)
|
||||
|
||||
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__basalt')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Basalt, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Olivine, 1), 1700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcite, 1), 1700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Flint, 1), 5000, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dust, GTMaterials.DarkAsh, 1), 2500, 700)
|
||||
|
||||
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__granite')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Granite, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 8000, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Redrock, 1), 2000, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 5))
|
||||
|
||||
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__deepslate')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Deepslate, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 8000, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Biotite, 1), 2000, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Stone, 1), 3700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3700, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 12))
|
||||
|
||||
event.recipes.gtceu.centrifuge('blackstone_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Blackstone, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dust, GTMaterials.DarkAsh, 1), 2500, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 3700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 6700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnesium, 1), 4700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3700, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 16))
|
||||
|
||||
// New
|
||||
|
||||
event.recipes.gtceu.centrifuge('gabbro_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('gabbro'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Rutile, 1), 6700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Iron, 1), 3700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1700, 700)
|
||||
|
||||
event.recipes.gtceu.centrifuge('shale_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('shale'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 7500, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 16))
|
||||
|
||||
event.recipes.gtceu.centrifuge('claystone_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('claystone'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Aluminium, 1), 6700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Silicon, 1), 6700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Hematite, 1), 6700, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 5))
|
||||
|
||||
event.recipes.gtceu.centrifuge('limestone_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('limestone'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 8700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1700, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 36))
|
||||
|
||||
event.recipes.gtceu.centrifuge('conglomerate_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('conglomerate'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Hematite, 1), 6700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Silicon, 1), 4700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.TricalciumPhosphate, 1), 3700, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 5))
|
||||
|
||||
event.recipes.gtceu.centrifuge('dolomite_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('dolomite'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnesium, 1), 6700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 5700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3700, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 16))
|
||||
|
||||
event.recipes.gtceu.centrifuge('chert_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('chert'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Silicon, 1), 6700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3700, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 24))
|
||||
|
||||
event.recipes.gtceu.centrifuge('chalk_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('chalk'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 6700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Carbon, 1), 3700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1700, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 12))
|
||||
|
||||
event.recipes.gtceu.centrifuge('rhyolite_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('rhyolite'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 8700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 800, 700)
|
||||
|
||||
event.recipes.gtceu.centrifuge('dacite_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('dacite'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 6700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 5700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 4700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Aluminium, 1), 3700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 12))
|
||||
|
||||
event.recipes.gtceu.centrifuge('slate_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('slate'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 4700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3700, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 24))
|
||||
|
||||
event.recipes.gtceu.centrifuge('phyllite_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('phyllite'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Quartzite, 1), 5700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CalciumChloride, 1), 1700, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 5))
|
||||
|
||||
event.recipes.gtceu.centrifuge('schist_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('schist'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Mica, 1), 6700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Talc, 1), 5700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Graphite, 1), 4700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 780, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 12))
|
||||
|
||||
event.recipes.gtceu.centrifuge('gneiss_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('gneiss'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Quartzite, 1), 6700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Biotite, 1), 3700, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 5))
|
||||
|
||||
event.recipes.gtceu.centrifuge('dripstone_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('dripstone'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CalciumCarbonate, 1), 8700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CalciumHydroxide, 1), 1700, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 4700, 700)
|
||||
.outputFluids(Fluid.of(oxygenFluid, 12))
|
||||
|
||||
// #endregion
|
||||
}
|
||||
53
kubejs/server_scripts/tfc/recipes.wood.js
Normal file
53
kubejs/server_scripts/tfc/recipes.wood.js
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFCWoodRecipes(event) {
|
||||
|
||||
// Какие то рецепты дерева
|
||||
global.TFC_WOOD_TYPES.forEach(wood => {
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_axle` })
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_bladed_axle` })
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_encased_axle` })
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_clutch` })
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_gear_box` })
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_water_wheel` })
|
||||
|
||||
// Бревна -> Пиломатериалы
|
||||
generateCutterRecipe(event, `#tfc:${wood}_logs`, `16x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_log`)
|
||||
|
||||
// Доски -> Пиломатериалы
|
||||
generateCutterRecipe(event, `tfc:wood/planks/${wood}`, `4x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_planks`)
|
||||
|
||||
// Ступень -> Пиломатериалы
|
||||
generateCutterRecipe(event, `tfc:wood/planks/${wood}_stairs`, `3x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_stairs`)
|
||||
|
||||
|
||||
// Плита -> Пиломатериалы
|
||||
generateCutterRecipe(event, `tfc:wood/planks/${wood}_slab`, `2x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_slab`)
|
||||
|
||||
// ? -> Деревянная нажимная пластина
|
||||
event.shaped(`tfc:wood/planks/${wood}_pressure_plate`, [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'AEA'
|
||||
], {
|
||||
A: '#forge:screws/wood',
|
||||
B: '#tfc:hammers',
|
||||
C: `tfc:wood/planks/${wood}_slab`,
|
||||
D: '#forge:springs',
|
||||
E: '#forge:tools/screwdrivers'
|
||||
}).id(`tfc:crafting/wood/${wood}_pressure_plate`)
|
||||
|
||||
event.recipes.gtceu.assembler(`${wood}_pressure_plate`)
|
||||
.itemInputs('#forge:springs', `2x tfc:wood/planks/${wood}_slab`)
|
||||
.circuit(0)
|
||||
.itemOutputs(`2x tfc:wood/planks/${wood}_pressure_plate`)
|
||||
.duration(50)
|
||||
.EUt(2)
|
||||
|
||||
// ? -> Деревянная кнопка
|
||||
event.remove({ id: `tfc:crafting/wood/${wood}_button` })
|
||||
|
||||
generateCutterRecipe(event, `tfc:wood/planks/${wood}_pressure_plate`, `6x tfc:wood/planks/${wood}_button`, 50, 7, `${wood}_button`)
|
||||
|
||||
})
|
||||
}
|
||||
25
kubejs/server_scripts/tfc/select_climates.js
Normal file
25
kubejs/server_scripts/tfc/select_climates.js
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
TFCEvents.selectClimateModel(event => {
|
||||
|
||||
let location = event.level.dimensionKey.location();
|
||||
|
||||
switch (location) {
|
||||
|
||||
/*case 'ad_astra:moon':
|
||||
event.setModel('tfg:moon_climate');
|
||||
break;
|
||||
|
||||
case 'ad_astra:mars':
|
||||
event.setModel('tfg:mars_climate');
|
||||
break;
|
||||
|
||||
case 'ad_astra:earth_orbit':
|
||||
case 'ad_astra:moon_orbit':
|
||||
case 'ad_astra:mars_orbit':
|
||||
event.setModel('tfg:orbit_climate');
|
||||
break;*/
|
||||
|
||||
case 'minecraft:the_nether':
|
||||
event.setModel('tfg:nether_climate');
|
||||
break;
|
||||
}
|
||||
})
|
||||
|
|
@ -1,5 +1,9 @@
|
|||
// priority: 0
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {TagEvent.Item} event
|
||||
*/
|
||||
const registerTFCItemTags = (event) => {
|
||||
// Теги для соответствия инструментов TFC и GT
|
||||
|
||||
|
|
@ -48,6 +52,10 @@ const registerTFCItemTags = (event) => {
|
|||
event.add('minecraft:fishes', 'tfc:food/rainbow_trout')
|
||||
event.add('minecraft:fishes', 'tfc:food/smallmouth_bass')
|
||||
|
||||
// Make eggs not useless
|
||||
event.add('tfc:foods/usable_in_salad', 'tfc:food/cooked_egg')
|
||||
event.add('tfc:foods/usable_in_salad', 'tfc:food/boiled_egg')
|
||||
|
||||
// Чтобы жарились бревна из TFC в пиролиз. печке
|
||||
// Почему нельзя просто добавить тег в тег? (допустим minecraft:logs), потому что из-за этого ломаются все рецепты minecraft:logs, магия...
|
||||
global.TFC_WOOD_TYPES.forEach(woodType => {
|
||||
|
|
@ -57,26 +65,35 @@ const registerTFCItemTags = (event) => {
|
|||
// Allows TFC stick bundles to be burned in the coke/pyrolyse ovens
|
||||
event.add("minecraft:logs_that_burn", "tfc:stick_bundle");
|
||||
|
||||
// Определеяет какое оружие может появиться у зомбя/скелета в руках
|
||||
// Мечи
|
||||
event.add('tfc:mob_mainhand_weapons', 'gtceu:bismuth_bronze_sword')
|
||||
event.add('tfc:mob_mainhand_weapons', 'gtceu:bronze_sword')
|
||||
event.add('tfc:mob_mainhand_weapons', 'gtceu:black_bronze_sword')
|
||||
// Топоры
|
||||
event.add('tfc:mob_mainhand_weapons', 'gtceu:bismuth_bronze_axe')
|
||||
event.add('tfc:mob_mainhand_weapons', 'gtceu:bronze_axe')
|
||||
event.add('tfc:mob_mainhand_weapons', 'gtceu:black_bronze_axe')
|
||||
// Косы
|
||||
event.add('tfc:mob_mainhand_weapons', 'gtceu:bismuth_bronze_scythe')
|
||||
event.add('tfc:mob_mainhand_weapons', 'gtceu:bronze_scythe')
|
||||
event.add('tfc:mob_mainhand_weapons', 'gtceu:black_bronze_scythe')
|
||||
// Remove sulfur dust overlap
|
||||
event.remove('forge:dusts/sulfur', 'tfc:powder/sulfur');
|
||||
|
||||
// Тэги для возможности использования разных углей в кузне
|
||||
event.add('tfc:forge_fuel', 'minecraft:coal')
|
||||
event.add('tfc:forge_fuel', 'beneath:cursecoal')
|
||||
event.add('tfc:forge_fuel', 'gtceu:coke_gem')
|
||||
event.add('tfc:forge_fuel', 'gtceu:rich_raw_coal')
|
||||
event.add('tfc:forge_fuel', 'gtceu:raw_coal')
|
||||
event.add('tfc:forge_fuel', 'gtceu:poor_raw_coal')
|
||||
event.add('tfc:forge_fuel', 'gtceu:coal_dust')
|
||||
event.add('tfc:forge_fuel', 'gtceu:charcoal_dust')
|
||||
|
||||
// Change blast furnace to use coke
|
||||
event.remove('tfc:blast_furnace_fuel', 'minecraft:coal')
|
||||
event.remove('tfc:blast_furnace_fuel', 'minecraft:charcoal')
|
||||
event.add('tfc:blast_furnace_fuel', 'gtceu:coke_gem')
|
||||
event.add('tfc:blast_furnace_fuel', 'beneath:cursecoal')
|
||||
|
||||
// Create a tag for Steam Bloomery
|
||||
|
||||
event.add('tfc:steam_bloomery_basic_fuels', 'minecraft:coal')
|
||||
event.add('tfc:steam_bloomery_basic_fuels', 'minecraft:charcoal')
|
||||
event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:rich_raw_coal')
|
||||
event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:rich_raw_coal')
|
||||
event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:raw_coal')
|
||||
event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:poor_raw_coal')
|
||||
event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:coal_dust')
|
||||
event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:charcoal_dust')
|
||||
|
||||
// Тэги для сундуков, чтобы отличать их виды
|
||||
global.TFC_WOOD_TYPES.forEach(woodType => {
|
||||
|
|
@ -224,6 +241,23 @@ const registerTFCItemTags = (event) => {
|
|||
|
||||
// Удаление тегов у руд
|
||||
event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/")
|
||||
|
||||
//Stone javelins
|
||||
event.add('tfc:stone_javelins', 'tfc:stone/javelin/igneous_extrusive')
|
||||
event.add('tfc:stone_javelins', 'tfc:stone/javelin/igneous_intrusive')
|
||||
event.add('tfc:stone_javelins', 'tfc:stone/javelin/metamorphic')
|
||||
event.add('tfc:stone_javelins', 'tfc:stone/javelin/sedimentary')
|
||||
|
||||
//Moss
|
||||
event.add('tfc:moss', 'tfc:plant/moss')
|
||||
event.add('tfc:moss', 'tfc:plant/spanish_moss')
|
||||
event.add('tfc:moss', 'tfc:plant/reindeer_lichen')
|
||||
event.add('tfc:moss', 'tfc:plant/cobblestone_lichen')
|
||||
|
||||
//Cloth
|
||||
event.add('forge:cloth', 'tfc:burlap_cloth')
|
||||
event.add('forge:cloth', 'tfc:wool_cloth')
|
||||
event.add('forge:cloth', 'tfc:silk_cloth')
|
||||
}
|
||||
|
||||
const registerTFCBlockTags = (event) => {
|
||||
|
|
@ -245,9 +279,6 @@ const registerTFCBlockTags = (event) => {
|
|||
})
|
||||
})
|
||||
|
||||
// Отключение ломания блоков установленных на полу
|
||||
event.add('tfcdesirepaths:trample_blacklist', 'tfc:placed_item')
|
||||
|
||||
// Возможность обрушения полу-блоков
|
||||
event.add('tfc:can_collapse', '#tfg:rock_slabs')
|
||||
event.add('tfc:can_start_collapse', '#tfg:rock_slabs')
|
||||
|
|
@ -271,8 +302,8 @@ const registerTFCBlockTags = (event) => {
|
|||
event.add('tfc:monster_spawns_on', '#forge:ores')
|
||||
event.add('tfc:prospectable', '#forge:ores')
|
||||
|
||||
event.add('tfc:glass_basin_blocks', 'gtceu:brass_block')
|
||||
event.add('tfc:glass_pouring_table', 'gtceu:brass_block')
|
||||
event.add('tfc:glass_basin_blocks', 'create:brass_block')
|
||||
event.add('tfc:glass_pouring_table', 'create:brass_block')
|
||||
|
||||
event.add('tfc:glass_basin_blocks', 'tfc:red_kaolin_clay')
|
||||
event.add('tfc:glass_pouring_table', 'tfc:red_kaolin_clay')
|
||||
|
|
@ -297,6 +328,46 @@ const registerTFCBlockTags = (event) => {
|
|||
event.add('create:passive_boiler_heaters', el)
|
||||
})
|
||||
//#endregion
|
||||
|
||||
//#region Nether
|
||||
|
||||
event.add('beneath:nether_bush_plantable_on', '#tfc:clay_grass')
|
||||
event.add('minecraft:small_dripleaf_placeable', '#tfc:clay_grass')
|
||||
event.add('minecraft:big_dripleaf_placeable', '#tfc:clay_grass')
|
||||
event.add('minecraft:frogs_spawnable_on', '#tfc:clay_grass')
|
||||
event.add('minecraft:axolotls_spawnable_on', '#tfc:clay_grass')
|
||||
|
||||
event.add('minecraft:small_dripleaf_placeable', '#tfc:clay')
|
||||
event.add('minecraft:big_dripleaf_placeable', '#tfc:clay')
|
||||
event.add('minecraft:frogs_spawnable_on', '#tfc:clay')
|
||||
event.add('minecraft:axolotls_spawnable_on', '#tfc:clay')
|
||||
|
||||
event.add('beneath:nether_bush_plantable_on', '#tfc:mud')
|
||||
event.add('minecraft:frogs_spawnable_on', '#tfc:mud')
|
||||
|
||||
event.add('beneath:nether_bush_plantable_on', '#tfc:dirt')
|
||||
event.add('minecraft:frogs_spawnable_on', '#tfc:dirt')
|
||||
|
||||
|
||||
event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/gneiss')
|
||||
event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/schist')
|
||||
event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/diorite')
|
||||
event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/granite')
|
||||
event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/gabbro')
|
||||
event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/basalt')
|
||||
event.add('minecraft:base_stone_nether', 'tfc:rock/raw/gneiss')
|
||||
event.add('minecraft:base_stone_nether', 'tfc:rock/raw/schist')
|
||||
event.add('minecraft:base_stone_nether', 'tfc:rock/raw/diorite')
|
||||
event.add('minecraft:base_stone_nether', 'tfc:rock/raw/granite')
|
||||
event.add('minecraft:base_stone_nether', 'tfc:rock/raw/gabbro')
|
||||
event.add('minecraft:base_stone_nether', 'tfc:rock/raw/basalt')
|
||||
event.add('minecraft:frogs_spawnable_on', 'tfc:rock/raw/gneiss')
|
||||
event.add('minecraft:frogs_spawnable_on', 'tfc:rock/raw/schist')
|
||||
event.add('minecraft:frogs_spawnable_on', 'tfc:rock/raw/diorite')
|
||||
event.add('minecraft:frogs_spawnable_on', 'tfc:rock/raw/granite')
|
||||
event.add('minecraft:frogs_spawnable_on', 'tfc:rock/raw/gabbro')
|
||||
|
||||
//#endregion
|
||||
}
|
||||
|
||||
const registerTFCFluidTags = (event) => {
|
||||
|
|
@ -320,15 +391,10 @@ const registerTFCFluidTags = (event) => {
|
|||
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/red_steel')
|
||||
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/blue_steel')
|
||||
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/cast_iron')
|
||||
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/pig_iron')
|
||||
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_steel')
|
||||
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_black_steel')
|
||||
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_red_steel')
|
||||
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_blue_steel')
|
||||
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/weak_steel')
|
||||
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/weak_red_steel')
|
||||
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/weak_blue_steel')
|
||||
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/unknown')
|
||||
|
||||
// Добавление GTCEu металлов в форму слитков
|
||||
event.add('tfc:usable_in_ingot_mold', 'gtceu:bismuth')
|
||||
|
|
@ -350,15 +416,6 @@ const registerTFCFluidTags = (event) => {
|
|||
event.add('tfc:usable_in_ingot_mold', 'gtceu:black_steel')
|
||||
event.add('tfc:usable_in_ingot_mold', 'gtceu:blue_steel')
|
||||
event.add('tfc:usable_in_ingot_mold', 'gtceu:red_steel')
|
||||
event.add('tfc:usable_in_ingot_mold', 'tfg:pig_iron')
|
||||
event.add('tfc:usable_in_ingot_mold', 'tfg:high_carbon_steel')
|
||||
event.add('tfc:usable_in_ingot_mold', 'tfg:high_carbon_black_steel')
|
||||
event.add('tfc:usable_in_ingot_mold', 'tfg:high_carbon_red_steel')
|
||||
event.add('tfc:usable_in_ingot_mold', 'tfg:high_carbon_blue_steel')
|
||||
event.add('tfc:usable_in_ingot_mold', 'tfg:weak_steel')
|
||||
event.add('tfc:usable_in_ingot_mold', 'tfg:weak_red_steel')
|
||||
event.add('tfc:usable_in_ingot_mold', 'tfg:weak_blue_steel')
|
||||
event.add('tfc:usable_in_ingot_mold', 'tfg:unknown')
|
||||
|
||||
event.add('tfc:usable_in_ingot_mold', 'gtceu:red_alloy')
|
||||
event.add('tfc:usable_in_ingot_mold', 'gtceu:tin_alloy')
|
||||
|
|
@ -374,11 +431,6 @@ const registerTFCFluidTags = (event) => {
|
|||
event.add('tfc:usable_in_tool_head_mold', 'gtceu:black_bronze')
|
||||
event.add('tfc:usable_in_tool_head_mold', 'gtceu:bronze')
|
||||
|
||||
//
|
||||
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_barrel', 'gtceu:creosote')
|
||||
event.add('tfc:usable_in_wooden_bucket', 'gtceu:creosote')
|
||||
|
|
@ -405,107 +457,77 @@ const registerTFCFluidTags = (event) => {
|
|||
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/red_steel')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/blue_steel')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/cast_iron')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/pig_iron')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_steel')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_black_steel')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_red_steel')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_blue_steel')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/weak_steel')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/weak_red_steel')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/weak_blue_steel')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/unknown')
|
||||
}
|
||||
|
||||
const registerTFCPlacedFeatures = (event) => {
|
||||
|
||||
// Удаление
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_native_copper')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_malachite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_tetrahedrite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/normal_malachite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/normal_tetrahedrite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/normal_native_gold')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/rich_native_gold')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/fake_native_gold')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_native_silver')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/normal_native_silver')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_cassiterite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_bismuthinite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/normal_bismuthinite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_sphalerite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/normal_sphalerite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_hematite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_magnetite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_limonite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/normal_garnierite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/gabbro_garnierite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/graphite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/lignite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/bituminous_coal')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/sulfur')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/cryolite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/cinnabar')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/saltpeter')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/sylvite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/borax')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/gypsum')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/halite')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/lapis_lazuli')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/diamond')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/emerald')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/amethyst')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:vein/opal')
|
||||
event.remove('tfc:in_biome/veins', 'tfc:geode')
|
||||
event.removeAll('tfc:in_biome/veins')
|
||||
|
||||
// Добавление
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/deep_garnet_amethyst')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/deep_garnet_opal')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/deep_gold')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/deep_hematite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/deep_limonite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/deep_magnetite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/deep_molybdenum')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/deep_naquadah')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/deep_pitchblende')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/deep_sapphire')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/deep_scheelite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/deep_sheldonite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/deep_topaz')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_apatite_')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_basaltic_sands')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_bauxite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_beryllium')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_bismuthinite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_cassiterite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_certus_quartz')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_coal')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_copper')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_garnet_tin')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_garnierite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_gold')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_graphite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_hematite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_spodumene')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_oilsands')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_lapis')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_limonite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_lubricant')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_magnetite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_manganese')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_mica')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_monazite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_olivine')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_redstone')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_salt')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_saltpeter')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_silver')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_sphalerite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_sulfur')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/normal_tetrahedrite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/surface_bismuthinite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/surface_cassiterite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/surface_copper')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/surface_sphalerite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:vein/surface_tetrahedrite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:geode')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_garnet_amethyst')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_garnet_opal')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_gold')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_hematite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_limonite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_magnetite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_molybdenum')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_pitchblende')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_sapphire')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_scheelite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_sheldonite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_topaz')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_apatite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_basaltic_sands')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_bauxite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_beryllium')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_bismuthinite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_cassiterite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_coal')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_copper')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_garnet_tin')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_garnierite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_gold')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_graphite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_hematite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_spodumene')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_oilsands')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_lapis')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_limonite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_lubricant')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_magnetite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_manganese')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_mica')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_monazite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_olivine')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_quartz')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_redstone')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_salt')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_saltpeter')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_silver')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_sphalerite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_sulfur')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_tetrahedrite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_bismuthinite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_cassiterite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_copper')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_sphalerite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_tetrahedrite')
|
||||
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/geode/amethyst')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/geode/barite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/geode/calcite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/geode/gypsum')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/geode/opal')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/geode/pyrite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/geode/quartzite')
|
||||
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/nether_hint_vein')
|
||||
|
||||
event.add('tfc:in_biome/underground_decoration', 'tfg:glow_lichen')
|
||||
event.add('tfc:in_biome/underground_decoration', 'tfg:earth/sulfur_patch')
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ const registerTFCGroomingStationRecipes = (event) => {
|
|||
]
|
||||
|
||||
materials.forEach(material => {
|
||||
console.log(material)
|
||||
event.shaped(`tfcgroomer:${material}_grooming_station`, [
|
||||
'ABA',
|
||||
'AAA',
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
// priority: 0
|
||||
|
||||
const registerTFCAmbientalItemTags = (event) => {
|
||||
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:wool_hat')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:wool_sweater')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:wool_pants')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:wool_boots')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:silk_cowl')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shirt')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:silk_pants')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shoes')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_cowl')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shirt')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_pants')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shoes')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_hat')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_tunic')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_pants')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_boots')
|
||||
// priority: 0
|
||||
|
||||
const registerTFCAmbientalItemTags = (event) => {
|
||||
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:wool_hat')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:wool_sweater')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:wool_pants')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:wool_boots')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:silk_cowl')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shirt')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:silk_pants')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shoes')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_cowl')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shirt')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_pants')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shoes')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_hat')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_tunic')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_pants')
|
||||
event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_boots')
|
||||
}
|
||||
5
kubejs/server_scripts/tfcbetterbf/data.js
Normal file
5
kubejs/server_scripts/tfcbetterbf/data.js
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
// priority: 0
|
||||
|
||||
const registerTFCDataForTFCBetterBF = (event) => {
|
||||
event.itemHeat('tfcbetterbf:insulation', 8.571, null, null)
|
||||
}
|
||||
30
kubejs/server_scripts/tfcbetterbf/recipes.js
Normal file
30
kubejs/server_scripts/tfcbetterbf/recipes.js
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
/**
|
||||
*
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
const registerTFCBetterBFRecipes = (event) =>
|
||||
{
|
||||
event.remove("tfcbetterbf:heating/metal/insulation")
|
||||
|
||||
event.recipes.tfc.heating('tfcbetterbf:insulation', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:iron', 432))
|
||||
.id(`tfcbetterbf:heating/insulation`)
|
||||
|
||||
event.recipes.tfc.heating('tfcbetterbf:insulated_fire_bricks', 1535)
|
||||
.resultFluid(Fluid.of('gtceu:iron', 432))
|
||||
.id(`tfcbetterbf:heating/insulated_fire_bricks`)
|
||||
|
||||
event.recipes.gtceu.macerator('tfcbetterbf:insulated_fire_bricks')
|
||||
.itemInputs('tfcbetterbf:insulated_fire_bricks')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 3))
|
||||
.duration(GTMaterials.WroughtIron.getMass() * 3)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfcbetterbf:insulated_fire_bricks')
|
||||
.itemInputs('tfcbetterbf:insulated_fire_bricks')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 3))
|
||||
.duration(GTMaterials.Steel.getMass() * 3)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
}
|
||||
14
kubejs/server_scripts/tfctextile/tags.js
Normal file
14
kubejs/server_scripts/tfctextile/tags.js
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFCTextileItemTags(event) {
|
||||
|
||||
const DISABLED_ITEMS = [
|
||||
'tfc_textile:cotton_string'
|
||||
]
|
||||
|
||||
DISABLED_ITEMS.forEach(item => {
|
||||
event.removeAllTagsFrom(item)
|
||||
event.add('c:hidden_from_recipe_viewers', item)
|
||||
})
|
||||
|
||||
}
|
||||
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')
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue