I have a custom entity which I want to add particles to the world at its position, both on each tick, and on impact.
My entity does spawn, and the impact is detected, however, no matter what I try, I cannot create particles.
public class SpellEntity extends ThrowableEntity {
public SpellEntity(EntityType<? extends ThrowableEntity> type, World worldIn) {
super(type, worldIn);
}
public SpellEntity(World worldIn, PlayerEntity playerIn) {
super(ModEntityTypes.SPELL_ENTITY.get(), playerIn, worldIn);
}
@Override
public void tick() {
super.tick();
if (world.isRemote) {
this.world.addParticle(ParticleTypes.FLAME, this.getPosX(), this.getPosY(), this.getPosZ(), 0.0D, 0.0D, 0.0D);
}
}
@OnlyIn(Dist.CLIENT)
public void handleStatusUpdate(byte id) {
if (id == 3 && this.world.isRemote) {
for (int i = 0; i < 8; ++i) {
this.world.addParticle(ParticleTypes.FLAME, this.getPosX(), this.getPosY(), this.getPosZ(), 0.0D, 0.0D, 0.0D);
}
}
super.handleStatusUpdate(id);
}
protected void onImpact(RayTraceResult result) {
if (!this.world.isRemote) {
world.createExplosion(this, this.getPosX(), this.getPosY(), this.getPosZ(), 2F, Explosion.Mode.BREAK);
this.world.setEntityState(this, (byte)3);
this.remove();
}
}
protected void registerData() {
}
}
Any help would be much appreciated.