Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted
public class EntityConeHead extends MultiPartEntityPart{

	private EntityNormalZombie zombie;
	
	public EntityConeHead(EntityNormalZombie zombie, String partName, float width, float height) {
		super(zombie, partName, width, height);
		this.zombie=zombie;
		this.setExist();
	}

	@Override
	public boolean attackEntityFrom(DamageSource source, float amount) {
		//System.out.println(this.world.isRemote+" "+source.damageType+" "+amount);
		return super.attackEntityFrom(source, amount);
	}
	
	public void setExist()
	{
		if(this.parent instanceof EntityZombieBase) {
			if(((EntityZombieBase) this.parent).getIsInivs()) this.setInvisible(true);
			else this.setInvisible(false);
		}
		else {
			System.out.println("error parent!");
			return ;
		}
	}
	
	public EntityZombieBase getZombie()
	{
		return this.zombie;
	}
	
	public void setBreak()
	{
		this.setSize(0f, 0f);
		this.setInvisible(true);
	}
}
public class EntityConeHeadZombie extends EntityNormalZombie implements IEntityMultiPart{

	private final EntityConeHead cone;
	
	public EntityConeHeadZombie(World worldIn) {
		super(worldIn);
		cone=new EntityConeHead(this, "cone_head", 0.5f, 1f);
	}

	@Override
	protected void applyEntityAttributes()
    {
        super.applyEntityAttributes();
        this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(56.0D);
    }
	
	@Override
	public void onUpdate() {
		super.onUpdate();
		if(this.getHealth()<=20) {
			this.cone.setBreak();
		}
		else{
			this.cone.setLocationAndAngles(this.posX, this.posY+1.5, this.posZ, this.rotationYawHead, -this.rotationPitch);
		}
		this.world.updateEntityWithOptionalForce(this.cone, true);
	}
	
	@Override
	protected boolean canDespawn() {
		return false;
	}
	
	@Override
	public void setDead() {
		super.setDead();
		this.cone.setDead();
	}
	
	@Override
	public Entity[] getParts() {
		return new Entity[] {this.cone};
	}
	
	@Override
	public World getWorld() {
		return this.world;
	}

	@Override
	public boolean attackEntityFromPart(MultiPartEntityPart part, DamageSource source, float damage) {
		return this.attackEntityFrom(source, damage);
	}
	
	@Override
	public boolean isNonBoss() {
		return false;
	}
}

 

It's my first time to ask question at here.The problem is I am making a ConeHead Zombie by using multipartEntity ,When my peaShooter kill some ConeHead Zombie,there will exist some invisble object blocking my peaShooter's bullet.I know it may be the uncleared Cone,but I don't know how to deal with it.Pls help me ,thx !

1.12 is no longer supported on this forum due to age.

Please update to a modern version to receive support here.

 

More information on supported versions can be found in the LTS link at the top of every page.

  • Guest locked this topic
Guest
This topic is now closed to further replies.

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.