Posted May 25, 201510 yr So my tile entity stores an entity, now what I want to do is spawn in a clone of that entity. This means that they don't share health or anything, but the clone starts of with the same stats as the original.
May 25, 201510 yr So my tile entity stores an entity, now what I want to do is spawn in a clone of that entity. This means that they don't share health or anything, but the clone starts of with the same stats as the original. Nbt magic: Entity.createFromNbt(original.writeToNbt(new NBTTagCompound)) (<--pseudo code) Check out my mods: BTAM Armor sets Avoid Exploding Creepers Tools compressor Anti Id Conflict Key bindings overhaul Colourfull blocks Invisi Zones
May 25, 201510 yr Author I could use NBT, but my entity is stored as an EntityLiving as I want to be able to store all kinds of mobs. My problem comes when I want to create a new entity, but I don't know exactly which one. If it was only a pig, for example, then I could create a new pig with EntityPig pig = new EntityPig(worldObj); but my entity could be anything from a cow, to a zombie, to a random mob from a different mod.
May 25, 201510 yr Author The entity that this gives me is null EntityLiving e = (EntityLiving) EntityList.createEntityFromNBT(entity.getEntityData(), this.worldObj); I did a check to see if 'e' was null, and it was
May 25, 201510 yr Author Well, you are using getEntityData... Nobody told you to. Read elix' post again. writeToNBT returns a void The only things that return an NBTTagCompound is .getEntityData() .func_174819_aU() and neither of them would work.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.