Fix issues with CreeperIgniteEvent (#7507)

This commit is contained in:
Jake Potrebic 2022-07-31 10:14:54 -07:00 committed by GitHub
parent fcb7b73847
commit 1f0d70743e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 3 deletions

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Add More Creeper API
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/CreeperIgniteEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/CreeperIgniteEvent.java diff --git a/src/main/java/com/destroystokyo/paper/event/entity/CreeperIgniteEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/CreeperIgniteEvent.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..ff10251b6ded533b08048ec533525176eff03707 index 0000000000000000000000000000000000000000..e9768c919a1860881802ab68eff559874590ac1c
--- /dev/null --- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/CreeperIgniteEvent.java +++ b/src/main/java/com/destroystokyo/paper/event/entity/CreeperIgniteEvent.java
@@ -0,0 +1,54 @@ @@ -0,0 +1,56 @@
+package com.destroystokyo.paper.event.entity; +package com.destroystokyo.paper.event.entity;
+ +
+import org.bukkit.entity.Creeper; +import org.bukkit.entity.Creeper;
@ -19,7 +19,9 @@ index 0000000000000000000000000000000000000000..ff10251b6ded533b08048ec533525176
+import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.NotNull;
+ +
+/** +/**
+ * Called when a Creeper is ignite flag is changed (armed/disarmed to explode). + * Called when a Creeper is ignited either by a
+ * flint and steel, {@link Creeper#ignite()} or
+ * {@link Creeper#setIgnited(boolean)}.
+ */ + */
+public class CreeperIgniteEvent extends EntityEvent implements Cancellable { +public class CreeperIgniteEvent extends EntityEvent implements Cancellable {
+ private static final HandlerList handlers = new HandlerList(); + private static final HandlerList handlers = new HandlerList();

View File

@ -8,6 +8,15 @@ diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src
index bc493838420a6857ebc86f84cabdc1b6e3e637a4..8c328d72c42ccaa6891249cc700b70bb34c09545 100644 index bc493838420a6857ebc86f84cabdc1b6e3e637a4..8c328d72c42ccaa6891249cc700b70bb34c09545 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -133,7 +133,7 @@ public class Creeper extends Monster implements PowerableMob {
}
if (nbt.getBoolean("ignited")) {
- this.ignite();
+ this.entityData.set(Creeper.DATA_IS_IGNITED, true); // Paper - set directly to avoid firing event
}
}
@@ -309,7 +309,18 @@ public class Creeper extends Monster implements PowerableMob { @@ -309,7 +309,18 @@ public class Creeper extends Monster implements PowerableMob {
} }