aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/common')
-rw-r--r--src/main/java/common/Blocks.java3
-rw-r--r--src/main/java/common/CommonProxy.java2
-rw-r--r--src/main/java/common/TileEntities.java1
-rw-r--r--src/main/java/common/blocks/Block_ControlRod.java29
-rw-r--r--src/main/java/common/blocks/Block_ReactorChamber_OFF.java29
-rw-r--r--src/main/java/common/blocks/Block_ReactorChamber_ON.java34
-rw-r--r--src/main/java/common/container/Container_ModularNuclearReactor.java77
-rw-r--r--src/main/java/common/items/MetaItem_CraftingComponent.java11
-rw-r--r--src/main/java/common/items/MetaItem_ReactorComponent.java119
-rw-r--r--src/main/java/common/reactorItem/AbstractReactorItem.java29
-rw-r--r--src/main/java/common/reactorItem/ReactorItem.java47
-rw-r--r--src/main/java/common/tileentities/GTMTE_ModularNuclearReactor.java224
12 files changed, 0 insertions, 605 deletions
diff --git a/src/main/java/common/Blocks.java b/src/main/java/common/Blocks.java
index d2fb863968..4003e8e9e4 100644
--- a/src/main/java/common/Blocks.java
+++ b/src/main/java/common/Blocks.java
@@ -17,9 +17,6 @@ public class Blocks {
public static Block yszUnit;
public static Block gdcUnit;
public static Block tfftStorageField;
- public static Block reactorChamberOFF;
- public static Block reactorChamberON;
- public static Block reactorControlRod;
public static Block jarThaumiumReinforced;
public static Block jarIchor;
public static Block lscLapotronicEnergyUnit;
diff --git a/src/main/java/common/CommonProxy.java b/src/main/java/common/CommonProxy.java
index 0f6600be83..540e6ced89 100644
--- a/src/main/java/common/CommonProxy.java
+++ b/src/main/java/common/CommonProxy.java
@@ -2,7 +2,6 @@ package common;
import common.items.ErrorItem;
import common.items.MetaItem_CraftingComponent;
-import common.items.MetaItem_ReactorComponent;
import common.tileentities.GTMTE_TFFTHatch;
import cpw.mods.fml.common.event.FMLInitializationEvent;
@@ -15,7 +14,6 @@ public class CommonProxy {
public void preInit(final FMLPreInitializationEvent e) {
// Items
ErrorItem.getInstance().registerItem();
- MetaItem_ReactorComponent.getInstance().registerItem();
MetaItem_CraftingComponent.getInstance().registerItem();
Items.registerOreDictNames();
// Blocks
diff --git a/src/main/java/common/TileEntities.java b/src/main/java/common/TileEntities.java
index 0825b872f0..31246ac5d8 100644
--- a/src/main/java/common/TileEntities.java
+++ b/src/main/java/common/TileEntities.java
@@ -17,7 +17,6 @@ public class TileEntities {
// Multiblock controllers
public static GTMTE_SOFuelCellMK1 sofc1;
public static GTMTE_SOFuelCellMK2 sofc2;
- // public static GTMTE_ModularNuclearReactor mdr;
public static GTMTE_TFFT tfft;
public static GTMTE_LapotronicSuperCapacitor lsc;
diff --git a/src/main/java/common/blocks/Block_ControlRod.java b/src/main/java/common/blocks/Block_ControlRod.java
deleted file mode 100644
index 7c86c9910f..0000000000
--- a/src/main/java/common/blocks/Block_ControlRod.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package common.blocks;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.creativetab.CreativeTabs;
-
-import cpw.mods.fml.common.registry.GameRegistry;
-import kekztech.KekzCore;
-
-public class Block_ControlRod extends BaseGTUpdateableBlock {
-
- private static final Block_ControlRod instance = new Block_ControlRod();
-
- private Block_ControlRod() {
- super(Material.iron);
- }
-
- public static Block registerBlock() {
- final String blockName = "kekztech_controlrod_block";
- instance.setBlockName(blockName);
- instance.setCreativeTab(CreativeTabs.tabMisc);
- instance.setBlockTextureName(KekzCore.MODID + ":" + "ControlRod");
- instance.setHardness(5.0f);
- instance.setResistance(6.0f);
- GameRegistry.registerBlock(instance, blockName);
-
- return instance;
- }
-}
diff --git a/src/main/java/common/blocks/Block_ReactorChamber_OFF.java b/src/main/java/common/blocks/Block_ReactorChamber_OFF.java
deleted file mode 100644
index 3c8b29c3cc..0000000000
--- a/src/main/java/common/blocks/Block_ReactorChamber_OFF.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package common.blocks;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.creativetab.CreativeTabs;
-
-import cpw.mods.fml.common.registry.GameRegistry;
-import kekztech.KekzCore;
-
-public class Block_ReactorChamber_OFF extends BaseGTUpdateableBlock {
-
- private static final Block_ReactorChamber_OFF instance = new Block_ReactorChamber_OFF();
-
- private Block_ReactorChamber_OFF() {
- super(Material.iron);
- }
-
- public static Block registerBlock() {
- final String blockName = "kekztech_reactorchamberoff_block";
- instance.setBlockName(blockName);
- instance.setCreativeTab(CreativeTabs.tabMisc);
- instance.setBlockTextureName(KekzCore.MODID + ":" + "ReactorChamber_OFF");
- instance.setHardness(10.0f);
- instance.setResistance(16.0f);
- GameRegistry.registerBlock(instance, blockName);
-
- return instance;
- }
-}
diff --git a/src/main/java/common/blocks/Block_ReactorChamber_ON.java b/src/main/java/common/blocks/Block_ReactorChamber_ON.java
deleted file mode 100644
index 7a894561ae..0000000000
--- a/src/main/java/common/blocks/Block_ReactorChamber_ON.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package common.blocks;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.creativetab.CreativeTabs;
-
-import cpw.mods.fml.common.registry.GameRegistry;
-import kekztech.KekzCore;
-
-public class Block_ReactorChamber_ON extends BaseGTUpdateableBlock {
-
- private static final Block_ReactorChamber_ON instance = new Block_ReactorChamber_ON();
-
- private Block_ReactorChamber_ON() {
- super(Material.iron);
- }
-
- public static Block registerBlock() {
- final String blockName = "kekztech_reactorchamberon_block";
- instance.setBlockName(blockName);
- instance.setCreativeTab(CreativeTabs.tabMisc);
- instance.setBlockTextureName(KekzCore.MODID + ":" + "ReactorChamber_ON");
- instance.setHardness(-1.0f);
- instance.setResistance(16.0f);
- GameRegistry.registerBlock(instance, blockName);
-
- return instance;
- }
-
- @Override
- public int getLightValue() {
- return 15;
- }
-}
diff --git a/src/main/java/common/container/Container_ModularNuclearReactor.java b/src/main/java/common/container/Container_ModularNuclearReactor.java
deleted file mode 100644
index d3a06a2f61..0000000000
--- a/src/main/java/common/container/Container_ModularNuclearReactor.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package common.container;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import reactor.ButtonSlot;
-
-public class Container_ModularNuclearReactor extends Container {
-
- private int nextSlotID = 0;
- private final Slot[] REACTOR_SLOTS = new Slot[54];
- private final Slot SLOT_CONFIGURATION;
- private final Slot BUTTON_EU_MODE;
- private final Slot BUTTON_FLUID_MODE;
- private final Slot BUTTON_CONDITION;
- private final Slot BUTTON_CONFIGURE;
- private final Slot BUTTON_RESET;
-
- public Container_ModularNuclearReactor(IGregTechTileEntity te, EntityPlayer player) {
-
- // Add the reactor chamber
- for (int x = 0; x < 9; x++) {
- for (int y = 0; y < 6; y++) {
- REACTOR_SLOTS[nextSlotID] = super.addSlotToContainer(
- new Slot(te, getNextSlotID(), (16 + 67 * x), (16 + 67 * y)));
- }
- }
- // Add the configuration slot
- SLOT_CONFIGURATION = super.addSlotToContainer(new Slot(te, getNextSlotID(), 0, 0));
-
- // Add buttons (they're also slots)
- BUTTON_EU_MODE = super.addSlotToContainer(new ButtonSlot(te, getNextSlotID(), 0, 0));
- BUTTON_FLUID_MODE = super.addSlotToContainer(new ButtonSlot(te, getNextSlotID(), 0, 0));
- BUTTON_CONDITION = super.addSlotToContainer(new ButtonSlot(te, getNextSlotID(), 0, 0));
- BUTTON_CONFIGURE = super.addSlotToContainer(new ButtonSlot(te, getNextSlotID(), 0, 0));
- BUTTON_RESET = super.addSlotToContainer(new ButtonSlot(te, getNextSlotID(), 0, 0));
- }
-
- private int getNextSlotID() {
- nextSlotID++;
- return nextSlotID - 1;
- }
-
- @Override
- public ItemStack transferStackInSlot(EntityPlayer player, int slotRaw) {
- ItemStack stack = null;
- final Slot slot = (Slot) inventorySlots.get(slotRaw);
-
- if (slot != null && slot.getHasStack()) {
- final ItemStack stackInSlot = slot.getStack();
- stack = stackInSlot.copy();
-
- if (slotRaw < 3 * 9) {
- if (!mergeItemStack(stackInSlot, 3 * 9, inventorySlots.size(), true)) {
- return null;
- }
- } else if (!mergeItemStack(stackInSlot, 0, 3 * 9, false)) {
- return null;
- }
-
- if (stackInSlot.stackSize == 0) {
- slot.putStack(null);
- } else {
- slot.onSlotChanged();
- }
- }
- return stack;
- }
-
- @Override
- public boolean canInteractWith(EntityPlayer p_75145_1_) {
- return true;
- }
-}
diff --git a/src/main/java/common/items/MetaItem_CraftingComponent.java b/src/main/java/common/items/MetaItem_CraftingComponent.java
index 3b5d9238b1..205e7392c5 100644
--- a/src/main/java/common/items/MetaItem_CraftingComponent.java
+++ b/src/main/java/common/items/MetaItem_CraftingComponent.java
@@ -35,17 +35,6 @@ public class MetaItem_CraftingComponent extends Item {
@Override
public void registerIcons(IIconRegister reg) {
int counter = 9;
- // Raw heat pipes
- /*
- * icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + "CopperHeatPipe"); icons[counter++] =
- * reg.registerIcon(KekzCore.MODID + ":" + "SilverHeatPipe"); icons[counter++] = reg.registerIcon(KekzCore.MODID
- * + ":" + "BoronArsenideHeatPipe"); icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" +
- * "DiamondHeatPipe"); // Dust icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + "BoronArsenideDust");
- * icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + "IsotopicallyPureDiamondDust"); icons[counter++] =
- * reg.registerIcon(KekzCore.MODID + ":" + "AmineCarbamateDust"); // Crystal icons[counter++] =
- * reg.registerIcon(KekzCore.MODID + ":" + "BoronArsenideCrystal"); icons[counter++] =
- * reg.registerIcon(KekzCore.MODID + ":" + "IsotopicallyPureDiamondCrystal");
- */
// Ceramics
icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + "YSZCeramicDust");
icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + "GDCCeramicDust");
diff --git a/src/main/java/common/items/MetaItem_ReactorComponent.java b/src/main/java/common/items/MetaItem_ReactorComponent.java
deleted file mode 100644
index 45e3a17798..0000000000
--- a/src/main/java/common/items/MetaItem_ReactorComponent.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package common.items;
-
-import java.util.List;
-
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.IIcon;
-
-import org.lwjgl.input.Keyboard;
-
-import kekztech.KekzCore;
-import reactor.items.CoolantCell;
-import reactor.items.FuelRod;
-import reactor.items.HeatExchanger;
-import reactor.items.HeatVent;
-import reactor.items.NeutronReflector;
-
-public class MetaItem_ReactorComponent extends Item {
-
- private static final MetaItem_ReactorComponent INSTANCE = new MetaItem_ReactorComponent();
- private final IIcon[] icons = new IIcon[50];
-
- private MetaItem_ReactorComponent() {}
-
- public static MetaItem_ReactorComponent getInstance() {
- return INSTANCE;
- }
-
- public void registerItem() {
- super.setHasSubtypes(true);
- final String unlocalizedName = "kekztech_reactor_item";
- super.setUnlocalizedName(unlocalizedName);
- super.setCreativeTab(CreativeTabs.tabMisc);
- super.setMaxStackSize(1);
- // GameRegistry.registerItem(getInstance(), unlocalizedName);
- }
-
- @Override
- public void registerIcons(IIconRegister reg) {
- int counter = 0;
- for (String s : HeatVent.RESOURCE_NAMES) {
- icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + s);
- }
- for (String s : HeatExchanger.RESOURCE_NAME) {
- icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + s);
- }
- for (String s : FuelRod.RESOURCE_NAME) {
- icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + s);
- }
- for (String s : FuelRod.RESOURCE_NAME_DEPLETED) {
- icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + s);
- }
- for (String s : NeutronReflector.RESOURCE_NAME) {
- icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + s);
- }
- for (String s : CoolantCell.RESOURCE_NAME) {
- icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + s);
- }
- }
-
- @Override
- public IIcon getIconFromDamage(int meta) {
- return icons[meta];
- }
-
- @SuppressWarnings({ "unchecked" })
- @Override
- public void getSubItems(Item item, CreativeTabs tab, List list) {
- for (int i = 0; i < icons.length; i++) {
- list.add(new ItemStack(item, 1, i));
- }
- }
-
- @Override
- public String getUnlocalizedName(ItemStack stack) {
- return super.getUnlocalizedName() + "." + stack.getItemDamage();
- }
-
- @SuppressWarnings({ "unchecked" })
- @Override
- public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean b) {
- if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) {
- list.add("Property = 1");
- } else {
- list.add("Part for the Modular Nuclear Reactor");
- list.add(
- "Hold " + EnumChatFormatting.BOLD
- + "[LSHIFT]"
- + EnumChatFormatting.RESET
- + EnumChatFormatting.GRAY
- + " to display properties");
- }
- }
-
- @Override
- public double getDurabilityForDisplay(ItemStack stack) {
- NBTTagCompound nbt = (stack.getTagCompound() == null) ? new NBTTagCompound() : stack.getTagCompound();
- if (nbt.getInteger("HEALTH") != 0 && nbt.getInteger("MAXHEALTH") != 0) {
- return 1 - (double) (nbt.getInteger("HEALTH") / nbt.getInteger("MAXHEALTH"));
- } else {
- return 0.0d;
- }
- }
-
- @Override
- public boolean showDurabilityBar(ItemStack stack) {
- final int meta = stack.getItemDamage();
- return meta < 31 || meta > 45;
- }
-
- public ItemStack getStackFromDamage(int meta) {
- return new ItemStack(getInstance(), 1, meta);
- }
-}
diff --git a/src/main/java/common/reactorItem/AbstractReactorItem.java b/src/main/java/common/reactorItem/AbstractReactorItem.java
deleted file mode 100644
index 876d8b4811..0000000000
--- a/src/main/java/common/reactorItem/AbstractReactorItem.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package common.reactorItem;
-
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-
-public abstract class AbstractReactorItem extends Item {
-
- private final int[] behaviourID;
-
- protected AbstractReactorItem(int... behaviourID) {
- this.behaviourID = behaviourID;
- }
-
- @Override
- public abstract double getDurabilityForDisplay(ItemStack stack);
-
- @Override
- public abstract boolean showDurabilityBar(ItemStack stack);
-
- @Override
- public final String getUnlocalizedName(ItemStack stack) {
- return super.hasSubtypes ? (super.getUnlocalizedName() + "." + stack.getItemDamage())
- : super.getUnlocalizedName();
- }
-
- public final int getBehaviourID(int meta) {
- return behaviourID[meta];
- }
-}
diff --git a/src/main/java/common/reactorItem/ReactorItem.java b/src/main/java/common/reactorItem/ReactorItem.java
deleted file mode 100644
index 8e69e40e95..0000000000
--- a/src/main/java/common/reactorItem/ReactorItem.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package common.reactorItem;
-
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.IIcon;
-
-import cpw.mods.fml.common.registry.GameRegistry;
-
-public class ReactorItem extends AbstractReactorItem {
-
- private static final ReactorItem INSTANCE = new ReactorItem();
-
- private final IIcon[] icons = new IIcon[50];
-
- private ReactorItem() {
- super();
- }
-
- public static ReactorItem registerItem() {
- INSTANCE.setHasSubtypes(true);
- INSTANCE.setCreativeTab(CreativeTabs.tabMisc);
- INSTANCE.setMaxStackSize(1);
- final String unloc = "kekztech_reactor_item";
- INSTANCE.setUnlocalizedName(unloc);
- GameRegistry.registerItem(INSTANCE, unloc);
- return INSTANCE;
- }
-
- @Override
- public void registerIcons(IIconRegister reg) {}
-
- @Override
- public IIcon getIconFromDamage(int meta) {
- return icons[meta];
- }
-
- @Override
- public double getDurabilityForDisplay(ItemStack stack) {
- return 0;
- }
-
- @Override
- public boolean showDurabilityBar(ItemStack stack) {
- return false;
- }
-}
diff --git a/src/main/java/common/tileentities/GTMTE_ModularNuclearReactor.java b/src/main/java/common/tileentities/GTMTE_ModularNuclearReactor.java
deleted file mode 100644
index 1875a097e5..0000000000
--- a/src/main/java/common/tileentities/GTMTE_ModularNuclearReactor.java
+++ /dev/null
@@ -1,224 +0,0 @@
-package common.tileentities;
-
-import net.minecraft.block.Block;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.common.util.ForgeDirection;
-
-import org.joml.Vector3i;
-
-import common.Blocks;
-
-import gregtech.api.GregTech_API;
-import gregtech.api.enums.Textures;
-import gregtech.api.interfaces.ITexture;
-import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
-import gregtech.api.objects.GT_RenderedTexture;
-
-public class GTMTE_ModularNuclearReactor extends GT_MetaTileEntity_MultiBlockBase {
-
- 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 = Blocks.reactorChamberOFF;
- private final Block CHAMBER_ON = Blocks.reactorChamberON;
- private final Block CONTROL_ROD = Blocks.reactorControlRod;
-
- private boolean euMode = true;
-
- public GTMTE_ModularNuclearReactor(int aID, String aName, String aNameRegional) {
- super(aID, aName, aNameRegional);
- }
-
- public GTMTE_ModularNuclearReactor(String aName) {
- super(aName);
- }
-
- @Override
- public IMetaTileEntity newMetaEntity(IGregTechTileEntity var1) {
- return new GTMTE_ModularNuclearReactor(super.mName);
- }
-
- @Override
- public String[] getDescription() {
- return new String[] { "Disabled" };
- /*
- * final MultiBlockTooltipBuilder b = new MultiBlockTooltipBuilder();
- * b.addInfo("Can be built, BUT DOES NOT WORK") .addInfo("Converts fissile material and outputs power or heat")
- * .addSeparator() .addInfo("EU-MODE:")
- * .addInfo(" Directly outputs electricity depending on inserted fuel rods") .addSeparator()
- * .addInfo("COOLANT-MODE:") .addInfo(" Requires coolant to be pumped into the reactor.")
- * .addInfo(" Coolant is heated and should be drained and converted to electricity by other means.")
- * .addSeparator() .addInfo("NOTES:") .addInfo(" Does NOT use Industrialcraft 2 reactor components!")
- * .addInfo(" Consult controller GUI on how to arrange the outer casings.") .addSeparator()
- * .beginStructureBlock(7, 6, 7) .addController("Front bottom Center")
- * .addCasingInfo("Radiation Proof Machine Casing", 100) .addOtherStructurePart("Control Rods",
- * "Four pillars, four blocks high each. Diagonal to the inner edges of the shell")
- * .addOtherStructurePart("Nuclear Reactor Chamber",
- * "17 of them to fill out the rest of the floor inside the shell")
- * .addDynamoHatch("ONLY in EU-mode, at least one") .addOtherStructurePart("Input Bus, Output Bus",
- * "Optional but required for automation") .addOtherStructurePart("Input Hatch, Output Hatch",
- * "ONLY in Coolant-Mode, at least one each") .signAndFinalize("Kekzdealer");
- * if(!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { return b.getInformation(); } else { return
- * b.getStructureInformation(); }
- */
- }
-
- @Override
- public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side,
- final ForgeDirection facing, final int colorIndex, final boolean aActive, final boolean aRedstone) {
- return side == facing
- ? new ITexture[] { Textures.BlockIcons.getCasingTextureForId(CASING_TEXTURE_ID),
- new GT_RenderedTexture(
- aActive ? Textures.BlockIcons.OVERLAY_FRONT_HEAT_EXCHANGER_ACTIVE
- : Textures.BlockIcons.OVERLAY_FRONT_HEAT_EXCHANGER) }
- : new ITexture[] { Textures.BlockIcons.getCasingTextureForId(CASING_TEXTURE_ID) };
- }
-
- @Override
- public boolean isCorrectMachinePart(ItemStack stack) {
- return true;
- }
-
- @Override
- public boolean checkRecipe(ItemStack stack) {
- return false;
- }
-
- @Override
- public void onPostTick(IGregTechTileEntity thisController, long aTick) {
- super.onPostTick(thisController, aTick);
-
- if (super.getBaseMetaTileEntity().isActive()) {
- // Switch to ON blocks
- } else {
- // Switch to OFF blocks
- }
- }
-
- @Override
- public boolean checkMachine(IGregTechTileEntity thisController, ItemStack guiSlotItem) {
- // Figure out the vector for the direction the back face of the controller is facing
- final int dirX = thisController.getBackFacing().offsetX;
- final int dirZ = thisController.getBackFacing().offsetZ;
- int minCasingAmount = 100;
- boolean checklist = true; // if this is still true at the end, machine is good to go :)
-
- // Determine the ground level center of the structure
- final Vector3i center = new Vector3i(
- thisController.getXCoord(),
- thisController.getYCoord(),
- thisController.getZCoord()).add(dirX * 3, 0, dirZ * 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 Vector3i 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;
- }
- }
- }
- }
- }
- // - 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 Vector3i 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;
- }
- }
- }
- }
- }
- // 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--;
- }
- }
- }
- // 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 (minCasingAmount > 0) {
- checklist = false;
- }
-
- return checklist;
- }
-
- @Override
- public int getMaxEfficiency(ItemStack stack) {
- return 10000;
- }
-
- @Override
- public int getPollutionPerTick(ItemStack stack) {
- return 0;
- }
-
- @Override
- public int getDamageToComponent(ItemStack stack) {
- return 0;
- }
-
- @Override
- public boolean explodesOnComponentBreak(ItemStack stack) {
- return false;
- }
-}