From 6cca149ebbdc31bfc95bfd9432d07991f519c6f0 Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Mon, 10 Apr 2017 01:11:09 -0400 Subject: [PATCH] shits broke --- .../nmd/primal/forgecraft/blocks/Breaker.java | 4 +- .../primal/forgecraft/tiles/TileBreaker.java | 75 +++++++++++++++++-- 2 files changed, 72 insertions(+), 7 deletions(-) diff --git a/1.11/src/main/java/nmd/primal/forgecraft/blocks/Breaker.java b/1.11/src/main/java/nmd/primal/forgecraft/blocks/Breaker.java index 093eb982..5e444719 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/blocks/Breaker.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/blocks/Breaker.java @@ -122,10 +122,10 @@ public class Breaker extends CustomContainerFacing implements ITileEntityProvide } if(pItem.getItem() instanceof WorkMallet){ + System.out.println(pItem); tile.setSlotStack(0, pItem); pItem.shrink(1); - tile.updateBlock(); - System.out.println(tile.getSlotStack(0)); + System.out.println(tile.getSlotStack(0) + " " + tile.getSlotListSize()); return true; } diff --git a/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileBreaker.java b/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileBreaker.java index 20682726..8b15db53 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileBreaker.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileBreaker.java @@ -5,10 +5,12 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.NonNullList; +import java.util.List; + /** * Created by mminaie on 4/9/17. */ -public class TileBreaker extends TileBaseSlot { +public class TileBreaker extends BaseTile { private float charge; @@ -22,6 +24,68 @@ public class TileBreaker extends TileBaseSlot { public NonNullList slotList = NonNullList.withSize(2, ItemStack.EMPTY); + // ***************************************************************************** // + // Controls + // ***************************************************************************** // + + // ***************************************************************************** // + // get + // + public NonNullList getSlotList() + { + return this.slotList; + } + + public ItemStack getSlotStack(int i) + { + return this.slotList.get(i); + } + + public int getSlotListSize() + { + return slotList.size(); + } + + public int getSlotLimit() + { + //return ((ShelfBasic)this.getBlockType()).getShelfSize(); + //return 1; + return 64; + } + + public ItemStack decrStackSize(int index, int count) + { + return ItemStackHelper.getAndSplit(this.getSlotList(), index, count); + } + + public ItemStack incrementStackSize(List stacks, int index, int count) { + Integer tempCount = ((ItemStack)stacks.get(index)).getCount(); + ItemStack tempStack = ((ItemStack)stacks.get(index)); + if(tempCount + count > 64) { + tempStack.setCount(64); + } + if(tempCount + count <= 64) { + tempStack.setCount(tempCount + count); + } + + return tempStack; + } + + // ***************************************************************************** // + // set + // + public void setSlotStack(int index, ItemStack stack) + { + this.slotList.set(index, stack); + this.markDirty(); + this.updateBlock(); + } + + public void clearSlots() + { + this.slotList.clear(); + } + // ***************************************************************************** // // NBT @@ -30,17 +94,18 @@ public class TileBreaker extends TileBaseSlot { public NBTTagCompound readNBT(NBTTagCompound nbt) { super.readNBT(nbt); - this.charge = nbt.getFloat("charge"); + this.slotList = NonNullList.withSize(this.getSlotListSize(), ItemStack.EMPTY); + ItemStackHelper.loadAllItems(nbt, this.slotList); + return nbt; } @Override public NBTTagCompound writeNBT(NBTTagCompound nbt) { - nbt.setFloat("charge", this.charge); super.writeNBT(nbt); + ItemStackHelper.saveAllItems(nbt, this.slotList); + return nbt; } - - }