aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorbooky10 <[email protected]>2023-11-11 22:17:36 +0100
committerGitHub <[email protected]>2023-11-11 16:17:36 -0500
commit9ee60eca7d75ad2eeec88ec80d7f743b40bedf0f (patch)
tree284310ca23a7f5d578a5bd09e589dee610c36a8c
parentdd47ec6fe283c27d008f8ad1e69dc144f3732989 (diff)
downloadPaper-9ee60eca7d75ad2eeec88ec80d7f743b40bedf0f.tar.gz
Paper-9ee60eca7d75ad2eeec88ec80d7f743b40bedf0f.zip
Add aggressive mob API (#9838)
-rw-r--r--patches/api/0117-RangedEntity-API.patch8
-rw-r--r--patches/api/0162-Add-more-Zombie-API.patch8
-rw-r--r--patches/api/0236-Zombie-API-breaking-doors.patch4
-rw-r--r--patches/api/0299-Missing-Entity-API.patch43
-rw-r--r--patches/api/0317-Left-handed-API.patch8
-rw-r--r--patches/api/0412-Add-Mob-Experience-reward-API.patch4
-rw-r--r--patches/server/0624-Missing-Entity-API.patch21
-rw-r--r--patches/server/0660-Left-handed-API.patch5
-rw-r--r--patches/server/0934-Add-Mob-Experience-reward-API.patch4
9 files changed, 89 insertions, 16 deletions
diff --git a/patches/api/0117-RangedEntity-API.patch b/patches/api/0117-RangedEntity-API.patch
index ee7e081646..06c2346c94 100644
--- a/patches/api/0117-RangedEntity-API.patch
+++ b/patches/api/0117-RangedEntity-API.patch
@@ -8,10 +8,10 @@ and to perform an attack.
diff --git a/src/main/java/com/destroystokyo/paper/entity/RangedEntity.java b/src/main/java/com/destroystokyo/paper/entity/RangedEntity.java
new file mode 100644
-index 0000000000000000000000000000000000000000..f2e3233a3d1744e32fb76d3731b9858ef0067e30
+index 0000000000000000000000000000000000000000..b5eb4239763f8f919bc328d95c846d5ef1a9d24f
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/entity/RangedEntity.java
-@@ -0,0 +1,31 @@
+@@ -0,0 +1,35 @@
+package com.destroystokyo.paper.entity;
+
+import org.bukkit.entity.LivingEntity;
@@ -32,13 +32,17 @@ index 0000000000000000000000000000000000000000..f2e3233a3d1744e32fb76d3731b9858e
+ * Sets that the Entity is "charging" up an attack, by raising its hands
+ *
+ * @param raiseHands Whether the entities hands are raised to charge attack
++ * @deprecated use {@link #isAggressive()}
+ */
++ @Deprecated
+ void setChargingAttack(boolean raiseHands);
+
+ /**
+ * Alias to {@link LivingEntity#isHandRaised()}, if the entity is charging an attack
+ * @return If entities hands are raised
++ * @deprecated use {@link #isHandRaised()}
+ */
++ @Deprecated
+ default boolean isChargingAttack() {
+ return isHandRaised();
+ }
diff --git a/patches/api/0162-Add-more-Zombie-API.patch b/patches/api/0162-Add-more-Zombie-API.patch
index 7f559eef52..38efc859d8 100644
--- a/patches/api/0162-Add-more-Zombie-API.patch
+++ b/patches/api/0162-Add-more-Zombie-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add more Zombie API
diff --git a/src/main/java/org/bukkit/entity/Zombie.java b/src/main/java/org/bukkit/entity/Zombie.java
-index 336b3efaf0a8ed5a238e8b941193d690e8b72d71..227560e04854088d162b4b6ed4cd1503d55c3200 100644
+index 336b3efaf0a8ed5a238e8b941193d690e8b72d71..c1a5b625ea602d751a8026d989882c60e80756c9 100644
--- a/src/main/java/org/bukkit/entity/Zombie.java
+++ b/src/main/java/org/bukkit/entity/Zombie.java
-@@ -107,4 +107,56 @@ public interface Zombie extends Monster, Ageable {
+@@ -107,4 +107,60 @@ public interface Zombie extends Monster, Ageable {
* @param flag Whether this zombie can break doors
*/
void setCanBreakDoors(boolean flag);
@@ -40,14 +40,18 @@ index 336b3efaf0a8ed5a238e8b941193d690e8b72d71..227560e04854088d162b4b6ed4cd1503
+ * Set if zombie has its arms raised
+ *
+ * @param raised True to raise arms
++ * @deprecated use {{@link #setAggressive(boolean)}}
+ */
++ @Deprecated
+ void setArmsRaised(boolean raised);
+
+ /**
+ * Check if zombie has arms raised
+ *
+ * @return True if arms are raised
++ * @deprecated use {@link #isAggressive()}
+ */
++ @Deprecated
+ boolean isArmsRaised();
+
+ /**
diff --git a/patches/api/0236-Zombie-API-breaking-doors.patch b/patches/api/0236-Zombie-API-breaking-doors.patch
index cda09b776b..18f139227e 100644
--- a/patches/api/0236-Zombie-API-breaking-doors.patch
+++ b/patches/api/0236-Zombie-API-breaking-doors.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Zombie API - breaking doors
diff --git a/src/main/java/org/bukkit/entity/Zombie.java b/src/main/java/org/bukkit/entity/Zombie.java
-index 227560e04854088d162b4b6ed4cd1503d55c3200..bb4f55f7d42d9789737f4b83974993aa166ca950 100644
+index cb0d979257e6781b82926594472ca46e858dd6b1..453c8526445ba11e6a196b8e66105191b60f58d5 100644
--- a/src/main/java/org/bukkit/entity/Zombie.java
+++ b/src/main/java/org/bukkit/entity/Zombie.java
@@ -100,8 +100,10 @@ public interface Zombie extends Monster, Ageable {
@@ -21,7 +21,7 @@ index 227560e04854088d162b4b6ed4cd1503d55c3200..bb4f55f7d42d9789737f4b83974993aa
* the entity is currently breaking a door.
*
* @param flag Whether this zombie can break doors
-@@ -158,5 +160,15 @@ public interface Zombie extends Monster, Ageable {
+@@ -162,5 +164,15 @@ public interface Zombie extends Monster, Ageable {
* @param shouldBurnInDay True to burn in sunlight
*/
void setShouldBurnInDay(boolean shouldBurnInDay);
diff --git a/patches/api/0299-Missing-Entity-API.patch b/patches/api/0299-Missing-Entity-API.patch
index b3de1351da..859dcbf8e7 100644
--- a/patches/api/0299-Missing-Entity-API.patch
+++ b/patches/api/0299-Missing-Entity-API.patch
@@ -635,6 +635,49 @@ index d23226ccb0f6c25028f000ce31346cd0a8898e6a..bc84b892cae5fe7019a3ad481e9da799
+ Llama getCaravanTail();
+ // Paper end
}
+diff --git a/src/main/java/org/bukkit/entity/Mob.java b/src/main/java/org/bukkit/entity/Mob.java
+index 11b6d1aba7d1f6ae1f3c822193486f5a1478e105..709c8fc3dde786f45ff13d6ee6c405ffdc765282 100644
+--- a/src/main/java/org/bukkit/entity/Mob.java
++++ b/src/main/java/org/bukkit/entity/Mob.java
+@@ -162,4 +162,38 @@ public interface Mob extends LivingEntity, Lootable {
+ */
+ @Nullable
+ public Sound getAmbientSound();
++
++ // Paper start
++ /**
++ * Some mobs will raise their arm(s) when aggressive:
++ * <ul>
++ * <li>{@link Drowned}</li>
++ * <li>{@link Piglin}</li>
++ * <li>{@link Skeleton}</li>
++ * <li>{@link Zombie}</li>
++ * <li>{@link ZombieVillager}</li>
++ * <li>{@link Illusioner}</li>
++ * <li>{@link Vindicator}</li>
++ * <li>{@link Panda}</li>
++ * <li>{@link Pillager}</li>
++ * <li>{@link PiglinBrute}</li>
++ * </ul>
++ * <p>
++ * Note: This doesn't always show the actual aggressive state as
++ * set by {@link #setAggressive(boolean)}. {@link Panda}'s are always
++ * aggressive if their combined {@link Panda.Gene} is {@link Panda.Gene#AGGRESSIVE}.
++ *
++ * @return wether the mob is aggressive or not
++ */
++ boolean isAggressive();
++
++ /**
++ * Some mobs will raise their arm(s) when aggressive,
++ * see {@link #isAggressive()} for full list.
++ *
++ * @param aggressive wether the mob should be aggressive or not
++ * @see #isAggressive()
++ */
++ void setAggressive(boolean aggressive);
++ // Paper end
+ }
diff --git a/src/main/java/org/bukkit/entity/MushroomCow.java b/src/main/java/org/bukkit/entity/MushroomCow.java
index 939a3dbfcf38f38e4e39d28973ef723157ce0a50..738d547d2a6966122cb2f9f6e94263ee526d9fab 100644
--- a/src/main/java/org/bukkit/entity/MushroomCow.java
diff --git a/patches/api/0317-Left-handed-API.patch b/patches/api/0317-Left-handed-API.patch
index 6b5d42a329..cae17a697b 100644
--- a/patches/api/0317-Left-handed-API.patch
+++ b/patches/api/0317-Left-handed-API.patch
@@ -5,13 +5,13 @@ Subject: [PATCH] Left handed API
diff --git a/src/main/java/org/bukkit/entity/Mob.java b/src/main/java/org/bukkit/entity/Mob.java
-index 11b6d1aba7d1f6ae1f3c822193486f5a1478e105..d53de07b40d9cd63a9553d4b0ad442d526530b92 100644
+index 709c8fc3dde786f45ff13d6ee6c405ffdc765282..0c511b64672f9bafb92be3aea6bab8c1c12a7041 100644
--- a/src/main/java/org/bukkit/entity/Mob.java
+++ b/src/main/java/org/bukkit/entity/Mob.java
-@@ -162,4 +162,20 @@ public interface Mob extends LivingEntity, Lootable {
+@@ -196,4 +196,20 @@ public interface Mob extends LivingEntity, Lootable {
*/
- @Nullable
- public Sound getAmbientSound();
+ void setAggressive(boolean aggressive);
+ // Paper end
+
+ // Paper start
+ /**
diff --git a/patches/api/0412-Add-Mob-Experience-reward-API.patch b/patches/api/0412-Add-Mob-Experience-reward-API.patch
index e399177aeb..2e3a09921e 100644
--- a/patches/api/0412-Add-Mob-Experience-reward-API.patch
+++ b/patches/api/0412-Add-Mob-Experience-reward-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Mob Experience reward API
diff --git a/src/main/java/org/bukkit/entity/Mob.java b/src/main/java/org/bukkit/entity/Mob.java
-index d53de07b40d9cd63a9553d4b0ad442d526530b92..9e289e92ad76cf61d445b77e3765b0e3ea1abcf7 100644
+index 0c511b64672f9bafb92be3aea6bab8c1c12a7041..30ef0c20df8ff2ed56adb40fea103265dd3e886c 100644
--- a/src/main/java/org/bukkit/entity/Mob.java
+++ b/src/main/java/org/bukkit/entity/Mob.java
-@@ -178,4 +178,13 @@ public interface Mob extends LivingEntity, Lootable {
+@@ -212,4 +212,13 @@ public interface Mob extends LivingEntity, Lootable {
*/
public void setLeftHanded(boolean leftHanded);
// Paper end
diff --git a/patches/server/0624-Missing-Entity-API.patch b/patches/server/0624-Missing-Entity-API.patch
index 66c2117073..47f3af87b7 100644
--- a/patches/server/0624-Missing-Entity-API.patch
+++ b/patches/server/0624-Missing-Entity-API.patch
@@ -839,6 +839,27 @@ index 17f5684cba9d3ed22d9925d1951520cc4751dfe2..3a3563a1bdbc0d84d973b3a04b50b78b
+ }
+ // Paper end
}
+diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
+index 6152f4d3d58f4b598d5bd92dbd7c5428c5ff8bc5..a5d3845acc607f640dace05a85f0089611c7d23a 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
+@@ -148,4 +148,16 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob {
+ return getHandle().getMaxHeadXRot();
+ }
+ // Paper end
++
++ // Paper start
++ @Override
++ public boolean isAggressive() {
++ return this.getHandle().isAggressive();
++ }
++
++ @Override
++ public void setAggressive(boolean aggressive) {
++ this.getHandle().setAggressive(aggressive);
++ }
++ // Paper end
+ }
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMushroomCow.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMushroomCow.java
index 77cede9c565a3bc404878c9a4028cadc90f6c010..ade11598bee28fea252e3500aaa1daefc506c175 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMushroomCow.java
diff --git a/patches/server/0660-Left-handed-API.patch b/patches/server/0660-Left-handed-API.patch
index e75eb9ca95..2a665f7283 100644
--- a/patches/server/0660-Left-handed-API.patch
+++ b/patches/server/0660-Left-handed-API.patch
@@ -8,7 +8,7 @@ diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/mai
index 6152f4d3d58f4b598d5bd92dbd7c5428c5ff8bc5..40d277f2737f1a060c3047313289c73307948e73 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
-@@ -147,5 +147,15 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob {
+@@ -147,6 +147,16 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob {
public int getMaxHeadPitch() {
return getHandle().getMaxHeadXRot();
}
@@ -23,4 +23,5 @@ index 6152f4d3d58f4b598d5bd92dbd7c5428c5ff8bc5..40d277f2737f1a060c3047313289c733
+ getHandle().setLeftHanded(leftHanded);
+ }
// Paper end
- }
+
+ // Paper start
diff --git a/patches/server/0934-Add-Mob-Experience-reward-API.patch b/patches/server/0934-Add-Mob-Experience-reward-API.patch
index 941296a95c..6df9a52caa 100644
--- a/patches/server/0934-Add-Mob-Experience-reward-API.patch
+++ b/patches/server/0934-Add-Mob-Experience-reward-API.patch
@@ -8,8 +8,8 @@ diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/mai
index 40d277f2737f1a060c3047313289c73307948e73..b4e45d8e9851552f30c9c29d3d9671e1e9094c38 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
-@@ -158,4 +158,11 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob {
- getHandle().setLeftHanded(leftHanded);
+@@ -170,4 +170,11 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob {
+ this.getHandle().setAggressive(aggressive);
}
// Paper end
+