24package com.dreamfirestudios.dreamcore.DreamVanish;
26import com.dreamfirestudios.dreamcore.DreamCore;
27import org.bukkit.Bukkit;
28import org.bukkit.entity.Entity;
29import org.bukkit.entity.Player;
31import java.util.ArrayList;
54 if (target ==
null || viewer ==
null)
return;
56 var hiddenViewers =
DreamCore.
DreamVanishs.computeIfAbsent(target.getUniqueId(), k ->
new ArrayList<>());
57 if (!hiddenViewers.contains(viewer.getUniqueId())) {
58 hiddenViewers.add(viewer.getUniqueId());
70 if (target ==
null || viewer ==
null)
return;
73 if (hiddenViewers !=
null) {
74 hiddenViewers.remove(viewer.getUniqueId());
75 if (hiddenViewers.isEmpty()) {
90 if (target ==
null || viewer ==
null)
return false;
93 return hiddenViewers ==
null || !hiddenViewers.contains(viewer.getUniqueId());
103 var onlinePlayers = Bukkit.getOnlinePlayers();
106 viewerHideMatrix.forEach((targetUUID, hiddenViewers) -> {
107 var target = Bukkit.getEntity(targetUUID);
108 if (target ==
null) {
109 viewerHideMatrix.remove(targetUUID);
113 for (var viewer : onlinePlayers) {
114 if (viewer.getUniqueId().equals(targetUUID))
continue;
116 if (hiddenViewers.contains(viewer.getUniqueId())) {
static DreamCore DreamCore
static final LinkedHashMap< UUID, List< UUID > > DreamVanishs
Static helpers for per-viewer vanish/visibility tracking.
static void updateVanishOnAllPlayers()
Applies the current vanish matrix to all online players (hide/show).
static boolean canViewerSeeTarget(Entity target, Player viewer)
Checks whether a viewer can currently see a target entity.
static void showTargetToViewer(Entity target, Player viewer)
Shows a previously hidden target entity to a specific viewer and fires VanishShowTargetEvent.
static void hideTargetFromViewer(Entity target, Player viewer)
Hides a target entity from a specific viewer and fires VanishHideTargetEvent.
Fired when a target entity is marked hidden from a specific viewer via DreamVanish::hideTargetFromVie...
Fired when a target entity is marked visible to a specific viewer via DreamVanish::showTargetToViewer...