53 lines
2.3 KiB
Java
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;
|
|
}
|
|
}
|