diff options
Diffstat (limited to 'patches/unapplied/server/0905-Added-EntityToggleSitEvent.patch')
-rw-r--r-- | patches/unapplied/server/0905-Added-EntityToggleSitEvent.patch | 100 |
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()); + } |