summaryrefslogtreecommitdiffhomepage
path: root/patches/unapplied/server/0905-Added-EntityToggleSitEvent.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/unapplied/server/0905-Added-EntityToggleSitEvent.patch')
-rw-r--r--patches/unapplied/server/0905-Added-EntityToggleSitEvent.patch100
1 files changed, 100 insertions, 0 deletions
diff --git a/patches/unapplied/server/0905-Added-EntityToggleSitEvent.patch b/patches/unapplied/server/0905-Added-EntityToggleSitEvent.patch
new file mode 100644
index 0000000000..bcf83ec157
--- /dev/null
+++ b/patches/unapplied/server/0905-Added-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] Added EntityToggleSitEvent
+
+
+diff --git a/src/main/java/net/minecraft/world/entity/TamableAnimal.java b/src/main/java/net/minecraft/world/entity/TamableAnimal.java
+index dcb4a886a1ade6dfabd9e5fc20d9db433438b959..0fc4a3e196ecdf16250d8b62136b2a4fe1ab6f84 100644
+--- a/src/main/java/net/minecraft/world/entity/TamableAnimal.java
++++ b/src/main/java/net/minecraft/world/entity/TamableAnimal.java
+@@ -67,7 +67,7 @@ public abstract class TamableAnimal extends Animal implements OwnableEntity {
+ }
+
+ this.orderedToSit = nbt.getBoolean("Sitting");
+- this.setInSittingPose(this.orderedToSit);
++ this.setInSittingPose(this.orderedToSit, false); // Paper - Don't fire event
+ }
+
+ @Override
+@@ -125,6 +125,12 @@ public abstract class TamableAnimal extends Animal implements OwnableEntity {
+ }
+
+ public void setInSittingPose(boolean inSittingPose) {
++ // Paper start
++ this.setInSittingPose(inSittingPose, true);
++ }
++ public void setInSittingPose(boolean inSittingPose, boolean callEvent) {
++ // Paper end
++ if (callEvent && !new io.papermc.paper.event.entity.EntityToggleSitEvent(this.getBukkitEntity(), inSittingPose).callEvent()) return; // Paper start - call EntityToggleSitEvent
+ byte b = this.entityData.get(DATA_FLAGS_ID);
+ if (inSittingPose) {
+ this.entityData.set(DATA_FLAGS_ID, (byte)(b | 1));
+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 3f9b8873afb22fcf4f741297e77b197899c088f5..89894bc6a55bc7e456a9d49ac48f6a8192b890ae 100644
+--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
++++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
+@@ -427,7 +427,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
+
+ this.setSleeping(nbt.getBoolean("Sleeping"));
+ this.setVariant(Fox.Type.byName(nbt.getString("Type")));
+- this.setSitting(nbt.getBoolean("Sitting"));
++ this.setSitting(nbt.getBoolean("Sitting"), false); // Paper
+ this.setIsCrouching(nbt.getBoolean("Crouching"));
+ if (this.level instanceof ServerLevel) {
+ this.setTargetGoals();
+@@ -440,6 +440,12 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
+ }
+
+ public void setSitting(boolean sitting) {
++ this.setSitting(sitting, true);
++ }
++ // Paper start
++ public void setSitting(boolean sitting, boolean fireEvent) {
++ if (fireEvent && !new io.papermc.paper.event.entity.EntityToggleSitEvent(this.getBukkitEntity(), sitting).callEvent()) return;
++ // Paper end
+ 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 0a18108fda778af5b600f77533770bd98584d60e..9c1e02c3a990cd0f8bba1c84c170b438278c02a7 100644
+--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
++++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
+@@ -132,6 +132,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 start - call 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 37882a393d7c17a9437145ab5fe1f74370681146..05c7680569346bb863b896bcc9515f3e7cfb8114 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
+@@ -586,7 +586,7 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
+ }
+
+ public void sitDown() {
+- if (!this.isCamelSitting()) {
++ if (!this.isCamelSitting() && new io.papermc.paper.event.entity.EntityToggleSitEvent(this.getBukkitEntity(), true).callEvent()) { // Paper
+ this.playSound(SoundEvents.CAMEL_SIT, 1.0F, 1.0F);
+ this.setPose(Pose.SITTING);
+ this.resetLastPoseChangeTick(-this.level.getGameTime());
+@@ -594,7 +594,7 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
+ }
+
+ public void standUp() {
+- if (this.isCamelSitting()) {
++ if (this.isCamelSitting() && new io.papermc.paper.event.entity.EntityToggleSitEvent(this.getBukkitEntity(), false).callEvent()) { // Paper
+ this.playSound(SoundEvents.CAMEL_STAND, 1.0F, 1.0F);
+ this.setPose(Pose.STANDING);
+ this.resetLastPoseChangeTick(this.level.getGameTime());
+@@ -602,6 +602,7 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
+ }
+
+ public void standUpPanic() {
++ if (this.isCamelSitting() && !new io.papermc.paper.event.entity.EntityToggleSitEvent(this.getBukkitEntity(), false).callEvent()) return; // Paper
+ this.setPose(Pose.STANDING);
+ this.resetLastPoseChangeTickToFullStand(this.level.getGameTime());
+ }