Mob Pathfinding API
Implements Pathfinding API for mobs == AT == public net.minecraft.world.entity.ai.navigation.PathNavigation pathFinder public net.minecraft.world.level.pathfinder.PathFinder nodeEvaluator public net.minecraft.world.level.pathfinder.Path nodes
This commit is contained in:
@@ -14,8 +14,11 @@ import org.bukkit.loot.LootTable;
|
||||
public abstract class CraftMob extends CraftLivingEntity implements Mob {
|
||||
public CraftMob(CraftServer server, net.minecraft.world.entity.Mob entity) {
|
||||
super(server, entity);
|
||||
paperPathfinder = new com.destroystokyo.paper.entity.PaperPathfinder(entity); // Paper - Mob Pathfinding API
|
||||
}
|
||||
|
||||
private final com.destroystokyo.paper.entity.PaperPathfinder paperPathfinder; // Paper - Mob Pathfinding API
|
||||
@Override public com.destroystokyo.paper.entity.Pathfinder getPathfinder() { return paperPathfinder; } // Paper - Mob Pathfinding API
|
||||
@Override
|
||||
public void setTarget(LivingEntity target) {
|
||||
Preconditions.checkState(!this.getHandle().generation, "Cannot set target during world generation");
|
||||
@@ -56,6 +59,14 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob {
|
||||
return (net.minecraft.world.entity.Mob) this.entity;
|
||||
}
|
||||
|
||||
// Paper start - Mob Pathfinding API
|
||||
@Override
|
||||
public void setHandle(net.minecraft.world.entity.Entity entity) {
|
||||
super.setHandle(entity);
|
||||
paperPathfinder.setHandle(getHandle());
|
||||
}
|
||||
// Paper end - Mob Pathfinding API
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftMob";
|
||||
|
||||
Reference in New Issue
Block a user