Jump to content

[1.8] Primed TNT incorrect position


JimiIT92

Recommended Posts

I'm making a custom tnt but if i set it on fire when there is a block above it it has a strange animation. Here is a video to show you what i mean

https://www.youtube.com/watch?v=8fNatm6ebPg

And here is my entity class

package blaze.entities;

import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityTNTPrimed;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.world.World;

public class EntityAtomicTNTPrimed extends EntityTNTPrimed
{
/** How long the fuse is */
public int fuse;
private EntityLivingBase tntPlacedBy;

public EntityAtomicTNTPrimed(World par1World)
{
	super(par1World);
	this.fuse = 80;
}

public EntityAtomicTNTPrimed(World par1World, double par2, double par4, double par6, EntityLivingBase par8EntityLivingBase)
{
	this(par1World);
	this.setPosition(par2, par4, par6);
	float f = (float)(Math.random() * Math.PI * 2.0D);
	this.motionX = (double)(-((float)Math.sin((double)f)) * 0.02F);
	this.motionY = 0.20000000298023224D;
	this.motionZ = (double)(-((float)Math.cos((double)f)) * 0.02F);
	this.fuse = 80;
	this.prevPosX = par2;
	this.prevPosY = par4;
	this.prevPosZ = par6;
	this.tntPlacedBy = par8EntityLivingBase;
}

/**
 * Called to update the entity's position/logic.
 */
public void onUpdate()
{
	this.prevPosX = this.posX;
	this.prevPosY = this.posY;
	this.prevPosZ = this.posZ;
	this.motionY -= 0.03999999910593033D;
	this.moveEntity(this.motionX, this.motionY, this.motionZ);
	this.motionX *= 0.9800000190734863D;
	this.motionY *= 0.9800000190734863D;
	this.motionZ *= 0.9800000190734863D;

	if (this.onGround)
	{
		this.motionX *= 0.699999988079071D;
		this.motionZ *= 0.699999988079071D;
		this.motionY *= -0.5D;
	}

	if (this.fuse-- <= 0)
	{
		this.setDead();

		if (!this.worldObj.isRemote)
		{
			this.explode();
		}
	}
	else
	{
		this.worldObj.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D);
	}
}

private void explode()
{
	float f = 36.0F;
	this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, f, true);
}
}

 

Any idea about why this happens? :/

Don't blame me if i always ask for your help. I just want to learn to be better :)

Link to comment
Share on other sites

Alright, it turns out that it was a registration error. I've now registered my entity with this values

EntityRegistry.registerModEntity(EntityAtomicTNTPrimed.class, "atomicTNT", starting_id+3, BL.instance, 160, 10, true);

and it worked :)

Don't blame me if i always ask for your help. I just want to learn to be better :)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.