diff options
Diffstat (limited to 'Spigot-Server-Patches/0163-Add-EntityZapEvent.patch')
-rw-r--r-- | Spigot-Server-Patches/0163-Add-EntityZapEvent.patch | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/Spigot-Server-Patches/0163-Add-EntityZapEvent.patch b/Spigot-Server-Patches/0163-Add-EntityZapEvent.patch new file mode 100644 index 0000000000..53a79693a7 --- /dev/null +++ b/Spigot-Server-Patches/0163-Add-EntityZapEvent.patch @@ -0,0 +1,71 @@ +From 1d895849c5a89f88a05f458af94f6b9d803675d0 Mon Sep 17 00:00:00 2001 +From: AlphaBlend <[email protected]> +Date: Sun, 16 Oct 2016 23:19:30 -0700 +Subject: [PATCH] Add EntityZapEvent + + +diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java +index 88bd674ba..80ad25c1b 100644 +--- a/src/main/java/net/minecraft/server/EntityPig.java ++++ b/src/main/java/net/minecraft/server/EntityPig.java +@@ -159,6 +159,12 @@ public class EntityPig extends EntityAnimal { + if (!this.world.isClientSide && !this.dead) { + EntityPigZombie entitypigzombie = new EntityPigZombie(this.world); + ++ // Paper start ++ if (CraftEventFactory.callEntityZapEvent(this, entitylightning, entitypigzombie).isCancelled()) { ++ return; ++ } ++ // Paper end ++ + // CraftBukkit start + if (CraftEventFactory.callPigZapEvent(this, entitylightning, entitypigzombie).isCancelled()) { + return; +diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java +index ee11691bf..4ad75468c 100644 +--- a/src/main/java/net/minecraft/server/EntityVillager.java ++++ b/src/main/java/net/minecraft/server/EntityVillager.java +@@ -616,6 +616,12 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { + if (!this.world.isClientSide && !this.dead) { + EntityWitch entitywitch = new EntityWitch(this.world); + ++ // Paper start ++ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityZapEvent(this, entitylightning, entitywitch).isCancelled()) { ++ return; ++ } ++ // Paper end ++ + entitywitch.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, this.pitch); + entitywitch.prepare(this.world.D(new BlockPosition(entitywitch)), (GroupDataEntity) null); + entitywitch.setAI(this.hasAI()); +@@ -624,7 +630,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { + entitywitch.setCustomNameVisible(this.getCustomNameVisible()); + } + +- this.world.addEntity(entitywitch); ++ this.world.addEntity(entitywitch, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // Paper - Added lightning spawn reason for this entity + this.die(); + } + } +diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +index 8158c4801..d77eefd6f 100644 +--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java ++++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +@@ -673,6 +673,14 @@ public class CraftEventFactory { + return event; + } + ++ // Paper start ++ public static com.destroystokyo.paper.event.entity.EntityZapEvent callEntityZapEvent (Entity entity, Entity lightning, Entity changedEntity) { ++ com.destroystokyo.paper.event.entity.EntityZapEvent event = new com.destroystokyo.paper.event.entity.EntityZapEvent(entity.getBukkitEntity(), (LightningStrike) lightning.getBukkitEntity(), changedEntity.getBukkitEntity()); ++ entity.getBukkitEntity().getServer().getPluginManager().callEvent(event); ++ return event; ++ } ++ // Paper end ++ + public static HorseJumpEvent callHorseJumpEvent(Entity horse, float power) { + HorseJumpEvent event = new HorseJumpEvent((AbstractHorse) horse.getBukkitEntity(), power); + horse.getBukkitEntity().getServer().getPluginManager().callEvent(event); +-- +2.12.2 + |