package org.bukkit.craftbukkit.entity; import com.google.common.base.Preconditions; import java.util.UUID; import net.minecraft.server.EntityZombieVillager; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.entity.EntityType; import org.bukkit.entity.Villager; import org.bukkit.entity.ZombieVillager; public class CraftVillagerZombie extends CraftZombie implements ZombieVillager { public CraftVillagerZombie(CraftServer server, EntityZombieVillager entity) { super(server, entity); } @Override public EntityZombieVillager getHandle() { return (EntityZombieVillager) super.getHandle(); } @Override public String toString() { return "CraftVillagerZombie"; } @Override public EntityType getType() { return EntityType.ZOMBIE_VILLAGER; } @Override public Villager.Profession getVillagerProfession() { return Villager.Profession.values()[getHandle().getProfession() + Villager.Profession.FARMER.ordinal()]; } @Override public void setVillagerProfession(Villager.Profession profession) { getHandle().setProfession(profession == null ? 0 : profession.ordinal() - Villager.Profession.FARMER.ordinal()); } @Override public boolean isConverting() { return getHandle().isConverting(); } @Override public int getConversionTime() { Preconditions.checkState(isConverting(), "Entity not converting"); return getHandle().conversionTime; } @Override public void setConversionTime(int time) { if (time < 0) { getHandle().conversionTime = -1; getHandle().getDataWatcher().set(EntityZombieVillager.a, false); } else { getHandle().a((UUID) null, time); } } }