From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: BillyGalbreath 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 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java @@ -0,0 +0,0 @@ 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 } } @@ -0,0 +0,0 @@ public class Creeper extends Monster implements PowerableMob { } 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java @@ -0,0 +0,0 @@ public class CraftCreeper extends CraftMonster implements Creeper { public EntityType getType() { return EntityType.CREEPER; } + + // Paper start + @Override + public void setIgnited(boolean ignited) { + getHandle().setIgnited(ignited); + } + + @Override + public boolean isIgnited() { + return getHandle().isIgnited(); + } + // Paper end }