diff --git a/.idea/misc.xml b/.idea/misc.xml
index 602a0ddb..982bac40 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -7,5 +7,5 @@
-
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 032257c0..da9c2b15 100644
--- a/pom.xml
+++ b/pom.xml
@@ -140,13 +140,6 @@
compile
-
- com.github.MyzelYam
- SuperVanish
- 6.1.8
- provided
-
-
org.spigotmc
spigot
@@ -209,12 +202,6 @@
provided
-
- me.rayzr522
- jsonmessage
- 1.0.0
-
-
com.github.vexsoftware
votifier
diff --git a/src/main/java/me/totalfreedom/totalfreedommod/TotalFreedomMod.java b/src/main/java/me/totalfreedom/totalfreedommod/TotalFreedomMod.java
index 6625e77a..4760a4a3 100644
--- a/src/main/java/me/totalfreedom/totalfreedommod/TotalFreedomMod.java
+++ b/src/main/java/me/totalfreedom/totalfreedommod/TotalFreedomMod.java
@@ -22,7 +22,6 @@ import me.totalfreedom.totalfreedommod.bridge.EssentialsBridge;
import me.totalfreedom.totalfreedommod.bridge.FAWEBridge;
import me.totalfreedom.totalfreedommod.bridge.LibsDisguisesBridge;
import me.totalfreedom.totalfreedommod.bridge.TFGuildsBridge;
-import me.totalfreedom.totalfreedommod.bridge.VanishBridge;
import me.totalfreedom.totalfreedommod.bridge.WorldEditBridge;
import me.totalfreedom.totalfreedommod.bridge.WorldGuardBridge;
import me.totalfreedom.totalfreedommod.caging.Cager;
@@ -137,7 +136,7 @@ public class TotalFreedomMod extends JavaPlugin
public SignBlocker snp;
public EntityWiper ew;
public Sitter st;
- public VanishBridge vb;
+ public VanishHandler vh;
public AMP amp;
//public HubWorldRestrictions hwr;
@@ -236,7 +235,7 @@ public class TotalFreedomMod extends JavaPlugin
snp = new SignBlocker();
ew = new EntityWiper();
st = new Sitter();
- vb = new VanishBridge();
+ vh = new VanishHandler();
amp = new AMP();
// Single admin utils
diff --git a/src/main/java/me/totalfreedom/totalfreedommod/VanishHandler.java b/src/main/java/me/totalfreedom/totalfreedommod/VanishHandler.java
new file mode 100644
index 00000000..7d1e586d
--- /dev/null
+++ b/src/main/java/me/totalfreedom/totalfreedommod/VanishHandler.java
@@ -0,0 +1,83 @@
+package me.totalfreedom.totalfreedommod;
+
+import me.totalfreedom.totalfreedommod.util.FLog;
+import net.md_5.bungee.api.ChatMessageType;
+import net.md_5.bungee.api.chat.TextComponent;
+import org.bukkit.ChatColor;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.EventPriority;
+import org.bukkit.event.player.PlayerJoinEvent;
+import org.bukkit.event.player.PlayerQuitEvent;
+import org.bukkit.scheduler.BukkitRunnable;
+
+public class VanishHandler extends FreedomService
+{
+
+ @Override
+ public void onStart()
+ {
+ }
+
+ @Override
+ public void onStop()
+ {
+ }
+
+ @EventHandler(priority = EventPriority.HIGH)
+ public void onPlayerJoin(PlayerJoinEvent event)
+ {
+ Player player = event.getPlayer();
+
+ for (Player p : server.getOnlinePlayers())
+ {
+ if (!plugin.al.isAdmin(player) && plugin.al.isVanished(p.getName()))
+ {
+ player.hidePlayer(plugin, p);
+ }
+ }
+
+ for (Player p : server.getOnlinePlayers())
+ {
+ if (!plugin.al.isAdmin(p) && plugin.al.isVanished(player.getName()))
+ {
+ p.hidePlayer(plugin, player);
+ }
+ }
+
+ if (plugin.al.isVanished(player.getName()))
+ {
+ plugin.esb.setVanished(player.getName(), true);
+ FLog.info(player.getName() + " joined while still vanished.");
+ plugin.al.messageAllAdmins(ChatColor.YELLOW + player.getName() + " has joined silently.");
+ event.setJoinMessage(null);
+
+ new BukkitRunnable()
+ {
+ @Override
+ public void run()
+ {
+ if (!plugin.al.isVanished(player.getName()))
+ {
+ this.cancel();
+ }
+
+ player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(ChatColor.GOLD + "You are hidden from other players."));
+ }
+ }.runTaskTimer(plugin, 0L, 4L);
+ }
+ }
+
+ @EventHandler
+ public void onPlayerLeave(PlayerQuitEvent event)
+ {
+ Player player = event.getPlayer();
+
+ if (plugin.al.isVanished(player.getName()))
+ {
+ event.setQuitMessage(null);
+ FLog.info(player.getName() + " left while still vanished.");
+ plugin.al.messageAllAdmins(ChatColor.YELLOW + player.getName() + " has left silently.");
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/me/totalfreedom/totalfreedommod/admin/AdminList.java b/src/main/java/me/totalfreedom/totalfreedommod/admin/AdminList.java
index 2b4d6c61..8d2f5b54 100644
--- a/src/main/java/me/totalfreedom/totalfreedommod/admin/AdminList.java
+++ b/src/main/java/me/totalfreedom/totalfreedommod/admin/AdminList.java
@@ -2,7 +2,6 @@ package me.totalfreedom.totalfreedommod.admin;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
-import de.myzelyam.api.vanish.VanishAPI;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
@@ -32,6 +31,7 @@ public class AdminList extends FreedomService
private final Map ipTable = Maps.newHashMap();
public final List verifiedNoAdmins = new ArrayList<>();
public final Map> verifiedNoAdminIps = Maps.newHashMap();
+ public static List vanished = new ArrayList<>();
@Override
public void onStart()
@@ -363,8 +363,8 @@ public class AdminList extends FreedomService
updateTables();
}
- public boolean isVanished(Player player)
+ public boolean isVanished(String player)
{
- return VanishAPI.isInvisible(player);
+ return vanished.contains(player);
}
}
\ No newline at end of file
diff --git a/src/main/java/me/totalfreedom/totalfreedommod/bridge/VanishBridge.java b/src/main/java/me/totalfreedom/totalfreedommod/bridge/VanishBridge.java
deleted file mode 100644
index 097309b6..00000000
--- a/src/main/java/me/totalfreedom/totalfreedommod/bridge/VanishBridge.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package me.totalfreedom.totalfreedommod.bridge;
-
-import de.myzelyam.api.vanish.PlayerHideEvent;
-import de.myzelyam.api.vanish.PlayerShowEvent;
-import me.totalfreedom.totalfreedommod.FreedomService;
-import me.totalfreedom.totalfreedommod.player.PlayerData;
-import me.totalfreedom.totalfreedommod.rank.Displayable;
-import me.totalfreedom.totalfreedommod.util.FUtil;
-import org.bukkit.ChatColor;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-
-public class VanishBridge extends FreedomService
-{
- @Override
- public void onStart()
- {
- }
-
- @Override
- public void onStop()
- {
- }
-
- @EventHandler
- public void onPlayerUnvanish(PlayerShowEvent event)
- {
- Player player = event.getPlayer();
- Displayable display = plugin.rm.getDisplay(player);
- String tag = display.getColoredTag();
-
- if (event.isSilent())
- {
- plugin.al.messageAllAdmins(ChatColor.GOLD + player.getName() + " silently unvanished.");
- }
- else
- {
- plugin.al.messageAllAdmins(ChatColor.GOLD + player.getName() + " unvanished and is now visible to all players.");
- FUtil.bcastMsg(plugin.rm.craftLoginMessage(event.getPlayer(), null));
- plugin.dc.messageChatChannel("**" + player.getName() + " joined the server" + "**");
- }
-
- PlayerData playerData = plugin.pl.getData(player);
- if (playerData.getTag() != null)
- {
- tag = FUtil.colorize(playerData.getTag());
- }
- playerData.setTag(tag);
- }
-
- @EventHandler
- public void onPlayerVanish(PlayerHideEvent event)
- {
- Player player = event.getPlayer();
- if (event.isSilent())
- {
- plugin.al.messageAllAdmins(ChatColor.GOLD + player.getName() + " vanished and is now only visible to admins.");
- }
- else
- {
- plugin.dc.messageChatChannel("**" + player.getName() + " left the server" + "**");
- }
- }
-}
\ No newline at end of file
diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_list.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_list.java
index a3ab50d4..d2ee0af0 100644
--- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_list.java
+++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_list.java
@@ -1,9 +1,9 @@
package me.totalfreedom.totalfreedommod.command;
-import de.myzelyam.api.vanish.VanishAPI;
import java.util.ArrayList;
import java.util.List;
import me.totalfreedom.totalfreedommod.admin.Admin;
+import me.totalfreedom.totalfreedommod.admin.AdminList;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.rank.Displayable;
import me.totalfreedom.totalfreedommod.rank.Rank;
@@ -96,7 +96,7 @@ public class Command_list extends FreedomCommand
}
else
{
- onlineStats.append(ChatColor.BLUE).append("There are ").append(ChatColor.RED).append(server.getOnlinePlayers().size() - VanishAPI.getInvisiblePlayers().size())
+ onlineStats.append(ChatColor.BLUE).append("There are ").append(ChatColor.RED).append(server.getOnlinePlayers().size() - AdminList.vanished.size())
.append(ChatColor.BLUE)
.append(" out of a maximum ")
.append(ChatColor.RED)
@@ -109,11 +109,11 @@ public class Command_list extends FreedomCommand
{
continue;
}
- if (listFilter == ListFilter.ADMINS && plugin.al.isVanished(p))
+ if (listFilter == ListFilter.ADMINS && plugin.al.isVanished(p.getName()))
{
continue;
}
- if (listFilter == ListFilter.VANISHED_ADMINS && !plugin.al.isVanished(p))
+ if (listFilter == ListFilter.VANISHED_ADMINS && !plugin.al.isVanished(p.getName()))
{
continue;
}
diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_vanish.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_vanish.java
deleted file mode 100644
index 4a20ae47..00000000
--- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_vanish.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package me.totalfreedom.totalfreedommod.command;
-
-import de.myzelyam.api.vanish.VanishAPI;
-import me.totalfreedom.totalfreedommod.rank.Rank;
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
-
-@CommandPermissions(level = Rank.SUPER_ADMIN, source = SourceType.ONLY_IN_GAME)
-@CommandParameters(description = "Hide yourself from other players", usage = "/ [-s]", aliases = "v,ev,evanish")
-public class Command_vanish extends FreedomCommand
-{
- @Override
- public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
- {
- if (args.length == 0)
- {
- if (!VanishAPI.isInvisible(playerSender))
- {
- VanishAPI.hidePlayer(playerSender);
- }
- else
- {
- VanishAPI.showPlayer(playerSender);
- }
- }
- else if (args[0].equalsIgnoreCase("-s") || args[0].equalsIgnoreCase("-v"))
- {
- if (!VanishAPI.isInvisible(playerSender))
- {
- VanishAPI.getPlugin().getVisibilityChanger().hidePlayer(playerSender, null, true);
- }
- else
- {
- VanishAPI.getPlugin().getVisibilityChanger().showPlayer(playerSender, null, true);
- }
- }
- else
- {
- return false;
- }
- return true;
- }
-}
\ No newline at end of file