180 lines
11 KiB
JavaScript
180 lines
11 KiB
JavaScript
/**
|
|
* Unlike how screret showcases the functionality of this event in his discord messge:
|
|
* https://discord.com/channels/914926812948234260/1229854271613436066/1279802878822711407
|
|
* there is no "Map.of()" to create map objects out of varargs.
|
|
*
|
|
* Worse still, I could not find an analog to that function.
|
|
* Therefore we declare empty maps and then populate them afterwards.
|
|
*/
|
|
|
|
GTCEuStartupEvents.craftingComponents(event => {
|
|
|
|
// Make LuV+ electrolyzer wires not osmium for funsies :)
|
|
let wireElectricMap = {};
|
|
wireElectricMap[GTValues.LuV] = UnificationEntry(TagPrefix.wireGtSingle, GTMaterials.VanadiumGallium);
|
|
wireElectricMap[GTValues.ZPM] = UnificationEntry(TagPrefix.wireGtSingle, GTMaterials.NaquadahAlloy);
|
|
wireElectricMap[GTValues.UV] = UnificationEntry(TagPrefix.wireGtSingle, GTMaterials.get("sculk_superconductor"));
|
|
wireElectricMap[GTValues.UHV] = UnificationEntry(TagPrefix.wireGtSingle, GTMaterials.get("activated_netherite"));
|
|
wireElectricMap[GTValues.UEV] = UnificationEntry(TagPrefix.wireGtSingle, GTMaterials.Holmium);
|
|
wireElectricMap[GTValues.UIV] = UnificationEntry(TagPrefix.wireGtSingle, GTMaterials.get("monium"));
|
|
event.modify(CraftingComponent.WIRE_ELECTRIC, wireElectricMap)
|
|
|
|
// Omnium & Holmium for wires/cables
|
|
let wireCableComponentPrefixes = [
|
|
[TagPrefix.wireGtQuadruple, TagPrefix.wireGtQuadruple, CraftingComponent.WIRE_QUAD],
|
|
[TagPrefix.wireGtOctal, TagPrefix.wireGtOctal, CraftingComponent.WIRE_OCT],
|
|
[TagPrefix.wireGtHex, TagPrefix.wireGtHex, CraftingComponent.WIRE_HEX],
|
|
[TagPrefix.cableGtSingle, TagPrefix.wireGtSingle, CraftingComponent.CABLE],
|
|
[TagPrefix.cableGtDouble, TagPrefix.wireGtDouble, CraftingComponent.CABLE_DOUBLE],
|
|
[TagPrefix.cableGtQuadruple, TagPrefix.wireGtQuadruple, CraftingComponent.CABLE_QUAD],
|
|
[TagPrefix.cableGtOctal, TagPrefix.wireGtOctal, CraftingComponent.CABLE_OCT],
|
|
// [TagPrefix.cableGtHex, TagPrefix.wireGtHex, CraftingComponent.CABLE_HEX] // Seems borked? Causes crashes when uncommented
|
|
]
|
|
|
|
wireCableComponentPrefixes.forEach(prefixComponentPair => {
|
|
let wireMap = {};
|
|
wireMap[GTValues.UEV] = UnificationEntry(prefixComponentPair[0], GTMaterials.get("omnium"));
|
|
wireMap[GTValues.UIV] = UnificationEntry(prefixComponentPair[1], GTMaterials.Holmium);
|
|
wireMap[GTValues.MAX] = UnificationEntry(prefixComponentPair[1], GTMaterials.get("monium"));
|
|
event.modify(prefixComponentPair[2], wireMap)
|
|
})
|
|
|
|
// Netherite, Holmium, and Monium for tier up wires/cables
|
|
// Currently useless because GT only autogenerates transformer recipes up to UV.
|
|
let wireCableTierUpComponentPrefixes = [
|
|
[TagPrefix.wireGtSingle, CraftingComponent.CABLE_TIER_UP],
|
|
[TagPrefix.wireGtDouble, CraftingComponent.CABLE_TIER_UP_DOUBLE],
|
|
[TagPrefix.wireGtQuadruple, CraftingComponent.CABLE_TIER_UP_QUAD],
|
|
// [TagPrefix.wireGtOctal, CraftingComponent.CABLE_TIER_UP_OCT], // Seems borked. Same here as above.
|
|
[TagPrefix.wireGtHex, CraftingComponent.CABLE_TIER_UP_HEX]
|
|
]
|
|
|
|
wireCableTierUpComponentPrefixes.forEach(prefixComponentPair => {
|
|
let wireTierUpMap = {};
|
|
wireTierUpMap[GTValues.UHV] = UnificationEntry(prefixComponentPair[0], GTMaterials.get("activated_netherite"));
|
|
wireTierUpMap[GTValues.UEV] = UnificationEntry(prefixComponentPair[0], GTMaterials.Holmium);
|
|
wireTierUpMap[GTValues.UIV] = UnificationEntry(prefixComponentPair[0], GTMaterials.get("monium"));
|
|
event.modify(prefixComponentPair[1], wireTierUpMap)
|
|
})
|
|
|
|
// Pipes
|
|
let pipeComponentPrefixes = [
|
|
[TagPrefix.pipeNormalFluid, CraftingComponent.PIPE_NORMAL],
|
|
[TagPrefix.pipeLargeFluid, CraftingComponent.PIPE_LARGE],
|
|
[TagPrefix.pipeNonupleFluid, CraftingComponent.PIPE_NONUPLE]
|
|
]
|
|
|
|
pipeComponentPrefixes.forEach(prefixComponentPair => {
|
|
let pipeMap = {};
|
|
pipeMap[GTValues.UHV] = UnificationEntry(prefixComponentPair[0], GTMaterials.Neutronium);
|
|
pipeMap[GTValues.UEV] = UnificationEntry(prefixComponentPair[0], GTMaterials.get("activated_netherite"));
|
|
pipeMap[GTValues.UIV] = UnificationEntry(prefixComponentPair[0], GTMaterials.Holmium);
|
|
event.modify(prefixComponentPair[1], pipeMap)
|
|
})
|
|
|
|
// Glass
|
|
let glassMap = {};
|
|
glassMap[GTValues.UHV] = Item.of("gtceu:fusion_glass");
|
|
glassMap[GTValues.UEV] = Item.of("gtceu:fusion_glass");
|
|
glassMap[GTValues.UIV] = Item.of("gtceu:fusion_glass");
|
|
event.modify(CraftingComponent.GLASS, glassMap)
|
|
|
|
// Plates
|
|
let plateMap = {};
|
|
plateMap[GTValues.UEV] = UnificationEntry(TagPrefix.plate, GTMaterials.get("omnium"))
|
|
plateMap[GTValues.UIV] = UnificationEntry(TagPrefix.plate, GTMaterials.get("infinity"))
|
|
plateMap[GTValues.MAX] = UnificationEntry(TagPrefix.plate, GTMaterials.get("monium"))
|
|
event.modifyUnificationEntry(CraftingComponent.PLATE, plateMap)
|
|
|
|
// Hull plates
|
|
let hullPlateMap = {};
|
|
plateMap[GTValues.UEV] = UnificationEntry(TagPrefix.plate, GTMaterials.get("polyethyl_cyanoacrylate"))
|
|
plateMap[GTValues.UIV] = UnificationEntry(TagPrefix.plate, GTMaterials.get("polyethyl_cyanoacrylate"))
|
|
plateMap[GTValues.MAX] = UnificationEntry(TagPrefix.plate, GTMaterials.get("polyethyl_cyanoacrylate"))
|
|
event.modifyUnificationEntry(CraftingComponent.HULL_PLATE, hullPlateMap)
|
|
|
|
// Rotors
|
|
let rotorMap = {};
|
|
rotorMap[GTValues.UHV] = UnificationEntry(TagPrefix.rotor, GTMaterials.Neutronium)
|
|
rotorMap[GTValues.UEV] = UnificationEntry(TagPrefix.rotor, GTMaterials.get("activated_netherite"))
|
|
rotorMap[GTValues.UIV] = UnificationEntry(TagPrefix.rotor, GTMaterials.Holmium)
|
|
event.modifyUnificationEntry(CraftingComponent.ROTOR, rotorMap)
|
|
|
|
// TODO: Sawblades (May require making tools for the material)
|
|
|
|
// Resistive heating wires (typically, these match the EBF coil for that tier)
|
|
let heatingCoilComponentPrefixes = [
|
|
[TagPrefix.wireGtDouble, CraftingComponent.COIL_HEATING],
|
|
[TagPrefix.wireGtQuadruple, CraftingComponent.COIL_HEATING_DOUBLE],
|
|
]
|
|
|
|
heatingCoilComponentPrefixes.forEach(prefixComponentPair => {
|
|
let heaterMap = {};
|
|
heaterMap[GTValues.UHV] = UnificationEntry(prefixComponentPair[0], GTMaterials.get("omnium"));
|
|
heaterMap[GTValues.UEV] = UnificationEntry(prefixComponentPair[0], GTMaterials.get("omnium"));
|
|
heaterMap[GTValues.UIV] = UnificationEntry(prefixComponentPair[0], GTMaterials.get("omnium"));
|
|
event.modify(prefixComponentPair[1], heaterMap)
|
|
})
|
|
|
|
// Electric Coils
|
|
let electricCoilMap = {};
|
|
electricCoilMap[GTValues.UHV] = UnificationEntry(TagPrefix.wireGtHex, GTMaterials.get("sculk_superconductor"))
|
|
electricCoilMap[GTValues.UEV] = UnificationEntry(TagPrefix.wireGtHex, GTMaterials.get("activated_netherite"))
|
|
electricCoilMap[GTValues.UIV] = UnificationEntry(TagPrefix.wireGtHex, GTMaterials.get("holmium"))
|
|
event.modifyUnificationEntry(CraftingComponent.COIL_ELECTRIC, electricCoilMap)
|
|
|
|
// Magnetic Rods
|
|
let magneticRodMap = {};
|
|
magneticRodMap[GTValues.UV] = UnificationEntry(TagPrefix.rodLong, GTMaterials.SamariumMagnetic)
|
|
magneticRodMap[GTValues.UHV] = UnificationEntry(TagPrefix.rodLong, GTMaterials.get("magnetic_terbium"))
|
|
magneticRodMap[GTValues.UEV] = UnificationEntry(TagPrefix.rodLong, GTMaterials.get("magnetic_terbium"))
|
|
magneticRodMap[GTValues.UIV] = UnificationEntry(TagPrefix.rodLong, GTMaterials.get("magnetic_terbium"))
|
|
event.modifyUnificationEntry(CraftingComponent.STICK_MAGNETIC, magneticRodMap)
|
|
|
|
// Distillation Rods
|
|
let distillationRodMap = {};
|
|
distillationRodMap[GTValues.UHV] = UnificationEntry(TagPrefix.spring, GTMaterials.Actinium)
|
|
distillationRodMap[GTValues.UEV] = UnificationEntry(TagPrefix.spring, GTMaterials.get("sculk_bioalloy"))
|
|
distillationRodMap[GTValues.UIV] = UnificationEntry(TagPrefix.spring, GTMaterials.get("eltz"))
|
|
event.modifyUnificationEntry(CraftingComponent.STICK_DISTILLATION, distillationRodMap)
|
|
|
|
// Electromagnetic Rods
|
|
let electromagneticRodMap = {};
|
|
electromagneticRodMap[GTValues.IV] = UnificationEntry(TagPrefix.rod, GTMaterials.Neodymium)
|
|
electromagneticRodMap[GTValues.LuV] = UnificationEntry(TagPrefix.rod, GTMaterials.Samarium)
|
|
electromagneticRodMap[GTValues.ZPM] = UnificationEntry(TagPrefix.rod, GTMaterials.Samarium)
|
|
electromagneticRodMap[GTValues.UV] = UnificationEntry(TagPrefix.rod, GTMaterials.Samarium)
|
|
electromagneticRodMap[GTValues.UHV] = UnificationEntry(TagPrefix.rod, GTMaterials.Terbium)
|
|
electromagneticRodMap[GTValues.UEV] = UnificationEntry(TagPrefix.rod, GTMaterials.Terbium)
|
|
electromagneticRodMap[GTValues.UIV] = UnificationEntry(TagPrefix.rod, GTMaterials.Terbium)
|
|
event.modifyUnificationEntry(CraftingComponent.STICK_ELECTROMAGNETIC, electromagneticRodMap)
|
|
|
|
// Chem reactor pipe ingredient
|
|
let reactorPipeMap = {};
|
|
reactorPipeMap[GTValues.UHV] = UnificationEntry(TagPrefix.pipeNormalFluid, GTMaterials.get("polyethyl_cyanoacrylate"))
|
|
reactorPipeMap[GTValues.UEV] = UnificationEntry(TagPrefix.pipeLargeFluid, GTMaterials.get("polyethyl_cyanoacrylate"))
|
|
reactorPipeMap[GTValues.UIV] = UnificationEntry(TagPrefix.pipeHugeFluid, GTMaterials.get("polyethyl_cyanoacrylate"))
|
|
event.modifyUnificationEntry(CraftingComponent.PIPE_REACTOR, reactorPipeMap)
|
|
|
|
// PIC ingredient
|
|
let powerComponentMap = {};
|
|
powerComponentMap[GTValues.UEV] = Item.of("kubejs:uxpic_chip")
|
|
powerComponentMap[GTValues.UIV] = Item.of("kubejs:uxpic_chip")
|
|
powerComponentMap[GTValues.MAX] = Item.of("kubejs:uxpic_chip")
|
|
event.modifyItem(CraftingComponent.POWER_COMPONENT, powerComponentMap)
|
|
|
|
// Spring
|
|
let springMap = {};
|
|
springMap[GTValues.UEV] = UnificationEntry(TagPrefix.spring, GTMaterials.get("activated_netherite"))
|
|
springMap[GTValues.UIV] = UnificationEntry(TagPrefix.spring, GTMaterials.get("holmium"))
|
|
springMap[GTValues.MAX] = UnificationEntry(TagPrefix.spring, GTMaterials.get("monium"))
|
|
event.modifyUnificationEntry(CraftingComponent.SPRING, springMap)
|
|
|
|
// Frame
|
|
let frameMap = {};
|
|
frameMap[GTValues.UHV] = UnificationEntry(TagPrefix.frameGt, GTMaterials.Neutronium)
|
|
frameMap[GTValues.UEV] = UnificationEntry(TagPrefix.frameGt, GTMaterials.get("omnium"))
|
|
frameMap[GTValues.UIV] = UnificationEntry(TagPrefix.frameGt, GTMaterials.get("infinity"))
|
|
frameMap[GTValues.MAX] = UnificationEntry(TagPrefix.frameGt, GTMaterials.get("monium"))
|
|
event.modifyUnificationEntry(CraftingComponent.FRAME, frameMap)
|
|
})
|