aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNassim Jahnke <[email protected]>2022-03-06 22:20:38 +0100
committerGitHub <[email protected]>2022-03-06 22:20:38 +0100
commitc34fb0942a73b932dc182c063e398ed47182fa61 (patch)
treea21ddd4e6b03495d1cd8be64f20437aaa24d3498
parentd9bf5e740bb7c9d726d01ab4a3cfb558ff1d8a85 (diff)
downloadPaper-c34fb0942a73b932dc182c063e398ed47182fa61.tar.gz
Paper-c34fb0942a73b932dc182c063e398ed47182fa61.zip
Add ghast api (#7554)
-rw-r--r--patches/api/0313-Missing-Entity-Behavior-API.patch43
-rw-r--r--patches/server/0683-Missing-Entity-Behavior-API.patch49
2 files changed, 92 insertions, 0 deletions
diff --git a/patches/api/0313-Missing-Entity-Behavior-API.patch b/patches/api/0313-Missing-Entity-Behavior-API.patch
index 39b23e64b9..4e3e31610d 100644
--- a/patches/api/0313-Missing-Entity-Behavior-API.patch
+++ b/patches/api/0313-Missing-Entity-Behavior-API.patch
@@ -175,6 +175,49 @@ index 498e182846b81d50b3a594254e8b341fb23e8763..3826363a1954afcddaadec7f96ac1830
+ public boolean isFaceplanted();
+ // Paper end - Add more fox behavior API
}
+diff --git a/src/main/java/org/bukkit/entity/Ghast.java b/src/main/java/org/bukkit/entity/Ghast.java
+index 3f5edf76ce303502cf4eeeb76f22f21f568dad5a..5930dc682c5c9273c748595e487b364b818a2fac 100644
+--- a/src/main/java/org/bukkit/entity/Ghast.java
++++ b/src/main/java/org/bukkit/entity/Ghast.java
+@@ -3,4 +3,37 @@ package org.bukkit.entity;
+ /**
+ * Represents a Ghast.
+ */
+-public interface Ghast extends Flying {}
++// Paper start
++public interface Ghast extends Flying {
++
++ /**
++ * Returns whether the ghast is charging an attack.
++ *
++ * @return whether the ghast is charging an attack
++ */
++ boolean isCharging();
++
++ /**
++ * Sets whether the ghast is charging an attack.
++ * This determines whether the client displays the charging animation.
++ *
++ * @param charging whether the ghast is charging an attack
++ */
++ void setCharging(boolean charging);
++
++ /**
++ * Returns the explosion power of shot fireballs.
++ *
++ * @return explosion power of shot fireballs
++ */
++ int getExplosionPower();
++
++ /**
++ * Sets the explosion power of shot fireballs.
++ *
++ * @param explosionPower explosion power of shot fireballs
++ * @throws IllegalArgumentException if the explosion power is less than 0 or greater than 127
++ */
++ void setExplosionPower(int explosionPower);
++ // Paper end
++}
diff --git a/src/main/java/org/bukkit/entity/Panda.java b/src/main/java/org/bukkit/entity/Panda.java
index a6a7429ed2e1eefb2b12b7480ed74fcc3963a864..1dcc2c8f4899da029af8b1c1b2ff1b5e368e82c1 100644
--- a/src/main/java/org/bukkit/entity/Panda.java
diff --git a/patches/server/0683-Missing-Entity-Behavior-API.patch b/patches/server/0683-Missing-Entity-Behavior-API.patch
index ac5c9fdaa1..14dd0e40a3 100644
--- a/patches/server/0683-Missing-Entity-Behavior-API.patch
+++ b/patches/server/0683-Missing-Entity-Behavior-API.patch
@@ -35,6 +35,23 @@ index cd278a859c87fc89c421378ffab1bd36a45bd65d..a726006888bbbdb290bcda3ac4fd45d6
public void setStanding(boolean angry) {
if (angry) {
this.setEating(false);
+diff --git a/src/main/java/net/minecraft/world/entity/monster/Ghast.java b/src/main/java/net/minecraft/world/entity/monster/Ghast.java
+index f834e96c48cce6af65a65dafcdeb2cf0ea12763a..77a5f8339df5a46967713b51570735de828f0b49 100644
+--- a/src/main/java/net/minecraft/world/entity/monster/Ghast.java
++++ b/src/main/java/net/minecraft/world/entity/monster/Ghast.java
+@@ -66,6 +66,12 @@ public class Ghast extends FlyingMob implements Enemy {
+ return this.explosionPower;
+ }
+
++ // Paper start
++ public void setExplosionPower(int explosionPower) {
++ this.explosionPower = explosionPower;
++ }
++ // Paper end
++
+ @Override
+ protected boolean shouldDespawnInPeaceful() {
+ return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
index 254d4f2e45d7c8f572a4368eccd84560d4d0d836..299ab868252c8f326e3a56e878c9ee230c9635dc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
@@ -156,6 +173,38 @@ index b647a5b9fdc1da61c4035d6f2cef7814033dc608..9795341efa748c2d94567e882cd5f26a
+ }
+ // Paper end - Add more fox behavior API
}
+diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftGhast.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftGhast.java
+index f0f0392a51db75e88df0e68c0db98d6dc1968c20..d0f0f380e9b185668580f31b061bdc08f0573a40 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftGhast.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftGhast.java
+@@ -24,4 +24,27 @@ public class CraftGhast extends CraftFlying implements Ghast {
+ public EntityType getType() {
+ return EntityType.GHAST;
+ }
++
++ // Paper start
++ @Override
++ public boolean isCharging() {
++ return this.getHandle().isCharging();
++ }
++
++ @Override
++ public void setCharging(boolean charging) {
++ this.getHandle().setCharging(charging);
++ }
++
++ @Override
++ public int getExplosionPower() {
++ return this.getHandle().getExplosionPower();
++ }
++
++ @Override
++ public void setExplosionPower(int explosionPower) {
++ com.google.common.base.Preconditions.checkArgument(explosionPower >= 0 && explosionPower <= 127, "The explosion power has to be between 0 and 127");
++ this.getHandle().setExplosionPower(explosionPower);
++ }
++ // Paper end
+ }
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPanda.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPanda.java
index 2d2620dbb16aec850e8afda02174508a4be5a313..ba4e6deaaa725296be830324d2c6486844a4e886 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPanda.java