From 97d4d7b428b830edf562622cdd6b0d268862371d Mon Sep 17 00:00:00 2001 From: fullwall Date: Tue, 18 Sep 2018 18:15:37 +0800 Subject: [PATCH] Force armor stands to use the new pathfinder and override packet sending --- .../java/net/citizensnpcs/npc/ai/CitizensNavigator.java | 7 +++++-- .../nms/v1_10_R1/network/EmptyNetworkManager.java | 5 +++++ .../nms/v1_11_R1/network/EmptyNetworkManager.java | 5 +++++ .../nms/v1_12_R1/network/EmptyNetworkManager.java | 5 +++++ .../nms/v1_13_R2/network/EmptyNetworkManager.java | 6 ++++++ .../nms/v1_8_R3/network/EmptyNetworkManager.java | 5 +++++ 6 files changed, 31 insertions(+), 2 deletions(-) diff --git a/main/src/main/java/net/citizensnpcs/npc/ai/CitizensNavigator.java b/main/src/main/java/net/citizensnpcs/npc/ai/CitizensNavigator.java index 9e7944adb..4910e79fa 100644 --- a/main/src/main/java/net/citizensnpcs/npc/ai/CitizensNavigator.java +++ b/main/src/main/java/net/citizensnpcs/npc/ai/CitizensNavigator.java @@ -4,6 +4,7 @@ import java.util.Iterator; import org.bukkit.Bukkit; import org.bukkit.Location; +import org.bukkit.entity.ArmorStand; import org.bukkit.entity.Entity; import org.bukkit.entity.LivingEntity; import org.bukkit.util.Vector; @@ -239,7 +240,8 @@ public class CitizensNavigator implements Navigator, Runnable { PathStrategy newStrategy; if (npc.isFlyable()) { newStrategy = new FlyingAStarNavigationStrategy(npc, path, localParams); - } else if (localParams.useNewPathfinder() || !(npc.getEntity() instanceof LivingEntity)) { + } else if (localParams.useNewPathfinder() || !(npc.getEntity() instanceof LivingEntity) + || npc.getEntity() instanceof ArmorStand) { newStrategy = new AStarNavigationStrategy(npc, path, localParams); } else { newStrategy = new MCNavigationStrategy(npc, path, localParams); @@ -260,7 +262,8 @@ public class CitizensNavigator implements Navigator, Runnable { PathStrategy newStrategy; if (npc.isFlyable()) { newStrategy = new FlyingAStarNavigationStrategy(npc, target, localParams); - } else if (localParams.useNewPathfinder() || !(npc.getEntity() instanceof LivingEntity)) { + } else if (localParams.useNewPathfinder() || !(npc.getEntity() instanceof LivingEntity) + || npc.getEntity() instanceof ArmorStand) { newStrategy = new AStarNavigationStrategy(npc, target, localParams); } else { newStrategy = new MCNavigationStrategy(npc, target, localParams); diff --git a/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/network/EmptyNetworkManager.java b/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/network/EmptyNetworkManager.java index 5492eb08f..f0c455278 100644 --- a/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/network/EmptyNetworkManager.java +++ b/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/network/EmptyNetworkManager.java @@ -5,6 +5,7 @@ import java.io.IOException; import net.citizensnpcs.nms.v1_10_R1.util.NMSImpl; import net.minecraft.server.v1_10_R1.EnumProtocolDirection; import net.minecraft.server.v1_10_R1.NetworkManager; +import net.minecraft.server.v1_10_R1.Packet; public class EmptyNetworkManager extends NetworkManager { public EmptyNetworkManager(EnumProtocolDirection flag) throws IOException { @@ -16,4 +17,8 @@ public class EmptyNetworkManager extends NetworkManager { public boolean isConnected() { return true; } + + @Override + public void sendPacket(Packet packet) { + } } \ No newline at end of file diff --git a/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/network/EmptyNetworkManager.java b/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/network/EmptyNetworkManager.java index b6ff3c805..9469b3857 100644 --- a/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/network/EmptyNetworkManager.java +++ b/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/network/EmptyNetworkManager.java @@ -5,6 +5,7 @@ import java.io.IOException; import net.citizensnpcs.nms.v1_11_R1.util.NMSImpl; import net.minecraft.server.v1_11_R1.EnumProtocolDirection; import net.minecraft.server.v1_11_R1.NetworkManager; +import net.minecraft.server.v1_11_R1.Packet; public class EmptyNetworkManager extends NetworkManager { public EmptyNetworkManager(EnumProtocolDirection flag) throws IOException { @@ -16,4 +17,8 @@ public class EmptyNetworkManager extends NetworkManager { public boolean isConnected() { return true; } + + @Override + public void sendPacket(Packet packet) { + } } \ No newline at end of file diff --git a/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/network/EmptyNetworkManager.java b/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/network/EmptyNetworkManager.java index 8211706c8..87e9e4b8b 100644 --- a/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/network/EmptyNetworkManager.java +++ b/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/network/EmptyNetworkManager.java @@ -5,6 +5,7 @@ import java.io.IOException; import net.citizensnpcs.nms.v1_12_R1.util.NMSImpl; import net.minecraft.server.v1_12_R1.EnumProtocolDirection; import net.minecraft.server.v1_12_R1.NetworkManager; +import net.minecraft.server.v1_12_R1.Packet; public class EmptyNetworkManager extends NetworkManager { public EmptyNetworkManager(EnumProtocolDirection flag) throws IOException { @@ -16,4 +17,8 @@ public class EmptyNetworkManager extends NetworkManager { public boolean isConnected() { return true; } + + @Override + public void sendPacket(Packet packet) { + } } \ No newline at end of file diff --git a/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/network/EmptyNetworkManager.java b/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/network/EmptyNetworkManager.java index 940b516c2..8c2ff4178 100644 --- a/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/network/EmptyNetworkManager.java +++ b/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/network/EmptyNetworkManager.java @@ -2,9 +2,11 @@ package net.citizensnpcs.nms.v1_13_R2.network; import java.io.IOException; +import io.netty.util.concurrent.GenericFutureListener; import net.citizensnpcs.nms.v1_13_R2.util.NMSImpl; import net.minecraft.server.v1_13_R2.EnumProtocolDirection; import net.minecraft.server.v1_13_R2.NetworkManager; +import net.minecraft.server.v1_13_R2.Packet; public class EmptyNetworkManager extends NetworkManager { public EmptyNetworkManager(EnumProtocolDirection flag) throws IOException { @@ -16,4 +18,8 @@ public class EmptyNetworkManager extends NetworkManager { public boolean isConnected() { return true; } + + @Override + public void sendPacket(Packet packet, GenericFutureListener genericfuturelistener) { + } } \ No newline at end of file diff --git a/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/network/EmptyNetworkManager.java b/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/network/EmptyNetworkManager.java index 52ece4127..e0766d45e 100644 --- a/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/network/EmptyNetworkManager.java +++ b/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/network/EmptyNetworkManager.java @@ -5,6 +5,7 @@ import java.io.IOException; import net.citizensnpcs.nms.v1_8_R3.util.NMSImpl; import net.minecraft.server.v1_8_R3.EnumProtocolDirection; import net.minecraft.server.v1_8_R3.NetworkManager; +import net.minecraft.server.v1_8_R3.Packet; public class EmptyNetworkManager extends NetworkManager { public EmptyNetworkManager(EnumProtocolDirection flag) throws IOException { @@ -16,4 +17,8 @@ public class EmptyNetworkManager extends NetworkManager { public boolean g() { return true; } + + @Override + public void sendPacket(Packet packet) { + } } \ No newline at end of file