package com.laytonsmith.abstraction.bukkit.entities; import com.laytonsmith.abstraction.AbstractionObject; import com.laytonsmith.abstraction.entities.MCZombie; import com.laytonsmith.core.CHLog; import com.laytonsmith.core.LogLevel; import com.laytonsmith.core.constructs.Target; import org.bukkit.entity.Entity; import org.bukkit.entity.Zombie; /** * * @author Hekta */ public class BukkitMCZombie extends BukkitMCLivingEntity implements MCZombie { public BukkitMCZombie(Entity zombie) { super(zombie); } public BukkitMCZombie(AbstractionObject ao) { this((Zombie) ao.getHandle()); } @Override public Zombie getHandle() { return (Zombie)super.asLivingEntity(); } @Override public boolean isBaby() { return getHandle().isBaby(); } @Override public void setBaby(boolean isBaby) { getHandle().setBaby(isBaby); } @Override public boolean isVillager() { return getHandle().isVillager(); } @Override public void setVillager(boolean isVillager) { try { getHandle().setVillager(isVillager); } catch(UnsupportedOperationException ex){ // 1.11 or later CHLog.GetLogger().Log(CHLog.Tags.DEPRECATION, LogLevel.ERROR, "Cannot change a Zombie to ZombieVillager in Minecraft 1.11+", Target.UNKNOWN); } } }