diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d70923..7d3ce95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Improve packet filtering -- Improve API performance +- Improve performance ### Fixed - Environment sound are no longer removed diff --git a/src/main/java/me/drex/vanish/mixin/ServerGamePacketListenerImplMixin.java b/src/main/java/me/drex/vanish/mixin/ServerGamePacketListenerImplMixin.java index d971191..26cd127 100644 --- a/src/main/java/me/drex/vanish/mixin/ServerGamePacketListenerImplMixin.java +++ b/src/main/java/me/drex/vanish/mixin/ServerGamePacketListenerImplMixin.java @@ -53,13 +53,15 @@ public void vanish_modifyPackets(Packet packet, GenericFutureListener modifiedEntries = new ObjectArrayList<>(); + int visible = 0; for (ClientboundPlayerInfoPacket.PlayerUpdate playerUpdate : playerInfoPacket.getEntries()) { if (VanishAPI.canSeePlayer(server, playerUpdate.getProfile().getId(), this.player)) { + visible++; ServerPlayer player = server.getPlayerList().getPlayer(playerUpdate.getProfile().getId()); if (player != null) modifiedEntries.add(player); } } - if (modifiedEntries.size() != playerInfoPacket.getEntries().size()) { + if (visible != playerInfoPacket.getEntries().size()) { if (!modifiedEntries.isEmpty()) { this.send(new ClientboundPlayerInfoPacket(playerInfoPacket.getAction(), modifiedEntries)); }