53 lines
2.3 KiB
Java

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;
}
}