tiffit Posted May 25, 2015 Posted May 25, 2015 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. Quote
Elix_x Posted May 25, 2015 Posted May 25, 2015 On 5/25/2015 at 6:07 AM, tiffit said: 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) Quote Check out my mods: BTAM Armor sets Avoid Exploding Creepers Tools compressor Anti Id Conflict Key bindings overhaul Colourfull blocks Invisi Zones
tiffit Posted May 25, 2015 Author Posted May 25, 2015 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. Quote
tiffit Posted May 25, 2015 Author Posted May 25, 2015 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 Quote
tiffit Posted May 25, 2015 Author Posted May 25, 2015 On 5/25/2015 at 10:28 PM, diesieben07 said: 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. Quote
Recommended Posts
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.