61 lines
2.8 KiB
Java
61 lines
2.8 KiB
Java
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;
|
|
}
|
|
}
|