Add the removing of a jail via the ``/jail delete
`` command.
This commit is contained in:
parent
950eb638b8
commit
78cc20c2c1
@ -405,4 +405,26 @@ public class JailIO {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes a jail from the storage system.
|
||||||
|
*
|
||||||
|
* @param name of the jail to remove.
|
||||||
|
*/
|
||||||
|
public void removeJail(String name) {
|
||||||
|
switch(storage) {
|
||||||
|
case 1:
|
||||||
|
case 2:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
flat.set("jails." + name, null);
|
||||||
|
|
||||||
|
try {
|
||||||
|
flat.save(new File(pl.getDataFolder(), "data.yml"));
|
||||||
|
} catch (IOException e) {
|
||||||
|
pl.getLogger().severe("Unable to remove the jail " + name + " from the storage: " + e.getMessage());
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -73,6 +73,16 @@ public class JailManager {
|
|||||||
if(n) plugin.getJailIO().saveJail(jail);
|
if(n) plugin.getJailIO().saveJail(jail);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes a {@link Jail}.
|
||||||
|
*
|
||||||
|
* @param name of the jail to remove
|
||||||
|
*/
|
||||||
|
public void removeJail(String name) {
|
||||||
|
this.jails.remove(name);
|
||||||
|
plugin.getJailIO().removeJail(name);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a jail by the given name.
|
* Gets a jail by the given name.
|
||||||
*
|
*
|
||||||
|
@ -18,6 +18,7 @@ import com.graywolf336.jail.command.subcommands.JailCommand;
|
|||||||
import com.graywolf336.jail.command.subcommands.JailCreateCommand;
|
import com.graywolf336.jail.command.subcommands.JailCreateCommand;
|
||||||
import com.graywolf336.jail.command.subcommands.JailDeleteCellCommand;
|
import com.graywolf336.jail.command.subcommands.JailDeleteCellCommand;
|
||||||
import com.graywolf336.jail.command.subcommands.JailDeleteCellsCommand;
|
import com.graywolf336.jail.command.subcommands.JailDeleteCellsCommand;
|
||||||
|
import com.graywolf336.jail.command.subcommands.JailDeleteCommand;
|
||||||
import com.graywolf336.jail.command.subcommands.JailListCellsCommand;
|
import com.graywolf336.jail.command.subcommands.JailListCellsCommand;
|
||||||
import com.graywolf336.jail.command.subcommands.JailListCommand;
|
import com.graywolf336.jail.command.subcommands.JailListCommand;
|
||||||
import com.graywolf336.jail.command.subcommands.JailMuteCommand;
|
import com.graywolf336.jail.command.subcommands.JailMuteCommand;
|
||||||
@ -172,6 +173,7 @@ public class JailHandler {
|
|||||||
load(JailCreateCommand.class);
|
load(JailCreateCommand.class);
|
||||||
load(JailDeleteCellCommand.class);
|
load(JailDeleteCellCommand.class);
|
||||||
load(JailDeleteCellsCommand.class);
|
load(JailDeleteCellsCommand.class);
|
||||||
|
load(JailDeleteCommand.class);
|
||||||
load(JailListCellsCommand.class);
|
load(JailListCellsCommand.class);
|
||||||
load(JailListCommand.class);
|
load(JailListCommand.class);
|
||||||
load(JailMuteCommand.class);
|
load(JailMuteCommand.class);
|
||||||
|
@ -0,0 +1,38 @@
|
|||||||
|
package com.graywolf336.jail.command.subcommands;
|
||||||
|
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
import com.graywolf336.jail.JailManager;
|
||||||
|
import com.graywolf336.jail.command.Command;
|
||||||
|
import com.graywolf336.jail.command.CommandInfo;
|
||||||
|
import com.graywolf336.jail.enums.LangString;
|
||||||
|
|
||||||
|
@CommandInfo(
|
||||||
|
maxArgs = 1,
|
||||||
|
minimumArgs = 1,
|
||||||
|
needsPlayer = false,
|
||||||
|
pattern = "delete|d",
|
||||||
|
permission = "jail.command.jaildelete",
|
||||||
|
usage = "/jail delete <jail>"
|
||||||
|
)
|
||||||
|
public class JailDeleteCommand implements Command {
|
||||||
|
public boolean execute(JailManager jm, CommandSender sender, String... args) throws Exception {
|
||||||
|
//Check if the jail name provided is a valid jail
|
||||||
|
if(jm.isValidJail(args[1])) {
|
||||||
|
//check if the jail doesn't contain prisoners
|
||||||
|
if(jm.getJail(args[1]).getAllPrisoners().size() == 0) {
|
||||||
|
//There are no prisoners, so we can delete it
|
||||||
|
jm.removeJail(args[1]);
|
||||||
|
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.JAILREMOVED, args[1]));
|
||||||
|
}else {
|
||||||
|
//The jail has prisoners, they need to release them first
|
||||||
|
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.JAILREMOVALUNSUCCESSFUL, args[1]));
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
//No jail found by the provided name
|
||||||
|
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.NOJAIL, args[1]));
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -114,6 +114,8 @@ public enum LangString {
|
|||||||
CELLREMOVED ("general"),
|
CELLREMOVED ("general"),
|
||||||
/** The simple word jailing to be put in other parts. */
|
/** The simple word jailing to be put in other parts. */
|
||||||
JAILING ("jailing"),
|
JAILING ("jailing"),
|
||||||
|
/** THe message sent to the sender when they try to remove a jail but there are still prisoners in there. */
|
||||||
|
JAILREMOVALUNSUCCESSFUL ("general"),
|
||||||
/** The message sent whenever a jail is successfully removed. */
|
/** The message sent whenever a jail is successfully removed. */
|
||||||
JAILREMOVED ("general"),
|
JAILREMOVED ("general"),
|
||||||
/** Message sent when doing something that requires a cell but the given name of a cell doesn't exist. */
|
/** Message sent when doing something that requires a cell but the given name of a cell doesn't exist. */
|
||||||
|
@ -12,6 +12,7 @@ language:
|
|||||||
cellremovalunsuccessful: '&cThe removal of cell %0% from jail %1% was unsuccessful because there is a prisoner in there still. Release or transfer before trying to remove the cell again.'
|
cellremovalunsuccessful: '&cThe removal of cell %0% from jail %1% was unsuccessful because there is a prisoner in there still. Release or transfer before trying to remove the cell again.'
|
||||||
cellremoved: '&9Cell %0% has been successfully removed from the jail %1%.'
|
cellremoved: '&9Cell %0% has been successfully removed from the jail %1%.'
|
||||||
jailing: '&9jailing'
|
jailing: '&9jailing'
|
||||||
|
jailremovalunsuccessful: '&cThe removal of the jail %0% was unsuccessful because there are prisoners in there, please release or transfer them first.'
|
||||||
jailremoved: '&9Jail %0% has been successfully removed.'
|
jailremoved: '&9Jail %0% has been successfully removed.'
|
||||||
nocell: '&cNo cell found by the name of %0% in the jail %1%.'
|
nocell: '&cNo cell found by the name of %0% in the jail %1%.'
|
||||||
nocells: '&cNo cells found in the jail %0%.'
|
nocells: '&cNo cells found in the jail %0%.'
|
||||||
|
Loading…
Reference in New Issue
Block a user