diff --git a/src/de/steamwar/bungeecore/commands/BauCommand.java b/src/de/steamwar/bungeecore/commands/BauCommand.java index 90cba425..bb744060 100644 --- a/src/de/steamwar/bungeecore/commands/BauCommand.java +++ b/src/de/steamwar/bungeecore/commands/BauCommand.java @@ -24,15 +24,30 @@ public class BauCommand { BungeeCore.log(p, e.getMessage()); if(command.length == 1){ - SubserverSystem.sendToBau15(p, p.getUniqueId()); + if(bau15(p, command, 1)) + SubserverSystem.sendToBau15(p, p.getUniqueId()); + else + SubserverSystem.sendToBauServer(p, p.getUniqueId()); return; } switch(command[1].toLowerCase()){ + case "ws": + case "warship": + case "wg": + case "wargear": case "12": case "1.12": SubserverSystem.sendToBauServer(p, p.getUniqueId()); break; + case "as": + case "airship": + case "mwg": + case "miniwargear": + case "15": + case "1.15": + SubserverSystem.sendToBau15(p, p.getUniqueId()); + break; case "addmember": addmember(p, command); break; @@ -113,10 +128,34 @@ public class BauCommand { return; } - if(command.length > 3 && command[3].equals("1.12")) - SubserverSystem.sendToBauServer(p, worldOwner.getUuid()); - else + if(bau15(p, command, 3)) SubserverSystem.sendToBau15(p, worldOwner.getUuid()); + else + SubserverSystem.sendToBauServer(p, worldOwner.getUuid()); + } + + private static boolean bau15(ProxiedPlayer p, String[] args, int pos){ + if(args.length <= pos) + return p.getPendingConnection().getVersion() > 340; // Version > 1.12.2 + + switch(args[pos].toLowerCase()){ + case "ws": + case "warship": + case "wg": + case "wargear": + case "12": + case "1.12": + return false; + case "as": + case "airship": + case "mwg": + case "miniwargear": + case "15": + case "1.15": + return true; + default: + return p.getPendingConnection().getVersion() > 340; // Version > 1.12.2 + } } private static void togglebuild(ProxiedPlayer p, String[] command){ @@ -168,12 +207,7 @@ public class BauCommand { } private static void delete(ProxiedPlayer p, String[] command){ - if(command.length > 2){ - if(!command[2].equals("1.12")){ - BungeeCore.send(p, BungeeCore.CHAT_PREFIX + "§c Unbekannte Option: " + command[2]); - return; - } - + if(bau15(p, command, 2)){ BungeeCore.send(p, BungeeCore.CHAT_PREFIX + "§aDeine Welt wird zurückgesetzt."); ProxyServer.getInstance().getScheduler().runAsync(BungeeCore.get(), () -> { for (Subserver subserver : Subserver.getServerList()) { @@ -182,7 +216,8 @@ public class BauCommand { break; } } - File directory = new File(BungeeCore.WORLD_FOLDER + p.getUniqueId().toString()); + SteamwarUser user = SteamwarUser.get(p.getUniqueId()); + File directory = new File(BungeeCore.USERWORLDS15 + user.getId()); del(directory); }); }else{ @@ -194,8 +229,7 @@ public class BauCommand { break; } } - SteamwarUser user = SteamwarUser.get(p.getUniqueId()); - File directory = new File(BungeeCore.USERWORLDS15 + user.getId()); + File directory = new File(BungeeCore.WORLD_FOLDER + p.getUniqueId().toString()); del(directory); }); }