From dd566d38209b68acf4c4bb3680df7d06aa02c0f0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Sep 2025 00:12:32 +0100 Subject: [PATCH] goodbye, terrariums, you will be missed --- CHANGELOG.md | 1 + .../block/artificial_end_portal_frame.json | 84 -------- kubejs/client_scripts/tooltips.js | 8 - kubejs/server_scripts/gregtech/recipes.js | 3 +- kubejs/server_scripts/minecraft/recipes.js | 6 - kubejs/server_scripts/tfc/recipes.stone.js | 10 +- kubejs/server_scripts/tfg/recipes.js | 3 - kubejs/server_scripts/tfg/recipes.space.js | 39 +++- .../server_scripts/tfg/recipes.stone_dusts.js | 1 + .../server_scripts/tfg/recipes.terrariums.js | 184 ------------------ kubejs/startup_scripts/gtceu/machines.js | 165 ---------------- kubejs/startup_scripts/gtceu/recipe_types.js | 13 -- kubejs/startup_scripts/minecraft/constants.js | 7 +- kubejs/startup_scripts/tfg/blocks.js | 9 - kubejs/startup_scripts/tfg/fluids.js | 28 --- kubejs/startup_scripts/tfg/materials.js | 45 +++-- 16 files changed, 75 insertions(+), 531 deletions(-) delete mode 100644 kubejs/assets/tfg/models/block/artificial_end_portal_frame.json delete mode 100644 kubejs/server_scripts/tfg/recipes.terrariums.js diff --git a/CHANGELOG.md b/CHANGELOG.md index f265706b0..643da3fc9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Radon, Plutonium, the Microprocessor Mainframe and Nano Circuits are now locked behind Fission tech. You shouldn't need IV-tier circuits for anything before then, please let us know if we've missed something. - Plutonium ore has been removed from the Beneath (only affects ) - Titanium now has a more complicated refinement process! It's pretty straightforward if you just need a little of it, but it has a fully loopable recipe chain too! +- The Netherarium and Enderarium have been removed. You will be able to get all their important outputs from Mars. If you have any nether/ender air stored, distill it because those recipes will be going away soon too. ### Create changes - Water wheels and windmills are now Greate tiered! Small water wheels are ULS (32 SU max), large water wheels and windmills are LS (128 SU max). - Large water wheels are now more expensive to craft (and now need steel), but also generate 128 SU by themselves, so you don't need to double them up any more. All water wheels now require actual rivers to rotate at their full effectiveness. You can still use them in oceans and lakes at partial efficiency. diff --git a/kubejs/assets/tfg/models/block/artificial_end_portal_frame.json b/kubejs/assets/tfg/models/block/artificial_end_portal_frame.json deleted file mode 100644 index 1b8e182a0..000000000 --- a/kubejs/assets/tfg/models/block/artificial_end_portal_frame.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "textures": { - "particle": "block/end_portal_frame_side", - "bottom": "block/end_stone", - "top": "block/end_portal_frame_top", - "side": "block/end_portal_frame_side", - "eye": "block/end_portal_frame_eye" - }, - "elements": [ - { - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ], - "faces": { - "down": { - "uv": [ - 0, - 0, - 16, - 16 - ], - "texture": "#bottom", - "cullface": "down" - }, - "up": { - "uv": [ - 0, - 0, - 16, - 16 - ], - "texture": "#top" - }, - "north": { - "uv": [ - 0, - 3, - 16, - 16 - ], - "texture": "#side", - "cullface": "north" - }, - "south": { - "uv": [ - 0, - 3, - 16, - 16 - ], - "texture": "#side", - "cullface": "south" - }, - "west": { - "uv": [ - 0, - 3, - 16, - 16 - ], - "texture": "#side", - "cullface": "west" - }, - "east": { - "uv": [ - 0, - 3, - 16, - 16 - ], - "texture": "#side", - "cullface": "east" - } - } - } - ] -} \ No newline at end of file diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 0c79d70f7..ef26d23bc 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -25,14 +25,6 @@ const registerTooltips = (event) => { event.addAdvanced(['gtceu:large_chemical_reactor'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.perfect_overclock')) }) - event.addAdvanced(['gtceu:nether_dome'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.nether_dome_1')), - text.add(2, Text.translate('tfg.tooltip.machine.customize_interior')) - }) - event.addAdvanced(['gtceu:end_dome'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.end_dome_1')), - text.add(2, Text.translate('tfg.tooltip.machine.customize_interior')) - }) // Insulation event.addAdvanced(['create:copper_diving_helmet', 'create:copper_backtank', 'create:copper_diving_boots'], (item, advanced, text) => { diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 234e74f7c..fd0a0c7d6 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -397,7 +397,8 @@ const registerGTCEURecipes = (event) => { .itemInputs('2x #forge:dusts/iridium', '#forge:dusts/diamond') .circuit(10) .itemOutputs('gtceu:nether_star_dust') - .inputFluids(Fluid.of('gtceu:nether_air', 1000)) + // TODO: change to something else with venus + .inputFluids(Fluid.of('gtceu:neon', 1000)) .duration(700) .EUt(2720) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 4a0457110..91d2a35a0 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -850,12 +850,6 @@ const registerMinecraftRecipes = (event) => { //#endregion - //#region Nether Brick - - event.smelting('minecraft:nether_brick', 'minecraft:netherrack') - - //#endregion - //#region Netherite leggings (for the lavaproof diving set) event.recipes.tfc.advanced_shaped_crafting( diff --git a/kubejs/server_scripts/tfc/recipes.stone.js b/kubejs/server_scripts/tfc/recipes.stone.js index 14bfe0c17..378ca7a1e 100644 --- a/kubejs/server_scripts/tfc/recipes.stone.js +++ b/kubejs/server_scripts/tfc/recipes.stone.js @@ -576,13 +576,7 @@ function registerTFCStoneRecipes(event) { //#endregion - - event.custom({ - type: "tfc:collapse", - ingredient: { - tag: `forge:ores_in_ground/${stone}` - }, - result: `tfc:rock/cobble/${stone}` - }).id(`tfg:collapse/${stone}_gt_ores`) + event.recipes.tfc.collapse(`tfc:rock/cobble/${stone}`, `#forge:ores_in_ground/${stone}`) + .id(`tfg:collapse/${stone}_gt_ores`) }) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index da644a3b6..9ea491b8c 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -10,7 +10,6 @@ const registerTFGRecipes = (event) => { registerTFGRockRecipes(event) registerTFGCollapseRecipes(event) registerTFGMoldRecipes(event) - registerTFGTerrariumRecipes(event) registerTFGMedicineRecipes(event) registerTFGMiscellaneousRecipes(event) registerTFGSupportRecipes(event) @@ -23,6 +22,4 @@ const registerTFGRecipes = (event) => { registerTFGNuclearRecipes(event) registerTFGBioreactorRecipes(event) registerTFGSpaceOres(event) - - } diff --git a/kubejs/server_scripts/tfg/recipes.space.js b/kubejs/server_scripts/tfg/recipes.space.js index ca303c1ca..0f82840d4 100644 --- a/kubejs/server_scripts/tfg/recipes.space.js +++ b/kubejs/server_scripts/tfg/recipes.space.js @@ -32,27 +32,56 @@ function registerTFGSpaceRecipes(event) { // Air collector - event.recipes.gtceu.gas_collector('nether') + event.recipes.gtceu.gas_collector('tfg:nether') .circuit(2) .outputFluids(Fluid.of('gtceu:air', 10000)) .dimension('minecraft:the_nether') .duration(200) .EUt(16) - event.recipes.gtceu.gas_collector('moon') + event.recipes.gtceu.gas_collector('tfg:moon') .circuit(3) .outputFluids(Fluid.of('gtceu:argon', 1)) .dimension('ad_astra:moon') .duration(20*60*30) .EUt(16) - event.recipes.gtceu.gas_collector('mars') - .circuit(3) - .outputFluids(Fluid.of('gtceu:carbon_dioxide', 10000)) + event.recipes.gtceu.gas_collector('tfg:mars') + .circuit(4) + .outputFluids(Fluid.of('tfg:mars_air', 10000)) .dimension('ad_astra:mars') .duration(20*10) .EUt(16) + event.recipes.gtceu.vacuum_freezer('tfg:liquid_mars_air') + .inputFluids(Fluid.of('tfg:mars_air', 4000)) + .outputFluids(Fluid.of('tfg:liquid_mars_air', 4000)) + .duration(80) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.centrifuge('tfg:centrifuge_mars_air') + .inputFluids(Fluid.of('tfg:mars_air', 10000)) + .outputFluids(Fluid.of('gtceu:carbon_dioxide', 3900), Fluid.of('gtceu:nitrogen', 1000), Fluid.of('gtceu:argon', 500)) + .duration(1600) + .EUt(GTValues.VA[GTValues.MV]) + + // TODO: move neon and xenon somewhere else + event.recipes.gtceu.distillation_tower('tfg:distill_liquid_mars_air') + .inputFluids(Fluid.of('tfg:liquid_mars_air', 100000)) + .outputFluids(Fluid.of('gtceu:carbon_dioxide', 80000)) + .outputFluids(Fluid.of('gtceu:carbon_monoxide', 1000)) + .outputFluids(Fluid.of('gtceu:nitrogen', 7000)) + .outputFluids(Fluid.of('gtceu:argon', 5000)) + .outputFluids(Fluid.of('gtceu:oxygen', 3000)) + .outputFluids(Fluid.of('gtceu:krypton', 1000)) + .outputFluids(Fluid.of('gtceu:deuterium', 1000)) + .outputFluids(Fluid.of('gtceu:neon', 1000)) + .outputFluids(Fluid.of('gtceu:xenon', 1000)) + .chancedOutput('gtceu:ammonium_chloride_dust', 2250, 0) + .disableDistilleryRecipes(true) + .duration(2000) + .EUt(GTValues.VA[GTValues.EV]) + // Aqueous accumulator let aaCircuit = 1; diff --git a/kubejs/server_scripts/tfg/recipes.stone_dusts.js b/kubejs/server_scripts/tfg/recipes.stone_dusts.js index 9d04ecc70..2ce4ca2eb 100644 --- a/kubejs/server_scripts/tfg/recipes.stone_dusts.js +++ b/kubejs/server_scripts/tfg/recipes.stone_dusts.js @@ -304,6 +304,7 @@ function registerTFGStoneDustRecipes(event) { .itemOutputs('gtceu:quartzite_dust') .chancedOutput('#forge:dusts/nether_quartz', 2000, 0) + // Keratophyre event.recipes.gtceu.centrifuge('netherrack_separation') .EUt(GTValues.VA[GTValues.MV]) .duration(480) diff --git a/kubejs/server_scripts/tfg/recipes.terrariums.js b/kubejs/server_scripts/tfg/recipes.terrariums.js deleted file mode 100644 index 2bc2b6a0e..000000000 --- a/kubejs/server_scripts/tfg/recipes.terrariums.js +++ /dev/null @@ -1,184 +0,0 @@ -// priority: 0 -"use strict"; - -/** - * @param {Internal.RecipesEventJS} event - */ -function registerTFGTerrariumRecipes(event) { - - event.remove({ id: 'gtceu:gas_collector/nether_air' }) - event.remove({ id: 'gtceu:gas_collector/ender_air' }) - - // nether slurry - - event.recipes.gtceu.mixer('tfg:nether_slurry') - .itemInputs('gtceu:basalt_dust', 'minecraft:blaze_powder', 'minecraft:gold_nugget') - .inputFluids(Fluid.of('minecraft:lava', 1000)) - .outputFluids(Fluid.of('tfg:nether_slurry', 1000)) - .duration(200) - .EUt(512) - - event.recipes.gtceu.mixer('tfg:enriched_nether_slurry') - .itemInputs('minecraft:quartz', 'minecraft:redstone') - .inputFluids(Fluid.of('tfg:nether_slurry', 2000)) - .outputFluids(Fluid.of('tfg:enriched_nether_slurry', 2000)) - .duration(200) - .EUt(512) - - // nether air - - event.recipes.gtceu.nether_dome('tfg:slurry_to_air') - .inputFluids(Fluid.of('tfg:nether_slurry', 100)) - .outputFluids(Fluid.of('gtceu:nether_air', 32000)) - .duration(200) - .EUt(256) - .circuit(1) - - event.recipes.gtceu.nether_dome('tfg:enriched_slurry_to_air') - .inputFluids(Fluid.of('tfg:enriched_nether_slurry', 100)) - .outputFluids(Fluid.of('gtceu:nether_air', 128000)) - .duration(200) - .EUt(256) - .circuit(1) - - event.recipes.gtceu.nether_dome('tfg:quartz') - .itemInputs('gtceu:quartzite_gem') - .inputFluids(Fluid.of('tfg:nether_slurry', 25)) - .itemOutputs('minecraft:quartz') - .duration(200) - .EUt(512) - .circuit(2) - - // netherarium - - event.shaped('gtceu:nether_dome', [ - 'ADA', - 'CEC', - 'FBF' - ], { - A: 'minecraft:quartz', - B: 'minecraft:gold_block', - C: 'minecraft:blaze_rod', - D: 'gtceu:hv_emitter', - E: 'gtceu:hv_gas_collector', - F: 'gtceu:dense_obsidian_plate' - }).id('tfg:shaped/nether_dome2') - - // netherrack - - event.recipes.gtceu.chemical_bath('tfg:netherrack') - .itemInputs('#forge:stone') - .inputFluids(Fluid.of('gtceu:blaze', 144)) - .itemOutputs('minecraft:netherrack') - .duration(200) - .EUt(512) - - // nether bricks - - event.recipes.gtceu.assembler('tfg:nether_bricks') - .itemInputs('5x minecraft:nether_brick') - .itemOutputs('4x minecraft:nether_bricks') - .inputFluids(Fluid.of('gtceu:concrete', 72)) - .duration(50) - .EUt(2) - - // ender slurry - - event.recipes.gtceu.mixer('tfg:ender_slurry') - .itemInputs('#forge:dusts/obsidian', 'minecraft:end_stone') - .inputFluids(Fluid.of('gtceu:helium', 200), Fluid.of('gtceu:radon', 50)) - .outputFluids(Fluid.of('tfg:ender_slurry', 250)) - .duration(200) - .EUt(2048) - - event.recipes.gtceu.mixer('tfg:enriched_ender_slurry') - .itemInputs('minecraft:chorus_fruit', 'ae2:ender_dust') - .inputFluids(Fluid.of('tfg:ender_slurry', 500)) - .outputFluids(Fluid.of('tfg:enriched_ender_slurry', 500)) - .duration(200) - .EUt(2048) - - // ender air - - event.recipes.gtceu.end_dome('tfg:slurry_to_air') - .inputFluids(Fluid.of('tfg:ender_slurry', 25)) - .outputFluids(Fluid.of('gtceu:ender_air', 32000)) - .duration(200) - .EUt(1024) - .circuit(1) - - event.recipes.gtceu.end_dome('tfg:enriched_slurry_to_air') - .inputFluids(Fluid.of('tfg:enriched_ender_slurry', 25)) - .outputFluids(Fluid.of('gtceu:ender_air', 128000)) - .duration(200) - .EUt(1024) - .circuit(1) - - event.recipes.gtceu.end_dome('tfg:pearls') - .itemInputs('gtceu:quantum_eye') - .inputFluids(Fluid.of('tfg:ender_slurry', 10)) - .itemOutputs('2x minecraft:ender_pearl') - .duration(200) - .EUt(2048) - .circuit(2) - - // enderarium - - event.shaped('gtceu:end_dome', [ - 'DAD', - 'CEC', - 'FBF' - ], { - A: 'gtceu:ev_emitter', - B: 'minecraft:end_stone', - C: 'tfc:metal/bars/wrought_iron', - D: 'minecraft:end_crystal', - E: 'gtceu:ev_gas_collector', - F: 'gtceu:dense_obsidian_plate' - }).id('tfg:shaped/end_dome') - - // parts for the ender dome - - event.shaped('minecraft:end_crystal', [ - 'AAA', - 'ABA', - 'ACA' - ], { - A: 'gtceu:tempered_glass', - B: 'gtceu:quantum_eye', - C: '#forge:exquisite_gems' - }).id('tfg:shaped/end_crystal') - - // chorus fruit - - // end stone - - - event.recipes.gtceu.chemical_bath('tfg:end_stone') - .itemInputs('#forge:stone') - .inputFluids(Fluid.of('gtceu:argon', 100)) - .itemOutputs('minecraft:end_stone') - .duration(100) - .EUt(2048) - - // dragon egg - - event.recipes.gtceu.chemical_bath('tfg:dragon_egg') - .itemInputs('#forge:eggs') - .inputFluids(Fluid.of('gtceu:thorium', 1296)) - .itemOutputs('minecraft:dragon_egg') - .duration(2000) - .EUt(2048) - - // end portal frame - - event.shaped('tfg:artificial_end_portal_frame', [ - 'A', - 'B', - 'C' - ], { - A: 'tfg:vitrified_pearl', - B: 'minecraft:cyan_carpet', - C: 'minecraft:end_stone' - }).id('tfg:shaped/artificial_end_portal_frame') -} \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index 4acaa8cee..230b7074c 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -6,171 +6,6 @@ const registerGTCEuMachines = (event) => { const $Tags = Java.loadClass("dev.latvian.mods.kubejs.util.Tags") const CoilWorkableElectricMultiblockMachine = Java.loadClass("com.gregtechceu.gtceu.api.machine.multiblock.CoilWorkableElectricMultiblockMachine") - //#region Nether Dome - - event.create('nether_dome', 'multiblock') - .rotationState(RotationState.NON_Y_AXIS) - .recipeType('nether_dome') - .appearanceBlock(GTBlocks.CASING_PTFE_INERT) - .pattern(definition => FactoryBlockPattern.start() - .aisle(" CCCCC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ") - .aisle("CBBBBBC", "Q#####Q", "Q#####Q", "Q#####Q", "QTTTTTQ", " QQQQQ ") - .aisle("CBBBBBC", "Q#####Q", "Q#####Q", "Q#####Q", "QTTTTTQ", " QQQQQ ") - .aisle("CBBBBBC", "F#####F", "F#####F", "F#####F", "FTTTTTF", "FQQQQQF") - .aisle("CBBBBBC", "Q#####Q", "Q#####Q", "Q#####Q", "QTTTTTQ", " QQQQQ ") - .aisle("CBBBBBC", "Q#####Q", "Q#####Q", "Q#####Q", "QTTTTTQ", " QQQQQ ") - .aisle(" CCXCC ", " QGOGQ ", " QOPOQ ", " QOPOQ ", " QGOGQ ", " ") - .where('X', Predicates.controller(Predicates.blocks(definition.get()))) - .where('B', Predicates.blocks('tfc:rock/magma/basalt').setMinGlobalLimited(6) - .or(Predicates.blocks('minecraft:netherrack').setMinGlobalLimited(10))) - .where('T', Predicates.blocks('minecraft:glowstone').setMinGlobalLimited(5) - .or(Predicates.blocks('minecraft:netherrack').setMinGlobalLimited(10))) - .where('O', Predicates.blocks('minecraft:obsidian')) - .where('F', Predicates.frames('black_steel')) - .where('Q', Predicates.blocks('ae2:quartz_glass')) - .where('G', Predicates.blocks('minecraft:gold_block') - .or(Predicates.blocks('tfc:rock/raw/basalt')) - .or(Predicates.blocks('tfc:rock/hardened/basalt')) - .or(Predicates.blocks('tfc:rock/bricks/basalt')) - .or(Predicates.blocks('tfc:rock/chiseled/basalt')) - .or(Predicates.blocks('minecraft:obsidian')) - .or(Predicates.blocks('minecraft:nether_bricks'))) - .where('P', Predicates.blocks('minecraft:purple_stained_glass_pane')) - .where('C', Predicates.blocks(GTBlocks.CASING_PTFE_INERT.get()).setMinGlobalLimited(10) - .or(Predicates.autoAbilities(definition.getRecipeTypes())) - .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))) - .where('#', Predicates.air() - .or(Predicates.blocks('minecraft:netherrack')) - .or(Predicates.blocks('tfc:rock/magma/basalt')) - .or(Predicates.blocks('minecraft:glowstone')) - .or(Predicates.blocks('minecraft:nether_bricks'))) - .where(' ', Predicates.any()) - .build() - ) - .shapeInfo(controller => MultiblockShapeInfo.builder() - .aisle(" CeCeC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ") - .aisle("CMMMNNC", "Q NQ", "Q Q", "Q Q", "QNTTNNQ", " QQQQQ ") - .aisle("iMMNNNf", "QR Q", "QR Q", "Q T Q", "QNTTTNQ", " QQQQQ ") - .aisle("CNMMMNC", "F NF", "F F", "F F", "FNNTNNF", "FQQQQQF") - .aisle("tNNNMNl", "Q NQ", "Q NQ", "Q Q", "QNNNNNQ", " QQQQQ ") - .aisle("CNNNNNC", "QN NNQ", "Q NQ", "Q NQ", "QNNNNNQ", " QQQQQ ") - .aisle(" mCXCC ", " QGOGQ ", " QOPOQ ", " QOPOQ ", " QGOGQ ", " ") - .where('X', controller, Direction.SOUTH) - .where('C', GTBlocks.CASING_PTFE_INERT.get()) - .where('N', Block.getBlock('minecraft:netherrack')) - .where('M', Block.getBlock('tfc:rock/magma/basalt')) - .where('T', Block.getBlock('minecraft:glowstone')) - .where('Q', Block.getBlock('ae2:quartz_glass')) - .where('F', Block.getBlock('gtceu:black_steel_frame')) - .where('G', Block.getBlock('minecraft:gold_block')) - .where('O', Block.getBlock('minecraft:obsidian')) - .where('P', Block.getBlock('minecraft:purple_stained_glass_pane')) - .where('R', Block.getBlock('minecraft:nether_bricks')) - .where(' ', Block.getBlock('minecraft:air')) - - .where('m', GTMachines.MAINTENANCE_HATCH, Direction.SOUTH) - .where('i', GTMachines.ITEM_IMPORT_BUS[GTValues.ULV], Direction.WEST) - .where('t', GTMachines.ITEM_EXPORT_BUS[GTValues.ULV], Direction.WEST) - .where('f', GTMachines.FLUID_IMPORT_HATCH[GTValues.MV], Direction.EAST) - .where('l', GTMachines.FLUID_EXPORT_HATCH[GTValues.MV], Direction.EAST) - .where('e', GTMachines.ENERGY_INPUT_HATCH[GTValues.MV], Direction.NORTH) - .build() - ) - .workableCasingModel( - "gtceu:block/casings/solid/machine_casing_inert_ptfe", - "gtceu:block/machines/gas_collector") - - //#endregion - - //#region End Dome - - event.create('end_dome', 'multiblock') - .rotationState(RotationState.NON_Y_AXIS) - .recipeType('end_dome') - .appearanceBlock(GTBlocks.CASING_TITANIUM_STABLE) - .pattern(definition => FactoryBlockPattern.start() - .aisle(" CCCCC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ", " ") - .aisle("CBBBBBC", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", " QSSSQ ", " GGG ") - .aisle("CBBBBBC", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", " SNNNS ", " G G ") - .aisle("CBBBBBC", "FOOEOOF", "FOOOOOF", "FOOOOOF", "FOOOOOF", "FSNNNSF", " G G ") - .aisle("CBBBBBC", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", " SNNNS ", " G G ") - .aisle("CBBBBBC", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", " QSSSQ ", " GGG ") - .aisle(" CCXCC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ", " ") - .where('X', Predicates.controller(Predicates.blocks(definition.get()))) - .where('B', Predicates.blocks('minecraft:end_stone').setMinGlobalLimited(20) - .or(Predicates.blocks('minecraft:black_concrete'))) - .where('O', Predicates.blocks('minecraft:obsidian').setMinGlobalLimited(8) - .or(Predicates.air())) - .where('F', Predicates.frames('titanium')) - .where('Q', Predicates.blocks('ae2:quartz_glass')) - .where('E', Predicates.blocks('minecraft:dragon_egg')) - .where('S', Predicates.blocks('tfg:artificial_end_portal_frame')) - .where('N', Predicates.blocks('minecraft:black_concrete')) - .where('G', Predicates.blocks('tfc:ore/small_malachite') - .or(Predicates.blocks('tfc:ore/small_native_copper')) - .or(Predicates.blocks('tfc:ore/small_native_gold')) - .or(Predicates.blocks('tfc:ore/small_hematite')) - .or(Predicates.blocks('tfc:ore/small_native_silver')) - .or(Predicates.blocks('tfc:ore/small_cassiterite')) - .or(Predicates.blocks('tfc:ore/small_bismuthinite')) - .or(Predicates.blocks('tfc:ore/small_garnierite')) - .or(Predicates.blocks('tfc:ore/small_malachite')) - .or(Predicates.blocks('tfc:ore/small_magnetite')) - .or(Predicates.blocks('tfc:ore/small_limonite')) - .or(Predicates.blocks('tfc:ore/small_sphalerite')) - .or(Predicates.blocks('tfc:ore/small_tetrahedrite'))) - .where('C', Predicates.blocks(GTBlocks.CASING_TITANIUM_STABLE.get()).setMinGlobalLimited(10) - .or(Predicates.autoAbilities(definition.getRecipeTypes())) - .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))) - .where(' ', Predicates.any()) - .build() - ) - .shapeInfo(controller => MultiblockShapeInfo.builder() - .aisle(" CeCeC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ", " ") - .aisle("CBBBBBC", "Q O Q", "Q O Q", "Q Q", "Q Q", " QSSSQ ", " 123 ") - .aisle("iBBBBBf", "QO OQ", "QO Q", "QO Q", "Q Q", " SNNNS ", " y 4 ") - .aisle("CBBBBBC", "F E F", "F F", "F F", "F F", "FSNNNSF", " z 5 ") - .aisle("tBBBBNl", "Q O Q", "Q O Q", "Q Q", "Q Q", " SNNNS ", " 0 6 ") - .aisle("CNBBNNC", "Q Q", "Q Q", "Q Q", "Q Q", " QSSSQ ", " 987 ") - .aisle(" mCXCC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ", " ") - .where('X', controller, Direction.SOUTH) - .where('C', GTBlocks.CASING_TITANIUM_STABLE.get()) - .where('B', Block.getBlock('minecraft:end_stone')) - .where('N', Block.getBlock('minecraft:black_concrete')) - .where('O', Block.getBlock('minecraft:obsidian')) - .where('F', Block.getBlock('gtceu:titanium_frame')) - .where('Q', Block.getBlock('ae2:quartz_glass')) - .where(' ', Block.getBlock('minecraft:air')) - .where('S', Block.getBlock('tfg:artificial_end_portal_frame')) - .where('E', Block.getBlock('minecraft:dragon_egg')) - - .where('1', Block.getBlock('tfc:ore/small_native_copper')) - .where('2', Block.getBlock('tfc:ore/small_native_gold')) - .where('3', Block.getBlock('tfc:ore/small_hematite')) - .where('4', Block.getBlock('tfc:ore/small_native_silver')) - .where('5', Block.getBlock('tfc:ore/small_cassiterite')) - .where('6', Block.getBlock('tfc:ore/small_bismuthinite')) - .where('7', Block.getBlock('tfc:ore/small_garnierite')) - .where('8', Block.getBlock('tfc:ore/small_malachite')) - .where('9', Block.getBlock('tfc:ore/small_magnetite')) - .where('0', Block.getBlock('tfc:ore/small_limonite')) - .where('z', Block.getBlock('tfc:ore/small_sphalerite')) - .where('y', Block.getBlock('tfc:ore/small_tetrahedrite')) - - .where('m', GTMachines.MAINTENANCE_HATCH, Direction.SOUTH) - .where('i', GTMachines.ITEM_IMPORT_BUS[GTValues.ULV], Direction.WEST) - .where('t', GTMachines.ITEM_EXPORT_BUS[GTValues.ULV], Direction.WEST) - .where('f', GTMachines.FLUID_IMPORT_HATCH[GTValues.MV], Direction.EAST) - .where('l', GTMachines.FLUID_EXPORT_HATCH[GTValues.MV], Direction.EAST) - .where('e', GTMachines.ENERGY_INPUT_HATCH[GTValues.HV], Direction.NORTH) - .build() - ) - .workableCasingModel( - "gtceu:block/casings/solid/machine_casing_stable_titanium", - "gtceu:block/machines/gas_collector") - - //#endregion - //#region Steam Bloomery event.create('steam_bloomery', 'multiblock') diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js index 50bbec003..2b70b6efd 100644 --- a/kubejs/startup_scripts/gtceu/recipe_types.js +++ b/kubejs/startup_scripts/gtceu/recipe_types.js @@ -1,17 +1,4 @@ const registerGTCEuRecipeTypes = (event) => { - event.create('nether_dome') - .category('nether_dome') - .setEUIO('in') - .setMaxIOSize(2, 1, 1, 1) - .setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.FIRE) - - event.create('end_dome') - .category('end_dome') - .setEUIO('in') - .setMaxIOSize(2, 1, 1, 1) - .setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.FIRE) event.create('steam_bloomery') .category('steam_bloomery') diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index ed3c21657..5d2c90bcc 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -62,11 +62,12 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:prismarine_shard', // Эндстоун - //'minecraft:end_stone', + 'minecraft:end_stone', 'minecraft:end_stone_bricks', 'minecraft:end_stone_brick_stairs', 'minecraft:end_stone_brick_slab', 'minecraft:end_stone_brick_wall', + 'minecraft:end_crystal', // Dripstone 'minecraft:pointed_dripstone', @@ -605,7 +606,7 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:azalea_leaves', 'minecraft:flowering_azalea_leaves', 'minecraft:dirt_path', - //'minecraft:dragon_egg', + 'minecraft:dragon_egg', 'minecraft:end_portal_frame', 'minecraft:mushroom_stew', 'minecraft:structure_void', @@ -663,7 +664,7 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:warped_hanging_sign', // Куча незер блоков - //'minecraft:netherrack', + 'minecraft:netherrack', 'minecraft:red_nether_bricks', 'minecraft:red_nether_brick_stairs', 'minecraft:red_nether_brick_slab', diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index e4d2dda64..76770d875 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -7,15 +7,6 @@ const registerTFGBlocks = (event) => { registerTFGSupportBlocks(event) registerTFGCrops(event) - event.create('tfg:artificial_end_portal_frame') - .stoneSoundType() - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - .fullBlock(true) - .item(item => { - item.modelJson({ parent: 'minecraft:block/end_portal_frame' }) - }) - event.create('tfg:dry_ice', 'tfg:particle_emitter') .textureAll('tfg:block/dry_ice') .soundType('bone_block') diff --git a/kubejs/startup_scripts/tfg/fluids.js b/kubejs/startup_scripts/tfg/fluids.js index a961968dc..0133e5b7d 100644 --- a/kubejs/startup_scripts/tfg/fluids.js +++ b/kubejs/startup_scripts/tfg/fluids.js @@ -3,34 +3,6 @@ const registerTFGFluids = (event) => { - // TODO: remove these as the other planets come out - - event.create('tfg:nether_slurry') - .thickTexture(0x6b281b) - .bucketColor(0x6b281b) - .temperature(1000) - .luminosity(7) - .noBlock() - - event.create('tfg:enriched_nether_slurry') - .thickTexture(0x99594d) - .bucketColor(0x99594d) - .temperature(1000) - .luminosity(7) - .noBlock() - - event.create('tfg:ender_slurry') - .thickTexture(0x1b5c51) - .bucketColor(0x1b5c51) - .luminosity(2) - .noBlock() - - event.create('tfg:enriched_ender_slurry') - .thickTexture(0x3a9178) - .bucketColor(0x3a9178) - .luminosity(2) - .noBlock() - //#region Mars event.create('tfg:heavy_ammoniacal_water') diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 01d4cabcf..1f7d3e2eb 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -174,14 +174,14 @@ const registerTFGMaterials = (event) => { .formula('(He³8O11H11)8(Ar)(?)') .color(0xfeff5d) - //end region + //#endregion event.create('liquid_carbon_dioxide') .liquid(100) //Not realistic but I want it to be cryogenic .components('1x carbon', '2x oxygen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xDBFBFF) - //Region Rockwool + //#region Rockwool event.create('tfg:aes_mix') .dust() .flags(GTMaterialFlags.DECOMPOSITION_BY_CENTRIFUGING) @@ -195,9 +195,9 @@ const registerTFGMaterials = (event) => { .components('5x silicon_dioxide', '4x quicklime', '1x magnesia') .color(0xe65609) .secondaryColor(0xe65609) - //end region + //#endregion - //Region Ammonia Borane + //#region Ammonia Borane event.create('tfg:sodium_hydride') .dust() .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) @@ -232,9 +232,9 @@ const registerTFGMaterials = (event) => { .components('1x ammonia', '1x boron', '3x hydrogen') .color(0xCCE3E3) .secondaryColor(0xCCE3E3) - //endregion + //#endregion - //region polyurethane + //#region polyurethane event.create('tfg:aniline') .liquid() .components('6x carbon', '5x hydrogen', '1x nitrogen', '2x hydrogen') @@ -259,9 +259,9 @@ const registerTFGMaterials = (event) => { .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) .components('13x carbon','10x hydrogen','2x nitrogen', '2x oxygen') .color(0xFFFFBA) - //endregion + //#endregion - //region aerogel + //#region aerogel event.create('tfg:tmos') .liquid() .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) @@ -273,7 +273,7 @@ const registerTFGMaterials = (event) => { event.create('tfg:soaked_silica_gel') .liquid() .color(0x9ED5D9) - //endregion + //#endregion //#region Bromine Line @@ -331,7 +331,7 @@ const registerTFGMaterials = (event) => { //#endregion - //# Mars Ore Line + //#region Mars Ore Line event.create('lightweight_ostrum_vapor') .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(760)) @@ -351,7 +351,7 @@ const registerTFGMaterials = (event) => { //#endregion - // Moon Ore Line + //#region Moon Ore Line event.create('regolith_vapor') .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(727)) @@ -384,8 +384,6 @@ const registerTFGMaterials = (event) => { .color('0xbab6b7') .secondaryColor('0x7a5225') - // Reactant to Ore line - event.create('tfg:regolith_mush') .dust() .flags(GTMaterialFlags.NO_UNIFICATION) @@ -393,7 +391,9 @@ const registerTFGMaterials = (event) => { .color('0xa2cde0') .secondaryColor('0x7a5225') - //#region Tungsten Line + //#endregion + + //#region Tungsten Line event.create('tfg:sodium_tungstate') .dust() @@ -422,5 +422,22 @@ const registerTFGMaterials = (event) => { .components('1x tungsten', '3x oxygen') .color('0xf0c851') + // #endregion + // #region Atmospheres + + event.create('tfg:mars_air') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(208)) + .color('0xD08957') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('94x carbon_dioxide', '3x nitrogen', '2x argon', '1x oxygen') + + // TODO: move neon and xenon somewhere else + event.create('tfg:liquid_mars_air') + .liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).temperature(58)) + .color('0xD08957') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('80x carbon_dioxide', '7x nitrogen', '5x argon', '3x oxygen', '1x carbon_monoxide', '1x deuterium', '1x neon', '1x krypton', '1x xenon') + + // #endregion }