package net.knarcraft.blockhunt.command; import net.knarcraft.blockhunt.MemoryStorage; import net.knarcraft.blockhunt.arena.Arena; import net.knarcraft.blockhunt.config.MessageKey; import net.knarcraft.blockhunt.manager.CommandManager; import net.knarcraft.blockhunt.manager.MessageManager; import org.bukkit.Effect; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.entity.Player; public class RemoveCommand extends DefaultCommand { @Override public boolean execute(Player player, String[] args) { if (player != null) { if (args.length <= 1) { MessageManager.sendFMessage(player, MessageKey.ERROR_NOT_ENOUGH_ARGUMENTS, "syntax-" + CommandManager.getRemoveCommand().usage()); } else { for (Arena arena : MemoryStorage.arenaList) { if (args[1].equalsIgnoreCase(arena.arenaName)) { MessageManager.sendFMessage(player, MessageKey.NORMAL_REMOVE_REMOVED_ARENA, "name-" + args[1]); MemoryStorage.arenas.getFile().set(args[1], null); for (String sign : MemoryStorage.signs.getFile().getKeys(false)) { if (MemoryStorage.signs.getFile().get(sign + ".arenaName").toString().equalsIgnoreCase(args[1])) { Location signLoc = (Location) MemoryStorage.signs.getFile().get(sign + ".location"); signLoc.getBlock().setType(Material.AIR); signLoc.getWorld().playEffect(signLoc, Effect.MOBSPAWNER_FLAMES, 0); signLoc.getWorld().playSound(signLoc, Sound.ENTITY_ENDER_DRAGON_FLAP, 1, 1); MemoryStorage.signs.getFile().set(sign, null); } } MemoryStorage.arenas.save(); MemoryStorage.signs.load(); MemoryStorage.arenaList.remove(arena); return true; } } MessageManager.sendFMessage(player, MessageKey.ERROR_NO_ARENA, "name-" + args[1]); } } else { MessageManager.sendFMessage(player, MessageKey.ERROR_ONLY_IN_GAME); } return true; } }