Posted March 23, 201411 yr I have this simple entity here: package realmoffera.entity; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class EntityCoinsRF extends Entity { public int value = 10; public EntityCoinsRF(World world) { super(world); } public EntityCoinsRF(World world, int value) { super(world); this.value = value; } @Override public void onCollideWithPlayer(EntityPlayer player) { NBTTagCompound nbt = player.getEntityData().getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG); nbt.setInteger("Coins", nbt.getInteger("Coins") + value); } @Override protected void entityInit() { System.err.println("Initializing coins."); } @Override protected void readEntityFromNBT(NBTTagCompound nbt) { value = nbt.getInteger("Value"); } @Override protected void writeEntityToNBT(NBTTagCompound nbt) { nbt.setInteger("Value", value); } @Override public boolean canAttackWithItem() { return false; } @Override protected boolean canTriggerWalking() { return false; } @Override public boolean canBePushed() { return false; } @Override @SideOnly(Side.CLIENT) public void performHurtAnimation() { } } The problem is that it says that it has been initialized, but it never appears. I've tried overriding the setDead method and seeing if it's being called, but it isn't. Any ideas? Kain
March 23, 201411 yr Have you even set the spawn rates (and made it spawnable) in your main class (where you register your stuff)?
March 29, 201411 yr Author I've asked friends about it, and all they did was extend EntityMob. Is there any other way besides making it a mob? I also experimented with it some more, and it seems that it initializes, never gets set dead, and is never updates. Code: package realmoffera.entity; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class EntityCoinsRF extends Entity { public int value = 10; public EntityCoinsRF(World world) { super(world); this.yOffset = 0.0F; this.setSize(0.5F, 0.5F); } public EntityCoinsRF(World world, int value) { this(world); this.value = value; } @Override public void onUpdate() { super.onUpdate(); System.err.println("UPDATING"); } @Override public void onCollideWithPlayer(EntityPlayer player) { NBTTagCompound nbt = player.getEntityData().getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG); nbt.setInteger("Coins", nbt.getInteger("Coins") + value); } @Override protected void entityInit() { } @Override protected void readEntityFromNBT(NBTTagCompound nbt) { value = nbt.getInteger("Value"); } @Override protected void writeEntityToNBT(NBTTagCompound nbt) { nbt.setInteger("Value", value); } @Override public boolean canAttackWithItem() { return false; } @Override protected boolean canTriggerWalking() { return false; } @Override public boolean canBePushed() { return true; } @Override @SideOnly(Side.CLIENT) public void performHurtAnimation() { } } Kain
March 29, 201411 yr As i said, make a new EntityMob, remove the things to attack/despawn/move and extend that. Works great! Former developer for DivineRPG, Pixelmon and now the maker of Essence of the Gods
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.