Use UUIDs instead of entity ids for storing invisible players
This commit is contained in:
@@ -237,7 +237,7 @@ public class GuiPlayerOverview extends GuiScreen implements GuiReplayOverlay.NoO
|
|||||||
checkBoxes.add(new GuiCheckBox(checkBoxes.size(), (int)(this.width*0.7)-5, l2+3, "", true));
|
checkBoxes.add(new GuiCheckBox(checkBoxes.size(), (int)(this.width*0.7)-5, l2+3, "", true));
|
||||||
buttonList.add(checkBoxes.get(checkBoxes.size() - 1));
|
buttonList.add(checkBoxes.get(checkBoxes.size() - 1));
|
||||||
}
|
}
|
||||||
checkBoxes.get(fitting).setIsChecked(!PlayerHandler.isHidden(p.first().getEntityId()));
|
checkBoxes.get(fitting).setIsChecked(!PlayerHandler.isHidden(p.first().getUniqueID()));
|
||||||
|
|
||||||
l2 += 16 + 5;
|
l2 += 16 + 5;
|
||||||
fitting++;
|
fitting++;
|
||||||
|
|||||||
@@ -1,16 +1,17 @@
|
|||||||
package eu.crushedpixel.replaymod.holders;
|
package eu.crushedpixel.replaymod.holders;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.Collection;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
public class PlayerVisibility {
|
public class PlayerVisibility {
|
||||||
|
|
||||||
public PlayerVisibility(List<Integer> hidden) {
|
public PlayerVisibility(Collection<UUID> hidden) {
|
||||||
this.hidden = hidden.toArray(new Integer[hidden.size()]);
|
this.hidden = hidden.toArray(new UUID[hidden.size()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Integer[] hidden;
|
private UUID[] hidden;
|
||||||
|
|
||||||
public Integer[] getHiddenPlayers() {
|
public UUID[] getHiddenPlayers() {
|
||||||
return hidden;
|
return hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,7 @@ import eu.crushedpixel.replaymod.replay.ReplayHandler;
|
|||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class PlayerHandler {
|
public class PlayerHandler {
|
||||||
|
|
||||||
@@ -23,15 +22,15 @@ public class PlayerHandler {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private static List<Integer> hidden = new ArrayList<Integer>();
|
private static Set<UUID> hidden = new HashSet<UUID>();
|
||||||
|
|
||||||
public static void hidePlayer(EntityPlayer player) {
|
public static void hidePlayer(EntityPlayer player) {
|
||||||
hidden.remove((Integer) player.getEntityId());
|
hidden.remove(player.getUniqueID());
|
||||||
hidden.add(player.getEntityId());
|
hidden.add(player.getUniqueID());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void showPlayer(EntityPlayer player) {
|
public static void showPlayer(EntityPlayer player) {
|
||||||
hidden.remove((Integer) player.getEntityId());
|
hidden.remove(player.getUniqueID());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setIsVisible(EntityPlayer player, boolean visible) {
|
public static void setIsVisible(EntityPlayer player, boolean visible) {
|
||||||
@@ -43,24 +42,22 @@ public class PlayerHandler {
|
|||||||
resetHiddenPlayers();
|
resetHiddenPlayers();
|
||||||
if(visibility != null) {
|
if(visibility != null) {
|
||||||
GuiPlayerOverview.defaultSave = true;
|
GuiPlayerOverview.defaultSave = true;
|
||||||
for(int i : visibility.getHiddenPlayers()) {
|
Collections.addAll(hidden, visibility.getHiddenPlayers());
|
||||||
hidden.add(i);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
GuiPlayerOverview.defaultSave = false;
|
GuiPlayerOverview.defaultSave = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<Integer> getHiddenPlayers() {
|
public static Set<UUID> getHiddenPlayers() {
|
||||||
return hidden;
|
return hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isHidden(int id) {
|
public static boolean isHidden(UUID uuid) {
|
||||||
return hidden.contains(id);
|
return hidden.contains(uuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void resetHiddenPlayers() {
|
public static void resetHiddenPlayers() {
|
||||||
hidden = new ArrayList<Integer>();
|
hidden.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void openPlayerOverview() {
|
public static void openPlayerOverview() {
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public class InvisibilityRender extends RenderPlayer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean shouldRender(Entity entity, ICamera camera, double camX, double camY, double camZ) {
|
public boolean shouldRender(Entity entity, ICamera camera, double camX, double camY, double camZ) {
|
||||||
if(PlayerHandler.isHidden(entity.getEntityId()) ||
|
if(PlayerHandler.isHidden(entity.getUniqueID()) ||
|
||||||
(ReplayHandler.isInReplay() && entity == Minecraft.getMinecraft().thePlayer)) return false;
|
(ReplayHandler.isInReplay() && entity == Minecraft.getMinecraft().thePlayer)) return false;
|
||||||
return super.shouldRender(entity, camera, camX, camY, camZ);
|
return super.shouldRender(entity, camera, camX, camY, camZ);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user