PaperMC/patches/server/0246-Add-More-Creeper-API.patch

61 lines
2.3 KiB
Diff
Raw Normal View History

2021-06-11 14:02:28 +02:00
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 24 Aug 2018 11:50:26 -0500
Subject: [PATCH] Add More Creeper API
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
2023-06-07 22:19:14 +02:00
index 2480c128f6b7c4ba7af1f06f4e01b972587c08ba..71587510ef1b6cbd95cb55556cd93c6c194ea5f5 100644
2021-06-11 14:02:28 +02:00
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
2022-12-07 20:22:28 +01:00
@@ -132,7 +132,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
}
}
2023-03-14 19:59:51 +01:00
@@ -313,7 +313,18 @@ public class Creeper extends Monster implements PowerableMob {
2021-06-11 14:02:28 +02:00
}
public void ignite() {
- this.entityData.set(Creeper.DATA_IS_IGNITED, true);
+ // Paper start
+ setIgnited(true);
+ }
+
+ public void setIgnited(boolean ignited) {
+ if (isIgnited() != ignited) {
+ com.destroystokyo.paper.event.entity.CreeperIgniteEvent event = new com.destroystokyo.paper.event.entity.CreeperIgniteEvent((org.bukkit.entity.Creeper) getBukkitEntity(), ignited);
+ if (event.callEvent()) {
+ this.entityData.set(Creeper.DATA_IS_IGNITED, event.isIgnited());
+ }
+ }
+ // Paper end
}
public boolean canDropMobsSkull() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java
index ea9dc2219cdff3976796e4848b0faa278656be63..63a8188010f045d5c17a1ecb63e8081ec86c2960 100644
2021-06-11 14:02:28 +02:00
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java
@@ -94,4 +94,16 @@ public class CraftCreeper extends CraftMonster implements Creeper {
2021-06-11 14:02:28 +02:00
public EntityType getType() {
return EntityType.CREEPER;
}
+
+ // Paper start
2021-06-13 01:45:00 +02:00
+ @Override
2021-06-11 14:02:28 +02:00
+ public void setIgnited(boolean ignited) {
+ getHandle().setIgnited(ignited);
+ }
+
2021-06-13 01:45:00 +02:00
+ @Override
2021-06-11 14:02:28 +02:00
+ public boolean isIgnited() {
+ return getHandle().isIgnited();
+ }
+ // Paper end
}