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: