package net.knarcraft.blockhunt.command; import net.knarcraft.blockhunt.MemoryStorage; import net.knarcraft.blockhunt.arena.Arena; import net.knarcraft.blockhunt.arena.ArenaGameState; import net.knarcraft.blockhunt.arena.ArenaLocations; import net.knarcraft.blockhunt.arena.ArenaOptions; import net.knarcraft.blockhunt.config.MessageKey; import net.knarcraft.blockhunt.manager.CommandManager; import net.knarcraft.blockhunt.util.MessageHelper; import net.knarcraft.blockhunt.util.ScoreboardHelper; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import java.util.ArrayList; public class CreateCommand extends DefaultCommand { @Override public boolean execute(Player player, String[] args) { if (player == null) { MessageHelper.sendMessage(null, MessageKey.ERROR_ONLY_IN_GAME); return true; } if (args.length <= 1) { MessageHelper.sendMessage(player, MessageKey.ERROR_NOT_ENOUGH_ARGUMENTS, "syntax-" + CommandManager.getCreateCommand().usage()); } else { if (MemoryStorage.pos1.get(player) != null && MemoryStorage.pos2.get(player) != null) { if (MemoryStorage.pos1.get(player).getWorld().equals(MemoryStorage.pos2.get(player).getWorld())) { ArenaOptions arenaOptions = new ArenaOptions(args[1], false, false, false, false, false, new ArrayList<>(), new ArrayList<>(), new ArrayList<>()); ArenaLocations arenaLocations = new ArenaLocations(MemoryStorage.pos1.get(player), MemoryStorage.pos2.get(player), null, null, null, null); Arena arena = new Arena(arenaOptions, arenaLocations, 12, 3, 1, 50, 20, 300, 30, 45, new ArrayList<>(), 10, 50, 8, new ArrayList<>(), ArenaGameState.WAITING, 0, new ArrayList<>(), Bukkit.getScoreboardManager().getNewScoreboard()); MemoryStorage.arenas.getFileConfiguration().set(args[1], arena); MemoryStorage.arenas.save(); MemoryStorage.signs.load(); MemoryStorage.arenaMap.put(args[1].toLowerCase(), arena); ScoreboardHelper.createScoreboard(arena); MessageHelper.sendMessage(player, MessageKey.NORMAL_CREATE_CREATED_ARENA, "name-" + args[1]); } else { MessageHelper.sendMessage(player, MessageKey.ERROR_CREATE_NOT_SAME_WORLD); } } else { MessageHelper.sendMessage(player, MessageKey.ERROR_CREATE_SELECTION_FIRST); } } return true; } }