diff options
author | kekzdealer <kekzdealer@gmail.com> | 2019-10-14 01:58:42 +0200 |
---|---|---|
committer | kekzdealer <kekzdealer@gmail.com> | 2019-10-14 01:58:42 +0200 |
commit | e81587ac63778a87dce8759fd16bc4f4bf2a6137 (patch) | |
tree | 40d493367fcc3c27d44474d048fd0284b17cebe3 | |
parent | 2c21f381ff64c85becef006bdb8a6e73b8949cf8 (diff) | |
download | GT5-Unofficial-e81587ac63778a87dce8759fd16bc4f4bf2a6137.tar.gz GT5-Unofficial-e81587ac63778a87dce8759fd16bc4f4bf2a6137.tar.bz2 GT5-Unofficial-e81587ac63778a87dce8759fd16bc4f4bf2a6137.zip |
Super fancy overhaul for nuclear reactor structure!
21 files changed, 254 insertions, 81 deletions
diff --git a/config/GregTech/Recipes.cfg b/config/GregTech/Recipes.cfg index 0441cbeb13..dd91a9f302 100644 --- a/config/GregTech/Recipes.cfg +++ b/config/GregTech/Recipes.cfg @@ -4700,7 +4700,9 @@ assembling { I:tile.furnace_400=400 I:tile.hopper_800=800 I:tile.jukebox_400=400 + I:tile.kekztech_controlrod_block_800=800 I:tile.kekztech_gdcceramicelectrolyteunit_block_2400=2400 + I:tile.kekztech_reactorchamberoff_block_1600=1600 I:tile.kekztech_tfftcasing_block_200=200 I:tile.kekztech_tfftcasingblock_block_200=200 I:tile.kekztech_tfftmultihatch_block_6000=6000 diff --git a/config/IC2.ini b/config/IC2.ini index 47c7b96481..57d760f28a 100644 --- a/config/IC2.ini +++ b/config/IC2.ini @@ -1,5 +1,5 @@ ; ic2 general config -; created Oct 13, 2019 3:42:14 PM +; created Oct 14, 2019 1:54:38 AM ;--- [worldgen] diff --git a/config/splash.properties b/config/splash.properties index e5056e1488..32b8ccd69e 100644 --- a/config/splash.properties +++ b/config/splash.properties @@ -1,5 +1,5 @@ #Splash screen properties -#Sun Oct 13 15:42:07 CEST 2019 +#Mon Oct 14 01:54:30 CEST 2019 logoTexture=textures/gui/title/mojang.png background=0xFFFFFF font=0x0 diff --git a/logs/2019-10-13-1.log.gz b/logs/2019-10-13-1.log.gz Binary files differindex 98ed9c9cb5..74cb8466a9 100644 --- a/logs/2019-10-13-1.log.gz +++ b/logs/2019-10-13-1.log.gz diff --git a/logs/2019-10-13-2.log.gz b/logs/2019-10-13-2.log.gz Binary files differindex a9be64ac09..da5b04f656 100644 --- a/logs/2019-10-13-2.log.gz +++ b/logs/2019-10-13-2.log.gz diff --git a/logs/2019-10-13-3.log.gz b/logs/2019-10-13-3.log.gz Binary files differindex 1bbacd850d..1f9128ebad 100644 --- a/logs/2019-10-13-3.log.gz +++ b/logs/2019-10-13-3.log.gz diff --git a/logs/2019-10-13-4.log.gz b/logs/2019-10-13-4.log.gz Binary files differindex 7e2fde0b4d..a9964f010b 100644 --- a/logs/2019-10-13-4.log.gz +++ b/logs/2019-10-13-4.log.gz diff --git a/logs/2019-10-13-5.log.gz b/logs/2019-10-13-5.log.gz Binary files differindex 2f5fe6e9ae..0db1715c53 100644 --- a/logs/2019-10-13-5.log.gz +++ b/logs/2019-10-13-5.log.gz diff --git a/logs/2019-10-13-6.log.gz b/logs/2019-10-13-6.log.gz Binary files differindex ef7eaa4286..e76ebc63a6 100644 --- a/logs/2019-10-13-6.log.gz +++ b/logs/2019-10-13-6.log.gz diff --git a/options.txt b/options.txt index d32a1c420e..52068ec4d9 100644 --- a/options.txt +++ b/options.txt @@ -1,7 +1,7 @@ invertYMouse:false mouseSensitivity:0.5 fov:0.125 -gamma:1.0 +gamma:0.18309858 saturation:0.0 renderDistance:6 guiScale:3 @@ -11,7 +11,7 @@ anaglyph3d:false advancedOpengl:false maxFps:60 fboEnable:true -difficulty:2 +difficulty:0 fancyGraphics:true ao:2 clouds:false diff --git a/src/main/java/blocks/Block_ControlRod.java b/src/main/java/blocks/Block_ControlRod.java new file mode 100644 index 0000000000..4e407a5ed1 --- /dev/null +++ b/src/main/java/blocks/Block_ControlRod.java @@ -0,0 +1,30 @@ +package blocks; + +import cpw.mods.fml.common.registry.GameRegistry; +import kekztech.KekzCore; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; + +public class Block_ControlRod extends Block { + + private static Block_ControlRod instance = new Block_ControlRod(); + + private Block_ControlRod() { + super(Material.iron); + } + + public static Block_ControlRod getInstance() { + return instance; + } + + public void registerBlock() { + final String blockName = "kekztech_controlrod_block"; + super.setBlockName(blockName); + super.setCreativeTab(CreativeTabs.tabMisc); + super.setBlockTextureName(KekzCore.MODID + ":" + "ControlRod"); + super.setHardness(5.0f); + super.setResistance(6.0f); + GameRegistry.registerBlock(getInstance(), blockName); + } +} diff --git a/src/main/java/blocks/Block_ReactorChamber_OFF.java b/src/main/java/blocks/Block_ReactorChamber_OFF.java new file mode 100644 index 0000000000..effe7aa9b4 --- /dev/null +++ b/src/main/java/blocks/Block_ReactorChamber_OFF.java @@ -0,0 +1,31 @@ +package blocks; + +import cpw.mods.fml.common.registry.GameRegistry; +import kekztech.KekzCore; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; + +public class Block_ReactorChamber_OFF extends Block { + + private static Block_ReactorChamber_OFF instance = new Block_ReactorChamber_OFF(); + + private Block_ReactorChamber_OFF() { + super(Material.iron); + } + + public static Block_ReactorChamber_OFF getInstance() { + return instance; + } + + public void registerBlock() { + final String blockName = "kekztech_reactorchamberoff_block"; + super.setBlockName(blockName); + super.setCreativeTab(CreativeTabs.tabMisc); + super.setBlockTextureName(KekzCore.MODID + ":" + "ReactorChamber_OFF"); + super.setHardness(10.0f); + super.setResistance(16.0f); + GameRegistry.registerBlock(getInstance(), blockName); + } + +} diff --git a/src/main/java/blocks/Block_ReactorChamber_ON.java b/src/main/java/blocks/Block_ReactorChamber_ON.java new file mode 100644 index 0000000000..26004e0753 --- /dev/null +++ b/src/main/java/blocks/Block_ReactorChamber_ON.java @@ -0,0 +1,36 @@ +package blocks; + +import cpw.mods.fml.common.registry.GameRegistry; +import kekztech.KekzCore; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; + +public class Block_ReactorChamber_ON extends Block { + + private static Block_ReactorChamber_ON instance = new Block_ReactorChamber_ON(); + + private Block_ReactorChamber_ON() { + super(Material.iron); + } + + public static Block_ReactorChamber_ON getInstance() { + return instance; + } + + public void registerBlock() { + final String blockName = "kekztech_reactorchamberon_block"; + super.setBlockName(blockName); + super.setCreativeTab(CreativeTabs.tabMisc); + super.setBlockTextureName(KekzCore.MODID + ":" + "ReactorChamber_ON"); + super.setHardness(-1.0f); + super.setResistance(16.0f); + GameRegistry.registerBlock(getInstance(), blockName); + } + + @Override + public int getLightValue() { + return 15; + } + +} diff --git a/src/main/java/items/ErrorItem.java b/src/main/java/items/ErrorItem.java index 0ab41873f1..f0dbc9e600 100644 --- a/src/main/java/items/ErrorItem.java +++ b/src/main/java/items/ErrorItem.java @@ -35,7 +35,7 @@ public class ErrorItem extends Item { @SuppressWarnings({"unchecked", "rawtypes"})
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean b) {
- list.add("REMINDER: KekzTech recipes are only confirmed to work in GTNH!");
+ list.add("REMINDER: KekzTech recipes are only tested to work in GTNH!");
list.add("Placeholder item in case something went wrong");
list.add("If this item shows up in GTNH, you may report it to:");
list.add("https://github.com/kekzdealer/KekzTech");
diff --git a/src/main/java/kekztech/KekzCore.java b/src/main/java/kekztech/KekzCore.java index 49238e6648..b9f8e47015 100644 --- a/src/main/java/kekztech/KekzCore.java +++ b/src/main/java/kekztech/KekzCore.java @@ -1,6 +1,9 @@ package kekztech;
+import blocks.Block_ControlRod;
import blocks.Block_GDCUnit;
+import blocks.Block_ReactorChamber_OFF;
+import blocks.Block_ReactorChamber_ON;
import blocks.Block_TFFTCasing;
import blocks.Block_TFFTMultiHatch;
import blocks.Block_TFFTStorageFieldBlockT1;
@@ -73,6 +76,9 @@ public class KekzCore { Block_TFFTStorageFieldBlockT3.getInstance().registerBlock();
Block_TFFTStorageFieldBlockT4.getInstance().registerBlock();
Block_TFFTMultiHatch.getInstance().registerBlock();
+ Block_ReactorChamber_OFF.getInstance().registerBlock();
+ Block_ReactorChamber_ON.getInstance().registerBlock();
+ Block_ControlRod.getInstance().registerBlock();
// Register TileEntities
GameRegistry.registerTileEntity(TE_TFFTMultiHatch.class, "kekztech_tfftmultihatch_tile");
}
@@ -225,6 +231,31 @@ public class KekzCore { new ItemStack(Block_TFFTMultiHatch.getInstance(), 1),
6000, 480);
+ // Reactor structure blocks
+ final ItemStack[] controlrod = {
+ GT_Utility.getIntegratedCircuit(6),
+ GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.Lead, 1),
+ GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Steel, 4),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 64)
+ };
+ GT_Values.RA.addAssemblerRecipe(
+ controlrod,
+ null,
+ new ItemStack(Block_ControlRod.getInstance(), 1),
+ 800, 480);
+ final ItemStack[] reactorchamber = {
+ GT_Utility.getIntegratedCircuit(6),
+ GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.Lead, 1),
+ GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Lead, 9),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 18),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Steel, 2),
+ };
+ GT_Values.RA.addAssemblerRecipe(
+ reactorchamber,
+ FluidRegistry.getFluidStack("wet.concrete", 144),
+ new ItemStack(Block_ReactorChamber_OFF.getInstance(), 1),
+ 1600, 480);
+
// Ceramic plates
GT_Values.RA.addAlloySmelterRecipe(
craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicDust.getMetaID(), 10),
diff --git a/src/main/java/tileentities/GTMTE_FluidMultiStorage.java b/src/main/java/tileentities/GTMTE_FluidMultiStorage.java index b6dbf05c89..e4ab4e574e 100644 --- a/src/main/java/tileentities/GTMTE_FluidMultiStorage.java +++ b/src/main/java/tileentities/GTMTE_FluidMultiStorage.java @@ -201,7 +201,6 @@ public class GTMTE_FluidMultiStorage extends GT_MetaTileEntity_MultiBlockBase { if(mfh != null) {
mfh.setLock(!super.getBaseMetaTileEntity().isActive());
}
-
}
public Vector3ic rotateOffsetVector(Vector3ic forgeDirection, int x, int y, int z) {
diff --git a/src/main/java/tileentities/GTMTE_ModularNuclearReactor.java b/src/main/java/tileentities/GTMTE_ModularNuclearReactor.java index 901716dc6e..6d37a31d83 100644 --- a/src/main/java/tileentities/GTMTE_ModularNuclearReactor.java +++ b/src/main/java/tileentities/GTMTE_ModularNuclearReactor.java @@ -1,10 +1,17 @@ package tileentities;
+import org.joml.Vector2i;
+import org.joml.Vector2ic;
+import org.joml.Vector3i;
+import org.joml.Vector3ic;
import org.lwjgl.input.Keyboard;
-import container.GUIContainer_ModularNuclearReactor;
+import blocks.Block_ControlRod;
+import blocks.Block_ReactorChamber_OFF;
+import blocks.Block_ReactorChamber_ON;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Textures;
+import gregtech.api.gui.GT_GUIContainer_MultiMachine;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -18,9 +25,13 @@ import net.minecraftforge.common.util.ForgeDirection; public class GTMTE_ModularNuclearReactor extends GT_MetaTileEntity_MultiBlockBase {
- final Block CASING = GregTech_API.sBlockCasings3;
- final int CASING_META = 12;
- final int CASING_TEXTURE_ID = 44;
+ private final Block CASING = GregTech_API.sBlockCasings3;
+ private final int CASING_META = 12;
+ private final int CASING_TEXTURE_ID = 44;
+
+ private final Block CHAMBER_OFF = Block_ReactorChamber_OFF.getInstance();
+ private final Block CHAMBER_ON = Block_ReactorChamber_ON.getInstance();
+ private final Block CONTROL_ROD = Block_ControlRod.getInstance();
private boolean euMode = true;
@@ -72,10 +83,10 @@ public class GTMTE_ModularNuclearReactor extends GT_MetaTileEntity_MultiBlockBas // TODO: Opening UI crashes server. Controller isn't craftable right now.
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- /*return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, this.getLocalName(),
- "MultiblockDisplay.png");*/
+ return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, this.getLocalName(),
+ "MultiblockDisplay.png");
// In case someone ignores the warning...
- return new GUIContainer_ModularNuclearReactor(aBaseMetaTileEntity, aPlayerInventory.player);
+ //return new GUIContainer_ModularNuclearReactor(aBaseMetaTileEntity, aPlayerInventory.player);
}
@Override
@@ -87,90 +98,119 @@ public class GTMTE_ModularNuclearReactor extends GT_MetaTileEntity_MultiBlockBas public boolean checkRecipe(ItemStack stack) {
return false;
}
-
+
@Override
- public boolean checkMachine(IGregTechTileEntity thisController, ItemStack guiSlotItem) {
+ public void onPostTick(IGregTechTileEntity thisController, long aTick) {
+ super.onPostTick(thisController, aTick);
- final byte SIDE_LENGTH = 5;
- final byte MAX_OFFSET = (byte) Math.floor(SIDE_LENGTH / 2);
- final int XDIR_BACKFACE = ForgeDirection.getOrientation(thisController.getBackFacing()).offsetX * MAX_OFFSET;
- final int ZDIR_BACKFACE = ForgeDirection.getOrientation(thisController.getBackFacing()).offsetZ * MAX_OFFSET;
+ if(super.getBaseMetaTileEntity().isActive()) {
+ // Switch to ON blocks
+ } else {
+ // Switch to OFF blocks
+ }
+ }
- int minCasingAmount = 92;
+ @Override
+ public boolean checkMachine(IGregTechTileEntity thisController, ItemStack guiSlotItem) {
+ // Figure out the vector for the direction the back face of the controller is facing
+ final Vector2ic forgeDirection = new Vector2i(
+ ForgeDirection.getOrientation(thisController.getBackFacing()).offsetX,
+ ForgeDirection.getOrientation(thisController.getBackFacing()).offsetZ
+ );
+ int minCasingAmount = 100;
boolean checklist = true; // if this is still true at the end, machine is good to go :)
- for (int leftToRight = -MAX_OFFSET; leftToRight <= MAX_OFFSET; leftToRight++) {
-
- for (int frontToBack = -MAX_OFFSET; frontToBack <= MAX_OFFSET; frontToBack++) {
-
- for (int thisY = -MAX_OFFSET; thisY <= MAX_OFFSET; thisY++) {
-
- // Center 3x3x3 air cube
- if((leftToRight > -2 && leftToRight < 2) && (frontToBack > -2 && frontToBack < 2) && (thisY > -2 && thisY < 2)) {
- if(!thisController.getAirOffset(XDIR_BACKFACE + leftToRight, thisY, ZDIR_BACKFACE + frontToBack)) {
+ // Determine the ground level center of the structure
+ final Vector3ic center = new Vector3i(
+ thisController.getXCoord(),
+ thisController.getYCoord(),
+ thisController.getZCoord())
+ .add(forgeDirection.x() * 3, 0, forgeDirection.y() * 3);
+ // Scan for outer tube
+ // - Scan sides
+ for(int x = -3; x <= 3; x++) {
+ for(int z = -3; z <= 3; z++) {
+ // Only scan the three wide even sides, skip rest
+ if((Math.abs(x) <= 1 && Math.abs(z) == 3) || (Math.abs(z) <= 1 && Math.abs(x) == 3)) {
+ for(int h = 0; h < 6; h++) {
+ final Vector3ic pos = new Vector3i(center.x() + x, center.y() + h, center.z() + z);
+ if(h == 0 && pos.x() == thisController.getXCoord() && pos.y() == thisController.getYCoord() && pos.z() == thisController.getZCoord()) {
+ // Ignore controller
+ continue;
+ } else if (thisController.getBlock(pos.x(), pos.y(), pos.z()) == CASING
+ && thisController.getMetaID(pos.x(), pos.y(), pos.z()) == CASING_META) {
+ minCasingAmount--;
+ } else {
checklist = false;
}
- } else if (!(XDIR_BACKFACE + leftToRight == 0 && ZDIR_BACKFACE + frontToBack == 0 && thisY == 0)) { // Make sure this isn't the controller
- // Get next TE
- final int THIS_X = XDIR_BACKFACE + leftToRight;
- final int THIS_Z = ZDIR_BACKFACE + frontToBack;
- IGregTechTileEntity currentTE =
- thisController.getIGregTechTileEntityOffset(THIS_X, thisY, THIS_Z);// x, y ,z
-
- // Tries to add TE as either of those kinds of hatches.
- // The number is the texture index number for the texture that needs to be painted over the hatch texture (TAE for GT++)
- if ( !super.addMaintenanceToMachineList(currentTE, CASING_TEXTURE_ID)
- && !super.addInputToMachineList(currentTE, CASING_TEXTURE_ID)
- && !super.addOutputToMachineList(currentTE, CASING_TEXTURE_ID)
- && !super.addDynamoToMachineList(currentTE, CASING_TEXTURE_ID)) {
-
- // If it's not a hatch, is it the right casing for this machine? Check block and block meta.
- if ((thisController.getBlockOffset(THIS_X, thisY, THIS_Z) == CASING) && (thisController.getMetaIDOffset(THIS_X, thisY, THIS_Z) == CASING_META)) {
- // Seems to be valid casing. Decrement counter.
- minCasingAmount--;
- } else {
- checklist = false;
- }
- }
}
}
}
}
-
- if(minCasingAmount > 0) {
- checklist = false;
- }
-
- if(euMode) {
- if(this.mDynamoHatches.size() == 0) {
- System.out.println("Dynamo hatches are required in EU mode!");
- checklist = false;
- }
- if(this.mInputHatches.size() > 0) {
- System.out.println("Input hatches are only allowed in coolant mode!");
- checklist = false;
- }
- if(this.mOutputHatches.size() > 0) {
- System.out.println("Output hatches are only allowed in coolant mode!");
- checklist = false;
- }
- } else {
- if(this.mDynamoHatches.size() > 0) {
- System.out.println("Dynamo hatches are only allowed in EU mode!");
- checklist = false;
+ // - Scan corners of tube
+ for(int x = -2; x <= 2; x++) {
+ for(int z = -2; z <= 2; z++) {
+ // Only scan the four corners, skip rest
+ if(Math.abs(x) + Math.abs(z) == 4) {
+ for(int h = 0; h < 6; h++) {
+ final Vector3ic pos = new Vector3i(center.x() + x, center.y() + h, center.z() + z);
+ if(h == 0 && pos.x() == thisController.getXCoord() && pos.y() == thisController.getYCoord() && pos.z() == thisController.getZCoord()) {
+ // Ignore controller
+ continue;
+ } else if (thisController.getBlock(pos.x(), pos.y(), pos.z()) == CASING
+ && thisController.getMetaID(pos.x(), pos.y(), pos.z()) == CASING_META) {
+ minCasingAmount--;
+ } else {
+ checklist = false;
+ }
+ }
+ }
}
- if(this.mInputHatches.size() == 0) {
- System.out.println("Coolant input hatches are required in coolant mode!");
- checklist = false;
+ }
+ // Scan ground layer
+ for(int x = -2; x <= 2; x++) {
+ for(int z = -2; z <= 2; z++) {
+ if(!(thisController.getBlock(center.x() + x, center.y(), center.z() + z) == CASING
+ && thisController.getMetaID(center.x() + x, center.y(), center.z() + z) == CASING_META)) {
+ checklist = false;
+ } else {
+ minCasingAmount--;
+ }
}
- if(this.mOutputHatches.size() == 0) {
- System.out.println("Hot coolant output hatches are required in coolant mode!");
- checklist = false;
+ }
+ // Scan reactor chambers
+ for(int x = -2; x <= 2; x++) {
+ for(int z = -2; z <= 2; z++) {
+ // Skip if diagonal, don't skip center
+ if(Math.abs(x) == Math.abs(z) && !(x == 0 && z == 0)) {
+ continue;
+ }
+ if(!(thisController.getBlock(center.x() + x, center.y() + 1, center.z() + z) == CHAMBER_OFF
+ || thisController.getBlock(center.x() + x, center.y() + 1, center.z() + z) == CHAMBER_ON)) {
+ checklist = false;
+ }
}
}
+ // Scan control rods
+ for(int h = 1; h < 5; h++) {
+ for(int x = -1; x <= 1; x++) {
+ for(int z = -1; z <= 1; z++) {
+ // Only check diagonal
+ if(x == 0 || z == 0) {
+ continue;
+ }
+ if(!(thisController.getBlock(center.x() + x, center.y() + h, center.z() + z) == CONTROL_ROD)) {
+ checklist = false;
+ }
+ }
+ }
+ }
+
- if(this.mMaintenanceHatches.size() < 1) {
- System.out.println("You need a maintenance hatch to do maintenance.");
+
+
+ if(minCasingAmount > 0) {
+ checklist = false;
}
return checklist;
diff --git a/src/main/resources/assets/kekztech/lang/en_US.lang b/src/main/resources/assets/kekztech/lang/en_US.lang index 84aa0113ca..5f36b8e44f 100644 --- a/src/main/resources/assets/kekztech/lang/en_US.lang +++ b/src/main/resources/assets/kekztech/lang/en_US.lang @@ -82,3 +82,7 @@ tile.kekztech_tfftstoragefieldblock2_block.name=T.F.F.T Storage Field Block (Tie tile.kekztech_tfftstoragefieldblock3_block.name=T.F.F.T Storage Field Block (Tier III)
tile.kekztech_tfftstoragefieldblock4_block.name=T.F.F.T Storage Field Block (Tier IV)
tile.kekztech_tfftmultihatch_block.name=T.F.F.T Multi-Fluid I/O Hatch
+
+tile.kekztech_controlrod_block.name=Nuclear Reactor Control Rod
+tile.kekztech_reactorchamberoff_block.name=Nuclear Reactor Chamber (OFF)
+tile.kekztech_reactorchamberon_block.name=Nuclear Reactor Chamber (ON)
diff --git a/src/main/resources/assets/kekztech/textures/blocks/ControlRod.png b/src/main/resources/assets/kekztech/textures/blocks/ControlRod.png Binary files differnew file mode 100644 index 0000000000..177e5c7231 --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/blocks/ControlRod.png diff --git a/src/main/resources/assets/kekztech/textures/blocks/ReactorChamber_OFF.png b/src/main/resources/assets/kekztech/textures/blocks/ReactorChamber_OFF.png Binary files differnew file mode 100644 index 0000000000..40a33e52a9 --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/blocks/ReactorChamber_OFF.png diff --git a/src/main/resources/assets/kekztech/textures/blocks/ReactorChamber_ON.png b/src/main/resources/assets/kekztech/textures/blocks/ReactorChamber_ON.png Binary files differnew file mode 100644 index 0000000000..6480a8ab9b --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/blocks/ReactorChamber_ON.png |