diff --git a/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntity.java b/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntity.java index 8714fed..a844400 100644 --- a/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntity.java +++ b/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntity.java @@ -26,7 +26,7 @@ public class WrapperEntity implements Tickable, TrackedEntity { private boolean ticking; protected Location location; private Location preRidingLocation; - private final Set<UUID> viewers; + protected final Set<UUID> viewers; private boolean onGround; private boolean spawned; private Vector3d velocity; diff --git a/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperPlayer.java b/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperPlayer.java index d48e5a9..28b74f2 100644 --- a/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperPlayer.java +++ b/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperPlayer.java @@ -68,10 +68,19 @@ public class WrapperPlayer extends WrapperLivingEntity { public void setTextureProperties(List<TextureProperty> textureProperties) { profile.setTextureProperties(textureProperties); - despawn(); - System.out.println("Despawning"); - EntityLib.getApi().runLater(() -> spawn(getLocation()), 2L); + WrapperPlayServerDestroyEntities destroyEntities = new WrapperPlayServerDestroyEntities(getEntityId()); + WrapperPlayServerPlayerInfoRemove removePacket = new WrapperPlayServerPlayerInfoRemove(getUuid()); + WrapperPlayServerPlayerInfoUpdate updatePacket = tabListPacket(); + { + sendPacketToViewers(removePacket); + sendPacketToViewers(destroyEntities); + sendPacketToViewers(updatePacket); + for (UUID viewer : viewers) { + removeViewer(viewer); + addViewer(viewer); + } + } } public GameMode getGameMode() {