Revert view distance tracking code

This commit is contained in:
fullwall 2020-05-12 22:33:54 +08:00
parent 0498353751
commit 5e2a7efb9e
3 changed files with 8 additions and 7 deletions

View File

@ -318,6 +318,9 @@ public class CitizensNPC extends AbstractNPC {
@Override
public void teleport(Location location, TeleportCause reason) {
super.teleport(location, reason);
if (isSpawned() && getEntity().getLocation(CACHE_LOCATION).distanceSquared(location) < 1) {
NMS.setHeadYaw(getEntity(), location.getYaw());
}
if (getEntity() instanceof SkinnableEntity) {
((SkinnableEntity) getEntity()).getSkinTracker().updateNearbyViewers(48);
}

View File

@ -67,7 +67,7 @@ public class PlayerlistTracker extends PlayerChunkMap.EntityTracker {
return; // prevent updates to NPC "viewers"
Entity tracker = getTracker(this);
final Vec3D vec3d = new Vec3D(entityplayer.locX, entityplayer.locY, entityplayer.locZ).d(this.trackerEntry.b());
final int i = Math.max(this.trackingDistance, (getViewDistance(map) - 1) * 16);
final int i = Math.min(this.trackingDistance, (getViewDistance(map) - 1) * 16);
final boolean flag = vec3d.x >= -i && vec3d.x <= i && vec3d.z >= -i && vec3d.z <= i
&& this.tracker.a(entityplayer);
if (entityplayer != tracker && flag && tracker instanceof SkinnableEntity) {

View File

@ -68,7 +68,7 @@ public class PlayerlistTracker extends PlayerChunkMap.EntityTracker {
Entity tracker = getTracker(this);
final Vec3D vec3d = new Vec3D(entityplayer.locX(), entityplayer.locY(), entityplayer.locZ())
.d(this.trackerEntry.b());
final int i = Math.max(this.trackingDistance, (getViewDistance(map) - 1) * 16);
final int i = Math.min(this.trackingDistance, (getViewDistance(map) - 1) * 16);
final boolean flag = vec3d.x >= -i && vec3d.x <= i && vec3d.z >= -i && vec3d.z <= i
&& this.tracker.a(entityplayer);
if (entityplayer != tracker && flag && tracker instanceof SkinnableEntity) {
@ -80,15 +80,13 @@ public class PlayerlistTracker extends PlayerChunkMap.EntityTracker {
flag1 = getb(chunkcoordintpair, entityplayer, false) <= getViewDistance(map);
}
}*/
if (!this.trackedPlayers.contains(entityplayer)) {
SkinnableEntity skinnable = (SkinnableEntity) tracker;
Player player = skinnable.getBukkitEntity();
if (!entityplayer.getBukkitEntity().canSee(player))
return;
skinnable.getSkinTracker().updateViewer(entityplayer.getBukkitEntity());
if (entityplayer.getBukkitEntity().canSee(player)) {
skinnable.getSkinTracker().updateViewer(entityplayer.getBukkitEntity());
}
}
}
super.updatePlayer(entityplayer);