From d64ef8b2e16f1b92599f56f81d193ccdf5ebc774 Mon Sep 17 00:00:00 2001 From: johni0702 Date: Sun, 13 Nov 2016 21:42:33 +0100 Subject: [PATCH] Hide NPCs in the Player Overview GUI (fixes #29) NPCs are now by default removed from the Player Overview GUI unless CTRL is held while the GUI is opened. NPCs are identified my their v2 UUID. --- .../extras/playeroverview/PlayerOverview.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/com/replaymod/extras/playeroverview/PlayerOverview.java b/src/main/java/com/replaymod/extras/playeroverview/PlayerOverview.java index fd1f1507..89c96a9b 100644 --- a/src/main/java/com/replaymod/extras/playeroverview/PlayerOverview.java +++ b/src/main/java/com/replaymod/extras/playeroverview/PlayerOverview.java @@ -3,6 +3,7 @@ package com.replaymod.extras.playeroverview; import com.google.common.base.Optional; import com.google.common.base.Predicate; import com.replaymod.core.ReplayMod; +import com.replaymod.core.utils.Utils; import com.replaymod.extras.Extra; import com.replaymod.replay.ReplayModReplay; import com.replaymod.replay.camera.CameraEntity; @@ -39,6 +40,16 @@ public class PlayerOverview implements Extra { return !(input instanceof CameraEntity); // Exclude the camera entity } }); + if (!Utils.isCtrlDown()) { + // Hide all players that have an UUID v2 (commonly used for NPCs) + Iterator iter = players.iterator(); + while (iter.hasNext()) { + UUID uuid = iter.next().getGameProfile().getId(); + if (uuid != null && uuid.version() == 2) { + iter.remove(); + } + } + } new PlayerOverviewGui(PlayerOverview.this, players).display(); } }