127 lines
2.7 KiB
Java
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) {
|
|
}
|
|
}
|