From 8023034a8cde1f9416a2c670d2f0af68e44c540e Mon Sep 17 00:00:00 2001 From: fullwall Date: Wed, 20 Feb 2013 22:59:10 +0800 Subject: [PATCH] Reuse object --- src/main/java/net/citizensnpcs/npc/entity/EntityHumanNPC.java | 2 +- src/main/java/net/citizensnpcs/util/NMS.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/citizensnpcs/npc/entity/EntityHumanNPC.java b/src/main/java/net/citizensnpcs/npc/entity/EntityHumanNPC.java index c43663f93..daabe4ad0 100644 --- a/src/main/java/net/citizensnpcs/npc/entity/EntityHumanNPC.java +++ b/src/main/java/net/citizensnpcs/npc/entity/EntityHumanNPC.java @@ -186,7 +186,7 @@ public class EntityHumanNPC extends EntityPlayer implements NPCHolder { } private void updatePackets(boolean navigating) { - if (++packetUpdateCount >= 20) { + if (++packetUpdateCount >= 30) { Location current = getBukkitEntity().getLocation(packetLocationCache); Packet[] packets = new Packet[navigating ? 5 : 6]; if (!navigating) { diff --git a/src/main/java/net/citizensnpcs/util/NMS.java b/src/main/java/net/citizensnpcs/util/NMS.java index 198a16f2b..86b56ff7e 100644 --- a/src/main/java/net/citizensnpcs/util/NMS.java +++ b/src/main/java/net/citizensnpcs/util/NMS.java @@ -62,11 +62,13 @@ public class NMS { private static Field LAND_SPEED_MODIFIER_FIELD; private static final Map MOVEMENT_SPEEDS = Maps.newEnumMap(EntityType.class); private static Field NAVIGATION_WORLD_FIELD; + private static final Location packetCacheLocation = new Location(null, 0, 0, 0); private static Field PATHFINDING_RANGE; private static final Random RANDOM = Util.getFastRandom(); private static Set SLAB_MATERIALS = Sets.newHashSet(); private static Field SPEED_FIELD; private static Set STAIR_MATERIALS = Sets.newHashSet(); + private static Field THREAD_STOPPER; public static void addOrRemoveFromPlayerList(LivingEntity bukkitEntity, boolean remove) { @@ -232,7 +234,7 @@ public class NMS { if (ply == null || world != ply.getWorld()) { continue; } - if (location.distanceSquared(ply.getLocation()) > radius) { + if (location.distanceSquared(ply.getLocation(packetCacheLocation)) > radius) { continue; } for (Packet packet : packets) {