Newer
Older
ultramine_bukkit / src / main / java / org / bukkit / craftbukkit / entity / CraftComplexPart.java
@vlad20012 vlad20012 on 24 Feb 2017 1 KB initial
package org.bukkit.craftbukkit.entity;

import net.minecraft.entity.boss.EntityDragonPart;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.ComplexEntityPart;
import org.bukkit.entity.ComplexLivingEntity;
import org.bukkit.entity.EntityType;
import org.bukkit.event.entity.EntityDamageEvent;
import org.ultramine.mods.bukkit.interfaces.entity.IMixinEntity;

public class CraftComplexPart extends CraftEntity implements ComplexEntityPart
{
	public CraftComplexPart(CraftServer server, EntityDragonPart entity)
	{
		super(server, entity);
	}

	public ComplexLivingEntity getParent()
	{
		// Cauldron start - Fix twilight Hydra crashes
		org.bukkit.entity.Entity result = getParentEntity();
		return (result instanceof ComplexLivingEntity) ? (ComplexLivingEntity) result : null;
	}

	private org.bukkit.entity.Entity getParentEntity()
	{
		return ((IMixinEntity) getHandle().entityDragonObj).getBukkitEntity();
	}

	@Override
	public void setLastDamageCause(EntityDamageEvent cause)
	{
		getParentEntity().setLastDamageCause(cause);
	}

	@Override
	public EntityDamageEvent getLastDamageCause()
	{
		return getParentEntity().getLastDamageCause();
		// Cauldron end
	}

	@Override
	public EntityDragonPart getHandle()
	{
		return (EntityDragonPart) entity;
	}

	@Override
	public String toString()
	{
		return "CraftComplexPart";
	}

	public EntityType getType()
	{
		return EntityType.COMPLEX_PART;
	}
}