SPIGOT-4705: Revamp Ageable interface and add Breedable interface

This commit is contained in:
Shane Bee 2020-08-13 11:18:47 +10:00 committed by md_5
parent 43c7ff9d77
commit f26d8e84ce
No known key found for this signature in database
GPG key ID: E8E901AC7C617C11
3 changed files with 129 additions and 0 deletions

View file

@ -52,6 +52,49 @@ public class CraftPiglinAbstract extends CraftMonster implements PiglinAbstract
getHandle().setBaby(flag);
}
@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) {
}
@Override
public EntityPiglinAbstract getHandle() {
return (EntityPiglinAbstract) super.getHandle();

View file

@ -35,4 +35,47 @@ public class CraftZoglin extends CraftMonster implements Zoglin {
public EntityType getType() {
return EntityType.ZOGLIN;
}
@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) {
}
}

View file

@ -80,4 +80,47 @@ public class CraftZombie extends CraftMonster implements Zombie {
getHandle().startDrownedConversion(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) {
}
}