54 lines
1.8 KiB
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;
|
|
}
|
|
}
|