Files
Jail/src/main/java/com/graywolf336/jail/command/subcommands/JailClearCommand.java

54 lines
1.8 KiB
Java

package com.graywolf336.jail.command.subcommands;
import org.bukkit.command.CommandSender;
import com.graywolf336.jail.JailManager;
import com.graywolf336.jail.beans.Jail;
import com.graywolf336.jail.beans.Prisoner;
import com.graywolf336.jail.command.Command;
import com.graywolf336.jail.command.CommandInfo;
import com.graywolf336.jail.enums.LangString;
@CommandInfo(
maxArgs = 1,
minimumArgs = 0,
needsPlayer = false,
pattern = "clear",
permission = "jail.command.jailclear",
usage = "/jail clear (Jail name)"
)
public class JailClearCommand implements Command {
// If Jail is specified unjails all the prisoners from that Jail (new feature) otherwise it unjails all the prisoners from all the jails
public boolean execute(JailManager jm, CommandSender sender, String... args) {
if(args.length == 2) {
Jail j = jm.getJail(args[1]);
if(j != null) {
for(Prisoner p : j.getAllPrisoners()) {
jm.getPlugin().getPrisonerManager().releasePrisoner(jm.getPlugin().getServer().getPlayerExact(p.getName()), p);
}
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.PRISONERSCLEARED, j.getName()));
}else {
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.NOJAIL, args[1]));
}
}else {
if(jm.getJails().size() == 0) {
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.NOJAILS));
}else {
for(Jail j : jm.getJails()) {
for(Prisoner p : j.getAllPrisoners()) {
jm.getPlugin().getPrisonerManager().releasePrisoner(jm.getPlugin().getServer().getPlayerExact(p.getName()), p);
}
}
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.PRISONERSCLEARED,
jm.getPlugin().getJailIO().getLanguageString(LangString.ALLJAILS)));
}
}
return true;
}
}