|
@@ -10,16 +10,6 @@ import java.util.Map;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.UUID;
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
import me.lennartVH01.game.BasicAbbaGame;
|
|
|
import me.lennartVH01.game.ContrabandScanner;
|
|
|
import me.lennartVH01.game.GameManager;
|
|
@@ -27,13 +17,11 @@ import me.lennartVH01.game.AbbaGame;
|
|
|
|
|
|
import org.bukkit.Bukkit;
|
|
|
import org.bukkit.Location;
|
|
|
-import org.bukkit.World;
|
|
|
import org.bukkit.command.Command;
|
|
|
import org.bukkit.command.CommandExecutor;
|
|
|
import org.bukkit.command.CommandSender;
|
|
|
import org.bukkit.command.TabCompleter;
|
|
|
import org.bukkit.entity.Player;
|
|
|
-import org.bukkit.permissions.Permissible;
|
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
|
|
|
|
|
|
@@ -188,85 +176,38 @@ public class CommandHandler implements CommandExecutor, TabCompleter{
|
|
|
private CommandFunc createCmd = new CommandFunc(){
|
|
|
@Override public boolean hasPermission(CommandSender sender){return Permission.ADMIN.has(sender);}
|
|
|
@Override public boolean run(CommandSender sender, String[] args){
|
|
|
- if(args.length <= 5 && !(sender instanceof Player)){
|
|
|
- System.out.println(Messages.errorMustBeInGame);
|
|
|
- return false;
|
|
|
- }
|
|
|
- String gameName;
|
|
|
- Location gameSpawn = null;
|
|
|
-
|
|
|
- // set gameName
|
|
|
- if(args.length >= 2){
|
|
|
- gameName = args[1];
|
|
|
- }else{
|
|
|
- DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
- gameName = "Abba" + dateFormat.format(new Date());
|
|
|
+ if(sender instanceof Player){
|
|
|
+
|
|
|
+ String gameName;
|
|
|
+ Location gameSpawn = null;
|
|
|
|
|
|
- }
|
|
|
-
|
|
|
- // set gameSpawn
|
|
|
- if(args.length >= 5){
|
|
|
- double spawnX, spawnY, spawnZ;
|
|
|
- try{
|
|
|
- spawnX = Double.parseDouble(args[2]);
|
|
|
- spawnY = Double.parseDouble(args[3]);
|
|
|
- spawnZ = Double.parseDouble(args[4]);
|
|
|
- }catch(NumberFormatException e){
|
|
|
- return false;
|
|
|
- }
|
|
|
- if(args.length >= 6){
|
|
|
- World w = Bukkit.getWorld(args[5]);
|
|
|
- if(w != null){
|
|
|
-
|
|
|
- gameSpawn = new Location(w, spawnX, spawnY, spawnZ);
|
|
|
-
|
|
|
- }else{
|
|
|
- sender.sendMessage(String.format(Messages.errorWorldNotFound, args[5]));
|
|
|
- return false;
|
|
|
- }
|
|
|
- }
|
|
|
- }else{
|
|
|
- if(sender instanceof Player){
|
|
|
- gameSpawn = ((Player) sender).getLocation();
|
|
|
+ // set gameName
|
|
|
+ if(args.length >= 2){
|
|
|
+ gameName = args[1];
|
|
|
+ if(GameManager.getGame(gameName) != null)
|
|
|
+ sender.sendMessage(String.format(Messages.commandCreateErrorExists, gameName));
|
|
|
+
|
|
|
}else{
|
|
|
- return false;
|
|
|
+ DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ gameName = "Abba" + dateFormat.format(new Date());
|
|
|
+
|
|
|
+ while(GameManager.getGame(gameName) != null)
|
|
|
+ gameName += "_";
|
|
|
}
|
|
|
+
|
|
|
+ gameSpawn = ((Player) sender).getLocation();
|
|
|
+
|
|
|
+ AbbaGame game = new BasicAbbaGame(plugin, gameName, gameSpawn, Config.defaultDuration, Config.defaultPlayerCap, new ContrabandScanner(Config.contraband), Config.itemValues);
|
|
|
+ GameManager.registerGame(game);
|
|
|
+ sender.sendMessage(String.format(Messages.commandCreateSuccess, gameName));
|
|
|
+ return true;
|
|
|
+ }else{
|
|
|
+ sender.sendMessage(Messages.errorMustBeInGame);
|
|
|
+ return false;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- while(GameManager.getGame(gameName) != null){
|
|
|
- gameName += "_";
|
|
|
- }
|
|
|
- //create game
|
|
|
- AbbaGame game = new BasicAbbaGame(plugin, gameName, gameSpawn, Config.defaultDuration, Config.defaultPlayerCap, new ContrabandScanner(Config.contraband), Config.itemValues);
|
|
|
- GameManager.registerGame(game);
|
|
|
- sender.sendMessage(String.format(Messages.commandCreateSuccess, gameName));
|
|
|
- //sender.sendMessage(String.format(Messages.commandCreateSuccess, gameName));
|
|
|
- return true;
|
|
|
}
|
|
|
@Override public List<String> tabComplete(CommandSender sender, String[] args){
|
|
|
- List<String> suggestions = new ArrayList<String>();
|
|
|
- switch(args.length){
|
|
|
- case 3:
|
|
|
- if(args[2].isEmpty())
|
|
|
- suggestions.add("" + ((Player) sender).getLocation().getBlockX());
|
|
|
- break;
|
|
|
- case 4:
|
|
|
- if(args[3].isEmpty())
|
|
|
- suggestions.add("" + ((Player) sender).getLocation().getBlockY());
|
|
|
- break;
|
|
|
- case 5:
|
|
|
- if(args[4].isEmpty())
|
|
|
- suggestions.add("" + ((Player) sender).getLocation().getBlockZ());
|
|
|
- break;
|
|
|
- case 6:
|
|
|
- for(World world:Bukkit.getWorlds())
|
|
|
- if(world.getName().toLowerCase().startsWith(args[5].toLowerCase()))
|
|
|
- suggestions.add(world.getName());
|
|
|
- break;
|
|
|
- }
|
|
|
- return suggestions;
|
|
|
+ return Collections.emptyList();
|
|
|
}
|
|
|
};
|
|
|
|