From f64c95d1b0c3a802301613e7170b00f3b383ae8b Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 27 Feb 2016 10:07:58 +1100 Subject: [PATCH] Entity Mount and Dismount Events diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java index 3f7e91c16..45143c404 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2184,6 +2184,16 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma } } // CraftBukkit end + // Spigot start + org.spigotmc.event.entity.EntityMountEvent event = new org.spigotmc.event.entity.EntityMountEvent(entity.getBukkitEntity(), this.getBukkitEntity()); + // Suppress during worldgen + if (this.valid) { + Bukkit.getPluginManager().callEvent(event); + } + if (event.isCancelled()) { + return false; + } + // Spigot end if (this.passengers.isEmpty()) { this.passengers = ImmutableList.of(entity); } else { @@ -2225,6 +2235,16 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma } } // CraftBukkit end + // Spigot start + org.spigotmc.event.entity.EntityDismountEvent event = new org.spigotmc.event.entity.EntityDismountEvent(entity.getBukkitEntity(), this.getBukkitEntity()); + // Suppress during worldgen + if (this.valid) { + Bukkit.getPluginManager().callEvent(event); + } + if (event.isCancelled()) { + return false; + } + // Spigot end if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { this.passengers = ImmutableList.of(); } else { -- 2.25.1