spigot/CraftBukkit-Patches/0022-Entity-Mount-and-Dismount-Events.patch
2023-09-22 02:40:00 +10:00

47 lines
2 KiB
Diff

From c78a7d683454aa6477a85fb53396c5301d6974ea 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/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index c824c7cf58..88eb89c3d5 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2339,6 +2339,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(this.getBukkitEntity(), entity.getBukkitEntity());
+ // Suppress during worldgen
+ if (this.valid) {
+ Bukkit.getPluginManager().callEvent(event);
+ }
+ if (event.isCancelled()) {
+ return false;
+ }
+ // Spigot end
if (this.isPassenger()) {
this.stopRiding();
}
@@ -2426,6 +2436,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.42.0