From f26d8e84ce9d53afff1d85e23fdc21c2da2f8168 Mon Sep 17 00:00:00 2001 From: Shane Bee Date: Thu, 13 Aug 2020 11:18:47 +1000 Subject: [PATCH] SPIGOT-4705: Revamp Ageable interface and add Breedable interface --- .../entity/CraftPiglinAbstract.java | 43 +++++++++++++++++++ .../craftbukkit/entity/CraftZoglin.java | 43 +++++++++++++++++++ .../craftbukkit/entity/CraftZombie.java | 43 +++++++++++++++++++ 3 files changed, 129 insertions(+) diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPiglinAbstract.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPiglinAbstract.java index b926d828e..e16585539 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPiglinAbstract.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPiglinAbstract.java @@ -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(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftZoglin.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftZoglin.java index e7e178215..a0e323623 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftZoglin.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftZoglin.java @@ -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) { + } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftZombie.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftZombie.java index 0429cf020..2387f17ac 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftZombie.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftZombie.java @@ -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) { + } }