summaryrefslogtreecommitdiff
path: root/src/main/java/gmail/Lance5057/tileentities
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2015-02-25 03:30:35 -0600
committerLance5057 <Lance5057@gmail.com>2015-02-25 03:30:35 -0600
commit44f9836bd1542e381f8fd0a57c76d7a4b2f0008a (patch)
treea33601a9097e517a8eca3ff63ae4a9ddb8bccee8 /src/main/java/gmail/Lance5057/tileentities
parent11e81b501260a94bff6dac0cc699f6928c8fbb52 (diff)
Crest Mount finally stores items properly!
Diffstat (limited to 'src/main/java/gmail/Lance5057/tileentities')
-rw-r--r--src/main/java/gmail/Lance5057/tileentities/TileEntity_CrestMount.java53
1 files changed, 29 insertions, 24 deletions
diff --git a/src/main/java/gmail/Lance5057/tileentities/TileEntity_CrestMount.java b/src/main/java/gmail/Lance5057/tileentities/TileEntity_CrestMount.java
index 505e3be..181f39d 100644
--- a/src/main/java/gmail/Lance5057/tileentities/TileEntity_CrestMount.java
+++ b/src/main/java/gmail/Lance5057/tileentities/TileEntity_CrestMount.java
@@ -6,6 +6,7 @@ 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 TileEntity_CrestMount extends TileEntity implements IInventory
{
@@ -55,7 +56,7 @@ public class TileEntity_CrestMount extends TileEntity implements IInventory
if (stack != null)
{
- setInventorySlotContents(slot, null);
+ setInventorySlotContents(slot, stack);
}
return stack;
}
@@ -111,35 +112,39 @@ public class TileEntity_CrestMount extends TileEntity implements IInventory
public void writeToNBT(NBTTagCompound compound)
{
super.writeToNBT(compound);
- NBTTagList items = new NBTTagList();
-
- for (int i = 0; i < getSizeInventory(); ++i)
- {
- if (getStackInSlot(i) != null)
- {
- NBTTagCompound item = new NBTTagCompound();
- item.setByte("Slot", (byte) i);
- getStackInSlot(i).writeToNBT(item);
- items.appendTag(item);
- }
- }
- compound.setTag("Items", items);
+ writeInventoryToNBT(compound);
}
@Override
public void readFromNBT(NBTTagCompound compound)
{
super.readFromNBT(compound);
- NBTTagList items = compound.getTagList("Items", compound.getId());
- for (int i = 0; i < items.tagCount(); ++i)
- {
- NBTTagCompound item = items.getCompoundTagAt(i);
- byte slot = item.getByte("Slot");
-
- if (slot >= 0 && slot < getSizeInventory())
- {
- inventory[slot] = ItemStack.loadItemStackFromNBT(item);
- }
+ readInventoryFromNBT(compound);
+ }
+
+ public void readInventoryFromNBT(NBTTagCompound tags) {
+ NBTTagList nbttaglist = tags.getTagList("Items", Constants.NBT.TAG_COMPOUND);
+ for (int iter = 0; iter < nbttaglist.tagCount(); iter++) {
+ NBTTagCompound tagList = (NBTTagCompound) nbttaglist.getCompoundTagAt(iter);
+ byte slotID = tagList.getByte("Slot");
+ if (slotID >= 0 && slotID < inventory.length) {
+ inventory[slotID] = ItemStack.loadItemStackFromNBT(tagList);
}
}
+ }
+
+
+public void writeInventoryToNBT(NBTTagCompound tags) {
+ NBTTagList nbttaglist = new NBTTagList();
+ for (int iter = 0; iter < inventory.length; iter++) {
+ if (inventory[iter] != null) {
+ NBTTagCompound tagList = new NBTTagCompound();
+ tagList.setByte("Slot", (byte) iter);
+ inventory[iter].writeToNBT(tagList);
+ nbttaglist.appendTag(tagList);
+ }
+ }
+
+ tags.setTag("Items", nbttaglist);
+ }
}