From 9fe10a5da518d4acfe80161f45cba6462d5ea529 Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot Date: Sun, 11 Apr 2021 17:32:26 +1000 Subject: [PATCH] SPIGOT-6417: Add Creeper fuse ticks API By: md_5 --- .../world/entity/monster/EntityCreeper.patch | 10 +++++++++- .../org/bukkit/craftbukkit/entity/CraftCreeper.java | 13 +++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityCreeper.patch b/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityCreeper.patch index 58d67c548d..d51fcffdd0 100644 --- a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityCreeper.patch +++ b/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityCreeper.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/entity/monster/EntityCreeper.java +++ b/net/minecraft/world/entity/monster/EntityCreeper.java -@@ -38,6 +38,12 @@ +@@ -38,13 +38,19 @@ import net.minecraft.world.level.IMaterial; import net.minecraft.world.level.World; @@ -13,6 +13,14 @@ public class EntityCreeper extends EntityMonster { private static final DataWatcherObject b = DataWatcher.a(EntityCreeper.class, DataWatcherRegistry.b); + private static final DataWatcherObject POWERED = DataWatcher.a(EntityCreeper.class, DataWatcherRegistry.i); + private static final DataWatcherObject d = DataWatcher.a(EntityCreeper.class, DataWatcherRegistry.i); + private int bo; +- private int fuseTicks; ++ public int fuseTicks; // PAIL + public int maxFuseTicks = 30; + public int explosionRadius = 3; + private int bs; @@ -200,9 +206,19 @@ @Override public void onLightningStrike(WorldServer worldserver, EntityLightning entitylightning) { diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java index 013e0b1bca..167b8f0c74 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java @@ -52,6 +52,19 @@ public class CraftCreeper extends CraftMonster implements Creeper { return getHandle().maxFuseTicks; } + @Override + public void setFuseTicks(int ticks) { + Preconditions.checkArgument(ticks >= 0, "ticks < 0"); + Preconditions.checkArgument(ticks <= getMaxFuseTicks(), "ticks > maxFuseTicks"); + + getHandle().fuseTicks = ticks; + } + + @Override + public int getFuseTicks() { + return getHandle().fuseTicks; + } + @Override public void setExplosionRadius(int radius) { Preconditions.checkArgument(radius >= 0, "radius < 0");