summaryrefslogtreecommitdiffstats
path: root/nms-patches/PathfinderGoalTame.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nms-patches/PathfinderGoalTame.patch')
-rw-r--r--nms-patches/PathfinderGoalTame.patch27
1 files changed, 4 insertions, 23 deletions
diff --git a/nms-patches/PathfinderGoalTame.patch b/nms-patches/PathfinderGoalTame.patch
index 2d4f3e99..395bffec 100644
--- a/nms-patches/PathfinderGoalTame.patch
+++ b/nms-patches/PathfinderGoalTame.patch
@@ -1,31 +1,12 @@
--- a/net/minecraft/server/PathfinderGoalTame.java
+++ b/net/minecraft/server/PathfinderGoalTame.java
-@@ -45,7 +45,8 @@
+@@ -51,7 +51,8 @@
int i = this.entity.getTemper();
int j = this.entity.getMaxDomestication();
-- if (j > 0 && this.entity.bc().nextInt(j) < i) {
+- if (j > 0 && this.entity.getRandom().nextInt(j) < i) {
+ // CraftBukkit - fire EntityTameEvent
-+ if (j > 0 && this.entity.bc().nextInt(j) < i && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTameEvent(this.entity, (EntityHuman) this.entity.passenger).isCancelled() && this.entity.passenger instanceof EntityHuman) {
- this.entity.h((EntityHuman) this.entity.passenger);
++ if (j > 0 && this.entity.getRandom().nextInt(j) < i && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTameEvent(this.entity, ((org.bukkit.craftbukkit.entity.CraftHumanEntity) this.entity.getBukkitEntity().getPassenger()).getHandle()).isCancelled()) {
+ this.entity.g((EntityHuman) entity);
this.entity.world.broadcastEntityEffect(this.entity, (byte) 7);
return;
-@@ -54,8 +55,16 @@
- this.entity.u(5);
- }
-
-- this.entity.passenger.mount((Entity) null);
-- this.entity.passenger = null;
-+ // CraftBukkit start - Handle dismounting to account for VehicleExitEvent being fired.
-+ if (this.entity.passenger != null) {
-+ this.entity.passenger.mount((Entity) null);
-+ // If the entity still has a passenger, then a plugin cancelled the event.
-+ if (this.entity.passenger != null) {
-+ return;
-+ }
-+ }
-+ // this.entity.passenger = null;
-+ // CraftBukkit end
- this.entity.cW();
- this.entity.world.broadcastEntityEffect(this.entity, (byte) 6);
- }