aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/tileentities
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/tileentities')
-rw-r--r--src/main/java/tileentities/GTMTE_FluidMultiStorage.java2
-rw-r--r--src/main/java/tileentities/GTMTE_ModularNuclearReactor.java2
-rw-r--r--src/main/java/tileentities/GTMTE_SOFuelCellMK1.java2
-rw-r--r--src/main/java/tileentities/GTMTE_SOFuelCellMK2.java2
-rw-r--r--src/main/java/tileentities/TE_ItemDistributionCable.java20
-rw-r--r--src/main/java/tileentities/TE_ItemDistributionNode.java48
6 files changed, 58 insertions, 18 deletions
diff --git a/src/main/java/tileentities/GTMTE_FluidMultiStorage.java b/src/main/java/tileentities/GTMTE_FluidMultiStorage.java
index e4ab4e574e..61b8e558f5 100644
--- a/src/main/java/tileentities/GTMTE_FluidMultiStorage.java
+++ b/src/main/java/tileentities/GTMTE_FluidMultiStorage.java
@@ -21,7 +21,6 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
import gregtech.api.objects.GT_RenderedTexture;
-import kekztech.MultiBlockTooltipBuilder;
import kekztech.MultiFluidHandler;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
@@ -32,6 +31,7 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
+import util.MultiBlockTooltipBuilder;
import util.Vector3i;
import util.Vector3ic;
diff --git a/src/main/java/tileentities/GTMTE_ModularNuclearReactor.java b/src/main/java/tileentities/GTMTE_ModularNuclearReactor.java
index a6b91a60ca..14941e489d 100644
--- a/src/main/java/tileentities/GTMTE_ModularNuclearReactor.java
+++ b/src/main/java/tileentities/GTMTE_ModularNuclearReactor.java
@@ -15,11 +15,11 @@ 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;
-import kekztech.MultiBlockTooltipBuilder;
import net.minecraft.block.Block;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
+import util.MultiBlockTooltipBuilder;
public class GTMTE_ModularNuclearReactor extends GT_MetaTileEntity_MultiBlockBase {
diff --git a/src/main/java/tileentities/GTMTE_SOFuelCellMK1.java b/src/main/java/tileentities/GTMTE_SOFuelCellMK1.java
index 549bc19f72..9aa0a5c01d 100644
--- a/src/main/java/tileentities/GTMTE_SOFuelCellMK1.java
+++ b/src/main/java/tileentities/GTMTE_SOFuelCellMK1.java
@@ -19,13 +19,13 @@ import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
-import kekztech.MultiBlockTooltipBuilder;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import net.minecraft.block.Block;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
+import util.MultiBlockTooltipBuilder;
import util.Vector3i;
import util.Vector3ic;
diff --git a/src/main/java/tileentities/GTMTE_SOFuelCellMK2.java b/src/main/java/tileentities/GTMTE_SOFuelCellMK2.java
index 8d1f996cb8..3ecba204ce 100644
--- a/src/main/java/tileentities/GTMTE_SOFuelCellMK2.java
+++ b/src/main/java/tileentities/GTMTE_SOFuelCellMK2.java
@@ -19,13 +19,13 @@ import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
-import kekztech.MultiBlockTooltipBuilder;
import net.minecraft.block.Block;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
+import util.MultiBlockTooltipBuilder;
import util.Vector3i;
import util.Vector3ic;
diff --git a/src/main/java/tileentities/TE_ItemDistributionCable.java b/src/main/java/tileentities/TE_ItemDistributionCable.java
index 153ed139b5..325d04c211 100644
--- a/src/main/java/tileentities/TE_ItemDistributionCable.java
+++ b/src/main/java/tileentities/TE_ItemDistributionCable.java
@@ -1,7 +1,25 @@
package tileentities;
+import kekztech.IConduit;
+import kekztech.ItemDistributionNetworkController;
import net.minecraft.tileentity.TileEntity;
-public class TE_ItemDistributionCable extends TileEntity {
+public class TE_ItemDistributionCable extends TileEntity implements IConduit {
+
+ private ItemDistributionNetworkController network;
+
+ public TE_ItemDistributionCable() {
+ ItemDistributionNetworkController.placeConduit(this);
+ }
+
+ @Override
+ public void setNetwork(ItemDistributionNetworkController network) {
+ this.network = network;
+ }
+
+ @Override
+ public ItemDistributionNetworkController getNetwork() {
+ return network;
+ }
}
diff --git a/src/main/java/tileentities/TE_ItemDistributionNode.java b/src/main/java/tileentities/TE_ItemDistributionNode.java
index 4da94ea5f5..25d7b64680 100644
--- a/src/main/java/tileentities/TE_ItemDistributionNode.java
+++ b/src/main/java/tileentities/TE_ItemDistributionNode.java
@@ -5,7 +5,10 @@ import kekztech.ItemDistributionNetworkController;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.util.Constants;
public class TE_ItemDistributionNode extends TileEntity implements IConduit, IInventory {
@@ -31,38 +34,58 @@ private ItemDistributionNetworkController network;
@Override
public ItemStack getStackInSlot(int slot) {
- // TODO Auto-generated method stub
- return null;
+ return network.getStackInSlot(slot);
}
@Override
public ItemStack decrStackSize(int slot, int amount) {
- // TODO Auto-generated method stub
+
+ if(network.getStackInSlot(slot) != null) {
+ if(network.getStackInSlot(slot).stackSize == amount) {
+ final ItemStack itemStack = network.getStackInSlot(slot);
+ network.setStackInSlot(slot, null);
+ super.markDirty();
+ return itemStack;
+ } else {
+ final ItemStack itemStack = network.getStackInSlot(slot).splitStack(amount);
+ if(network.getStackInSlot(slot).stackSize == 0) {
+ network.setStackInSlot(slot, null);
+ }
+ super.markDirty();
+ return itemStack;
+ }
+ }
+
return null;
}
@Override
public ItemStack getStackInSlotOnClosing(int slot) {
- // TODO Auto-generated method stub
+ if(network.getStackInSlot(slot) != null) {
+ final ItemStack itemStack = network.getStackInSlot(slot);
+ network.setStackInSlot(slot, null);
+ return itemStack;
+ }
return null;
}
@Override
public void setInventorySlotContents(int slot, ItemStack itemStack) {
- // TODO Auto-generated method stub
-
+ if(itemStack.stackSize > getInventoryStackLimit()) {
+ itemStack.stackSize = getInventoryStackLimit();
+ }
+ network.setStackInSlot(slot, itemStack);
+ super.markDirty();
}
@Override
public String getInventoryName() {
- // TODO Auto-generated method stub
- return null;
+ return network.getUUID().toString();
}
@Override
public boolean hasCustomInventoryName() {
- // TODO Auto-generated method stub
- return false;
+ return true;
}
@Override
@@ -88,9 +111,8 @@ private ItemDistributionNetworkController network;
}
@Override
- public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) {
- // TODO Auto-generated method stub
- return false;
+ public boolean isItemValidForSlot(int slot, ItemStack itemStack) {
+ return network.isInputSlot(slot) && network.getStackInSlot(slot).isItemEqual(itemStack);
}
}