80 lines
2.0 KiB
Java

package org.bukkit.craftbukkit.entity;
import com.google.common.base.Preconditions;
import net.minecraft.server.EntityZombie;
import net.minecraft.server.EntityZombieVillager;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Villager;
import org.bukkit.entity.Zombie;
public class CraftZombie extends CraftMonster implements Zombie {
public CraftZombie(CraftServer server, EntityZombie entity) {
super(server, entity);
}
@Override
public EntityZombie getHandle() {
return (EntityZombie) entity;
}
@Override
public String toString() {
return "CraftZombie";
}
public EntityType getType() {
return EntityType.ZOMBIE;
}
public boolean isBaby() {
return getHandle().isBaby();
}
public void setBaby(boolean flag) {
getHandle().setBaby(flag);
}
public boolean isVillager() {
return getHandle() instanceof EntityZombieVillager;
}
@Override
public void setVillager(boolean flag) {
throw new UnsupportedOperationException("Not supported.");
}
@Override
public void setVillagerProfession(Villager.Profession profession) {
throw new UnsupportedOperationException("Not supported.");
}
@Override
public Villager.Profession getVillagerProfession() {
return null;
}
@Override
public boolean isConverting() {
return getHandle().isDrownConverting();
}
@Override
public int getConversionTime() {
Preconditions.checkState(isConverting(), "Entity not converting");
return getHandle().drownedConversionTime;
}
@Override
public void setConversionTime(int time) {
if (time < 0) {
getHandle().drownedConversionTime = -1;
getHandle().getDataWatcher().set(EntityZombie.DROWN_CONVERTING, false);
} else {
getHandle().startDrownedConversion(time);
}
}
}