spigot/CraftBukkit-Patches/0028-Entity-Mount-and-Dismount-Events.patch
2018-07-28 10:11:56 +10:00

41 lines
1.7 KiB
Diff

From 7743aa7d4e56ca2e500ef013667015545a678d02 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 27 Feb 2016 10:07:58 +1100
Subject: [PATCH] Entity Mount and Dismount Events
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index b00703c65..3de248e14 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -2005,6 +2005,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
}
}
// CraftBukkit end
+ // Spigot start
+ org.spigotmc.event.entity.EntityMountEvent event = new org.spigotmc.event.entity.EntityMountEvent(entity.getBukkitEntity(), this.getBukkitEntity());
+ Bukkit.getPluginManager().callEvent(event);
+ if (event.isCancelled()) {
+ return;
+ }
+ // Spigot end
if (!this.world.isClientSide && entity instanceof EntityHuman && !(this.bO() instanceof EntityHuman)) {
this.passengers.add(0, entity);
} else {
@@ -2034,6 +2041,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
}
}
// CraftBukkit end
+ // Spigot start
+ org.spigotmc.event.entity.EntityDismountEvent event = new org.spigotmc.event.entity.EntityDismountEvent(entity.getBukkitEntity(), this.getBukkitEntity());
+ Bukkit.getPluginManager().callEvent(event);
+ if (event.isCancelled()) {
+ return false;
+ }
+ // Spigot end
this.passengers.remove(entity);
entity.k = 60;
}
--
2.17.1