diff --git a/nukkit/src/main/java/net/josscoder/redisbridge/nukkit/command/TransferCommand.java b/nukkit/src/main/java/net/josscoder/redisbridge/nukkit/command/TransferCommand.java index 0f68222..9defbf7 100644 --- a/nukkit/src/main/java/net/josscoder/redisbridge/nukkit/command/TransferCommand.java +++ b/nukkit/src/main/java/net/josscoder/redisbridge/nukkit/command/TransferCommand.java @@ -6,12 +6,13 @@ import cn.nukkit.utils.TextFormat; import net.josscoder.redisbridge.core.data.InstanceInfo; import net.josscoder.redisbridge.core.manager.InstanceManager; +import net.josscoder.redisbridge.nukkit.RedisBridgePlugin; public class TransferCommand extends Command { public TransferCommand() { super("transfer", "Transfer to a server", "/transfer "); - setPermission("redisbridge.transfer"); + setPermission("redisbridge.transfer.command.permission"); } @Override @@ -34,7 +35,13 @@ public boolean execute(CommandSender sender, String label, String[] args) { InstanceInfo instance = InstanceManager.getInstance().getInstanceById(serverID); if (instance == null) { - player.sendMessage(TextFormat.RED + "That server does not exist!"); + player.sendMessage(TextFormat.RED + "Server does not exist!"); + + return false; + } + + if (instance.getId().equalsIgnoreCase(RedisBridgePlugin.getInstance().getCurrentInstanceInfo().getId())) { + player.sendMessage(TextFormat.RED + "You are already on this server!"); return false; } diff --git a/waterdogpe/src/main/java/net/josscoder/redisbridge/waterdogpe/RedisBridgePlugin.java b/waterdogpe/src/main/java/net/josscoder/redisbridge/waterdogpe/RedisBridgePlugin.java index 87df975..7f68c9d 100644 --- a/waterdogpe/src/main/java/net/josscoder/redisbridge/waterdogpe/RedisBridgePlugin.java +++ b/waterdogpe/src/main/java/net/josscoder/redisbridge/waterdogpe/RedisBridgePlugin.java @@ -69,7 +69,6 @@ private void setupCommands() { CommandMap map = getProxy().getCommandMap(); map.unregisterCommand("wdlist"); map.registerCommand(new WhereAmICommand()); - //map.registerCommand(new ListCommand()); } private void setupEvents() { diff --git a/waterdogpe/src/main/java/net/josscoder/redisbridge/waterdogpe/command/ListCommand.java b/waterdogpe/src/main/java/net/josscoder/redisbridge/waterdogpe/command/ListCommand.java deleted file mode 100644 index 69ce0f7..0000000 --- a/waterdogpe/src/main/java/net/josscoder/redisbridge/waterdogpe/command/ListCommand.java +++ /dev/null @@ -1,4 +0,0 @@ -package net.josscoder.redisbridge.waterdogpe.command; - -public class ListCommand { -} diff --git a/waterdogpe/src/main/java/net/josscoder/redisbridge/waterdogpe/event/ProxyEvents.java b/waterdogpe/src/main/java/net/josscoder/redisbridge/waterdogpe/event/ProxyEvents.java index b9e6fcb..fee347e 100644 --- a/waterdogpe/src/main/java/net/josscoder/redisbridge/waterdogpe/event/ProxyEvents.java +++ b/waterdogpe/src/main/java/net/josscoder/redisbridge/waterdogpe/event/ProxyEvents.java @@ -20,9 +20,10 @@ public static void onQuery(ProxyQueryEvent event) { public static void onTransferRequest(ServerTransferRequestEvent event) { ProxiedPlayer player = event.getPlayer(); + ServerInfo currentServer = player.getServerInfo(); ServerInfo targetServer = event.getTargetServer(); - if (player.getServerInfo() == null || targetServer == null || player.getServerInfo().getServerName().equalsIgnoreCase(targetServer.getServerName())) { + if (currentServer == null || targetServer == null || currentServer.getServerName().equalsIgnoreCase(targetServer.getServerName())) { return; }