53 lines
2.4 KiB
Diff
53 lines
2.4 KiB
Diff
From 0f04f35d6d781efc9d91d42c47c05ba41598de43 Mon Sep 17 00:00:00 2001
|
|
From: md_5 <md_5@live.com.au>
|
|
Date: Tue, 2 Jul 2013 20:32:49 +1000
|
|
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 2f386ac..bf3ce15 100644
|
|
--- a/src/main/java/net/minecraft/server/Entity.java
|
|
+++ b/src/main/java/net/minecraft/server/Entity.java
|
|
@@ -1541,6 +1541,7 @@ public abstract class Entity implements ICommandListener {
|
|
}
|
|
}
|
|
// CraftBukkit end
|
|
+ pluginManager.callEvent( new org.spigotmc.event.entity.EntityDismountEvent( this.getBukkitEntity(), this.vehicle.getBukkitEntity() ) ); // Spigot
|
|
this.setPositionRotation(this.vehicle.locX, this.vehicle.getBoundingBox().b + (double) this.vehicle.length, this.vehicle.locZ, this.yaw, this.pitch);
|
|
this.vehicle.passenger = null;
|
|
}
|
|
@@ -1575,6 +1576,18 @@ public abstract class Entity implements ICommandListener {
|
|
}
|
|
}
|
|
// CraftBukkit end
|
|
+ // Spigot Start
|
|
+ if ( entity.world.isChunkLoaded( (int) entity.locX >> 4, (int) entity.locZ >> 4, true ) )
|
|
+ {
|
|
+ org.spigotmc.event.entity.EntityMountEvent event = new org.spigotmc.event.entity.EntityMountEvent( this.getBukkitEntity(), entity.getBukkitEntity() );
|
|
+ pluginManager.callEvent( event );
|
|
+ if ( event.isCancelled() )
|
|
+ {
|
|
+ return;
|
|
+ }
|
|
+ }
|
|
+ // Spigot End
|
|
+
|
|
if (this.vehicle != null) {
|
|
this.vehicle.passenger = null;
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
index bd30895..b42cd36 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
@@ -1709,6 +1709,7 @@ public abstract class EntityLiving extends Entity {
|
|
}
|
|
}
|
|
// CraftBukkit end
|
|
+ org.bukkit.Bukkit.getPluginManager().callEvent( new org.spigotmc.event.entity.EntityDismountEvent( this.getBukkitEntity(), this.vehicle.getBukkitEntity() ) ); // Spigot
|
|
|
|
if (!this.world.isClientSide) {
|
|
this.q(this.vehicle);
|
|
--
|
|
2.6.2
|
|
|