2021-11-22 09:00:00 +11:00

127 lines
2.7 KiB
Java

package org.bukkit.craftbukkit.entity;
import com.google.common.base.Preconditions;
import net.minecraft.world.entity.monster.EntityZombie;
import net.minecraft.world.entity.monster.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";
}
@Override
public EntityType getType() {
return EntityType.ZOMBIE;
}
@Override
public boolean isBaby() {
return getHandle().isBaby();
}
@Override
public void setBaby(boolean flag) {
getHandle().setBaby(flag);
}
@Override
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().isUnderWaterConverting();
}
@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().getEntityData().set(EntityZombie.DATA_DROWNED_CONVERSION_ID, false);
} else {
getHandle().startUnderWaterConversion(time);
}
}
@Override
public int getAge() {
return getHandle().isBaby() ? -1 : 0;
}
@Override
public void setAge(int i) {
getHandle().setBaby(i < 0);
}
@Override
public void setAgeLock(boolean b) {
}
@Override
public boolean getAgeLock() {
return false;
}
@Override
public void setBaby() {
getHandle().setBaby(true);
}
@Override
public void setAdult() {
getHandle().setBaby(false);
}
@Override
public boolean isAdult() {
return !getHandle().isBaby();
}
@Override
public boolean canBreed() {
return false;
}
@Override
public void setBreed(boolean b) {
}
}