diff --git a/lib/BungeeCord.jar b/lib/BungeeCord.jar index 5e7bd18b..6e131460 100644 Binary files a/lib/BungeeCord.jar and b/lib/BungeeCord.jar differ diff --git a/pom.xml b/pom.xml index 7bb20d82..6841fbb5 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ - 2.7.12b2 + 2.7.12b3 org.bukkit diff --git a/src/main/java/uk/org/whoami/authme/AuthMe.java b/src/main/java/uk/org/whoami/authme/AuthMe.java index 24d8400e..09fb6311 100644 --- a/src/main/java/uk/org/whoami/authme/AuthMe.java +++ b/src/main/java/uk/org/whoami/authme/AuthMe.java @@ -95,7 +95,6 @@ public class AuthMe extends JavaPlugin { public API api; public HashMap captcha = new HashMap(); public HashMap cap = new HashMap(); - public HashMap bungeesIp = new HashMap(); public MultiverseCore mv = null; @Override @@ -235,10 +234,6 @@ public class AuthMe extends JavaPlugin { management = new Management(database, this); - if (Settings.bungee) { - this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord"); - this.getServer().getMessenger().registerIncomingPluginChannel(this, "BungeeCord", new BungeeCord(this)); - } PluginManager pm = getServer().getPluginManager(); if (pm.isPluginEnabled("Spout")) { pm.registerEvents(new AuthMeSpoutListener(database), this); diff --git a/src/main/java/uk/org/whoami/authme/BungeeCord.java b/src/main/java/uk/org/whoami/authme/BungeeCord.java deleted file mode 100644 index a23c907d..00000000 --- a/src/main/java/uk/org/whoami/authme/BungeeCord.java +++ /dev/null @@ -1,52 +0,0 @@ -package uk.org.whoami.authme; - -import java.io.ByteArrayInputStream; -import java.io.DataInputStream; -import java.io.IOException; - -import org.bukkit.entity.Player; -import org.bukkit.plugin.messaging.PluginMessageListener; - -import uk.org.whoami.authme.settings.Settings; - - -public class BungeeCord implements PluginMessageListener { - - public AuthMe plugin; - - public BungeeCord(AuthMe plugin) { - this.plugin = plugin; - } - - @Override - public void onPluginMessageReceived(String channel, Player player, - byte[] message) { - - if (channel.equals("BungeeCord")) { - DataInputStream in = new DataInputStream(new ByteArrayInputStream( - message)); - try { - - String packetType = in.readUTF(); - - if (packetType.equals("IP")) { - - if (player.isOnline()) { - String ip = in.readUTF(); - - if (!Settings.noConsoleSpam) - ConsoleLogger.info( - "Got data from bungeecord: Player " - + player.getName() - + " Logged in with IP :" + ip); - - String name = player.getName(); - plugin.bungeesIp.put(name, ip); - } - } - } catch (IOException e) { - e.printStackTrace(); - } - } - } -} diff --git a/src/main/java/uk/org/whoami/authme/Management.java b/src/main/java/uk/org/whoami/authme/Management.java index db679062..06f76c40 100644 --- a/src/main/java/uk/org/whoami/authme/Management.java +++ b/src/main/java/uk/org/whoami/authme/Management.java @@ -5,6 +5,7 @@ import java.util.Date; import java.util.List; import me.muizers.Notifications.Notification; +import net.md_5.bungee.BungeeCord; import org.bukkit.Bukkit; import org.bukkit.GameMode; @@ -60,13 +61,11 @@ public class Management { String name = player.getName().toLowerCase(); String ip = player.getAddress().getAddress().getHostAddress(); - String playerName = player.getName(); if (Settings.bungee) { try { - if (plugin.bungeesIp.containsKey(playerName)) - ip = plugin.bungeesIp.get(playerName); + ip = BungeeCord.getInstance().getPlayer(player.getName()).getAddress().getAddress().getHostAddress(); } catch (NoClassDefFoundError ncdfe) { - ConsoleLogger.showError("Your BungeeCord version is outdated"); + ConsoleLogger.showError("Your BungeeCord version is outdated, you need a version with the latest API"); } } World world = player.getWorld(); diff --git a/src/main/java/uk/org/whoami/authme/commands/RegisterCommand.java b/src/main/java/uk/org/whoami/authme/commands/RegisterCommand.java index 0820dd21..904753c7 100644 --- a/src/main/java/uk/org/whoami/authme/commands/RegisterCommand.java +++ b/src/main/java/uk/org/whoami/authme/commands/RegisterCommand.java @@ -20,6 +20,7 @@ import java.security.NoSuchAlgorithmException; import java.util.Date; import me.muizers.Notifications.Notification; +import net.md_5.bungee.BungeeCord; import org.bukkit.Bukkit; import org.bukkit.GameMode; @@ -76,15 +77,13 @@ public class RegisterCommand implements CommandExecutor { final Player player = (Player) sender; final String name = player.getName().toLowerCase(); - final String playerName = player.getName(); String ipA = player.getAddress().getAddress().getHostAddress(); if (Settings.bungee) { try { - if (plugin.bungeesIp.containsKey(playerName)) - ipA = plugin.bungeesIp.get(playerName); + ipA = BungeeCord.getInstance().getPlayer(player.getName()).getAddress().getAddress().getHostAddress(); } catch (NoClassDefFoundError ncdfe) { - ConsoleLogger.showError("Your BungeeCord version is outdated"); + ConsoleLogger.showError("Your BungeeCord version is outdated, you need a version with the latest API"); } } diff --git a/src/main/java/uk/org/whoami/authme/listener/AuthMePlayerListener.java b/src/main/java/uk/org/whoami/authme/listener/AuthMePlayerListener.java index e2392eec..bd263ce6 100644 --- a/src/main/java/uk/org/whoami/authme/listener/AuthMePlayerListener.java +++ b/src/main/java/uk/org/whoami/authme/listener/AuthMePlayerListener.java @@ -16,12 +16,11 @@ package uk.org.whoami.authme.listener; -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.io.IOException; import java.util.Date; import java.util.HashMap; +import net.md_5.bungee.BungeeCord; + import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Location; @@ -664,39 +663,10 @@ public class AuthMePlayerListener implements Listener { Location spawnLoc = world.getSpawnLocation(); gm = player.getGameMode().getValue(); final String name = player.getName().toLowerCase(); - final String playerName = player.getName(); gameMode.put(name, gm); BukkitScheduler sched = plugin.getServer().getScheduler(); final PlayerJoinEvent e = event; - - if (Settings.bungee); - sched.scheduleSyncDelayedTask(plugin, new Runnable() { - public void run() { - try { - ByteArrayOutputStream b = new ByteArrayOutputStream(); - DataOutputStream out = new DataOutputStream(b); - - try { - out.writeUTF("IP"); - } catch (IOException e) { - // Can never happen - } - - plugin.getServer() - .getPlayerExact(playerName) - .sendPluginMessage(plugin, "BungeeCord", - b.toByteArray()); - - } catch (Exception exception) { - - exception.printStackTrace(); - - } - } - }, 21L); - - if (plugin.getCitizensCommunicator().isNPC(player, plugin) || Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) { return; } @@ -704,10 +674,9 @@ public class AuthMePlayerListener implements Listener { String ip = player.getAddress().getAddress().getHostAddress(); if (Settings.bungee) { try { - if (plugin.bungeesIp.containsKey(playerName)) - ip = plugin.bungeesIp.get(playerName); + ip = BungeeCord.getInstance().getPlayer(player.getName()).getAddress().getAddress().getHostAddress(); } catch (NoClassDefFoundError ncdfe) { - ConsoleLogger.showError("Your BungeeCord version is outdated"); + ConsoleLogger.showError("Your BungeeCord version is outdated, you need a version with the latest API"); } } if(Settings.isAllowRestrictedIp && !Settings.getRestrictedIp(name, ip)) { diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 72db15e5..6629b6f8 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -3,7 +3,7 @@ author: darkwarriros,Xephi website: http://www.multiplayer-italia.com/ description: AuthMe prevents people, which aren't logged in, from doing stuff like placing blocks, moving, typing commands or seeing the inventory of the current player. main: uk.org.whoami.authme.AuthMe -version: 2.7.12b2 +version: 2.7.12b3 softdepend: [Vault, ChestShop, Spout, Multiverse-Core, Notifications, Citizens, CombatTag] commands: register: