  
      public Entity(World par1World)
      {
-@@ -1382,6 +1390,15 @@
-         par1NBTTagCompound.setShort("Fire", (short)this.fire);
+@@ -1463,6 +1470,15 @@
          par1NBTTagCompound.setShort("Air", (short)this.getAir());
          par1NBTTagCompound.setBoolean("OnGround", this.onGround);
+         par1NBTTagCompound.setInteger("Dimension", this.dimension);
 +        if (persistentID != null)
 +        {
 +            par1NBTTagCompound.setLong("PersistentIDMSB", persistentID.getMostSignificantBits());

--- ../src_base/common/net/minecraft/src/Entity.java
+++ ../src_work/common/net/minecraft/src/Entity.java
@@ -2,9 +2,12 @@
 
 import cpw.mods.fml.common.Side;
 import cpw.mods.fml.common.asm.SideOnly;
+
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Random;
+import java.util.UUID;
 
 public abstract class Entity
 {
@@ -186,6 +189,11 @@
     public boolean ignoreFrustumCheck;
     public boolean isAirBorne;
     public EnumEntitySize myEntitySize;
+    /** Forge: Used to store custom data for each entity. */
+    private NBTTagCompound customEntityData;

         this.readEntityFromNBT(par1NBTTagCompound);
     }
 
@@ -1591,7 +1615,14 @@
     {
         EntityItem var3 = new EntityItem(this.worldObj, this.posX, this.posY + (double)par2, this.posZ, par1ItemStack);
         var3.delayBeforeCanPickup = 10;
