From 240f7a379db08ef2d94c308c2df9d5b6fd3cc165 Mon Sep 17 00:00:00 2001 From: loving2 Date: Tue, 24 Dec 2024 23:11:54 -0500 Subject: [PATCH] The NeoForging Cuboid --- kubejs/assets/gtceu/lang/en_us.json | 2 + kubejs/client_scripts/tooltips.js | 379 +++++++++++----------- kubejs/server_scripts/mods/gtceu/gtceu.js | 12 + kubejs/startup_scripts/gtceu/neocube.js | 42 +++ 4 files changed, 248 insertions(+), 187 deletions(-) create mode 100644 kubejs/startup_scripts/gtceu/neocube.js diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 76613bf5..e7be1d25 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -1,4 +1,6 @@ { + "block.gtceu.neocube": "NeoForging Cuboid", + "gtceu.neocube": "NeoCube", "block.gtceu.apiary_i": "Apiary MK I", "gtceu.apiary_i": "Apiary MK I", "block.gtceu.apiary_ii": "Apiary MK II", diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 2aa8953c..5f2b96cc 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -4,183 +4,183 @@ // priority: 0 const circuits = [ //ULV - { - id: 'gtceu:vacuum_tube', - text: 'Your first ULV circuit.', - tier: 'ULV-Tier Circuit', - colour: 0xFFFFFF - }, - { - id: 'gtceu:nand_chip', - text: 'Your final ULV circuit.', - tier: 'ULV-Tier Circuit', - colour: 0xFFFFFF - }, + { + id: 'gtceu:vacuum_tube', + text: 'Your first ULV circuit.', + tier: 'ULV-Tier Circuit', + colour: 0xFFFFFF + }, + { + id: 'gtceu:nand_chip', + text: 'Your final ULV circuit.', + tier: 'ULV-Tier Circuit', + colour: 0xFFFFFF + }, //LV - { - id: 'gtceu:basic_electronic_circuit', - text: 'Your first LV circuit.', - tier: 'LV-Tier Circuit', - colour: 0xFFFFFF - }, - { - id: 'gtceu:basic_integrated_circuit', - text: 'Your second LV circuit.', - tier: 'LV-Tier Circuit', - colour: 0xFFFFFF - }, - { - id: 'gtceu:microchip_processor', - text: 'Your final LV circuit.', - tier: 'LV-Tier Circuit', - colour: 0xFFFFFF - }, + { + id: 'gtceu:basic_electronic_circuit', + text: 'Your first LV circuit.', + tier: 'LV-Tier Circuit', + colour: 0xFFFFFF + }, + { + id: 'gtceu:basic_integrated_circuit', + text: 'Your second LV circuit.', + tier: 'LV-Tier Circuit', + colour: 0xFFFFFF + }, + { + id: 'gtceu:microchip_processor', + text: 'Your final LV circuit.', + tier: 'LV-Tier Circuit', + colour: 0xFFFFFF + }, //MV - { - id: 'gtceu:good_electronic_circuit', - text: 'Your first MV circuit.', - tier: 'MV-Tier Circuit', - colour: 0x55FFFF - }, - { - id: 'gtceu:good_integrated_circuit', - text: 'Your second MV circuit.', - tier: 'MV-Tier Circuit', - colour: 0x55FFFF - }, - { - id: 'gtceu:micro_processor', - text: 'Your final MV circuit.', - tier: 'MV-Tier Circuit', - colour: 0x55FFFF - }, + { + id: 'gtceu:good_electronic_circuit', + text: 'Your first MV circuit.', + tier: 'MV-Tier Circuit', + colour: 0x55FFFF + }, + { + id: 'gtceu:good_integrated_circuit', + text: 'Your second MV circuit.', + tier: 'MV-Tier Circuit', + colour: 0x55FFFF + }, + { + id: 'gtceu:micro_processor', + text: 'Your final MV circuit.', + tier: 'MV-Tier Circuit', + colour: 0x55FFFF + }, //HV - { - id: 'gtceu:advanced_integrated_circuit', - text: 'Your first HV circuit.', - tier: 'HV-Tier Circuit', - colour: 0xFFAA00 - }, - { - id: 'gtceu:micro_processor_assembly', - text: 'Your second HV circuit.', - tier: 'HV-Tier Circuit', - colour: 0xFFAA00 - }, - { - id: 'gtceu:nano_processor', - text: 'Your final HV circuit.', - tier: 'HV-Tier Circuit', - colour: 0xFFAA00 - }, + { + id: 'gtceu:advanced_integrated_circuit', + text: 'Your first HV circuit.', + tier: 'HV-Tier Circuit', + colour: 0xFFAA00 + }, + { + id: 'gtceu:micro_processor_assembly', + text: 'Your second HV circuit.', + tier: 'HV-Tier Circuit', + colour: 0xFFAA00 + }, + { + id: 'gtceu:nano_processor', + text: 'Your final HV circuit.', + tier: 'HV-Tier Circuit', + colour: 0xFFAA00 + }, //EV - { - id: 'gtceu:micro_processor_computer', - text: 'Your first EV circuit.', - tier: 'EV-Tier Circuit', - colour: 0xAA00AA - }, - { - id: 'gtceu:nano_processor_assembly', - text: 'Your second EV circuit.', - tier: 'EV-Tier Circuit', - colour: 0xAA00AA - }, - { - id: 'gtceu:quantum_processor', - text: 'Your final EV circuit.', - tier: 'EV-Tier Circuit', - colour: 0xAA00AA - }, + { + id: 'gtceu:micro_processor_computer', + text: 'Your first EV circuit.', + tier: 'EV-Tier Circuit', + colour: 0xAA00AA + }, + { + id: 'gtceu:nano_processor_assembly', + text: 'Your second EV circuit.', + tier: 'EV-Tier Circuit', + colour: 0xAA00AA + }, + { + id: 'gtceu:quantum_processor', + text: 'Your final EV circuit.', + tier: 'EV-Tier Circuit', + colour: 0xAA00AA + }, //IV - { - id: 'gtceu:micro_processor_mainframe', - text: 'Your first IV circuit.', - tier: 'IV-Tier Circuit', - colour: 0x0000AA - }, - { - id: 'gtceu:nano_processor_computer', - text: 'Your second IV circuit.', - tier: 'IV-Tier Circuit', - colour: 0x0000AA - }, - { - id: 'gtceu:quantum_processor_assembly', - text: 'Your third IV circuit.', - tier: 'IV-Tier Circuit', - colour: 0x0000AA - }, - { - id: 'gtceu:crystal_processor', - text: 'Your final IV circuit.', - tier: 'IV-Tier Circuit', - colour: 0x0000AA - }, + { + id: 'gtceu:micro_processor_mainframe', + text: 'Your first IV circuit.', + tier: 'IV-Tier Circuit', + colour: 0x0000AA + }, + { + id: 'gtceu:nano_processor_computer', + text: 'Your second IV circuit.', + tier: 'IV-Tier Circuit', + colour: 0x0000AA + }, + { + id: 'gtceu:quantum_processor_assembly', + text: 'Your third IV circuit.', + tier: 'IV-Tier Circuit', + colour: 0x0000AA + }, + { + id: 'gtceu:crystal_processor', + text: 'Your final IV circuit.', + tier: 'IV-Tier Circuit', + colour: 0x0000AA + }, //LuV - { - id: 'gtceu:nano_processor_mainframe', - text: 'Your first LuV circuit.', - tier: 'LuV-Tier Circuit', - colour: 0xFF55FF - }, - { - id: 'gtceu:quantum_processor_computer', - text: 'Your second LuV circuit.', - tier: 'LuV-Tier Circuit', - colour: 0xFF55FF - }, - { - id: 'gtceu:crystal_processor_assembly', - text: 'Your third LuV circuit.', - tier: 'LuV-Tier Circuit', - colour: 0xFF55FF - }, - { - id: 'gtceu:wetware_processor', - text: 'Your final LuV circuit.', - tier: 'LuV-Tier Circuit', - colour: 0xFF55FF - }, + { + id: 'gtceu:nano_processor_mainframe', + text: 'Your first LuV circuit.', + tier: 'LuV-Tier Circuit', + colour: 0xFF55FF + }, + { + id: 'gtceu:quantum_processor_computer', + text: 'Your second LuV circuit.', + tier: 'LuV-Tier Circuit', + colour: 0xFF55FF + }, + { + id: 'gtceu:crystal_processor_assembly', + text: 'Your third LuV circuit.', + tier: 'LuV-Tier Circuit', + colour: 0xFF55FF + }, + { + id: 'gtceu:wetware_processor', + text: 'Your final LuV circuit.', + tier: 'LuV-Tier Circuit', + colour: 0xFF55FF + }, //ZPM - { - id: 'gtceu:quantum_processor_mainframe', - text: 'Your first ZPM circuit.', - tier: 'ZPM-Tier Circuit', - colour: 0xFF5555 - }, - { - id: 'gtceu:crystal_processor_computer', - text: 'Your second ZPM circuit.', - tier: 'ZPM-Tier Circuit', - colour: 0xFF5555 - }, - { - id: 'gtceu:wetware_processor_assembly', - text: 'Your final ZPM circuit.', - tier: 'ZPM-Tier Circuit', - colour: 0xFF5555 - }, + { + id: 'gtceu:quantum_processor_mainframe', + text: 'Your first ZPM circuit.', + tier: 'ZPM-Tier Circuit', + colour: 0xFF5555 + }, + { + id: 'gtceu:crystal_processor_computer', + text: 'Your second ZPM circuit.', + tier: 'ZPM-Tier Circuit', + colour: 0xFF5555 + }, + { + id: 'gtceu:wetware_processor_assembly', + text: 'Your final ZPM circuit.', + tier: 'ZPM-Tier Circuit', + colour: 0xFF5555 + }, //UV - { - id: 'gtceu:crystal_processor_mainframe', - text: 'Your first UV circuit.', - tier: 'UV-Tier Circuit', - colour: 0x00AAAA - }, - { - id: 'gtceu:wetware_processor_computer', - text: 'Your final UV circuit.', - tier: 'UV-Tier Circuit', - colour: 0x00AAAA - }, + { + id: 'gtceu:crystal_processor_mainframe', + text: 'Your first UV circuit.', + tier: 'UV-Tier Circuit', + colour: 0x00AAAA + }, + { + id: 'gtceu:wetware_processor_computer', + text: 'Your final UV circuit.', + tier: 'UV-Tier Circuit', + colour: 0x00AAAA + }, //UHV - { - id: 'gtceu:wetware_processor_mainframe', - text: 'Your first and only UHV circuit.', - tier: 'UHV-Tier Circuit', - colour: 0xAA0000 - } + { + id: 'gtceu:wetware_processor_mainframe', + text: 'Your first and only UHV circuit.', + tier: 'UHV-Tier Circuit', + colour: 0xAA0000 + } ] ItemEvents.tooltip(allthemods => { @@ -194,19 +194,19 @@ ItemEvents.tooltip(allthemods => { } }) }) - + //AllTheModium - allthemods.add('allthemodium:teleport_pad',[ + allthemods.add('allthemodium:teleport_pad', [ Text.of('Place the pad down in the specified Dimension'), Text.of('Sneak Right Click with both hands empty to teleport'), Text.of('§aOverworld TO Mining Dimension').red(), Text.of('§cThe Nether TO The Other').red(), Text.of('§bThe End TO The Beyond') ]) - + //Mekanism - allthemods.add('mekanism:creative_energy_cube', [ [Text.of('Needs to be Energized').darkPurple()],]) - + allthemods.add('mekanism:creative_energy_cube', [[Text.of('Needs to be Energized').darkPurple()],]) + // Mob Grinding Utils allthemods.addAdvanced('mob_grinding_utils:rotten_egg', (stack, advanced, text) => { text.add(3, Text.of("Created from Cursed Chicken Feed").yellow()) @@ -214,7 +214,7 @@ ItemEvents.tooltip(allthemods => { allthemods.addAdvanced('mob_grinding_utils:golden_egg', (stack, advanced, text) => { text.add(3, Text.of("Created from Nutritious Chicken Feed").yellow()) }) - + // RS Infinity Booster allthemods.add('rsinfinitybooster:infinity_card', [ Text.of('Infinite range for RS wireless'), @@ -298,23 +298,28 @@ ItemEvents.tooltip(allthemods => { [Text.of('Gas:').darkGray(), ' ', Text.of('40,000').gray(), ' ', Text.of('mB/t').darkGray()], [Text.of('Energy:').darkGray(), ' ', Text.of('131,072').gray(), ' ', Text.of('FE/t').darkGray()], ]) - + //GTCEu - allthemods.add('gtceu:advanced_large_chemical_reactor', + allthemods.add('gtceu:neocube', + [ + Text.of('Not an AssLine... A NeoCube') + ] + ) + allthemods.add('gtceu:advanced_large_chemical_reactor', + [ + Text.of('ALCR a LCR that can parallelize.') + ] + ) + + circuits.forEach((circuit) => { + allthemods.add(circuit.id, [ - Text.of('ALCR a LCR that can parallelize.') + Text.of(circuit.text), + Text.of(circuit.tier).color(circuit.colour) ] ) - - circuits.forEach((circuit) => { - allthemods.add(circuit.id, - [ - Text.of(circuit.text), - Text.of(circuit.tier).color(circuit.colour) - ] - ) - } - ) + } + ) }) // This File has been authored by AllTheMods Staff, or a Community contributor for use in AllTheMods - AllTheMods 9. diff --git a/kubejs/server_scripts/mods/gtceu/gtceu.js b/kubejs/server_scripts/mods/gtceu/gtceu.js index 8d1e1845..35db95e4 100644 --- a/kubejs/server_scripts/mods/gtceu/gtceu.js +++ b/kubejs/server_scripts/mods/gtceu/gtceu.js @@ -55,6 +55,18 @@ ServerEvents.recipes(allthemods => { .duration(500) .scannerResearch(Item.of('gtceu:large_chemical_reactor')) .EUt(IV) + + // NeoCube + allthemods.recipes.gtceu.assembly_line('neocube') + .itemInputs('gtceu:assembly_line', '4x #gtceu:circuits/uv', '9x gtceu:naquadah_alloy_plate', '16x gtceu:enriched_naquadah_trinium_europium_duranide_single_wire', '2x gtceu:zpm_field_generator') + .itemOutputs('gtceu:neocube') + .inputFluids( + Fluid.of('gtceu:lubricant', 4000), + Fluid.of('gtceu:soldering_alloy', 2304) + ) + .duration(500) + .stationResearch(b => b.researchStack(Item.of('gtceu:assembly_line')).CWUt(96).EUt(UV)) + .EUt(ZPM) allthemods.recipes.gtceu.assembler('uhv_16a_energy_hatch') .itemInputs('2x gtceu:uhv_energy_input_hatch_4a', '2x gtceu:uhpic_chip', 'kubejs:superthermal_transference_coil', '2x kubejs:cable_of_hyperconductivity') diff --git a/kubejs/startup_scripts/gtceu/neocube.js b/kubejs/startup_scripts/gtceu/neocube.js new file mode 100644 index 00000000..25d64e8f --- /dev/null +++ b/kubejs/startup_scripts/gtceu/neocube.js @@ -0,0 +1,42 @@ +// This File has been authored by AllTheMods Staff, or a Community contributor for use in AllTheMods - AllTheMods 9. +// As all AllTheMods packs are licensed under All Rights Reserved, this file is not allowed to be used in any public packs not released by the AllTheMods Team, without explicit permission. + +GTCEuStartupEvents.registry('gtceu:machine', allthemods => { + allthemods.create('neocube', 'multiblock') + .rotationState(RotationState.ALL) + .recipeTypes('assembly_line') + .appearanceBlock(GTBlocks.CASING_STEEL_SOLID) + .recipeModifier(GTRecipeModifiers.OC_PERFECT_SUBTICK) + .pattern(definition => FactoryBlockPattern.start() + .aisle('FFFFFFFF', 'LLLLLLLL', 'GLGGGGLG', 'GLG GLG', 'GLG GLG', 'GLG GLG', 'GLG GLG', 'GLG GLG', 'GLGGGGLG', 'LLLLLLLL', 'GGGGGGGG', ' ') + .aisle('FCCCCCCF', 'LAAAAAAL', 'LALIILAL', 'LAI IAL', 'LAI IAL', 'LAI IAL', 'LAI IAL', 'LAI IAL', 'LALIILAL', 'LAAAAAAL', 'GCCCCCCG', ' SSSSSS ') + .aisle('FCFFFFCF', 'LALLLLAL', 'GLFFFFLG', 'GIF FIG', 'GIF FIG', 'GIF FIG', 'GIF FIG', 'GIF FIG', 'GLFFFFLG', 'LALLLLAL', 'GCGGGGCG', ' S S ') + .aisle('FCF FCF', 'LAL LAL', 'GIF FIG', ' ', ' ', ' ', ' ', ' ', 'GIF FIG', 'LAL LAL', 'GCG GCG', ' S S ') + .aisle('FCF FCF', 'LAL LAL', 'GIF FIG', ' ', ' ', ' ', ' ', ' ', 'GIF FIG', 'LAL LAL', 'GCG GCG', ' S S ') + .aisle('FCFFFFCF', 'LALLLLAL', 'GLFFFFLG', 'GIF FIG', 'GIF FIG', 'GIF FIG', 'GIF FIG', 'GIF FIG', 'GLFFFFLG', 'LALLLLAL', 'GCGGGGCG', ' S S ') + .aisle('FCCCCCCF', 'LAAAAAAL', 'LALIILAL', 'LAI IAL', 'LAI IAL', 'LAI IAL', 'LAI IAL', 'LAI IAL', 'LALIILAL', 'LAAAAAAL', 'GCCCCCCG', ' SSSSSS ') + .aisle('FFFFFFFF', 'LLLLLLLL', 'GLGGGGLG', 'GLG GLG', 'GLG GLG', 'GLG GLG', 'GLG GLG', 'GLG GLG', 'GLGGGGLG', 'LLLLLLLL', 'GGGGGGDK', ' ') + .where('K', Predicates.controller(Predicates.blocks(definition.get()))) + .where('S', Predicates.blocks(GTBlocks.CASING_STEEL_SOLID.get()) + .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setMinGlobalLimited(1).setMaxGlobalLimited(2)) + ) + .where('F', Predicates.blocks(GTBlocks.CASING_STEEL_SOLID.get())) + .where('G', Predicates.blocks(GTBlocks.CASING_GRATE.get())) + .where('C', Predicates.blocks(GTBlocks.CASING_ASSEMBLY_CONTROL.get())) + .where('D', Predicates.abilities(PartAbility.DATA_ACCESS, PartAbility.OPTICAL_DATA_RECEPTION).setExactLimit(1)) + .where('L', Predicates.blocks(GTBlocks.CASING_LAMINATED_GLASS.get())) + .where('A', Predicates.blocks(GTBlocks.CASING_ASSEMBLY_LINE.get())) + .where('I', Predicates.blocks(GTMachines.ITEM_IMPORT_BUS[0].getBlock()).setMinGlobalLimited(5).setMaxGlobalLimited(16) + .or(Predicates.abilities(PartAbility.EXPORT_ITEMS).setExactLimit(1)) + .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS_1X, PartAbility.IMPORT_FLUIDS_4X, PartAbility.IMPORT_FLUIDS_9X).setMaxGlobalLimited(4)) + .or(Predicates.blocks(GTBlocks.CASING_LAMINATED_GLASS.get())) + ) + .where(' ', Predicates.any()) + .build() + ) + .workableCasingRenderer( + "gtceu:block/casings/solid/machine_casing_solid_steel", + "gtceu:block/multiblock/assembly_line", + false + ) +}) \ No newline at end of file