aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0749-Add-EntityToggleSitEvent.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0749-Add-EntityToggleSitEvent.patch')
-rw-r--r--patches/server/0749-Add-EntityToggleSitEvent.patch100
1 files changed, 100 insertions, 0 deletions
diff --git a/patches/server/0749-Add-EntityToggleSitEvent.patch b/patches/server/0749-Add-EntityToggleSitEvent.patch
new file mode 100644
index 0000000000..7bab6af93d
--- /dev/null
+++ b/patches/server/0749-Add-EntityToggleSitEvent.patch
@@ -0,0 +1,100 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: KyGuy2002 <IEatBeans#1165>
+Date: Fri, 11 Mar 2022 15:33:10 +0000
+Subject: [PATCH] Add EntityToggleSitEvent
+
+
+diff --git a/src/main/java/net/minecraft/world/entity/TamableAnimal.java b/src/main/java/net/minecraft/world/entity/TamableAnimal.java
+index 749ae54ee42229cb32ec5280bc59a88f74fde197..f6a253e063f4a2cf78a036e44431806a0ba270d9 100644
+--- a/src/main/java/net/minecraft/world/entity/TamableAnimal.java
++++ b/src/main/java/net/minecraft/world/entity/TamableAnimal.java
+@@ -87,7 +87,7 @@ public abstract class TamableAnimal extends Animal implements OwnableEntity {
+ }
+
+ this.orderedToSit = nbt.getBoolean("Sitting");
+- this.setInSittingPose(this.orderedToSit);
++ this.setInSittingPose(this.orderedToSit, false); // Paper - Add EntityToggleSitEvent
+ }
+
+ @Override
+@@ -167,6 +167,12 @@ public abstract class TamableAnimal extends Animal implements OwnableEntity {
+ }
+
+ public void setInSittingPose(boolean inSittingPose) {
++ // Paper start - Add EntityToggleSitEvent
++ this.setInSittingPose(inSittingPose, true);
++ }
++ public void setInSittingPose(boolean inSittingPose, boolean callEvent) {
++ if (callEvent && !new io.papermc.paper.event.entity.EntityToggleSitEvent(this.getBukkitEntity(), inSittingPose).callEvent()) return;
++ // Paper end - Add EntityToggleSitEvent
+ byte b0 = (Byte) this.entityData.get(TamableAnimal.DATA_FLAGS_ID);
+
+ if (inSittingPose) {
+diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
+index 67ea374ae3c66af434b4aadbe702a44d230fbe09..a9a8ebb2cebe668628d5bdb33fa1399e0ab1e08b 100644
+--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
++++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
+@@ -419,7 +419,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Variant> {
+
+ this.setSleeping(nbt.getBoolean("Sleeping"));
+ this.setVariant(Fox.Variant.byName(nbt.getString("Type")));
+- this.setSitting(nbt.getBoolean("Sitting"));
++ this.setSitting(nbt.getBoolean("Sitting"), false); // Paper - Add EntityToggleSitEvent
+ this.setIsCrouching(nbt.getBoolean("Crouching"));
+ if (this.level() instanceof ServerLevel) {
+ this.setTargetGoals();
+@@ -432,6 +432,12 @@ public class Fox extends Animal implements VariantHolder<Fox.Variant> {
+ }
+
+ public void setSitting(boolean sitting) {
++ // Paper start - Add EntityToggleSitEvent
++ this.setSitting(sitting, true);
++ }
++ public void setSitting(boolean sitting, boolean fireEvent) {
++ if (fireEvent && !new io.papermc.paper.event.entity.EntityToggleSitEvent(this.getBukkitEntity(), sitting).callEvent()) return;
++ // Paper end - Add EntityToggleSitEvent
+ this.setFlag(1, sitting);
+ }
+
+diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
+index 4f04170b3ec4ff59358e10ccfd0799af3ab590c3..b654bec0fbe903fac24f3bb99399455bf367c68a 100644
+--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
++++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
+@@ -134,6 +134,7 @@ public class Panda extends Animal {
+ }
+
+ public void sit(boolean sitting) {
++ if (!new io.papermc.paper.event.entity.EntityToggleSitEvent(this.getBukkitEntity(), sitting).callEvent()) return; // Paper - Add EntityToggleSitEvent
+ this.setFlag(8, sitting);
+ }
+
+diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+index b6baa40dac6d6bf40c4ee7ee75b8a8e6f60733a1..c99d37a40c63726c11980adccc67d09fd5132885 100644
+--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
++++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+@@ -572,7 +572,7 @@ public class Camel extends AbstractHorse {
+ }
+
+ public void sitDown() {
+- if (!this.isCamelSitting()) {
++ if (!this.isCamelSitting() && new io.papermc.paper.event.entity.EntityToggleSitEvent(this.getBukkitEntity(), true).callEvent()) { // Paper - Add EntityToggleSitEvent
+ this.makeSound(SoundEvents.CAMEL_SIT);
+ this.setPose(Pose.SITTING);
+ this.gameEvent(GameEvent.ENTITY_ACTION);
+@@ -581,7 +581,7 @@ public class Camel extends AbstractHorse {
+ }
+
+ public void standUp() {
+- if (this.isCamelSitting()) {
++ if (this.isCamelSitting() && new io.papermc.paper.event.entity.EntityToggleSitEvent(this.getBukkitEntity(), false).callEvent()) { // Paper - Add EntityToggleSitEvent
+ this.makeSound(SoundEvents.CAMEL_STAND);
+ this.setPose(Pose.STANDING);
+ this.gameEvent(GameEvent.ENTITY_ACTION);
+@@ -590,6 +590,7 @@ public class Camel extends AbstractHorse {
+ }
+
+ public void standUpInstantly() {
++ if (this.isCamelSitting() && !new io.papermc.paper.event.entity.EntityToggleSitEvent(this.getBukkitEntity(), false).callEvent()) return; // Paper - Add EntityToggleSitEvent
+ this.setPose(Pose.STANDING);
+ this.gameEvent(GameEvent.ENTITY_ACTION);
+ this.resetLastPoseChangeTickToFullStand(this.level().getGameTime());