Archived
0

Made vanish share vanished state through datamanager

This commit is contained in:
Pepich
2017-10-16 20:12:49 +02:00
parent e3c4032a8c
commit c9cbefd3d7

View File

@@ -20,14 +20,15 @@ import com.redstoner.annotations.Commands;
import com.redstoner.annotations.Version; import com.redstoner.annotations.Version;
import com.redstoner.misc.CommandHolderType; import com.redstoner.misc.CommandHolderType;
import com.redstoner.modules.Module; import com.redstoner.modules.Module;
import com.redstoner.modules.datamanager.DataManager;
@Commands(CommandHolderType.String) @Commands(CommandHolderType.String)
@AutoRegisterListener @AutoRegisterListener
@Version(major = 4, minor = 0, revision = 0, compatible = 4) @Version(major = 4, minor = 0, revision = 1, compatible = 4)
public class Vanish implements Module, Listener public class Vanish implements Module, Listener
{ {
private ArrayList<UUID> vanished = new ArrayList<UUID>(); private ArrayList<UUID> vanished = new ArrayList<>();
private HashMap<UUID, ArrayList<UUID>> vanishOthers = new HashMap<UUID, ArrayList<UUID>>(); private HashMap<UUID, ArrayList<UUID>> vanishOthers = new HashMap<>();
@Command(hook = "vanish") @Command(hook = "vanish")
public boolean vanish(CommandSender sender) public boolean vanish(CommandSender sender)
@@ -121,7 +122,7 @@ public class Vanish implements Module, Listener
UUID uuid = ((Player) sender).getUniqueId(); UUID uuid = ((Player) sender).getUniqueId();
ArrayList<UUID> toAddTo = vanishOthers.get(uuid); ArrayList<UUID> toAddTo = vanishOthers.get(uuid);
if (toAddTo == null) if (toAddTo == null)
toAddTo = new ArrayList<UUID>(); toAddTo = new ArrayList<>();
toAddTo.add(uid); toAddTo.add(uid);
vanishOthers.put(uuid, toAddTo); vanishOthers.put(uuid, toAddTo);
getLogger().message(sender, "Successfully vanished &e" + player.getDisplayName()); getLogger().message(sender, "Successfully vanished &e" + player.getDisplayName());
@@ -133,6 +134,7 @@ public class Vanish implements Module, Listener
public void onPlayerJoin(PlayerJoinEvent event) public void onPlayerJoin(PlayerJoinEvent event)
{ {
Player player = event.getPlayer(); Player player = event.getPlayer();
DataManager.setState(player, "vanished", vanished.contains(player.getUniqueId()));
if (vanished.contains(player.getUniqueId())) if (vanished.contains(player.getUniqueId()))
{ {
for (Player p : Bukkit.getOnlinePlayers()) for (Player p : Bukkit.getOnlinePlayers())
@@ -203,12 +205,14 @@ public class Vanish implements Module, Listener
if (!p.hasPermission("utils.vanish")) if (!p.hasPermission("utils.vanish"))
p.hidePlayer(player); p.hidePlayer(player);
} }
DataManager.setState(player, "vanished", true);
} }
private void unvanishPlayer(Player player) private void unvanishPlayer(Player player)
{ {
for (Player p : Bukkit.getOnlinePlayers()) for (Player p : Bukkit.getOnlinePlayers())
p.showPlayer(player); p.showPlayer(player);
DataManager.setState(player, "vanished", false);
} }
// @noformat // @noformat