EntityPathfindEvent
Fires when an Entity decides to start moving to a location. This is not the same as a move event. This only fires when an entity chooses to start moving to a location, and allows cancelling that pathfind. Additionally, only get is supported for now. Unsure if changing target location is safe to do.
This commit is contained in:
37
Spigot-Server-Patches/EntityPathfindEvent.patch
Normal file
37
Spigot-Server-Patches/EntityPathfindEvent.patch
Normal file
@@ -0,0 +1,37 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 28 Mar 2016 21:22:26 -0400
|
||||
Subject: [PATCH] EntityPathfindEvent
|
||||
|
||||
Fires when an Entity decides to start moving to a location.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
@@ -0,0 +0,0 @@ package net.minecraft.server;
|
||||
public abstract class NavigationAbstract {
|
||||
|
||||
private static int f = 20;
|
||||
- protected EntityInsentient a;
|
||||
+ protected EntityInsentient a;public Entity getEntity() { return a; } // Paper
|
||||
protected World b;
|
||||
protected PathEntity c;
|
||||
protected double d;
|
||||
@@ -0,0 +0,0 @@ public abstract class NavigationAbstract {
|
||||
} else if (this.c != null && !this.c.b() && blockposition.equals(this.r)) {
|
||||
return this.c;
|
||||
} else {
|
||||
+ if (!new com.destroystokyo.paper.event.entity.EntityPathfindEvent(getEntity().getBukkitEntity(), MCUtil.toLocation(getEntity().world, blockposition), null).callEvent()) { return null; } // Paper
|
||||
this.r = blockposition;
|
||||
float f = this.h();
|
||||
|
||||
@@ -0,0 +0,0 @@ public abstract class NavigationAbstract {
|
||||
if (this.c != null && !this.c.b() && blockposition.equals(this.r)) {
|
||||
return this.c;
|
||||
} else {
|
||||
+ if (!new com.destroystokyo.paper.event.entity.EntityPathfindEvent(getEntity().getBukkitEntity(), MCUtil.toLocation(entity.world, blockposition), entity.getBukkitEntity()).callEvent()) { return null; } // Paper
|
||||
this.r = blockposition;
|
||||
float f = this.h();
|
||||
|
||||
--
|
||||
Reference in New Issue
Block a user