Added EntityToggleSitEvent (#7579)
* Added EntityToggleSitEvent Patches * Updated event phrasing, fixed Boolean not being primitive, pandas now fire event, and event is defined and called in 1 line * Updated event phrasing, fixed Boolean not being primitive, pandas now fire event, and event is defined and called in 1 line * Added EntityToggleSitEvent Patches * Added EntityToggleSitEvent Patches * Added EntityToggleSitEvent Patches
This commit is contained in:
parent
3d50709776
commit
6ea5aa37bd
|
@ -0,0 +1,77 @@
|
||||||
|
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/io/papermc/paper/event/entity/EntityToggleSitEvent.java b/src/main/java/io/papermc/paper/event/entity/EntityToggleSitEvent.java
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000000000000000000000000000000000..982dad1bae89e52d29343101c424797e00a2b229
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/main/java/io/papermc/paper/event/entity/EntityToggleSitEvent.java
|
||||||
|
@@ -0,0 +1,65 @@
|
||||||
|
+package io.papermc.paper.event.entity;
|
||||||
|
+
|
||||||
|
+import org.bukkit.entity.Entity;
|
||||||
|
+import org.bukkit.event.Cancellable;
|
||||||
|
+import org.bukkit.event.HandlerList;
|
||||||
|
+import org.bukkit.event.entity.EntityEvent;
|
||||||
|
+import org.jetbrains.annotations.NotNull;
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * Is called when an entity sits down or stands up.
|
||||||
|
+ */
|
||||||
|
+public class EntityToggleSitEvent extends EntityEvent implements Cancellable {
|
||||||
|
+
|
||||||
|
+ private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||||
|
+
|
||||||
|
+ private boolean cancelled;
|
||||||
|
+ private final Entity entity;
|
||||||
|
+ private final boolean isSitting;
|
||||||
|
+
|
||||||
|
+ public EntityToggleSitEvent(@NotNull Entity entity, boolean isSitting) {
|
||||||
|
+ super(entity);
|
||||||
|
+ this.entity = entity;
|
||||||
|
+ this.isSitting = isSitting;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * The entity involved.
|
||||||
|
+ *
|
||||||
|
+ * @return The entity.
|
||||||
|
+ */
|
||||||
|
+ @NotNull
|
||||||
|
+ public Entity getEntity() {
|
||||||
|
+ return this.entity;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Gets the new sitting state that the entity will change to.
|
||||||
|
+ *
|
||||||
|
+ * @return If it's going to sit or not.
|
||||||
|
+ */
|
||||||
|
+ public boolean getSittingState() {
|
||||||
|
+ return this.isSitting;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public boolean isCancelled() {
|
||||||
|
+ return this.cancelled;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void setCancelled(boolean cancel) {
|
||||||
|
+ this.cancelled = cancel;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @NotNull
|
||||||
|
+ @Override
|
||||||
|
+ public HandlerList getHandlers() {
|
||||||
|
+ return HANDLER_LIST;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @NotNull
|
||||||
|
+ public static HandlerList getHandlerList() {
|
||||||
|
+ return HANDLER_LIST;
|
||||||
|
+ }
|
||||||
|
+}
|
|
@ -0,0 +1,42 @@
|
||||||
|
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 acc25fb309568864dd7b53ad6a7a3ee6ff18e82a..3d36b2198c07d1402f4b196d7c24682c6496ea48 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/TamableAnimal.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/TamableAnimal.java
|
||||||
|
@@ -125,6 +125,7 @@ public abstract class TamableAnimal extends Animal implements OwnableEntity {
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInSittingPose(boolean inSittingPose) {
|
||||||
|
+ if (!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 6a66b5d1a3d8615dcc15057f03476e9ccbf4b4f2..b1cb17d69bcbeca42136f97fcd136acde87f6568 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||||
|
@@ -434,6 +434,7 @@ public class Fox extends Animal {
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSitting(boolean sitting) {
|
||||||
|
+ if (!new io.papermc.paper.event.entity.EntityToggleSitEvent(this.getBukkitEntity(), sitting).callEvent()) return; // Paper start - call 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 39c26f486d6392eb0a9b623cdb2161846357174b..1494a3d5256f663b17617356d57d2e09aeec6189 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||||
|
@@ -131,6 +131,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);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue