diff --git a/src/main/java/gregtech/api/capability/impl/PrimitiveRecipeLogic.java b/src/main/java/gregtech/api/capability/impl/PrimitiveRecipeLogic.java index d1893fa8f84..9754a26f0fe 100644 --- a/src/main/java/gregtech/api/capability/impl/PrimitiveRecipeLogic.java +++ b/src/main/java/gregtech/api/capability/impl/PrimitiveRecipeLogic.java @@ -1,8 +1,7 @@ package gregtech.api.capability.impl; import gregtech.api.GTValues; -import gregtech.api.metatileentity.multiblock.RecipeMapPrimitiveMultiblockController; -import gregtech.api.recipes.RecipeMap; +import gregtech.api.metatileentity.multiblock.RecipeMapMultiblockController; import gregtech.api.recipes.logic.OCParams; import gregtech.api.recipes.logic.OCResult; import gregtech.api.recipes.recipeproperties.IRecipePropertyStorage; @@ -12,10 +11,10 @@ /** * Recipe Logic for a Multiblock that does not require power. */ -public class PrimitiveRecipeLogic extends AbstractRecipeLogic { +public class PrimitiveRecipeLogic extends MultiblockRecipeLogic { - public PrimitiveRecipeLogic(RecipeMapPrimitiveMultiblockController tileEntity, RecipeMap recipeMap) { - super(tileEntity, recipeMap); + public PrimitiveRecipeLogic(RecipeMapMultiblockController tileEntity) { + super(tileEntity); } @Override diff --git a/src/main/java/gregtech/api/metatileentity/multiblock/RecipeMapPrimitiveMultiblockController.java b/src/main/java/gregtech/api/metatileentity/multiblock/RecipeMapPrimitiveMultiblockController.java index da874e0bdb8..72eb8cd0e9a 100644 --- a/src/main/java/gregtech/api/metatileentity/multiblock/RecipeMapPrimitiveMultiblockController.java +++ b/src/main/java/gregtech/api/metatileentity/multiblock/RecipeMapPrimitiveMultiblockController.java @@ -20,13 +20,11 @@ import java.util.ArrayList; import java.util.List; -public abstract class RecipeMapPrimitiveMultiblockController extends MultiblockWithDisplayBase { - - protected PrimitiveRecipeLogic recipeMapWorkable; +public abstract class RecipeMapPrimitiveMultiblockController extends RecipeMapMultiblockController { public RecipeMapPrimitiveMultiblockController(ResourceLocation metaTileEntityId, RecipeMap recipeMap) { - super(metaTileEntityId); - this.recipeMapWorkable = new PrimitiveRecipeLogic(this, recipeMap); + super(metaTileEntityId, recipeMap); + this.recipeMapWorkable = new PrimitiveRecipeLogic(this); initializeAbilities(); } diff --git a/src/main/java/gregtech/api/recipes/RecipeMaps.java b/src/main/java/gregtech/api/recipes/RecipeMaps.java index b0766a74c9a..2add8cd5c76 100644 --- a/src/main/java/gregtech/api/recipes/RecipeMaps.java +++ b/src/main/java/gregtech/api/recipes/RecipeMaps.java @@ -1473,6 +1473,71 @@ public final class RecipeMaps { .sound(GTSoundEvents.MOTOR) .build(); + /** + * Example: + * + *
+     * RecipeMap.HEAT_EXCHANGER_RECIPES.recipeBuilder()
+     *         .circuitMeta(1)
+     *         .fluidInputs(DistilledWater.getFluid(1000), HotHighPressureSteam.getFluid(100))
+     *         .fluidOutputs(Steam.getFluid(96000), DistilledWater.getFluid(100))
+     *         .duration(1)
+     *         .buildAndRegister();
+     * 
+ */ + @ZenProperty + public static final RecipeMap HEAT_EXCHANGER_RECIPES = new RecipeMapBuilder<>( + "heat_exchanger", + new PrimitiveRecipeBuilder()) + .itemInputs(1) + .fluidInputs(2) + .fluidOutputs(2) + .progressBar(GuiTextures.PROGRESS_BAR_ARROW_MULTIPLE, MoveType.HORIZONTAL) + .sound(GTSoundEvents.COOLING) + .build(); + + /** + * Example: + * + *
+     * RecipeMap.SPENT_FUEL_POOL_RECIPES.recipeBuilder()
+     *         .input(OrePrefix.fuelRodHotDepleted, Materials.LEU235)
+     *         .output(OrePrefix.fuelRodDepleted, Materials.LEU235)
+     *         .duration(1000)
+     *         .buildAndRegister();
+     * 
+ */ + @ZenProperty + public static final RecipeMap 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/CommonProxy.java b/src/main/java/gregtech/common/CommonProxy.java index 6817aaa7ce5..e2acad2dee3 100644 --- a/src/main/java/gregtech/common/CommonProxy.java +++ b/src/main/java/gregtech/common/CommonProxy.java @@ -136,6 +136,7 @@ public static void registerBlocks(RegistryEvent.Register event) { registry.register(CLEANROOM_CASING); registry.register(COMPUTER_CASING); registry.register(BATTERY_BLOCK); + registry.register(NUCLEAR_CASING); registry.register(FOAM); registry.register(REINFORCED_FOAM); registry.register(PETRIFIED_FOAM); @@ -174,6 +175,7 @@ public static void registerBlocks(RegistryEvent.Register event) { registry.register(METAL_SHEET); registry.register(LARGE_METAL_SHEET); registry.register(STUDS); + registry.register(PANELLING); for (BlockLamp block : LAMPS.values()) registry.register(block); for (BlockLamp block : BORDERLESS_LAMPS.values()) registry.register(block); @@ -278,6 +280,8 @@ public static void registerItems(RegistryEvent.Register event) { registry.register(createItemBlock(block, LampItemBlock::new)); } registry.register(createItemBlock(ASPHALT, VariantItemBlock::new)); + registry.register(createItemBlock(NUCLEAR_CASING, VariantItemBlock::new)); + registry.register(createItemBlock(PANELLING, VariantItemBlock::new)); for (StoneVariantBlock block : STONE_BLOCKS.values()) { registry.register(createItemBlock(block, VariantItemBlock::new)); } 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..7bcfb689cf5 --- /dev/null +++ b/src/main/java/gregtech/common/blocks/BlockNuclearCasing.java @@ -0,0 +1,54 @@ +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)); + } + + @Override + public boolean isOpaqueCube(IBlockState state) { + return state != getState(NuclearCasingType.GAS_CENTRIFUGE_COLUMN); + } + + public enum NuclearCasingType implements IStringSerializable, IStateHarvestLevel { + + SPENT_FUEL_CASING("spent_fuel_casing", 2), + GAS_CENTRIFUGE_HEATER("gas_centrifuge_heater", 1), + GAS_CENTRIFUGE_COLUMN("gas_centrifuge_column", 2); + + 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..8eacd89ef9d 100644 --- a/src/main/java/gregtech/common/blocks/MetaBlocks.java +++ b/src/main/java/gregtech/common/blocks/MetaBlocks.java @@ -138,6 +138,7 @@ private MetaBlocks() {} public static BlockCleanroomCasing CLEANROOM_CASING; public static BlockComputerCasing COMPUTER_CASING; public static BlockBatteryPart BATTERY_BLOCK; + public static BlockNuclearCasing NUCLEAR_CASING; public static final EnumMap LAMPS = new EnumMap<>(EnumDyeColor.class); public static final EnumMap BORDERLESS_LAMPS = new EnumMap<>(EnumDyeColor.class); @@ -174,6 +175,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 +265,8 @@ 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"); for (EnumDyeColor color : EnumDyeColor.values()) { BlockLamp block = new BlockLamp(color); @@ -336,6 +340,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 +475,7 @@ public static void registerItemModels() { registerItemModel(COMPUTER_CASING); registerItemModel(BATTERY_BLOCK); registerItemModel(ASPHALT); + registerItemModel(PANELLING); for (StoneVariantBlock block : STONE_BLOCKS.values()) registerItemModel(block); registerItemModelWithOverride(RUBBER_LOG, ImmutableMap.of(BlockLog.LOG_AXIS, EnumAxis.Y)); @@ -507,6 +514,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..0fbe659d82b 100644 --- a/src/main/java/gregtech/common/metatileentities/MetaTileEntities.java +++ b/src/main/java/gregtech/common/metatileentities/MetaTileEntities.java @@ -57,6 +57,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; @@ -67,6 +68,7 @@ import gregtech.common.metatileentities.multi.electric.MetaTileEntityProcessingArray; import gregtech.common.metatileentities.multi.electric.MetaTileEntityPyrolyseOven; import gregtech.common.metatileentities.multi.electric.MetaTileEntityResearchStation; +import gregtech.common.metatileentities.multi.electric.MetaTileEntitySpentFuelPool; import gregtech.common.metatileentities.multi.electric.MetaTileEntityVacuumFreezer; import gregtech.common.metatileentities.multi.electric.centralmonitor.MetaTileEntityCentralMonitor; import gregtech.common.metatileentities.multi.electric.centralmonitor.MetaTileEntityMonitorScreen; @@ -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/electric/MetaTileEntityGasCentrifuge.java b/src/main/java/gregtech/common/metatileentities/multi/electric/MetaTileEntityGasCentrifuge.java new file mode 100644 index 00000000000..f14d9cb0a84 --- /dev/null +++ b/src/main/java/gregtech/common/metatileentities/multi/electric/MetaTileEntityGasCentrifuge.java @@ -0,0 +1,96 @@ +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.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); + if (structurePattern != null) { + 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", + I18n.format("gregtech.gas_centrifuge.tooltip.parallel"))); + } + + @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.NUCLEAR_CASING + .getState(BlockNuclearCasing.NuclearCasingType.GAS_CENTRIFUGE_COLUMN); + } + + protected ICubeRenderer getFrontOverlay() { + return Textures.GAS_CENTRIFUGE_OVERLAY; + } +} diff --git a/src/main/java/gregtech/common/metatileentities/multi/electric/MetaTileEntitySpentFuelPool.java b/src/main/java/gregtech/common/metatileentities/multi/electric/MetaTileEntitySpentFuelPool.java new file mode 100644 index 00000000000..1103e35b3e7 --- /dev/null +++ b/src/main/java/gregtech/common/metatileentities/multi/electric/MetaTileEntitySpentFuelPool.java @@ -0,0 +1,100 @@ +package gregtech.common.metatileentities.multi.electric; + +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", + I18n.format("gregtech.spent_fuel_pool.tooltip.parallel"))); + } +} 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/nuclear_casing.json b/src/main/resources/assets/gregtech/blockstates/nuclear_casing.json new file mode 100644 index 00000000000..d5ac53cd7e8 --- /dev/null +++ b/src/main/resources/assets/gregtech/blockstates/nuclear_casing.json @@ -0,0 +1,57 @@ +{ + "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" + } + }, + "active=false,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" + } + }, + "active=true,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/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..23da2608229 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.nuclear_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 @@ -5363,6 +5404,10 @@ gregtech.universal.tooltip.produces_fluid=§eProduces: §f%,d L/t gregtech.universal.tooltip.terrain_resist=This Machine will not explode when exposed to the Elements gregtech.universal.tooltip.requires_redstone=§4Requires Redstone power +# Nuclear supporting multiblock special tooltips +gregtech.spent_fuel_pool.tooltip.parallel=32 per block of pool length +gregtech.gas_centrifuge.tooltip.parallel=1 + number of added columns + gregtech.block.tooltip.no_mob_spawning=§bMobs cannot spawn on this block gregtech.recipe.total=Total: %,d EU 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/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 00000000000..abbd8bfbcd5 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_end.png differ 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 00000000000..b5bf39ba6d1 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_heater_side.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_heater_side_bloom.png b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_heater_side_bloom.png new file mode 100644 index 00000000000..9bbab34148d Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_heater_side_bloom.png differ 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 00000000000..6330cdea626 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_heater_top.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_heater_top_bloom.png b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_heater_top_bloom.png new file mode 100644 index 00000000000..36e65e7bd98 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_heater_top_bloom.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_side.png b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_side.png new file mode 100644 index 00000000000..e0e687c0a94 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/gas_centrifuge_side.png differ 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 00000000000..344dda81d06 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_empty_side.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_empty_top.png b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_empty_top.png new file mode 100644 index 00000000000..7cd9c07afb6 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_empty_top.png differ 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 00000000000..10b7d26f8c5 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_side.png differ 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 00000000000..7bed8529d7f Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_side_bloom.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_top.png b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_top.png new file mode 100644 index 00000000000..a9d9df04762 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_top.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_top_bloom.png b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_top_bloom.png new file mode 100644 index 00000000000..d21358d7527 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/casings/nuclear/spent_fuel_casing_top_bloom.png differ 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 00000000000..72bbef85af9 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front.png differ 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 00000000000..94a4416b1f5 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front_active.png differ 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 00000000000..822fa52e130 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front_active_emissive.png differ 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 00000000000..00bcc3b5185 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front_emissive.png differ 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 00000000000..8f139ba6ab3 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front_paused.png differ 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 00000000000..577f0815c1d Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/gas_centrifuge/overlay_front_paused_emissive.png differ 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 00000000000..72bbef85af9 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front.png differ 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 00000000000..94a4416b1f5 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front_active.png differ 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 00000000000..822fa52e130 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front_active_emissive.png differ 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 00000000000..00bcc3b5185 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front_emissive.png differ 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 00000000000..8f139ba6ab3 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front_paused.png differ 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 00000000000..577f0815c1d Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/heat_exchanger/overlay_front_paused_emissive.png differ 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 00000000000..a265b3bbace Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_back.png differ 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 00000000000..cba59fa3935 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_back_active.png differ 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 00000000000..19114daf4f5 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_back_active_emissive.png differ 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 00000000000..19114daf4f5 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_back_emissive.png differ 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 00000000000..a265b3bbace Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_front.png differ 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 00000000000..cba59fa3935 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_front_active.png differ 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 00000000000..19114daf4f5 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_front_active_emissive.png differ 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 00000000000..19114daf4f5 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_front_emissive.png differ 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 00000000000..c4d67c201a7 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_side.png differ 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 00000000000..6eb0165c340 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_side_active.png differ 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 00000000000..19114daf4f5 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_side_active_emissive.png differ 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 00000000000..19114daf4f5 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_side_emissive.png differ 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 00000000000..a00ea6ee4e8 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top.png differ 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 00000000000..8cace5651b8 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top_active.png differ 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 00000000000..48b5a3c360c Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top_active_emissive.png differ 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 00000000000..4f275316358 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top_emissive.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top_paused.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top_paused.png new file mode 100644 index 00000000000..e8ab4a755ba Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top_paused.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top_paused_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top_paused_emissive.png new file mode 100644 index 00000000000..d1df3858ba2 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/spent_fuel_pool/overlay_top_paused_emissive.png differ 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 00000000000..0ab0e5ca3b5 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_black.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_black.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_black.png.mcmeta new file mode 100644 index 00000000000..9be26b2b4a4 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_black.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_blue.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_blue.png new file mode 100644 index 00000000000..732a4a4a0e7 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_blue.png differ 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 00000000000..e960139fedf Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_brown.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_brown.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_brown.png.mcmeta new file mode 100644 index 00000000000..9be26b2b4a4 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_brown.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_cyan.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_cyan.png new file mode 100644 index 00000000000..a843391ae06 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_cyan.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_cyan.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_cyan.png.mcmeta new file mode 100644 index 00000000000..9be26b2b4a4 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_cyan.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_gray.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_gray.png new file mode 100644 index 00000000000..1dda4668252 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_gray.png differ 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 00000000000..8024c38601d Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_green.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_green.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_green.png.mcmeta new file mode 100644 index 00000000000..9be26b2b4a4 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_green.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_blue.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_light_blue.png new file mode 100644 index 00000000000..11a7a0bead7 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_light_blue.png differ 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 00000000000..168556ba072 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_light_gray.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_light_gray.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_light_gray.png.mcmeta new file mode 100644 index 00000000000..9be26b2b4a4 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_light_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_lime.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_lime.png new file mode 100644 index 00000000000..c32fd730670 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_lime.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_lime.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_lime.png.mcmeta new file mode 100644 index 00000000000..9be26b2b4a4 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_lime.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_magenta.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_magenta.png new file mode 100644 index 00000000000..304db0a6a29 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_magenta.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_magenta.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_magenta.png.mcmeta new file mode 100644 index 00000000000..9be26b2b4a4 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_magenta.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_orange.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_orange.png new file mode 100644 index 00000000000..716fa6a7f1e Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_orange.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_orange.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_orange.png.mcmeta new file mode 100644 index 00000000000..9be26b2b4a4 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_orange.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_pink.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_pink.png new file mode 100644 index 00000000000..c4f959b6a83 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_pink.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_pink.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_pink.png.mcmeta new file mode 100644 index 00000000000..9be26b2b4a4 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_pink.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_purple.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_purple.png new file mode 100644 index 00000000000..8ef9ea56bdd Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_purple.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_purple.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_purple.png.mcmeta new file mode 100644 index 00000000000..9be26b2b4a4 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_purple.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_red.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_red.png new file mode 100644 index 00000000000..52af19d4b4c Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_red.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_red.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_red.png.mcmeta new file mode 100644 index 00000000000..9be26b2b4a4 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_red.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_white.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_white.png new file mode 100644 index 00000000000..a9edf8421dc Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_white.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_white.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_white.png.mcmeta new file mode 100644 index 00000000000..9be26b2b4a4 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_white.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_yellow.png b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_yellow.png new file mode 100644 index 00000000000..36a6fbc8a6b Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_yellow.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_yellow.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_yellow.png.mcmeta new file mode 100644 index 00000000000..9be26b2b4a4 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/panelling/panelling_yellow.png.mcmeta @@ -0,0 +1,9 @@ +{ + "ctm": { + "ctm_version": 1, + "type": "pattern", + "extra": { + "size": 2 + } + } +}