SPENT_FUEL_POOL_RECIPES = new RecipeMapBuilder<>(
+ "spent_fuel_pool",
+ new SimpleRecipeBuilder())
+ .itemInputs(1)
+ .itemOutputs(1)
+ .fluidInputs(1)
+ .fluidOutputs(1)
+ .progressBar(GuiTextures.PROGRESS_BAR_BATH, MoveType.HORIZONTAL)
+ .build();
+
+ /**
+ * Example:
+ *
+ *
+ * GAS_CENTRIFUGE_RECIPES.recipeBuilder().duration(800).EUt(VA[HV])
+ * .fluidInputs(UraniumHexafluoride.getFluid(1000))
+ * .fluidOutputs(LowEnrichedUraniumHexafluoride.getFluid(100))
+ * .fluidOutputs(DepletedUraniumHexafluoride.getFluid(900))
+ * .buildAndRegister();
+ *
+ */
+ @ZenProperty
+ public static final RecipeMap GAS_CENTRIFUGE_RECIPES = new RecipeMapBuilder<>("gas_centrifuge",
+ new SimpleRecipeBuilder())
+ .fluidInputs(1)
+ .fluidOutputs(2)
+ .progressBar(GuiTextures.PROGRESS_BAR_MIXER, MoveType.CIRCULAR)
+ .sound(GTSoundEvents.CENTRIFUGE)
+ .build();
+
//////////////////////////////////////
// Fuel Recipe Maps //
//////////////////////////////////////
diff --git a/src/main/java/gregtech/client/renderer/texture/Textures.java b/src/main/java/gregtech/client/renderer/texture/Textures.java
index 8615691ba87..825a070187f 100644
--- a/src/main/java/gregtech/client/renderer/texture/Textures.java
+++ b/src/main/java/gregtech/client/renderer/texture/Textures.java
@@ -196,6 +196,12 @@ public class Textures {
"multiblock/network_switch");
public static final OrientedOverlayRenderer POWER_SUBSTATION_OVERLAY = new OrientedOverlayRenderer(
"multiblock/power_substation");
+ public static final OrientedOverlayRenderer SPENT_FUEL_POOL_OVERLAY = new OrientedOverlayRenderer(
+ "multiblock/spent_fuel_pool");
+ public static final OrientedOverlayRenderer HEAT_EXCHANGER_OVERLAY = new OrientedOverlayRenderer(
+ "multiblock/heat_exchanger");
+ public static final OrientedOverlayRenderer GAS_CENTRIFUGE_OVERLAY = new OrientedOverlayRenderer(
+ "multiblock/gas_centrifuge");
public static final OrientedOverlayRenderer ALLOY_SMELTER_OVERLAY = new OrientedOverlayRenderer(
"machines/alloy_smelter");
diff --git a/src/main/java/gregtech/common/blocks/BlockGasCentrifugeCasing.java b/src/main/java/gregtech/common/blocks/BlockGasCentrifugeCasing.java
new file mode 100644
index 00000000000..de487915754
--- /dev/null
+++ b/src/main/java/gregtech/common/blocks/BlockGasCentrifugeCasing.java
@@ -0,0 +1,49 @@
+package gregtech.common.blocks;
+
+import gregtech.api.block.IStateHarvestLevel;
+import gregtech.api.block.VariantBlock;
+
+import net.minecraft.block.SoundType;
+import net.minecraft.block.material.Material;
+import net.minecraft.block.state.IBlockState;
+import net.minecraft.util.IStringSerializable;
+
+public class BlockGasCentrifugeCasing extends VariantBlock {
+
+ public BlockGasCentrifugeCasing() {
+ super(Material.IRON);
+ setTranslationKey("gas_centrifuge_casing");
+ setHardness(5.0f);
+ setResistance(10.0f);
+ setSoundType(SoundType.METAL);
+ setDefaultState(getState(GasCentrifugeCasingType.GAS_CENTRIFUGE_COLUMN));
+ }
+
+ @Override
+ public boolean isOpaqueCube(IBlockState state) {
+ return state != getState(GasCentrifugeCasingType.GAS_CENTRIFUGE_COLUMN);
+ }
+
+ public enum GasCentrifugeCasingType implements IStringSerializable, IStateHarvestLevel {
+
+ GAS_CENTRIFUGE_COLUMN("gas_centrifuge_column", 2);
+
+ private String name;
+ private int harvestLevel;
+
+ GasCentrifugeCasingType(String name, int harvestLevel) {
+ this.name = name;
+ this.harvestLevel = harvestLevel;
+ }
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public int getHarvestLevel(IBlockState state) {
+ return harvestLevel;
+ }
+ }
+}
diff --git a/src/main/java/gregtech/common/blocks/BlockNuclearCasing.java b/src/main/java/gregtech/common/blocks/BlockNuclearCasing.java
new file mode 100644
index 00000000000..1ae9d470f3a
--- /dev/null
+++ b/src/main/java/gregtech/common/blocks/BlockNuclearCasing.java
@@ -0,0 +1,48 @@
+package gregtech.common.blocks;
+
+import gregtech.api.block.IStateHarvestLevel;
+import gregtech.api.block.VariantActiveBlock;
+
+import net.minecraft.block.SoundType;
+import net.minecraft.block.material.Material;
+import net.minecraft.block.state.IBlockState;
+import net.minecraft.util.IStringSerializable;
+
+import org.jetbrains.annotations.NotNull;
+
+public class BlockNuclearCasing extends VariantActiveBlock {
+
+ public BlockNuclearCasing() {
+ super(Material.IRON);
+ setTranslationKey("nuclear_casing");
+ setHardness(5.0f);
+ setResistance(10.0f);
+ setSoundType(SoundType.METAL);
+ setDefaultState(getState(NuclearCasingType.SPENT_FUEL_CASING));
+ }
+
+ public enum NuclearCasingType implements IStringSerializable, IStateHarvestLevel {
+
+ SPENT_FUEL_CASING("spent_fuel_casing", 2),
+ GAS_CENTRIFUGE_HEATER("gas_centrifuge_heater", 1);
+
+ NuclearCasingType(String name, int harvestLevel) {
+ this.name = name;
+ this.harvestLevel = harvestLevel;
+ }
+
+ private final String name;
+ private final int harvestLevel;
+
+ @NotNull
+ @Override
+ public String getName() {
+ return this.name;
+ }
+
+ @Override
+ public int getHarvestLevel(IBlockState state) {
+ return this.harvestLevel;
+ }
+ }
+}
diff --git a/src/main/java/gregtech/common/blocks/BlockPanelling.java b/src/main/java/gregtech/common/blocks/BlockPanelling.java
new file mode 100644
index 00000000000..2a732ede1e5
--- /dev/null
+++ b/src/main/java/gregtech/common/blocks/BlockPanelling.java
@@ -0,0 +1,50 @@
+package gregtech.common.blocks;
+
+import gregtech.api.block.VariantBlock;
+
+import net.minecraft.block.SoundType;
+import net.minecraft.util.IStringSerializable;
+
+public class BlockPanelling extends VariantBlock {
+
+ public BlockPanelling() {
+ super(net.minecraft.block.material.Material.IRON);
+ setTranslationKey("panelling");
+ setHardness(2.0f);
+ setResistance(5.0f);
+ setSoundType(SoundType.METAL);
+ setHarvestLevel("wrench", 2);
+ setDefaultState(getState(PanellingType.WHITE));
+ }
+
+ public enum PanellingType implements IStringSerializable {
+
+ WHITE("white"),
+ ORANGE("orange"),
+ MAGENTA("magenta"),
+ LIGHT_BLUE("light_blue"),
+ YELLOW("yellow"),
+ LIME("lime"),
+ PINK("pink"),
+ GRAY("gray"),
+ LIGHT_GRAY("light_gray"),
+ CYAN("cyan"),
+ PURPLE("purple"),
+ BLUE("blue"),
+ BROWN("brown"),
+ GREEN("green"),
+ RED("red"),
+ BLACK("black");
+
+ private final String name;
+
+ PanellingType(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getName() {
+ return this.name;
+ }
+ }
+}
diff --git a/src/main/java/gregtech/common/blocks/MetaBlocks.java b/src/main/java/gregtech/common/blocks/MetaBlocks.java
index ed353717832..618c32081bb 100644
--- a/src/main/java/gregtech/common/blocks/MetaBlocks.java
+++ b/src/main/java/gregtech/common/blocks/MetaBlocks.java
@@ -138,6 +138,8 @@ private MetaBlocks() {}
public static BlockCleanroomCasing CLEANROOM_CASING;
public static BlockComputerCasing COMPUTER_CASING;
public static BlockBatteryPart BATTERY_BLOCK;
+ public static BlockNuclearCasing NUCLEAR_CASING;
+ public static BlockGasCentrifugeCasing GAS_CENTRIFUGE_CASING;
public static final EnumMap LAMPS = new EnumMap<>(EnumDyeColor.class);
public static final EnumMap BORDERLESS_LAMPS = new EnumMap<>(EnumDyeColor.class);
@@ -174,6 +176,7 @@ private MetaBlocks() {}
public static BlockColored METAL_SHEET;
public static BlockColored LARGE_METAL_SHEET;
public static BlockColored STUDS;
+ public static BlockPanelling PANELLING;
public static final Map COMPRESSED = new Object2ObjectOpenHashMap<>();
public static final Map FRAMES = new Object2ObjectOpenHashMap<>();
@@ -263,6 +266,10 @@ public static void init() {
COMPUTER_CASING.setRegistryName("computer_casing");
BATTERY_BLOCK = new BlockBatteryPart();
BATTERY_BLOCK.setRegistryName("battery_block");
+ NUCLEAR_CASING = new BlockNuclearCasing();
+ NUCLEAR_CASING.setRegistryName("nuclear_casing");
+ GAS_CENTRIFUGE_CASING = new BlockGasCentrifugeCasing();
+ GAS_CENTRIFUGE_CASING.setRegistryName("gas_centrifuge_casing");
for (EnumDyeColor color : EnumDyeColor.values()) {
BlockLamp block = new BlockLamp(color);
@@ -336,6 +343,8 @@ public static void init() {
STUDS = new BlockColored(net.minecraft.block.material.Material.CARPET, "studs", 1.5f, 2.5f, SoundType.CLOTH,
EnumDyeColor.BLACK);
STUDS.setRegistryName("studs");
+ PANELLING = new BlockPanelling();
+ PANELLING.setRegistryName("panelling");
createGeneratedBlock(m -> m.hasProperty(PropertyKey.DUST) && m.hasFlag(GENERATE_FRAME),
MetaBlocks::createFrameBlock);
@@ -469,6 +478,8 @@ public static void registerItemModels() {
registerItemModel(COMPUTER_CASING);
registerItemModel(BATTERY_BLOCK);
registerItemModel(ASPHALT);
+ registerItemModel(GAS_CENTRIFUGE_CASING);
+ registerItemModel(PANELLING);
for (StoneVariantBlock block : STONE_BLOCKS.values())
registerItemModel(block);
registerItemModelWithOverride(RUBBER_LOG, ImmutableMap.of(BlockLog.LOG_AXIS, EnumAxis.Y));
@@ -507,6 +518,7 @@ public static void registerItemModels() {
FUSION_CASING.onModelRegister();
MULTIBLOCK_CASING.onModelRegister();
TRANSPARENT_CASING.onModelRegister();
+ NUCLEAR_CASING.onModelRegister();
for (BlockLamp lamp : LAMPS.values()) lamp.onModelRegister();
for (BlockLamp lamp : BORDERLESS_LAMPS.values()) lamp.onModelRegister();
diff --git a/src/main/java/gregtech/common/metatileentities/MetaTileEntities.java b/src/main/java/gregtech/common/metatileentities/MetaTileEntities.java
index e2e2624f8cd..6dd0512c5bc 100644
--- a/src/main/java/gregtech/common/metatileentities/MetaTileEntities.java
+++ b/src/main/java/gregtech/common/metatileentities/MetaTileEntities.java
@@ -47,6 +47,7 @@
import gregtech.common.metatileentities.multi.MetaTileEntityPrimitiveBlastFurnace;
import gregtech.common.metatileentities.multi.MetaTileEntityPrimitiveWaterPump;
import gregtech.common.metatileentities.multi.MetaTileEntityPumpHatch;
+import gregtech.common.metatileentities.multi.MetaTileEntitySpentFuelPool;
import gregtech.common.metatileentities.multi.MetaTileEntityTankValve;
import gregtech.common.metatileentities.multi.electric.MetaTileEntityActiveTransformer;
import gregtech.common.metatileentities.multi.electric.MetaTileEntityAssemblyLine;
@@ -57,6 +58,7 @@
import gregtech.common.metatileentities.multi.electric.MetaTileEntityElectricBlastFurnace;
import gregtech.common.metatileentities.multi.electric.MetaTileEntityFluidDrill;
import gregtech.common.metatileentities.multi.electric.MetaTileEntityFusionReactor;
+import gregtech.common.metatileentities.multi.electric.MetaTileEntityGasCentrifuge;
import gregtech.common.metatileentities.multi.electric.MetaTileEntityHPCA;
import gregtech.common.metatileentities.multi.electric.MetaTileEntityImplosionCompressor;
import gregtech.common.metatileentities.multi.electric.MetaTileEntityLargeChemicalReactor;
@@ -332,6 +334,9 @@ public class MetaTileEntities {
public static MetaTileEntityNetworkSwitch NETWORK_SWITCH;
public static MetaTileEntityPowerSubstation POWER_SUBSTATION;
public static MetaTileEntityActiveTransformer ACTIVE_TRANSFORMER;
+ public static MetaTileEntityHeatExchanger HEAT_EXCHANGER;
+ public static MetaTileEntitySpentFuelPool SPENT_FUEL_POOL;
+ public static MetaTileEntityGasCentrifuge GAS_CENTRIFUGE;
// STORAGE SECTION
public static MetaTileEntityTankValve WOODEN_TANK_VALVE;
@@ -774,6 +779,10 @@ public static void init() {
ACTIVE_TRANSFORMER = registerMetaTileEntity(1042,
new MetaTileEntityActiveTransformer(gregtechId("active_transformer")));
+ SPENT_FUEL_POOL = registerMetaTileEntity(1044, new MetaTileEntitySpentFuelPool(gregtechId("spent_fuel_pool")));
+ HEAT_EXCHANGER = registerMetaTileEntity(1045, new MetaTileEntityHeatExchanger(gregtechId("heat_exchanger")));
+ GAS_CENTRIFUGE = registerMetaTileEntity(1046, new MetaTileEntityGasCentrifuge(gregtechId("gas_centrifuge")));
+
// MISC MTE's START: IDs 1150-2000
// Import/Export Buses/Hatches, IDs 1150-1209
diff --git a/src/main/java/gregtech/common/metatileentities/MetaTileEntityHeatExchanger.java b/src/main/java/gregtech/common/metatileentities/MetaTileEntityHeatExchanger.java
new file mode 100644
index 00000000000..c6054ac252a
--- /dev/null
+++ b/src/main/java/gregtech/common/metatileentities/MetaTileEntityHeatExchanger.java
@@ -0,0 +1,62 @@
+package gregtech.common.metatileentities;
+
+import gregtech.api.capability.impl.PrimitiveRecipeLogic;
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.metatileentity.interfaces.IGregTechTileEntity;
+import gregtech.api.metatileentity.multiblock.IMultiblockPart;
+import gregtech.api.metatileentity.multiblock.RecipeMapMultiblockController;
+import gregtech.api.pattern.BlockPattern;
+import gregtech.api.pattern.FactoryBlockPattern;
+import gregtech.api.recipes.RecipeMaps;
+import gregtech.api.unification.material.Materials;
+import gregtech.client.renderer.ICubeRenderer;
+import gregtech.client.renderer.texture.Textures;
+import gregtech.common.blocks.BlockBoilerCasing.BoilerCasingType;
+import gregtech.common.blocks.BlockMetalCasing.MetalCasingType;
+import gregtech.common.blocks.MetaBlocks;
+
+import net.minecraft.util.ResourceLocation;
+
+import org.jetbrains.annotations.NotNull;
+
+public class MetaTileEntityHeatExchanger extends RecipeMapMultiblockController {
+
+ public MetaTileEntityHeatExchanger(ResourceLocation metaTileEntityId) {
+ super(metaTileEntityId, RecipeMaps.HEAT_EXCHANGER_RECIPES);
+ this.recipeMapWorkable = new PrimitiveRecipeLogic(this);
+ }
+
+ @Override
+ public MetaTileEntity createMetaTileEntity(IGregTechTileEntity iGregTechTileEntity) {
+ return new MetaTileEntityHeatExchanger(metaTileEntityId);
+ }
+
+ @Override
+ protected @NotNull BlockPattern createStructurePattern() {
+ return FactoryBlockPattern.start()
+ .aisle("CCC", "BCB", "ACA")
+ .aisle("CCC", "CDC", "ACA").setRepeatable(7)
+ .aisle("CCC", "BSB", "AEA")
+ .where('S', selfPredicate())
+ .where('A', frames(Materials.Steel))
+ .where('B', autoAbilities(false, false, false, false, false, true, false).setMinGlobalLimited(2)
+ .or(autoAbilities(false, false, false, false, true, false, false).setMinGlobalLimited(2)))
+ .where('C', states(MetaBlocks.METAL_CASING.getState(MetalCasingType.STEEL_SOLID))
+ .or(autoAbilities(false, true, false, false, false, false, false)))
+ .where('D', states(MetaBlocks.BOILER_CASING.getState(BoilerCasingType.STEEL_PIPE)))
+ .where('E', states(MetaBlocks.METAL_CASING.getState(MetalCasingType.STEEL_SOLID))
+ .or(autoAbilities(false, false, true, false, false, false, false)))
+ .build();
+ }
+
+ @Override
+ public ICubeRenderer getBaseTexture(IMultiblockPart iMultiblockPart) {
+ return Textures.SOLID_STEEL_CASING;
+ }
+
+ @NotNull
+ @Override
+ protected ICubeRenderer getFrontOverlay() {
+ return Textures.HEAT_EXCHANGER_OVERLAY;
+ }
+}
diff --git a/src/main/java/gregtech/common/metatileentities/multi/MetaTileEntitySpentFuelPool.java b/src/main/java/gregtech/common/metatileentities/multi/MetaTileEntitySpentFuelPool.java
new file mode 100644
index 00000000000..4ed1070b84b
--- /dev/null
+++ b/src/main/java/gregtech/common/metatileentities/multi/MetaTileEntitySpentFuelPool.java
@@ -0,0 +1,99 @@
+package gregtech.common.metatileentities.multi;
+
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.metatileentity.interfaces.IGregTechTileEntity;
+import gregtech.api.metatileentity.multiblock.IMultiblockPart;
+import gregtech.api.metatileentity.multiblock.RecipeMapMultiblockController;
+import gregtech.api.pattern.BlockPattern;
+import gregtech.api.pattern.FactoryBlockPattern;
+import gregtech.api.pattern.PatternMatchContext;
+import gregtech.api.recipes.RecipeMaps;
+import gregtech.client.renderer.ICubeRenderer;
+import gregtech.client.renderer.texture.Textures;
+import gregtech.common.blocks.BlockMetalCasing;
+import gregtech.common.blocks.BlockNuclearCasing;
+import gregtech.common.blocks.MetaBlocks;
+
+import net.minecraft.block.state.IBlockState;
+import net.minecraft.client.resources.I18n;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.List;
+
+import static gregtech.api.util.RelativeDirection.*;
+
+public class MetaTileEntitySpentFuelPool extends RecipeMapMultiblockController {
+
+ public MetaTileEntitySpentFuelPool(ResourceLocation metaTileEntityId) {
+ super(metaTileEntityId, RecipeMaps.SPENT_FUEL_POOL_RECIPES);
+ }
+
+ @Override
+ public MetaTileEntity createMetaTileEntity(IGregTechTileEntity tileEntity) {
+ return new MetaTileEntitySpentFuelPool(metaTileEntityId);
+ }
+
+ @Override
+ public boolean hasMaintenanceMechanics() {
+ return false;
+ }
+
+ @NotNull
+ @Override
+ protected BlockPattern createStructurePattern() {
+ return FactoryBlockPattern.start(FRONT, UP, RIGHT)
+ // spotless:off
+ .aisle("CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "TTTTTTTTTT")
+ .aisle("CCCCCCCCCC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CUUUUUUUUC", "S........T")
+ .aisle("CCCCCCCCCC", "CWRRRRRRWC", "CWRRRRRRWC", "CWRRRRRRWC", "CWRRRRRRWC", "CWRRRRRRWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CUUUUUUUUC", "T........T")
+ .setRepeatable(1, 10)
+ .aisle("CCCCCCCCCC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CWWWWWWWWC", "CUUUUUUUUC", "T........T")
+ .aisle("CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "CCCCCCCCCC", "TTTTTTTTTT")
+ //spotless:on
+ .where('S', selfPredicate())
+ .where('.', any())
+ .where('C', blocks(MetaBlocks.PANELLING))
+ .where('W', blocks(Blocks.WATER).or(blocks(Blocks.FLOWING_WATER)))
+ .where('U', blocks(Blocks.WATER))
+ .where('R', states(getRodState()))
+ .where('T',
+ states(getMetalCasingState()).or(autoAbilities(true, false, true, true, false, true, false)))
+ .build();
+ }
+
+ @Override
+ protected void formStructure(PatternMatchContext context) {
+ super.formStructure(context);
+ this.recipeMapWorkable.setParallelLimit(structurePattern.formedRepetitionCount[0] * 32);
+ }
+
+ @Override
+ public ICubeRenderer getBaseTexture(IMultiblockPart sourcePart) {
+ return Textures.CLEAN_STAINLESS_STEEL_CASING;
+ }
+
+ @NotNull
+ @Override
+ protected ICubeRenderer getFrontOverlay() {
+ return Textures.SPENT_FUEL_POOL_OVERLAY;
+ }
+
+ private IBlockState getRodState() {
+ return MetaBlocks.NUCLEAR_CASING.getState(BlockNuclearCasing.NuclearCasingType.SPENT_FUEL_CASING);
+ }
+
+ private IBlockState getMetalCasingState() {
+ return MetaBlocks.METAL_CASING.getState(BlockMetalCasing.MetalCasingType.STAINLESS_CLEAN);
+ }
+
+ public void addInformation(ItemStack stack, @Nullable World player, List tooltip, boolean advanced) {
+ super.addInformation(stack, player, tooltip, advanced);
+ tooltip.add(I18n.format("gregtech.universal.tooltip.parallel", "32 per block of pool length"));
+ }
+}
diff --git a/src/main/java/gregtech/common/metatileentities/multi/electric/MetaTileEntityGasCentrifuge.java b/src/main/java/gregtech/common/metatileentities/multi/electric/MetaTileEntityGasCentrifuge.java
new file mode 100644
index 00000000000..1860d82e00b
--- /dev/null
+++ b/src/main/java/gregtech/common/metatileentities/multi/electric/MetaTileEntityGasCentrifuge.java
@@ -0,0 +1,94 @@
+package gregtech.common.metatileentities.multi.electric;
+
+import gregtech.api.capability.impl.MultiblockRecipeLogic;
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.metatileentity.interfaces.IGregTechTileEntity;
+import gregtech.api.metatileentity.multiblock.IMultiblockPart;
+import gregtech.api.metatileentity.multiblock.RecipeMapMultiblockController;
+import gregtech.api.pattern.BlockPattern;
+import gregtech.api.pattern.FactoryBlockPattern;
+import gregtech.api.pattern.PatternMatchContext;
+import gregtech.api.recipes.RecipeMaps;
+import gregtech.client.renderer.ICubeRenderer;
+import gregtech.client.renderer.texture.Textures;
+import gregtech.common.blocks.BlockBoilerCasing;
+import gregtech.common.blocks.BlockGasCentrifugeCasing;
+import gregtech.common.blocks.BlockNuclearCasing;
+import gregtech.common.blocks.MetaBlocks;
+
+import net.minecraft.block.state.IBlockState;
+import net.minecraft.client.resources.I18n;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.List;
+
+import static gregtech.api.util.RelativeDirection.*;
+
+public class MetaTileEntityGasCentrifuge extends RecipeMapMultiblockController {
+
+ public MetaTileEntityGasCentrifuge(ResourceLocation metaTileEntityId) {
+ super(metaTileEntityId, RecipeMaps.GAS_CENTRIFUGE_RECIPES);
+ this.recipeMapWorkable = new MultiblockRecipeLogic(this);
+ }
+
+ @NotNull
+ @Override
+ protected BlockPattern createStructurePattern() {
+ return FactoryBlockPattern.start(FRONT, UP, RIGHT)
+ .aisle("SI", "HH", "CC", "CC", "CC", "CC", "CC")
+ .aisle("EE", "HH", "CC", "CC", "CC", "CC", "CC").setRepeatable(1, 14)
+ .aisle("OO", "HH", "CC", "CC", "CC", "CC", "CC")
+ .where('S', selfPredicate())
+ .where('P', states(getPipeState()))
+ .where('H', states(getHeaterState()))
+ .where('C', states(getCentrifugeState()))
+ .where('I', states(getPipeState()).or(autoAbilities(false, false, false, false, true, false, false)))
+ .where('E', states(getPipeState()).or(autoAbilities(true, true, false, false, false, false, false)))
+ .where('O', states(getPipeState()).or(autoAbilities(false, false, false, false, false, true, false)))
+ .build();
+ }
+
+ @Override
+ protected void formStructure(PatternMatchContext context) {
+ super.formStructure(context);
+ this.recipeMapWorkable.setParallelLimit(structurePattern.formedRepetitionCount[0]);
+ }
+
+ public void addInformation(ItemStack stack, @Nullable World player, List tooltip, boolean advanced) {
+ super.addInformation(stack, player, tooltip, advanced);
+ tooltip.add(I18n.format("gregtech.universal.tooltip.parallel", "1 + number of added columns"));
+ }
+
+ @Override
+ public ICubeRenderer getBaseTexture(IMultiblockPart sourcePart) {
+ return Textures.INERT_PTFE_CASING;
+ }
+
+ @Override
+ public MetaTileEntity createMetaTileEntity(IGregTechTileEntity tileEntity) {
+ return new MetaTileEntityGasCentrifuge(metaTileEntityId);
+ }
+
+ private IBlockState getPipeState() {
+ return MetaBlocks.BOILER_CASING.getState(BlockBoilerCasing.BoilerCasingType.POLYTETRAFLUOROETHYLENE_PIPE);
+ }
+
+ private IBlockState getHeaterState() {
+ return MetaBlocks.NUCLEAR_CASING.getState(
+ BlockNuclearCasing.NuclearCasingType.GAS_CENTRIFUGE_HEATER);
+ }
+
+ private IBlockState getCentrifugeState() {
+ return MetaBlocks.GAS_CENTRIFUGE_CASING
+ .getState(BlockGasCentrifugeCasing.GasCentrifugeCasingType.GAS_CENTRIFUGE_COLUMN);
+ }
+
+ protected ICubeRenderer getFrontOverlay() {
+ return Textures.GAS_CENTRIFUGE_OVERLAY;
+ }
+}
diff --git a/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_end.png b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_end.png
new file mode 100644
index 0000000000000000000000000000000000000000..abbd8bfbcd5b7b7d7c68193b8e110bb4492c8e33
GIT binary patch
literal 4413
zcmeH~eNYo;9>-TfNTK$uFBAl7Txl(~o88R|Nwx_u5?%s^ro0GP9J<-vge^%nWETjj
z-dV6MB38ND!!lqyb3*N@sB@m}wB=3;6i@AVDr(OcyireOw7#6J(i7}Gn*hSJGaY8G
z|B;#GdG>jJzt8jhzR&OZO?I6*D{W@T{16C&W*XBC*`O8sA(9~QyFq@m12mo9+yWt+
ztdzRkoRzgRQlZMlNEr`ng&@xvhq-fR7bY1}q@?YccGeU1k+IeJk2|4n7|L>D7WBR$
z3;ZVj)>FC{FolcFetnm*=EcgWjF_tWX#QgK?xvIPK4A;UgTKDq+P5X)yH)c&^A8>B
zN#A;`;7aP%+l>nreP`I;a7R_|4S&+R=ov`u^#^o;2>{=l{db{~OgAe4Wudy9eaAo6S{e$L?Av?htDPkS-T1}Yw#dyW
ztvjXR%1&kGo%&+&??{d91+=W?3O2jo08FQwU+xLY*e=c3kyN)~?zg?GhmzZipKZ)&
zpNYAT{PFSVy6eF|)?7G$=7+yOhQ>w(6U9+isX)oM(>F9-TD9QCtV@BC_<;P>!^Q0Z
zCqCGAdc}&%l51y!WbLmseHL7F6RLTs%@W%_cU$b`y9XXbtj-Aw|8&M@`5paD4>YTx
z<9&Jm3DRf+Q$sg*T)BI*{a*h={fQg5g4cQ7du$Is>H|sVVL@^gn3fR~=a7*!XJKR>
zhYMsK1nCkyE|Mx`1gV9wu}(dF>+`?CQkK@k`6?4;awRh*Y`WLYN62a^>Bg7EKTOzj8rL8$}l9w!&b=Q_zk~9bu{7c9
zY7`8`s7VW=q}4Q{#FR8*QDQVgs;vq&hN&^isu_neI(dO~QjCZKa2X3YG^0=}6qp*(
z#;MeZ5+^CdqG52vN~a#~Iz@;Iv&QN~dg
zM1$cNf{{vG8^>5^2G{yfG)1IxZU+gDlXZ|b26Z`Yz6nuqBFSvj!*Ut+XvAzM1uJmS
z!^>D_x#!VDF6&@&1X5HJSIcpgT%%U0HQG2O=3mIiTh6$7kclD_$7Bk>AmXtQAQ&Jl
zDds5v_^==rBH7K50_V=bke)uRq|f;dDt4lEWeFpm0uT%V`Sw%6(2;;qv1W`$tV4gIiOy#*
zuE+pC{}?DlEVz|AH#P%hGUuVkmgg3bJIT8K5xGi$7i6eGjycxzY=H2nwAeey2fA
z&Ea4$STLGWg0BV7n;xN!Y3-;7Ljy)bQf~N(yiI#w>q?wuxX^N+j^4j_#__ZPK06}t
zdh9%9-I|WDAh0ptMK7ThOz7hPpk*HJ0|Ef8ntYR_cEY
zuXc5uFRVk_nr(BiPnNd;T=RRq+v+bJ9PkXPHzxe1vHaYuwZrXgrIAZ#H9uomB13l%
ZK{a9A#eW~(EC)eD#*{2W`_fmd{|DfPK`;OS
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_heater_side.png b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_heater_side.png
new file mode 100644
index 0000000000000000000000000000000000000000..b5bf39ba6d1c2a8e9fc6bc1c9c634a80d0a69471
GIT binary patch
literal 485
zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0eVS9K~y+TrBlm_
z!Y~v~2BL@vKEdija3ik7wIZU3NEafA_|g7?D_0^u!B?)<$+<&HE6(7|1TH7J?Rngk
z%IS2fJ8=e^t-V-Aa*vw|G>-AV*xm;2@
zomP0kIt87r01V)4?nSXcx7*d3OokKG>vi7^q#!XU7>!0b!EU!B+39pNoY5#03L#>U
zgu))ZQmMpam^38Y?Y1_zs_;#L*X#8q$)1rC&hdC$9S#SQtyYT#plAze-a!^-mrQ05vdpy85}Sb4q9e0A`;ig8%>k
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_heater_top.png b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_heater_top.png
new file mode 100644
index 0000000000000000000000000000000000000000..6330cdea6265b21de0bf96f6f1ea8e9c3fb19a72
GIT binary patch
literal 472
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
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_empty_side.png b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_empty_side.png
new file mode 100644
index 0000000000000000000000000000000000000000..344dda81d068f95fda657d54de16451fa90b5ec7
GIT binary patch
literal 410
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC
z{oH>NS%Lhn0G|-o@bm@~3;T$)hTz2Nu(Y~}jK+xchUl#3$n=KL)Vk1=+Q^K?kffT3
zwEB?bnsA^
zcv?ePT76h*U2sxOP$E#OCMLT%ETt|sw>2`oF(9rYB)K*+vne#KEFr%o3R|8ORrl*Tzh(@q(Kf6$qg8<8N-UUeq8X^UY|NQ?h6SjKYwsmdq
zZaO!ynJi?@^_b$szUxA_MX)@Z0nef0B{Ihn3YmguTyg06aTy5BDJOg$f)wNS%LhS0X`wF;pq)gnN5)yjS*=LA;~qtiPgbL)nRFM;c4{|8I577brIAxSk6K&iC4(B#^P^!mum#>ljWsH~=tl-kggy6EiY@U(`=jE3-(`jF)6
z;N5Tz#6``p>qnbjJYeRun
zrvgzuyHnH-pd&d8JR*x382Ao?FyoGi*>8b@>pfi@Lo|YA`(6hfO5kzXF0UJVd$Fiv
zKp^AVrtmA@>n)s(X3qU{<4xpBt;xGgE??Sam%TfV_1r@ywu}WYgwg_>XICxVxp%|U
z%OT&kPTSBVy`z=u-IliBU)5=Vw|(!LcYbT<#AX4ekotm
eB~^a-zJ1>Z-bWKupM?OO&fw|l=d#Wzp$PzM5VRTq
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_side.png b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_side.png
new file mode 100644
index 0000000000000000000000000000000000000000..10b7d26f8c52ba294c449b8f0c8c6e7c30c0c0a2
GIT binary patch
literal 410
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC
z{oH>NS%Lhn0G|-o@bm^JkHCnuhTz2Nu(Y~}jK+xchUl#3$n=KL)Vk1=+Q^K?kffT3
zwEB?bnsA^
zcv?ePT76h*U2sxOP$E#OCMLT%ETt|sw>2`oF(9rYB)K*+vne#KE90XXF^Dam_&=4tD{OA97nXuLCwykS>
zchk9v&14~KuE!K7_FWgcErR9Q40sL|FOfNxP{aW=-f}-&n3P=@ihB44$rjF6*2UngF3NoFM=J
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_side_bloom.png b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_side_bloom.png
new file mode 100644
index 0000000000000000000000000000000000000000..7bed8529d7f62a9f75cc9ee6639b35ec461000c2
GIT binary patch
literal 142
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl
z_H+M9WCij$3p^r=85sBufG}g$wN6f;pt7fnV~B-+G6N%H^N;@uK76w|T>_ZgcqL33
gSb$^&vxEf0t@i@n-Sbv?0hKd&y85}Sb4q9e0B$ECeENS%LhS0X`wF;pq)gnN5)yjS*=LA;~qtiPgbL)nRFM;c4{|8I577brIAxSk6K&iC4(B#^P^!mum#>ljWsH~=tl-kggy6EiY@U(`=jE3-(`jF)6
z;N5Tz#6``p>qnbjJYeRun
zrvg#^A%!>(>63o?`Y+Ex25g(7k9Te&2n#h_nuup^KSO^a}||M&lxmw9OV)jZ+l$owpB^m
z(tUSsm+L$2FO_Syo=j@ei>z+77f9r@y^%lbuyxIW^sxVz80RdwkZ2Tx#bIdvA
lHrrRMS&UFd7b7z>L)4Lg=Yp%ZNdvVpc)I$ztaD0e0swHYDQo}$
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front.png
new file mode 100644
index 0000000000000000000000000000000000000000..72bbef85af9e35ae95f62a89dd5126a004721c0c
GIT binary patch
literal 245
zcmVXkReh1nvQr6lw0E5qU1)lv9
v*$?3g`|GFxIfZX(_Mqn)%_g4ynf}!a!Fu2m_VxOB00000NkvXXu0mjfL9%Er
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front_active.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..94a4416b1f5229549d2dc5f446037736de3c2800
GIT binary patch
literal 267
zcmV+m0rdWfP)?*1Q!jg5`L7^WDT999EhfB^_4Wo7@nI6E`g+S!5S7?2=H
z4#NPbsi=w)f${|mV7UVa4*YLuXaLhV4ZyIa8z?^uVgO7th{kCEG6pHKwy|L_GczOJ
z1t0|=%)o%@1)^L4(+oEN>ID!R9b*pzsAiY}uvoCLumBsPqoV_+v8DrTwqV#gj{&y<
zAi=QEFoyrJK(QPK23Hps2BcVE_`eg#K7q#o^jN@$afSgg-oP1%6lW%KF#!D>_}Tgm
RvWNfx002ovPDHLkV1g$LVtxPs
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front_active_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front_active_emissive.png
new file mode 100644
index 0000000000000000000000000000000000000000..822fa52e130e5f775e31d79f23eb2e028111cfed
GIT binary patch
literal 203
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC
z{oH>NS%G~10G|-o|Ns9p{AW0D;6Ot|15k{;*x){pVl4^s3kFL4XZXF14`dK$fk$L9
z0|Vb-5N14{zaj-FXyWPO7@`rJoZ!fOgww#lplL==j{=ttL)u0ILt{r)g&>_XK4$_L
mH5^tnF!6{A7$`95=rDZiVm=Z3$txbHpTX1B&t;ucLK6UmpEwTy
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front_emissive.png
new file mode 100644
index 0000000000000000000000000000000000000000..00bcc3b5185fcdf739795dfffaa9007341dddbfc
GIT binary patch
literal 217
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC
z{oH>NS%G}f0G|+7AkEOgaNxj!hK7d!Kmg)1NOOjOjAbtg@(TtD0)?f#ncaXwoCO|{
z#S9F5he4R}c>anMprDnfi(`mJaB_k(vkIqyfkBf82RqA*88aJHCNUTb8&5d0s;RYA
vRHY%{;2|!t28Ia?+PfII7Bn(QOEWNTWZm`l$=@kJQy4s5{an^LB{Ts5que}7
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front_paused.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front_paused.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f139ba6ab3fbf05f0bcc16d9afe5daced7ba10f
GIT binary patch
literal 252
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC
z{oH>NS%G}%0G|+7cXxMVW8?ooaDzcoR`$Sw0}TxgKuI9j>g{g}q&Q20{DMIWK!73G
zzd{HkSl|&^%)r2R7=#&*=dVZs3Wj>RIEH8h=k{`QF(`7dn(qH@|8bS%#5W>)B%_AYQ3&%;fgIcR6{O`9lX6TE5AL8%WvBTp>u^^A)1ztE-BS#R=NAD
eB&$ds`pYa-#rpJ%VOko{0tQc4KbLh*2~7Y=mQmgS
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front_paused_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front_paused_emissive.png
new file mode 100644
index 0000000000000000000000000000000000000000..577f0815c1d7961e36373551a479ee90a2aadb21
GIT binary patch
literal 203
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC
z{oH>NS%G~10G|-o|3Gkq;lP0d4Gj%Iv3X~2zXMXNB|(0{ASs65+xS2RaTa()7BevL
z9RguSQ4KGUViQjn#}JL+H7}7Qx7#cgWDg^1A@i`N~sNt}p
ifr&>{z(9dXM~C5C7xRhOPhRmr{S2P2elF{r5}E*15jj-=
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front.png
new file mode 100644
index 0000000000000000000000000000000000000000..72bbef85af9e35ae95f62a89dd5126a004721c0c
GIT binary patch
literal 245
zcmVXkReh1nvQr6lw0E5qU1)lv9
v*$?3g`|GFxIfZX(_Mqn)%_g4ynf}!a!Fu2m_VxOB00000NkvXXu0mjfL9%Er
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front_active.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..94a4416b1f5229549d2dc5f446037736de3c2800
GIT binary patch
literal 267
zcmV+m0rdWfP)?*1Q!jg5`L7^WDT999EhfB^_4Wo7@nI6E`g+S!5S7?2=H
z4#NPbsi=w)f${|mV7UVa4*YLuXaLhV4ZyIa8z?^uVgO7th{kCEG6pHKwy|L_GczOJ
z1t0|=%)o%@1)^L4(+oEN>ID!R9b*pzsAiY}uvoCLumBsPqoV_+v8DrTwqV#gj{&y<
zAi=QEFoyrJK(QPK23Hps2BcVE_`eg#K7q#o^jN@$afSgg-oP1%6lW%KF#!D>_}Tgm
RvWNfx002ovPDHLkV1g$LVtxPs
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front_active_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front_active_emissive.png
new file mode 100644
index 0000000000000000000000000000000000000000..822fa52e130e5f775e31d79f23eb2e028111cfed
GIT binary patch
literal 203
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC
z{oH>NS%G~10G|-o|Ns9p{AW0D;6Ot|15k{;*x){pVl4^s3kFL4XZXF14`dK$fk$L9
z0|Vb-5N14{zaj-FXyWPO7@`rJoZ!fOgww#lplL==j{=ttL)u0ILt{r)g&>_XK4$_L
mH5^tnF!6{A7$`95=rDZiVm=Z3$txbHpTX1B&t;ucLK6UmpEwTy
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front_emissive.png
new file mode 100644
index 0000000000000000000000000000000000000000..00bcc3b5185fcdf739795dfffaa9007341dddbfc
GIT binary patch
literal 217
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC
z{oH>NS%G}f0G|+7AkEOgaNxj!hK7d!Kmg)1NOOjOjAbtg@(TtD0)?f#ncaXwoCO|{
z#S9F5he4R}c>anMprDnfi(`mJaB_k(vkIqyfkBf82RqA*88aJHCNUTb8&5d0s;RYA
vRHY%{;2|!t28Ia?+PfII7Bn(QOEWNTWZm`l$=@kJQy4s5{an^LB{Ts5que}7
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front_paused.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front_paused.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f139ba6ab3fbf05f0bcc16d9afe5daced7ba10f
GIT binary patch
literal 252
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC
z{oH>NS%G}%0G|+7cXxMVW8?ooaDzcoR`$Sw0}TxgKuI9j>g{g}q&Q20{DMIWK!73G
zzd{HkSl|&^%)r2R7=#&*=dVZs3Wj>RIEH8h=k{`QF(`7dn(qH@|8bS%#5W>)B%_AYQ3&%;fgIcR6{O`9lX6TE5AL8%WvBTp>u^^A)1ztE-BS#R=NAD
eB&$ds`pYa-#rpJ%VOko{0tQc4KbLh*2~7Y=mQmgS
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front_paused_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front_paused_emissive.png
new file mode 100644
index 0000000000000000000000000000000000000000..577f0815c1d7961e36373551a479ee90a2aadb21
GIT binary patch
literal 203
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC
z{oH>NS%G~10G|-o|3Gkq;lP0d4Gj%Iv3X~2zXMXNB|(0{ASs65+xS2RaTa()7BevL
z9RguSQ4KGUViQjn#}JL+H7}7Qx7#cgWDg^1A@i`N~sNt}p
ifr&>{z(9dXM~C5C7xRhOPhRmr{S2P2elF{r5}E*15jj-=
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_back.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_back.png
new file mode 100644
index 0000000000000000000000000000000000000000..a265b3bbaceab8c4126f9403631a2abc4eaa074e
GIT binary patch
literal 245
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G^tAk28_ZrvZCAbW|YuPggK4iP>kzAL}&DuF^xo-U3d7N?W{{QqyytlH4o=yZT7
z+2iENiBG1a_sba?834h*|NrIJS=w68)HrMW{9LOvlR3k(pFci6t}u;`iaNww`R#?E
z@*VCLlSe`Bg$jLA4O1rE+f#Y?01zlBDK&*N`^dI2o{!s`G(kxCa6p5p=)Nk}bmK!t
g!mgf`4$OiKZ*N#LO264I40H{Hr>mdKI;Vst03#q((f|Me
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_back_active.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_back_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..cba59fa39355e874024a794fdf911b25a3b2c2ea
GIT binary patch
literal 245
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G^tAk28_ZrvZCAbW|YuPggK4iP>k{>6Xz-UEf2JY5_^EKVo?`TyUZS+$|F(dhtF
zvd77j6Q4{;@0T+)G5~^q|NqOcv$VCGsd3i$`MFkUCUb^mKYx6DTwxj=6?KTW^4kkR
zBfhQ
ggk3!=9he0f-rlfglzy{a80Z=XPgg&ebxsLQ05DKh=>Px#
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_back_active_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_back_active_emissive.png
new file mode 100644
index 0000000000000000000000000000000000000000..19114daf4f5c489daef9e588fd38598be3d25bce
GIT binary patch
literal 4911
zcmeHLX;c$u7app}DsF{}U>hU0#X8Ak17;*eAOV6T1f)e=&|xx!QL>N(5>P3MBG@Wo
z6BrEP;T>1k5Jp)tk&IYr_6KuTX+n%HxXrn)@Oue3kec4^z0l*Zb_TLTW~
z!jn3YlLJZPE`FEl?7L<6UOP?L5t|G5*;K%^rfbz3KMIrcjJMmj&}i9Rhn9y6Bd5#P
z7am$v6xZBpGx|uiz5G$hwkJ0`F5BP#I;X5)>WxFUQXCQ{81FxfUZ0|B`>oW@nreP8
zF@(IbxSVdpeC&e89SG!~+r06!s;{Bsg=b3Xj*=Nwms%3K8@IL1uzM>=cgbzXo9;AL
zYsgMF_lmLBM{~+&k33-;y~EPrxKFdB6IJHbIC|JGaL)ZfUEl8)C-ceKj{Uk~M)J>f
z=jQru{Y-4(oPO;zZb`eAooJM&W$RXqinR3gsfqt$arBj@x?htQ%_k=RGIAf%`~Hy=
z^#|`cjHQ2ecS?ri$P(3$9FNd9vl=sZt_;nXTC+RH(YkrrH&S;A58BW$(dC9<`{6Ef
zY5kX$W24gpimD&J@xj{k(Rbd%Y9^hDKJjO})jKC18MPNWR*jibi#Sxe@+xiFuZWO;74J{T(w_-J3l{T|MqdGsn
zG$1LFRn9~!xVq>A-yeVL!IXEmO}gzbxH%BeNL9pj9xd^){Xx<^^Os3Azvt>VlxQpW
zkavpv%C4c0_vbc^cp_LX3H+UE34ZJxn|FH!9NP2A!n5zLX}|i%L##q5IA3N=<7
zrfv|rZCq{b{84<7ytI~i)AF$Ipu$rEJ>{r(l?`mckUvE!`*sO8q_rzLx+-=xEUW5vKzfR2
zXBdN0^ZdSoju&3^>`wc8e$ld@?(RF9ec6iUzYx9-S*@*#%PGC;-G05Ly{%H7_v8sQ
zjiJd*UfWs%2JA!%4AQyc5R6bM7`RLoLoy5sH5jxI^EzMgai^akP0Yebrj!%!%>C_mLsn_cn
zdJaRSkuzB+iZT&4lg);K1*}b0>Tm*I!dLanK1DfRichhrvp9h
zS$+z&So|DbsU2bg@WC|TY9@<;Fck{sa1X6cm;^wE68cvUZ3Or}Vuq7iRicIg
z(wNH`o(OP%j{B1Jv)awZz)CE}1S%rYl%7byr<>wqG8I9|F!Loza>!V=mnV#qhz#b&
zvb2<-q~D@=%0rdh@t1j6NncTF{FoR2ITu4{A&cgMo4YwYaHM0f5;9RD=0z
zNL;7VM5t8pe7Y$qn#t4L;56^SWeK9Rz#`ey^Fv)fhfEl}8{7o(lvzcinHv|wiNPRR
zJc*Q<0|CE56%mIk2VF|D+iT=YCsE_tD(I=M5g=8_WC%|#1z72!3YW?+z1v2V|ih0Hk~f#CvX74!M98sf`D;eYrVT8IBI0)T!U
zUWtKMGJf4%ujzUv242bdb$9*W=(2tBxI-$zFCaa5m_e=!-v&S)7)#N4+tPRx{B)h%8Tw
idyAG{XKC%)6J-OrX4z%);#m^l1c`(a!G6ERtNsBnd0T@3
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_back_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_back_emissive.png
new file mode 100644
index 0000000000000000000000000000000000000000..19114daf4f5c489daef9e588fd38598be3d25bce
GIT binary patch
literal 4911
zcmeHLX;c$u7app}DsF{}U>hU0#X8Ak17;*eAOV6T1f)e=&|xx!QL>N(5>P3MBG@Wo
z6BrEP;T>1k5Jp)tk&IYr_6KuTX+n%HxXrn)@Oue3kec4^z0l*Zb_TLTW~
z!jn3YlLJZPE`FEl?7L<6UOP?L5t|G5*;K%^rfbz3KMIrcjJMmj&}i9Rhn9y6Bd5#P
z7am$v6xZBpGx|uiz5G$hwkJ0`F5BP#I;X5)>WxFUQXCQ{81FxfUZ0|B`>oW@nreP8
zF@(IbxSVdpeC&e89SG!~+r06!s;{Bsg=b3Xj*=Nwms%3K8@IL1uzM>=cgbzXo9;AL
zYsgMF_lmLBM{~+&k33-;y~EPrxKFdB6IJHbIC|JGaL)ZfUEl8)C-ceKj{Uk~M)J>f
z=jQru{Y-4(oPO;zZb`eAooJM&W$RXqinR3gsfqt$arBj@x?htQ%_k=RGIAf%`~Hy=
z^#|`cjHQ2ecS?ri$P(3$9FNd9vl=sZt_;nXTC+RH(YkrrH&S;A58BW$(dC9<`{6Ef
zY5kX$W24gpimD&J@xj{k(Rbd%Y9^hDKJjO})jKC18MPNWR*jibi#Sxe@+xiFuZWO;74J{T(w_-J3l{T|MqdGsn
zG$1LFRn9~!xVq>A-yeVL!IXEmO}gzbxH%BeNL9pj9xd^){Xx<^^Os3Azvt>VlxQpW
zkavpv%C4c0_vbc^cp_LX3H+UE34ZJxn|FH!9NP2A!n5zLX}|i%L##q5IA3N=<7
zrfv|rZCq{b{84<7ytI~i)AF$Ipu$rEJ>{r(l?`mckUvE!`*sO8q_rzLx+-=xEUW5vKzfR2
zXBdN0^ZdSoju&3^>`wc8e$ld@?(RF9ec6iUzYx9-S*@*#%PGC;-G05Ly{%H7_v8sQ
zjiJd*UfWs%2JA!%4AQyc5R6bM7`RLoLoy5sH5jxI^EzMgai^akP0Yebrj!%!%>C_mLsn_cn
zdJaRSkuzB+iZT&4lg);K1*}b0>Tm*I!dLanK1DfRichhrvp9h
zS$+z&So|DbsU2bg@WC|TY9@<;Fck{sa1X6cm;^wE68cvUZ3Or}Vuq7iRicIg
z(wNH`o(OP%j{B1Jv)awZz)CE}1S%rYl%7byr<>wqG8I9|F!Loza>!V=mnV#qhz#b&
zvb2<-q~D@=%0rdh@t1j6NncTF{FoR2ITu4{A&cgMo4YwYaHM0f5;9RD=0z
zNL;7VM5t8pe7Y$qn#t4L;56^SWeK9Rz#`ey^Fv)fhfEl}8{7o(lvzcinHv|wiNPRR
zJc*Q<0|CE56%mIk2VF|D+iT=YCsE_tD(I=M5g=8_WC%|#1z72!3YW?+z1v2V|ih0Hk~f#CvX74!M98sf`D;eYrVT8IBI0)T!U
zUWtKMGJf4%ujzUv242bdb$9*W=(2tBxI-$zFCaa5m_e=!-v&S)7)#N4+tPRx{B)h%8Tw
idyAG{XKC%)6J-OrX4z%);#m^l1c`(a!G6ERtNsBnd0T@3
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_front.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_front.png
new file mode 100644
index 0000000000000000000000000000000000000000..a265b3bbaceab8c4126f9403631a2abc4eaa074e
GIT binary patch
literal 245
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G^tAk28_ZrvZCAbW|YuPggK4iP>kzAL}&DuF^xo-U3d7N?W{{QqyytlH4o=yZT7
z+2iENiBG1a_sba?834h*|NrIJS=w68)HrMW{9LOvlR3k(pFci6t}u;`iaNww`R#?E
z@*VCLlSe`Bg$jLA4O1rE+f#Y?01zlBDK&*N`^dI2o{!s`G(kxCa6p5p=)Nk}bmK!t
g!mgf`4$OiKZ*N#LO264I40H{Hr>mdKI;Vst03#q((f|Me
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_front_active.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_front_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..cba59fa39355e874024a794fdf911b25a3b2c2ea
GIT binary patch
literal 245
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G^tAk28_ZrvZCAbW|YuPggK4iP>k{>6Xz-UEf2JY5_^EKVo?`TyUZS+$|F(dhtF
zvd77j6Q4{;@0T+)G5~^q|NqOcv$VCGsd3i$`MFkUCUb^mKYx6DTwxj=6?KTW^4kkR
zBfhQ
ggk3!=9he0f-rlfglzy{a80Z=XPgg&ebxsLQ05DKh=>Px#
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_front_active_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_front_active_emissive.png
new file mode 100644
index 0000000000000000000000000000000000000000..19114daf4f5c489daef9e588fd38598be3d25bce
GIT binary patch
literal 4911
zcmeHLX;c$u7app}DsF{}U>hU0#X8Ak17;*eAOV6T1f)e=&|xx!QL>N(5>P3MBG@Wo
z6BrEP;T>1k5Jp)tk&IYr_6KuTX+n%HxXrn)@Oue3kec4^z0l*Zb_TLTW~
z!jn3YlLJZPE`FEl?7L<6UOP?L5t|G5*;K%^rfbz3KMIrcjJMmj&}i9Rhn9y6Bd5#P
z7am$v6xZBpGx|uiz5G$hwkJ0`F5BP#I;X5)>WxFUQXCQ{81FxfUZ0|B`>oW@nreP8
zF@(IbxSVdpeC&e89SG!~+r06!s;{Bsg=b3Xj*=Nwms%3K8@IL1uzM>=cgbzXo9;AL
zYsgMF_lmLBM{~+&k33-;y~EPrxKFdB6IJHbIC|JGaL)ZfUEl8)C-ceKj{Uk~M)J>f
z=jQru{Y-4(oPO;zZb`eAooJM&W$RXqinR3gsfqt$arBj@x?htQ%_k=RGIAf%`~Hy=
z^#|`cjHQ2ecS?ri$P(3$9FNd9vl=sZt_;nXTC+RH(YkrrH&S;A58BW$(dC9<`{6Ef
zY5kX$W24gpimD&J@xj{k(Rbd%Y9^hDKJjO})jKC18MPNWR*jibi#Sxe@+xiFuZWO;74J{T(w_-J3l{T|MqdGsn
zG$1LFRn9~!xVq>A-yeVL!IXEmO}gzbxH%BeNL9pj9xd^){Xx<^^Os3Azvt>VlxQpW
zkavpv%C4c0_vbc^cp_LX3H+UE34ZJxn|FH!9NP2A!n5zLX}|i%L##q5IA3N=<7
zrfv|rZCq{b{84<7ytI~i)AF$Ipu$rEJ>{r(l?`mckUvE!`*sO8q_rzLx+-=xEUW5vKzfR2
zXBdN0^ZdSoju&3^>`wc8e$ld@?(RF9ec6iUzYx9-S*@*#%PGC;-G05Ly{%H7_v8sQ
zjiJd*UfWs%2JA!%4AQyc5R6bM7`RLoLoy5sH5jxI^EzMgai^akP0Yebrj!%!%>C_mLsn_cn
zdJaRSkuzB+iZT&4lg);K1*}b0>Tm*I!dLanK1DfRichhrvp9h
zS$+z&So|DbsU2bg@WC|TY9@<;Fck{sa1X6cm;^wE68cvUZ3Or}Vuq7iRicIg
z(wNH`o(OP%j{B1Jv)awZz)CE}1S%rYl%7byr<>wqG8I9|F!Loza>!V=mnV#qhz#b&
zvb2<-q~D@=%0rdh@t1j6NncTF{FoR2ITu4{A&cgMo4YwYaHM0f5;9RD=0z
zNL;7VM5t8pe7Y$qn#t4L;56^SWeK9Rz#`ey^Fv)fhfEl}8{7o(lvzcinHv|wiNPRR
zJc*Q<0|CE56%mIk2VF|D+iT=YCsE_tD(I=M5g=8_WC%|#1z72!3YW?+z1v2V|ih0Hk~f#CvX74!M98sf`D;eYrVT8IBI0)T!U
zUWtKMGJf4%ujzUv242bdb$9*W=(2tBxI-$zFCaa5m_e=!-v&S)7)#N4+tPRx{B)h%8Tw
idyAG{XKC%)6J-OrX4z%);#m^l1c`(a!G6ERtNsBnd0T@3
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_front_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_front_emissive.png
new file mode 100644
index 0000000000000000000000000000000000000000..19114daf4f5c489daef9e588fd38598be3d25bce
GIT binary patch
literal 4911
zcmeHLX;c$u7app}DsF{}U>hU0#X8Ak17;*eAOV6T1f)e=&|xx!QL>N(5>P3MBG@Wo
z6BrEP;T>1k5Jp)tk&IYr_6KuTX+n%HxXrn)@Oue3kec4^z0l*Zb_TLTW~
z!jn3YlLJZPE`FEl?7L<6UOP?L5t|G5*;K%^rfbz3KMIrcjJMmj&}i9Rhn9y6Bd5#P
z7am$v6xZBpGx|uiz5G$hwkJ0`F5BP#I;X5)>WxFUQXCQ{81FxfUZ0|B`>oW@nreP8
zF@(IbxSVdpeC&e89SG!~+r06!s;{Bsg=b3Xj*=Nwms%3K8@IL1uzM>=cgbzXo9;AL
zYsgMF_lmLBM{~+&k33-;y~EPrxKFdB6IJHbIC|JGaL)ZfUEl8)C-ceKj{Uk~M)J>f
z=jQru{Y-4(oPO;zZb`eAooJM&W$RXqinR3gsfqt$arBj@x?htQ%_k=RGIAf%`~Hy=
z^#|`cjHQ2ecS?ri$P(3$9FNd9vl=sZt_;nXTC+RH(YkrrH&S;A58BW$(dC9<`{6Ef
zY5kX$W24gpimD&J@xj{k(Rbd%Y9^hDKJjO})jKC18MPNWR*jibi#Sxe@+xiFuZWO;74J{T(w_-J3l{T|MqdGsn
zG$1LFRn9~!xVq>A-yeVL!IXEmO}gzbxH%BeNL9pj9xd^){Xx<^^Os3Azvt>VlxQpW
zkavpv%C4c0_vbc^cp_LX3H+UE34ZJxn|FH!9NP2A!n5zLX}|i%L##q5IA3N=<7
zrfv|rZCq{b{84<7ytI~i)AF$Ipu$rEJ>{r(l?`mckUvE!`*sO8q_rzLx+-=xEUW5vKzfR2
zXBdN0^ZdSoju&3^>`wc8e$ld@?(RF9ec6iUzYx9-S*@*#%PGC;-G05Ly{%H7_v8sQ
zjiJd*UfWs%2JA!%4AQyc5R6bM7`RLoLoy5sH5jxI^EzMgai^akP0Yebrj!%!%>C_mLsn_cn
zdJaRSkuzB+iZT&4lg);K1*}b0>Tm*I!dLanK1DfRichhrvp9h
zS$+z&So|DbsU2bg@WC|TY9@<;Fck{sa1X6cm;^wE68cvUZ3Or}Vuq7iRicIg
z(wNH`o(OP%j{B1Jv)awZz)CE}1S%rYl%7byr<>wqG8I9|F!Loza>!V=mnV#qhz#b&
zvb2<-q~D@=%0rdh@t1j6NncTF{FoR2ITu4{A&cgMo4YwYaHM0f5;9RD=0z
zNL;7VM5t8pe7Y$qn#t4L;56^SWeK9Rz#`ey^Fv)fhfEl}8{7o(lvzcinHv|wiNPRR
zJc*Q<0|CE56%mIk2VF|D+iT=YCsE_tD(I=M5g=8_WC%|#1z72!3YW?+z1v2V|ih0Hk~f#CvX74!M98sf`D;eYrVT8IBI0)T!U
zUWtKMGJf4%ujzUv242bdb$9*W=(2tBxI-$zFCaa5m_e=!-v&S)7)#N4+tPRx{B)h%8Tw
idyAG{XKC%)6J-OrX4z%);#m^l1c`(a!G6ERtNsBnd0T@3
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_side.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_side.png
new file mode 100644
index 0000000000000000000000000000000000000000..c4d67c201a70d51fe51bc741b9dad601b63afb8d
GIT binary patch
literal 245
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G^tAk28_ZrvZCAbW|YuPggK4iP>k)e86HmO!B~Zqs#3xhI`{fLc41nO@|NrvqENv}kYMeEGey&xT$(&)?&mSKjSC~deMIGX;{Psdn
z`3`rB$)h0mLWMr5hA9*7?WsI`006IH18)bYB%~y73_+
gVOP&e2WCNrw>PXArQd892D*m9)78&qol`;+0JiE?A^-pY
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_side_active.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_side_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..6eb0165c340ac07f58c25adf7f776cb7902f77fb
GIT binary patch
literal 245
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G^tAk28_ZrvZCAbW|YuPggK4iP>k<%uduJV2o)PZ!4!i_^(}{{OdUR&D5PbUMJ4
z>~Zqs#3xhI`{fLc41nO@|NrvqENv}kYMeEGey&xT$(&)?&mSKjSC~deMIGX;{Psdn
z`3`rB$)h0mLWMr5hA9*7?WsI`006IH18)bYB%~y73_+
gVOP&e2WCNrw>PXArQd892D*m9)78&qol`;+09M#kga7~l
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_side_active_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_side_active_emissive.png
new file mode 100644
index 0000000000000000000000000000000000000000..19114daf4f5c489daef9e588fd38598be3d25bce
GIT binary patch
literal 4911
zcmeHLX;c$u7app}DsF{}U>hU0#X8Ak17;*eAOV6T1f)e=&|xx!QL>N(5>P3MBG@Wo
z6BrEP;T>1k5Jp)tk&IYr_6KuTX+n%HxXrn)@Oue3kec4^z0l*Zb_TLTW~
z!jn3YlLJZPE`FEl?7L<6UOP?L5t|G5*;K%^rfbz3KMIrcjJMmj&}i9Rhn9y6Bd5#P
z7am$v6xZBpGx|uiz5G$hwkJ0`F5BP#I;X5)>WxFUQXCQ{81FxfUZ0|B`>oW@nreP8
zF@(IbxSVdpeC&e89SG!~+r06!s;{Bsg=b3Xj*=Nwms%3K8@IL1uzM>=cgbzXo9;AL
zYsgMF_lmLBM{~+&k33-;y~EPrxKFdB6IJHbIC|JGaL)ZfUEl8)C-ceKj{Uk~M)J>f
z=jQru{Y-4(oPO;zZb`eAooJM&W$RXqinR3gsfqt$arBj@x?htQ%_k=RGIAf%`~Hy=
z^#|`cjHQ2ecS?ri$P(3$9FNd9vl=sZt_;nXTC+RH(YkrrH&S;A58BW$(dC9<`{6Ef
zY5kX$W24gpimD&J@xj{k(Rbd%Y9^hDKJjO})jKC18MPNWR*jibi#Sxe@+xiFuZWO;74J{T(w_-J3l{T|MqdGsn
zG$1LFRn9~!xVq>A-yeVL!IXEmO}gzbxH%BeNL9pj9xd^){Xx<^^Os3Azvt>VlxQpW
zkavpv%C4c0_vbc^cp_LX3H+UE34ZJxn|FH!9NP2A!n5zLX}|i%L##q5IA3N=<7
zrfv|rZCq{b{84<7ytI~i)AF$Ipu$rEJ>{r(l?`mckUvE!`*sO8q_rzLx+-=xEUW5vKzfR2
zXBdN0^ZdSoju&3^>`wc8e$ld@?(RF9ec6iUzYx9-S*@*#%PGC;-G05Ly{%H7_v8sQ
zjiJd*UfWs%2JA!%4AQyc5R6bM7`RLoLoy5sH5jxI^EzMgai^akP0Yebrj!%!%>C_mLsn_cn
zdJaRSkuzB+iZT&4lg);K1*}b0>Tm*I!dLanK1DfRichhrvp9h
zS$+z&So|DbsU2bg@WC|TY9@<;Fck{sa1X6cm;^wE68cvUZ3Or}Vuq7iRicIg
z(wNH`o(OP%j{B1Jv)awZz)CE}1S%rYl%7byr<>wqG8I9|F!Loza>!V=mnV#qhz#b&
zvb2<-q~D@=%0rdh@t1j6NncTF{FoR2ITu4{A&cgMo4YwYaHM0f5;9RD=0z
zNL;7VM5t8pe7Y$qn#t4L;56^SWeK9Rz#`ey^Fv)fhfEl}8{7o(lvzcinHv|wiNPRR
zJc*Q<0|CE56%mIk2VF|D+iT=YCsE_tD(I=M5g=8_WC%|#1z72!3YW?+z1v2V|ih0Hk~f#CvX74!M98sf`D;eYrVT8IBI0)T!U
zUWtKMGJf4%ujzUv242bdb$9*W=(2tBxI-$zFCaa5m_e=!-v&S)7)#N4+tPRx{B)h%8Tw
idyAG{XKC%)6J-OrX4z%);#m^l1c`(a!G6ERtNsBnd0T@3
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_side_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_side_emissive.png
new file mode 100644
index 0000000000000000000000000000000000000000..19114daf4f5c489daef9e588fd38598be3d25bce
GIT binary patch
literal 4911
zcmeHLX;c$u7app}DsF{}U>hU0#X8Ak17;*eAOV6T1f)e=&|xx!QL>N(5>P3MBG@Wo
z6BrEP;T>1k5Jp)tk&IYr_6KuTX+n%HxXrn)@Oue3kec4^z0l*Zb_TLTW~
z!jn3YlLJZPE`FEl?7L<6UOP?L5t|G5*;K%^rfbz3KMIrcjJMmj&}i9Rhn9y6Bd5#P
z7am$v6xZBpGx|uiz5G$hwkJ0`F5BP#I;X5)>WxFUQXCQ{81FxfUZ0|B`>oW@nreP8
zF@(IbxSVdpeC&e89SG!~+r06!s;{Bsg=b3Xj*=Nwms%3K8@IL1uzM>=cgbzXo9;AL
zYsgMF_lmLBM{~+&k33-;y~EPrxKFdB6IJHbIC|JGaL)ZfUEl8)C-ceKj{Uk~M)J>f
z=jQru{Y-4(oPO;zZb`eAooJM&W$RXqinR3gsfqt$arBj@x?htQ%_k=RGIAf%`~Hy=
z^#|`cjHQ2ecS?ri$P(3$9FNd9vl=sZt_;nXTC+RH(YkrrH&S;A58BW$(dC9<`{6Ef
zY5kX$W24gpimD&J@xj{k(Rbd%Y9^hDKJjO})jKC18MPNWR*jibi#Sxe@+xiFuZWO;74J{T(w_-J3l{T|MqdGsn
zG$1LFRn9~!xVq>A-yeVL!IXEmO}gzbxH%BeNL9pj9xd^){Xx<^^Os3Azvt>VlxQpW
zkavpv%C4c0_vbc^cp_LX3H+UE34ZJxn|FH!9NP2A!n5zLX}|i%L##q5IA3N=<7
zrfv|rZCq{b{84<7ytI~i)AF$Ipu$rEJ>{r(l?`mckUvE!`*sO8q_rzLx+-=xEUW5vKzfR2
zXBdN0^ZdSoju&3^>`wc8e$ld@?(RF9ec6iUzYx9-S*@*#%PGC;-G05Ly{%H7_v8sQ
zjiJd*UfWs%2JA!%4AQyc5R6bM7`RLoLoy5sH5jxI^EzMgai^akP0Yebrj!%!%>C_mLsn_cn
zdJaRSkuzB+iZT&4lg);K1*}b0>Tm*I!dLanK1DfRichhrvp9h
zS$+z&So|DbsU2bg@WC|TY9@<;Fck{sa1X6cm;^wE68cvUZ3Or}Vuq7iRicIg
z(wNH`o(OP%j{B1Jv)awZz)CE}1S%rYl%7byr<>wqG8I9|F!Loza>!V=mnV#qhz#b&
zvb2<-q~D@=%0rdh@t1j6NncTF{FoR2ITu4{A&cgMo4YwYaHM0f5;9RD=0z
zNL;7VM5t8pe7Y$qn#t4L;56^SWeK9Rz#`ey^Fv)fhfEl}8{7o(lvzcinHv|wiNPRR
zJc*Q<0|CE56%mIk2VF|D+iT=YCsE_tD(I=M5g=8_WC%|#1z72!3YW?+z1v2V|ih0Hk~f#CvX74!M98sf`D;eYrVT8IBI0)T!U
zUWtKMGJf4%ujzUv242bdb$9*W=(2tBxI-$zFCaa5m_e=!-v&S)7)#N4+tPRx{B)h%8Tw
idyAG{XKC%)6J-OrX4z%);#m^l1c`(a!G6ERtNsBnd0T@3
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top.png
new file mode 100644
index 0000000000000000000000000000000000000000..a00ea6ee4e8cb04112329e8e2774e2efc91dfcfe
GIT binary patch
literal 303
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G^tAk28_ZrvZCAbW|YuPggK4iR2!;obI$&Oo6(o-U3d7N_?HJMy(C@XX1pVePD8
zvib7hZu-vyzc~41I_eYr1p-}!gsZcH(q>3%9F_REtga%`Icr+#$)Inw{<@tWrFu#w
zfd|ecq~+XZlV@T$5H!LljuX`OOmdKI;Vst06i0IxBvhE
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top_active.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..8cace5651b8cc557e7f85ca3069ae0acad4141e3
GIT binary patch
literal 320
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G^tAk28_ZrvZCAbW|YuPggK4iR2!^;z9hzX65Ldb&7?~_IElvh0R}GSSWKSM#-72+j1b_@rt#Geg{Y_d8B2ycWzn!r=EQfwN3W
zW2)C@28OKI`hyb+x0by;y^SfEr^oQc@48#oK?1hPx3_&Zv*Vh?5p>W`<=cVI1uIs)
z*mUid`pg$=mYNp)Fo<@!DQ9hbc_Py->1FY(OM~hj^2-YSNtL=Ev?#*G@ZYVOK#wta
My85}Sb4q9e01V}OkpKVy
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top_active_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top_active_emissive.png
new file mode 100644
index 0000000000000000000000000000000000000000..48b5a3c360c4caf9622525622e64853b9695c6a6
GIT binary patch
literal 185
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC
z{oH>NS%G|>0G|-o|Ns9p{AZ|XXaNco{)%`HQdbh>7Yq`2&|3Kg$mcBZh%9Dc;1&d7
z#`=`_i9kU$PZ!4!jo{=2H|8Up1_lOAH+_5z7~M=5-AWiGBor786jTnJ;bEwYV7eiF
S_v0&|4hBzGKbLh*2~7ad)i6c?
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top_emissive.png
new file mode 100644
index 0000000000000000000000000000000000000000..4f2753163585861aabbaea164cfab431058afb47
GIT binary patch
literal 186
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC
z{oH>NS%G|>0G|-onueDDKmg=2FiZ{T2?J6rB|(0{ATbB6m0y5-&H|6fVg?3oK@euF
zPl=xh6jb+gaSYK2PEK%RUczb6V3ERQU}UtA(*T6H4=_kFB{+CA%#>s(e$KR$=hZKu
P4h9BKS3j3^P6NS%G}%0G|+7cXxMVW8?ooaDzcoR<@?0rJb3jsy!PdY{fW=W}Mc@U2np+0JPwn?eeg0%t#$jYHW6dUT
TYgLsc&{zgfS3j3^P6My0`@x*DCKV1q!-(x;Tbd_$N!GJ+SAwlkkII)QQoQSNFf8
z#3@#0HH}^dbIFA~j~G@ls${V-iZDx
Date: Wed, 7 Aug 2024 18:52:34 -0500
Subject: [PATCH 2/8] fix: spipple
---
.../java/gregtech/api/capability/impl/PrimitiveRecipeLogic.java | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/main/java/gregtech/api/capability/impl/PrimitiveRecipeLogic.java b/src/main/java/gregtech/api/capability/impl/PrimitiveRecipeLogic.java
index cd88864369a..9754a26f0fe 100644
--- a/src/main/java/gregtech/api/capability/impl/PrimitiveRecipeLogic.java
+++ b/src/main/java/gregtech/api/capability/impl/PrimitiveRecipeLogic.java
@@ -2,7 +2,6 @@
import gregtech.api.GTValues;
import gregtech.api.metatileentity.multiblock.RecipeMapMultiblockController;
-import gregtech.api.recipes.RecipeMap;
import gregtech.api.recipes.logic.OCParams;
import gregtech.api.recipes.logic.OCResult;
import gregtech.api.recipes.recipeproperties.IRecipePropertyStorage;
From 49a8bb0e63ae975728f15e6606882dd6bb1a306c Mon Sep 17 00:00:00 2001
From: bruberu <80226372+bruberu@users.noreply.github.com>
Date: Wed, 14 Aug 2024 11:25:57 -0500
Subject: [PATCH 3/8] feat: en_us.lang and some of the JSONs I forgot
---
.../gregtech/blockstates/fission_casing.json | 41 +++++++
.../blockstates/gas_centrifuge_casing.json | 21 ++++
.../gregtech/blockstates/nuclear_casing.json | 41 +++++++
.../gregtech/blockstates/panelling.json | 109 ++++++++++++++++++
.../resources/assets/gregtech/lang/en_us.lang | 41 +++++++
.../gregtech/models/block/gas_centrifuge.json | 19 +++
.../blocks/panelling/panelling_black.png | Bin 0 -> 4725 bytes
.../panelling/panelling_black.png.mcmeta | 9 ++
.../blocks/panelling/panelling_blue.png | Bin 0 -> 5010 bytes
.../panelling/panelling_blue.png.mcmeta | 9 ++
.../blocks/panelling/panelling_brown.png | Bin 0 -> 4324 bytes
.../panelling/panelling_brown.png.mcmeta | 9 ++
.../blocks/panelling/panelling_cyan.png | Bin 0 -> 4773 bytes
.../panelling/panelling_cyan.png.mcmeta | 9 ++
.../blocks/panelling/panelling_gray.png | Bin 0 -> 4725 bytes
.../panelling/panelling_gray.png.mcmeta | 9 ++
.../blocks/panelling/panelling_green.png | Bin 0 -> 4715 bytes
.../panelling/panelling_green.png.mcmeta | 9 ++
.../blocks/panelling/panelling_light_blue.png | Bin 0 -> 4955 bytes
.../panelling/panelling_light_blue.png.mcmeta | 9 ++
.../blocks/panelling/panelling_light_gray.png | Bin 0 -> 4717 bytes
.../panelling/panelling_light_gray.png.mcmeta | 9 ++
.../blocks/panelling/panelling_lime.png | Bin 0 -> 4981 bytes
.../panelling/panelling_lime.png.mcmeta | 9 ++
.../blocks/panelling/panelling_magenta.png | Bin 0 -> 5014 bytes
.../panelling/panelling_magenta.png.mcmeta | 9 ++
.../blocks/panelling/panelling_orange.png | Bin 0 -> 5000 bytes
.../panelling/panelling_orange.png.mcmeta | 9 ++
.../blocks/panelling/panelling_pink.png | Bin 0 -> 5024 bytes
.../panelling/panelling_pink.png.mcmeta | 9 ++
.../blocks/panelling/panelling_purple.png | Bin 0 -> 3550 bytes
.../panelling/panelling_purple.png.mcmeta | 9 ++
.../blocks/panelling/panelling_red.png | Bin 0 -> 4935 bytes
.../blocks/panelling/panelling_red.png.mcmeta | 9 ++
.../blocks/panelling/panelling_white.png | Bin 0 -> 4729 bytes
.../panelling/panelling_white.png.mcmeta | 9 ++
.../blocks/panelling/panelling_yellow.png | Bin 0 -> 4891 bytes
.../panelling/panelling_yellow.png.mcmeta | 9 ++
38 files changed, 416 insertions(+)
create mode 100644 src/main/resources/assets/gregtech/blockstates/fission_casing.json
create mode 100644 src/main/resources/assets/gregtech/blockstates/gas_centrifuge_casing.json
create mode 100644 src/main/resources/assets/gregtech/blockstates/nuclear_casing.json
create mode 100644 src/main/resources/assets/gregtech/blockstates/panelling.json
create mode 100644 src/main/resources/assets/gregtech/models/block/gas_centrifuge.json
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_black.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_black.png.mcmeta
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_blue.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_blue.png.mcmeta
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_brown.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_brown.png.mcmeta
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_cyan.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_cyan.png.mcmeta
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_gray.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_gray.png.mcmeta
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_green.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_green.png.mcmeta
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_light_blue.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_light_blue.png.mcmeta
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_light_gray.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_light_gray.png.mcmeta
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_lime.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_lime.png.mcmeta
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_magenta.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_magenta.png.mcmeta
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_orange.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_orange.png.mcmeta
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_pink.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_pink.png.mcmeta
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_purple.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_purple.png.mcmeta
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_red.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_red.png.mcmeta
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_white.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_white.png.mcmeta
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_yellow.png
create mode 100644 src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_yellow.png.mcmeta
diff --git a/src/main/resources/assets/gregtech/blockstates/fission_casing.json b/src/main/resources/assets/gregtech/blockstates/fission_casing.json
new file mode 100644
index 00000000000..13f608d2f10
--- /dev/null
+++ b/src/main/resources/assets/gregtech/blockstates/fission_casing.json
@@ -0,0 +1,41 @@
+{
+ "forge_marker" : 1,
+ "defaults": {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/casings/solid/machine_casing_solid_steel"
+ }
+ },
+ "variants" : {
+ "variant=reactor_vessel" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/casings/fission/reactor_vessel"
+ }
+ },
+ "variant=fuel_channel" : {
+ "model" : "minecraft:cube_bottom_top",
+ "textures" : {
+ "top" : "gregtech:blocks/casings/fission/fuel_channel_top",
+ "bottom" : "gregtech:blocks/casings/fission/fuel_channel_top",
+ "side" : "gregtech:blocks/casings/fission/fuel_channel_side"
+ }
+ },
+ "variant=control_rod_channel" : {
+ "model" : "minecraft:cube_bottom_top",
+ "textures" : {
+ "top" : "gregtech:blocks/casings/fission/control_rod_channel_top",
+ "bottom" : "gregtech:blocks/casings/fission/control_rod_channel_top",
+ "side" : "gregtech:blocks/casings/fission/fuel_channel_side"
+ }
+ },
+ "variant=coolant_channel" : {
+ "model" : "minecraft:cube_bottom_top",
+ "textures" : {
+ "top" : "gregtech:blocks/casings/fission/coolant_channel_top",
+ "bottom" : "gregtech:blocks/casings/fission/coolant_channel_top",
+ "side" : "gregtech:blocks/casings/fission/fuel_channel_side"
+ }
+ }
+ }
+}
diff --git a/src/main/resources/assets/gregtech/blockstates/gas_centrifuge_casing.json b/src/main/resources/assets/gregtech/blockstates/gas_centrifuge_casing.json
new file mode 100644
index 00000000000..67f4dd5d3b1
--- /dev/null
+++ b/src/main/resources/assets/gregtech/blockstates/gas_centrifuge_casing.json
@@ -0,0 +1,21 @@
+{
+ "forge_marker" : 1,
+ "defaults": {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/casings/solid/machine_casing_solid_steel"
+ }
+ },
+ "variants" : {
+ "variant" : {
+ "gas_centrifuge_column" : {
+ "model" : "gregtech:gas_centrifuge",
+ "textures" : {
+ "0" : "gregtech:blocks/casings/nuclear/gas_centrifuge_side",
+ "1" : "gregtech:blocks/casings/nuclear/gas_centrifuge_end",
+ "particle" : "gregtech:blocks/casings/nuclear/gas_centrifuge_side"
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/resources/assets/gregtech/blockstates/nuclear_casing.json b/src/main/resources/assets/gregtech/blockstates/nuclear_casing.json
new file mode 100644
index 00000000000..c894ad1856d
--- /dev/null
+++ b/src/main/resources/assets/gregtech/blockstates/nuclear_casing.json
@@ -0,0 +1,41 @@
+{
+ "forge_marker" : 1,
+ "variants" : {
+ "active=false,variant=spent_fuel_casing" : {
+ "model": "minecraft:cube_column",
+ "textures": {
+ "end": "gregtech:blocks/casings/nuclear/spent_fuel_casing_empty_top",
+ "side": "gregtech:blocks/casings/nuclear/spent_fuel_casing_empty_side"
+ }
+ },
+ "active=true,variant=spent_fuel_casing" : {
+ "model" : "gregtech:cube_2_layer_bottom_top",
+ "textures" : {
+ "bot_side" : "gregtech:blocks/casings/nuclear/spent_fuel_casing_side",
+ "bot_bottom" : "gregtech:blocks/casings/nuclear/spent_fuel_casing_top",
+ "bot_top" : "gregtech:blocks/casings/nuclear/spent_fuel_casing_top",
+ "top_side" : "gregtech:blocks/casings/nuclear/spent_fuel_casing_side_bloom",
+ "top_bottom" : "gregtech:blocks/casings/nuclear/spent_fuel_casing_top_bloom",
+ "top_top" : "gregtech:blocks/casings/nuclear/spent_fuel_casing_top_bloom"
+ }
+ },
+ "active=false,variant=gas_centrifuge_heater" : {
+ "model" : "minecraft:cube_column",
+ "textures" : {
+ "end" : "gregtech:blocks/casings/nuclear/gas_centrifuge_heater_top",
+ "side" : "gregtech:blocks/casings/nuclear/gas_centrifuge_heater_side"
+ }
+ },
+ "active=true,variant=gas_centrifuge_heater" : {
+ "model" : "gregtech:cube_2_layer_bottom_top",
+ "textures" : {
+ "bot_side" : "gregtech:blocks/casings/nuclear/gas_centrifuge_heater_side",
+ "bot_bottom" : "gregtech:blocks/casings/nuclear/gas_centrifuge_heater_top",
+ "bot_top" : "gregtech:blocks/casings/nuclear/gas_centrifuge_heater_top",
+ "top_side" : "gregtech:blocks/casings/nuclear/gas_centrifuge_heater_side_bloom",
+ "top_bottom" : "gregtech:blocks/casings/nuclear/gas_centrifuge_heater_top_bloom",
+ "top_top" : "gregtech:blocks/casings/nuclear/gas_centrifuge_heater_top_bloom"
+ }
+ }
+ }
+}
diff --git a/src/main/resources/assets/gregtech/blockstates/panelling.json b/src/main/resources/assets/gregtech/blockstates/panelling.json
new file mode 100644
index 00000000000..e9e2170f7d7
--- /dev/null
+++ b/src/main/resources/assets/gregtech/blockstates/panelling.json
@@ -0,0 +1,109 @@
+{
+ "forge_marker" : 1,
+ "defaults": {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_white"
+ }
+ },
+ "variants" : {
+ "variant" : {
+ "white" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_white"
+ }
+ },
+ "orange" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_orange"
+ }
+ },
+ "magenta" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_magenta"
+ }
+ },
+ "light_blue" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_light_blue"
+ }
+ },
+ "yellow" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_yellow"
+ }
+ },
+ "lime" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_lime"
+ }
+ },
+ "pink" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_pink"
+ }
+ },
+ "gray" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_gray"
+ }
+ },
+ "light_gray" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_light_gray"
+ }
+ },
+ "cyan" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_cyan"
+ }
+ },
+ "purple" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_purple"
+ }
+ },
+ "blue" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_blue"
+ }
+ },
+ "brown" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_brown"
+ }
+ },
+ "green" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_green"
+ }
+ },
+ "red" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_red"
+ }
+ },
+ "black" : {
+ "model" : "minecraft:cube_all",
+ "textures" : {
+ "all" : "gregtech:blocks/panelling/panelling_black"
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/resources/assets/gregtech/lang/en_us.lang b/src/main/resources/assets/gregtech/lang/en_us.lang
index 55d74be23f2..dac4a928999 100644
--- a/src/main/resources/assets/gregtech/lang/en_us.lang
+++ b/src/main/resources/assets/gregtech/lang/en_us.lang
@@ -150,6 +150,10 @@ gregtech.multiblock.primitive_water_pump.extra1=Biome Coefficient:/n Ocean, Riv
gregtech.multiblock.primitive_water_pump.extra2=Hatch Multipliers:/n Pump Hatch: 1x/n ULV Output Hatch: 2x/n LV Output Hatch: 4x/n/nWhile raining in the Pump's Biome, the total water production will be increased by 50%%.
gregtech.multiblock.processing_array.description=The Processing Array combines up to 16 single block machine(s) in a single multiblock, effectively easing automation.
gregtech.multiblock.advanced_processing_array.description=The Processing Array combines up to 64 single block machine(s) in a single multiblock, effectively easing automation.
+gregtech.multiblock.fission_reactor.description=Fission Reactors use fuel rods placed together to create a sustained chain of fission reactions. These reactions generate heat (power) that may be soaked up by coolants, which can then be used inside turbines. For example, using distilled water as a coolant, each channel soaks up about 2 EU/t of heat per degree Kelvin and block of internal reactor depth. The reactor can take on a variety of shapes. Its cross sections can be seen in JEI, and the reactor may extend 7 blocks up and down from the controller. Reactors can import and export fuel rods/coolants through special pairs of hatches on the top and bottom layers, respectively. Control rod hatches may also be placed on the top layer, and they give the user more control over the reactor. Inserting them more decreases the neutron multiplication rate "effective K" (shown as k_eff), a factor by which the power is continually multiplied by until it reaches the approximate max power. If k_eff is over 1, the reactor's power will eventually increase; if it's below 1, it will eventually decrease; and if it's around 1, it will stay stable. In fact, the reactor automatically shifts this over time, attempting to reach a stable equilibrium. This may be overridden manually, which you may want to do if the k_eff is over 1.05 to avoid it spiralling out of control and melting down. K_eff is also affected by neutron poisons inside the reactor, which will increase in concentration over time as the reactor runs (and still remain in a fairly high concentration for a while after). The rate at which k_eff "acts" is dependent on the mean generation time, which is how long it takes for the next generation of neutrons to be produced. This depends on the fuel rod (and can be seen in their tooltips), and it is mostly affected by delayed neutrons produced from decaying fission products. The power may then be modeled using an exponential function with a time constant of the mean generation time divided by (k_eff - 1). Control rods, fuel hatches, and coolant hatches all require special tubing beneath them to form correctly; check their tooltips to see which blocks to use. Once a reactor's hatches are filled, the reactor can be locked to begin operation, meaning that the types of items/fluids in the hatches can not be changed while the reactor operates. The placement of the fuel rods and coolant channels within the reactor is quite important. Neutrons produced by decaying atoms in the fuel rods can cause fissions in other fuel rods; therefore, reactors work far more effectively with more than one fuel rod channel. The chance that a neutron interacts with a fuel rod is increased if it is slowed down by a moderator, such as distilled water inside a coolant channel. As such, it can be helpful to put coolant channels between fuel rods to increase k_eff (and control rods do much the opposite). Fuel rods also decay at a rate proportional to the power; a 600 MJ fuel rod will deplete after 600 seconds of 1 MW, or alternatively 1 second of 600 MW. Note: if this multiblock receives maintenance problems, the coolant systems will occasionally seize up and stop working. However, coolant channels only operate when the hot coolant fluid is actually hotter than the reactor itself, and they can also only altogether export as much heat as the max power.
+gregtech.multiblock.gas_centrifuge.description=The Gas Centrifuge can help in the purification process of isotopes, especially those of uranium. By repeatedly putting uranium hexafluoride into a gas centrifuge, one can obtain highly enriched uranium hexafluoride, which has a purity high enough to make nuclear fuels. Each block of length makes it perform one more recipe in parallel.
+gregtech.multiblock.heat_exchanger.description=The Heat Exchanger can be used to take heat out from one fluid by either radiating it out into its surrounding environment or by transferring it into another fluid. This can be used with hot coolant from fission reactors to help generate steam for steam turbines.
+gregtech.multiblock.spent_fuel_pool.description=The Spent Fuel Pool takes hot depleted fuel rods fresh from a fission reactor and cools them down to be processed later. It only forms when full blocks of water are placed on top; what did you expect? Each block of length makes it perform 32 more recipes in parallel.
item.invalid.name=Invalid item
fluid.empty=Empty
@@ -2351,6 +2355,9 @@ recipemap.rock_breaker.name=Rock Breaker
recipemap.primitive_blast_furnace.name=Primitive Blast Furnace
recipemap.coke_oven.name=Coke Oven
recipemap.research_station.name=Research Station
+recipemap.heat_exchanger.name=Heat Exchanger
+recipemap.gas_centrifuge.name=Gas Centrifuge
+recipemap.spent_fuel_pool.name=Spent Fuel Pool
gregtech.recipe.category.arc_furnace_recycling=Arc Furnace Recycling
gregtech.recipe.category.macerator_recycling=Macerator Recycling
@@ -2601,6 +2608,23 @@ tile.studs.green.name=Green Studs
tile.studs.red.name=Red Studs
tile.studs.black.name=Black Studs
+tile.panelling.white.name=White Panelling
+tile.panelling.orange.name=Orange Panelling
+tile.panelling.magenta.name=Magenta Panelling
+tile.panelling.light_blue.name=Light Blue Panelling
+tile.panelling.yellow.name=Yellow Panelling
+tile.panelling.lime.name=Lime Panelling
+tile.panelling.pink.name=Pink Panelling
+tile.panelling.gray.name=Gray Panelling
+tile.panelling.light_gray.name=Light Gray Panelling
+tile.panelling.cyan.name=Cyan Panelling
+tile.panelling.purple.name=Purple Panelling
+tile.panelling.blue.name=Blue Panelling
+tile.panelling.brown.name=Brown Panelling
+tile.panelling.green.name=Green Panelling
+tile.panelling.red.name=Red Panelling
+tile.panelling.black.name=Black Panelling
+
# Lamps(ON)
tile.gregtech_lamp.white.name=White Lamp
tile.gregtech_lamp.orange.name=Orange Lamp
@@ -2743,6 +2767,11 @@ tile.battery_block.tooltip_empty=For filling space in your Power Substation
tile.long_distance_item_pipeline.name=Long Distance Item Pipe
tile.long_distance_fluid_pipeline.name=Long Distance Fluid Pipe
+# Nuclear Blocks
+tile.nuclear_casing.spent_fuel_casing.name=Spent Fuel Casing
+tile.nuclear_casing.gas_centrifuge_heater.name=Gas Centrifuge Heater
+tile.gas_centrifuge_casing.gas_centrifuge_column.name=Gas Centrifuge Column
+
# Creative tabs
itemGroup.gregtech.main=GregTech
itemGroup.gregtech.machines=Machines (GT)
@@ -4921,6 +4950,16 @@ metaitem.cover.digital.mode.fluid.enabled=Fluid Mode enabled
gregtech.machine.monitor_screen.name=Monitor Screen
+gregtech.machine.fission_reactor.name=Fission Reactor
+gregtech.machine.fission_reactor.tooltip.1=Check preview for allowed shapes.
+gregtech.machine.fission_reactor.tooltip.2=§cMay meltdown/explode if the temperature/pressure gets too high!
+gregtech.machine.fission_reactor.tooltip.3=§cPlease read the JEI info page! It is very important!
+
+
+gregtech.machine.heat_exchanger.name=Heat Exchanger
+gregtech.machine.spent_fuel_pool.name=Spent Fuel Pool
+gregtech.machine.gas_centrifuge.name=Gas Centrifuge
+
# Multiblock Tooltips
gregtech.machine.primitive_water_pump.tooltip=Endervoir at Home
@@ -4960,6 +4999,8 @@ gregtech.machine.fluid_drilling_rig.hv.tooltip=Does not perform Fracking
gregtech.machine.fluid_drilling_rig.ev.tooltip=Well Drainer
gregtech.machine.cleanroom.tooltip=Keeping those pesky particles out
gregtech.machine.charcoal_pile.tooltip=Underground fuel bakery
+gregtech.machine.fission_reactor.tooltip=Blowy-uppy yumyum generator
+gregtech.machine.heat_exchanger.tooltip=Molecular hot potato player
# Multiblock machine parts
gregtech.machine.item_bus.import.tooltip=Item Input for Multiblocks
diff --git a/src/main/resources/assets/gregtech/models/block/gas_centrifuge.json b/src/main/resources/assets/gregtech/models/block/gas_centrifuge.json
new file mode 100644
index 00000000000..39d000cbd89
--- /dev/null
+++ b/src/main/resources/assets/gregtech/models/block/gas_centrifuge.json
@@ -0,0 +1,19 @@
+{
+ "parent": "block/block",
+ "credit": "Made with Blockbench",
+ "elements": [
+ {
+ "from": [3, 0, 3],
+ "to": [13, 16, 13],
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
+ "faces": {
+ "north": {"uv": [0, 0, 10, 16], "texture": "#0"},
+ "east": {"uv": [0, 0, 10, 16], "texture": "#0"},
+ "south": {"uv": [0, 0, 10, 16], "texture": "#0"},
+ "west": {"uv": [0, 0, 10, 16], "texture": "#0"},
+ "up": {"uv": [0, 0, 16, 16], "texture": "#1"},
+ "down": {"uv": [0, 0, 16, 16], "texture": "#1"}
+ }
+ }
+ ]
+}
diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_black.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_black.png
new file mode 100644
index 0000000000000000000000000000000000000000..0ab0e5ca3b59dcd67f74abef5b2d83c5a5d6ad92
GIT binary patch
literal 4725
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
WjvQ?MPchhABxz`rxFUE~_J09Ze{}x<
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_blue.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_blue.png.mcmeta
new file mode 100644
index 00000000000..9be26b2b4a4
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_blue.png.mcmeta
@@ -0,0 +1,9 @@
+{
+ "ctm": {
+ "ctm_version": 1,
+ "type": "pattern",
+ "extra": {
+ "size": 2
+ }
+ }
+}
diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_brown.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_brown.png
new file mode 100644
index 0000000000000000000000000000000000000000..e960139fedfce6680de6acbba6a7dd4e73c65187
GIT binary patch
literal 4324
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
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_gray.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_gray.png.mcmeta
new file mode 100644
index 00000000000..9be26b2b4a4
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_gray.png.mcmeta
@@ -0,0 +1,9 @@
+{
+ "ctm": {
+ "ctm_version": 1,
+ "type": "pattern",
+ "extra": {
+ "size": 2
+ }
+ }
+}
diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_green.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_green.png
new file mode 100644
index 0000000000000000000000000000000000000000..8024c38601dc783f1af5e8ae41ec0ff61edff88e
GIT binary patch
literal 4715
zcmeHLc~leE8XqLcYSk*JmDC~Fx?qx-NkWz;AP|-yLCT^?sW?d{VU#Q+1H@Qc1@tM_
zt)e1TpH?iWfNN`2K&gmNtF{WFQbCVwDx$u+P}FK~0wSFDoOe9u^*?el%l($${l4G#
z-FtGgJSsADh|7B}5Cjd8g-N5q6SiJXgTdWou{;KkN=s}!6^&=W2BTh0rVubS-$1~G
znN&lNxn3Lf>yVR((+f?`syX)i|0{_6I=o?9Q>SOx$itH5O}jWtzwd099k#m=el*sn
zB$t+4Q%zs|LFf(PgogQ!p{`xAg$FAqI+vN}e$cww;^%NZP5M*tf9_w5ZwsmURezbJqgh9J?|K?H}7+eLTzc)pxU6AjmG83<`>p1qHoM2Bffg;aW-9$*G>F
zl45o;;sQ9!1gfG)59tcQT=$$PuUeN9QC{LRFD@CDkm%`fB{OT>ia5tnnosG84gnAC
ztFBebE(V9cNQzD#-c*_D-`KF=dbxeJW%-@-(}Hbd-F?5FD
zrWqU7J)|dfIz4>CI(zWN&wmIlhc=&Iv`8vG8L=m@EK>a4EL8Yl#ERmg^r>~z;_AvKe1Quz
zQ`o6nT9J3-PcT$rQ6HZg99{&6?+M6RIkMyQ!WTiMNgr+uFCBsy&+Txd=d?S%%DT}|
z-*v{BJ;~Eil;qi_q&amATAAPU*|?7)n`lmc_A^6%N-DLl`FFvUgoI|N+rJKGm41?c
z)G_fslr{ZZ#iY`a1(TW|op?TGVT{M<9~_R(EN{$zE?5X%s*U??us}cyam_7neRRL{
zY2!;t&AkVX%Pq!znwN#Opy|vcXs&p9gh;8^vT&7NL9onP1L!&k68oDCxN;sr!3sh{
z>LiQ@$Br{#QYB%`!!)9%Y&LlER
z7&crHc(;n#4A^Eu&66A2NtMX`kR7_mWLz!GYSIHD0V8|Ex
zDlv>BL@)*47L7_N3eg+2I4CEn#We)mpwrkCR>DOAQ8EbwVnYH^%DqDH4V?B-rZNtCoZ1q{1m&icAKkDhjYEhqn`6>tvMSLv$|G7+Ib$>d_79~2l5W8x^G@K{u+GGVO(AdHFdnSUjW-IFlex@Wx3Sj_$lCt{mH
zpG^k%b<4o!1@=OA?`GJ;8Ho3v{Pfh~pPT}Q2PSzdeh26ppzEy|cq`+9?i!%$tr&PK
zy=e1x&Ra5K!mXF6^5|AOh_+3!|J9mB
zu@(NgwDy+kogE{}B9JwCrEMP2Ua{T3%(G`(+MeF!LBsQAUx1w-1UN?1
zi2nS_h|Ow$+5)e$@4GfI7K_;HZ;XHPRmrP{vaII(&+2LA;jFP=)4zxkJgu#W-|ZAA
z^7bs=5tnI4tCev}#vK{DXZ58Sne-LKVHFOI6KfOQpBo&)%W?7^-9O&0FgyTb3AdkH
zoiIFOa`lLfPl_9l#cvtCSK~cKUv^p0S$qZZx?IG?+CLAGM!)mPQfX7mJ4R~h)nsS)
z?Yn-NTM;bV2&-4_%u&|qR$VmY`9!#_Iq>D(nv}JMhyxY6kkL++tqtW#ii!sHeRjvr
zBd4*@I|-bU;N_cGaYwQyobo~H4;T}c)FkPCgxsOsTYeJIMrxCCSMRAguBvZ&@GC)WLsn{wYMTEK_
zDplHI_3_%eQnhX%6%||HDbR}69XEJTk&3nNOF+cap7W09y#8m-nanqL`F;2P?!Dic
z$&*Kic+e)&APDjZ3zfxyJ8ZpNoWQ@yV)+%^j$7guP%&5rY%uCoWGVqunFazT%%lo}
z%=_s8n|kD-0`D&MBc7~!pc=~vz#e(v{M=6TGw@7%zcDU(a5e;>oUP(BTw
zKZ8GgqKCHMhv*+=q&;YP#V=69roX$R?PgIn>NtyspAHV)8oi4vwSc=$@`<=i}pA8xv?~yt^9&jaoql1zBOuqcJ7TQ124M~q)NxqI3mgi0_nD0DJy>N1pV_>&^ZQHT1
zAA`dmC&y?!uO3@6r{m)LKOeSVVae-EuNPHJ8Z+~gRS_HS=KENJUFen{i#8ljHNCU0
zq?uE+lOvOyh}`+sp=in81h%-#yI@z9ruJs7a_qu2{l#~_
ztk;*jG2A4vdzyBL6~zl??D@L=&cOUapL_LLkAtd{-&h}B?ZGmh+3r3$|Bmw?xtA`s|8~li
z>F?`|Ci~u0I=I}kD=fRZbn5Krs}3#!_VII1Cs*4yZ>_wLn0U?Q)=y51>UYb&bxyhu
z<-Yy7!oS+5(*IiT(SZqBv17*{aQrs@a7WpIC<|(8ncw3i5;@FuD?NOp_kML>#}jGu
z-7e=mi}5Sz#no}_dQMHx^gGb1B|
zk-=r?jcO)aEEY3a943c@01L#FsiQD6qBBjiLJVTa2$RxC8Yoh)gRPjDLZ3!S>2#on
zpT?&(L`4n5>r6u|06v&z%)n$bSWK;!Inu*K1*Zd$p@9C;q^l3&V5u8rw
zsA(f1aOJSSAuI6?X*0+eQ*}C6+oeDk~HYpagu3O>hJ}gpG-CgvaIrD6Ue7umv0yj}Qu2
zTwG~`!jzPEJicu=yAf-o=x-|1MMI5Om
zVkykZCR@m1^EpD1NC5hiEfha9dWSHYKqp!;*(?TEWYbv7f`ViKv6!__0f0>oazTTP
z1V-tNae95Klx__Pwt5b$qrf=f7=_6&iU6Q24i9AsQ4TAP!$#R`lp{b`e3Ui9UXPQi
z%>QL=9UfRRSn^QP1oqFgi3TSsmRK_QH29cG+C~Y6Z9{=#%E1&&SUNFSZ-6zZQfe@r
zngFNAP`f^rlYh|)gh;6rsW=3}!4+(TC*ZRXg^JHXL?V`u!{dV`Ca|$EjBe7as0_?V
z1gZg#fGg0RHm=}**b3$Uymf|#uvP&OhOmUlp9y0QCCs#*8Ba5oF#p7f#AYz!kO6*!
zGH`f-vyeG_7!Gj;;{7{+L$&xjw}9c7o4gReFX?(o*9$T5LdGw<>m^+;#J~#~zwEC6
z8(p+#pHqYmyai=|k0t-M19!oPmXjhPLop20D<2Pp
z&Qw@bu=6eFF?Mbfp9l^i5M=KZCJT&PaH25&^xB_T?)If;8Y{oJ|N5M^U#nRAxI(~(p%qx(_rOs2l-
z$g*F0vYp?2bw$O-kZ+5V{anMYj&_As#0B={)SEQtvI4Sm_D`aPCUtbd1#RXCej
z-xsuaoB#Dmi7stZ(D9p#Wq%Z(Tzvi7(b2&Ps|qWpAN1_S2YT7v@}&4
zMYG%k{0<((VFUPrk-2v)A4#?d*{-Mi^YkrGFRq~i(Fl2gs*;(bK+jS
zTfF?(`RhkNNwQ}N8a307t9*=|HR^_K4|8%B&tr$gU90QJANTb{hkxyJSgW7%@w~$a
z#Z~;Z@{)CS?uSo@{{qdli;Vp2_Z|EnC1(wu8?JAhoq5g7^^#ZAFU8)BKfdGC$=`n{
zm8;3}yZEDm2W1s@ZS6ZtR(@b_7gy5I;LhLOv!W~E>$B_kZsodrngS$?c{5yl@|A6^
z`*(bJjQf%ITRoZKvr|kty?ZVifBl%eNt^z~`cIuBvKJ=u0wPWXOV_TRndlg|-rQEU
zvgVtCER@AFd$&+%b?A__T;qxoxNS_?}5QL)+9-v-b+B
z$+Is}lKSX|`rSlpQ^KeXjV^WC^7NWFf+sBNzq!kw>&9ArtFZa*j5Xrko)5R*soimxTBq-ya&+`JX`P;qUWX!DEc$Q>e${k}r`{7i?
zD`4u>H7j;5db_*N(ei}yYQA#0{riHv+D6|`e>-{4>Cl#bH>svs%Q))k35Em;3yzjm
JzqNSze*wIkNOk}K
literal 0
HcmV?d00001
diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_light_blue.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_light_blue.png.mcmeta
new file mode 100644
index 00000000000..9be26b2b4a4
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_light_blue.png.mcmeta
@@ -0,0 +1,9 @@
+{
+ "ctm": {
+ "ctm_version": 1,
+ "type": "pattern",
+ "extra": {
+ "size": 2
+ }
+ }
+}
diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_light_gray.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_light_gray.png
new file mode 100644
index 0000000000000000000000000000000000000000..168556ba072d796a40c130a724d8be1283dc9eb7
GIT binary patch
literal 4717
zcmeHKdsGuw8czWeo~u@*Dxxten$}4sLqd{~s6Y|}7>oquEjyW+gg{;-0YY4q`YI0<
zt@tR5c74B)x<}|*l~zT-2Od}DfLg_NwW2K*tq*Di-J5_2r#)wn=WPEY=S=R*y}$4G
zec$hX_d7F1is-pMp5r_z6pBxTOdJD7y5n-Ef`5zM{uB(S?Xd~g7%Z1=G8@%e9Z9$5
znMgWm)2b;H+YP<f=@(fVY22wg>n^ca@^8K4C@QUsoRDEN#BP{LVm6VujgD8&LkS6<;s$
zsK21|PwaNzJ|S#g+w@6rck)*``c`&j^0w`Ub296qm(z?#+wfB}=T&EY@2y^#R&a63
z<2nC6IsF>Ff!eg?#WgqDi`>1g4_vS9OZ13$U8kZ@-dmv!4_8Elhrh`NoV
zGrm4extkFe8dNAC_C@=NO9UCCixrcaJrAK_O(mg8TQMi
zTTbgN3pZ_e6p+^C{^%L&{E_ZUJwkhR#l?aGaY)^~gJCD4LuwK^!p>18mHX1qw4cHK
zQrG>u{-*ue?e+58
zw{E;R=fP%O8_gu0%i^+NNMh6GAdFd_^bj+lMq|X%J__(8Vx(KG
zCX~(2&CO-y2C