diff options
author | Christina Berchtold <kekzdealer@gmail.com> | 2019-11-09 18:13:35 +0100 |
---|---|---|
committer | Christina Berchtold <kekzdealer@gmail.com> | 2019-11-09 18:13:35 +0100 |
commit | 7461f6a5173fdc5b3a20dc413ea7ce658fb820f2 (patch) | |
tree | baedb5f7e2cfd610bb79c3557a7bfc494c78b348 /src/main/java/tileentities | |
parent | a76478105d61d7be330c63fd247f7fbb66da9d9a (diff) | |
download | GT5-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')
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); } } |