aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/tileentities/TE_ItemDistributionNode.java
diff options
context:
space:
mode:
authorChristina Berchtold <kekzdealer@gmail.com>2019-11-09 18:13:35 +0100
committerChristina Berchtold <kekzdealer@gmail.com>2019-11-09 18:13:35 +0100
commit7461f6a5173fdc5b3a20dc413ea7ce658fb820f2 (patch)
treebaedb5f7e2cfd610bb79c3557a7bfc494c78b348 /src/main/java/tileentities/TE_ItemDistributionNode.java
parenta76478105d61d7be330c63fd247f7fbb66da9d9a (diff)
downloadGT5-Unofficial-7461f6a5173fdc5b3a20dc413ea7ce658fb820f2.tar.gz
GT5-Unofficial-7461f6a5173fdc5b3a20dc413ea7ce658fb820f2.tar.bz2
GT5-Unofficial-7461f6a5173fdc5b3a20dc413ea7ce658fb820f2.zip
UI for Item Distribution Network Node
Diffstat (limited to 'src/main/java/tileentities/TE_ItemDistributionNode.java')
-rw-r--r--src/main/java/tileentities/TE_ItemDistributionNode.java48
1 files changed, 35 insertions, 13 deletions
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);
}
}