More command workings and using the custom languages.
This commit is contained in:
parent
3ab751baa8
commit
34ac65565c
@ -150,6 +150,11 @@ public class Jail {
|
||||
return this.cells.get(name);
|
||||
}
|
||||
|
||||
/** Removes the cell from the jail. */
|
||||
public void removeCell(String name) {
|
||||
this.cells.remove(name);
|
||||
}
|
||||
|
||||
/** Returns the cell which the given player name is jailed in, null if not. */
|
||||
public Cell getCellPrisonerIsIn(String name) {
|
||||
for(Cell c : cells.values())
|
||||
|
@ -9,7 +9,7 @@ import com.graywolf336.jail.command.CommandInfo;
|
||||
@CommandInfo(
|
||||
maxArgs = 1,
|
||||
minimumArgs = 0,
|
||||
needsPlayer = true,
|
||||
needsPlayer = false,
|
||||
pattern = "jailcheck|jcheck",
|
||||
permission = "jail.command.jailcheck",
|
||||
usage = "/jailcheck (Player name)"
|
||||
|
@ -100,16 +100,17 @@ public class JailCommand implements Command {
|
||||
//Check if the cell is defined, and if so check to be sure it exists.
|
||||
if(!params.cell().isEmpty()) {
|
||||
if(jm.getJail(params.jail()).getCell(params.cell()) == null) {
|
||||
sender.sendMessage(ChatColor.RED + "The cell provided does not exist.");
|
||||
//There is cell by that name
|
||||
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.NOCELL, new String[] { params.cell(), params.jail() }));
|
||||
return true;
|
||||
}else if(jm.getJail(params.jail()).getCell(params.cell()).hasPrisoner()) {
|
||||
//If the cell has a prisoner, don't allow jailing them to that particular cell
|
||||
sender.sendMessage(ChatColor.RED + "The destination cell already has a prisoner in it.");
|
||||
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.CELLNOTEMPTY, params.cell()));
|
||||
Cell suggestedCell = jm.getJail(params.jail()).getFirstEmptyCell();
|
||||
if(suggestedCell != null) {
|
||||
sender.sendMessage(ChatColor.RED + "We found an empty cell in the same jail (" + params.jail() + ") with the name: " + suggestedCell.getName());
|
||||
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.SUGGESTEDCELL, new String[] { params.jail(), suggestedCell.getName() }));
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.RED + "We didn't find any empty cells, this jail's (" + params.jail() + ") cells appear to be full");
|
||||
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.NOEMPTYCELLS, params.jail()));
|
||||
}
|
||||
|
||||
return true;
|
||||
@ -141,7 +142,7 @@ public class JailCommand implements Command {
|
||||
//check if the event is cancelled
|
||||
if(event.isCancelled()) {
|
||||
if(event.getCancelledMessage().isEmpty())
|
||||
sender.sendMessage(ChatColor.RED + "Jailing " + params.player() + " was cancelled by another plugin and they didn't leave you a message.");
|
||||
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.CANCELLEDBYANOTHERPLUGIN, params.player()));
|
||||
else
|
||||
sender.sendMessage(event.getCancelledMessage());
|
||||
|
||||
|
@ -8,6 +8,7 @@ import com.graywolf336.jail.beans.Cell;
|
||||
import com.graywolf336.jail.beans.Jail;
|
||||
import com.graywolf336.jail.command.Command;
|
||||
import com.graywolf336.jail.command.CommandInfo;
|
||||
import com.graywolf336.jail.enums.LangString;
|
||||
|
||||
@CommandInfo(
|
||||
maxArgs = 1,
|
||||
@ -36,15 +37,15 @@ public class JailListCellsCommand implements Command {
|
||||
}
|
||||
|
||||
if(message.isEmpty()) {
|
||||
sender.sendMessage(ChatColor.RED + "There are no cells for the jail '" + args[0] + "'.");
|
||||
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.NOCELLS, j.getName()));
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.GREEN + message);
|
||||
}
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.RED + "No jail by the name of '" + args[0] + "'.");
|
||||
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.NOJAIL, args[0]));
|
||||
}
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.RED + " There are no jails.");
|
||||
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.NOJAILS));
|
||||
}
|
||||
|
||||
sender.sendMessage(ChatColor.AQUA + "-------------------------");
|
||||
|
@ -7,6 +7,7 @@ import com.graywolf336.jail.JailManager;
|
||||
import com.graywolf336.jail.beans.Jail;
|
||||
import com.graywolf336.jail.command.Command;
|
||||
import com.graywolf336.jail.command.CommandInfo;
|
||||
import com.graywolf336.jail.enums.LangString;
|
||||
|
||||
@CommandInfo(
|
||||
maxArgs = 0,
|
||||
@ -27,7 +28,7 @@ public class JailListCommand implements Command {
|
||||
sender.sendMessage(ChatColor.BLUE + " " + j.getName() + " (" + j.getAllPrisoners().size() + ")");
|
||||
}
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.RED + " There are no jails.");
|
||||
sender.sendMessage(" " + jm.getPlugin().getJailIO().getLanguageString(LangString.NOJAILS));
|
||||
}
|
||||
|
||||
sender.sendMessage(ChatColor.AQUA + "-------------------------");
|
||||
|
@ -3,23 +3,47 @@ package com.graywolf336.jail.command.commands;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import com.graywolf336.jail.JailManager;
|
||||
import com.graywolf336.jail.beans.Jail;
|
||||
import com.graywolf336.jail.command.Command;
|
||||
import com.graywolf336.jail.command.CommandInfo;
|
||||
import com.graywolf336.jail.enums.LangString;
|
||||
|
||||
@CommandInfo(
|
||||
maxArgs = 2,
|
||||
minimumArgs = 1,
|
||||
needsPlayer = true,
|
||||
minimumArgs = 2,
|
||||
needsPlayer = false,
|
||||
pattern = "jailremovecell|jrcell",
|
||||
permission = "jail.command.jailremovecell",
|
||||
usage = "/jailremovecell [Jail Name] (Cell Name)"
|
||||
)
|
||||
public class JailRemoveCellCommand implements Command{
|
||||
|
||||
// Remove the specified Cell from the Specified Jail, if no cell specified will delete nearest cell
|
||||
// Remove the specified Cell from the Specified Jail
|
||||
|
||||
public boolean execute(JailManager jm, CommandSender sender, String... args) {
|
||||
return true; //If they made it this far, the command is intact and ready to be processed. :)
|
||||
Jail j = jm.getJail(args[0]);
|
||||
|
||||
if(j != null) {
|
||||
if(!j.getCells().isEmpty()) {
|
||||
if(j.getCell(args[1]) != null) {
|
||||
//remove it!
|
||||
j.removeCell(args[1]);
|
||||
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.CELLREMOVED,
|
||||
new String[] { args[1], args[0] }));
|
||||
}else {
|
||||
//No cell by that name
|
||||
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.NOCELL,
|
||||
new String[] { args[1], args[0] }));
|
||||
}
|
||||
}else {
|
||||
//No cells in this jail
|
||||
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.NOCELLS, args[0]));
|
||||
}
|
||||
}else {
|
||||
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.NOJAIL, args[0]));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ import com.graywolf336.jail.JailManager;
|
||||
import com.graywolf336.jail.beans.Jail;
|
||||
import com.graywolf336.jail.command.Command;
|
||||
import com.graywolf336.jail.command.CommandInfo;
|
||||
import com.graywolf336.jail.enums.LangString;
|
||||
|
||||
@CommandInfo(
|
||||
maxArgs = 1,
|
||||
@ -20,12 +21,19 @@ import com.graywolf336.jail.command.CommandInfo;
|
||||
public class UnjailCommand implements Command {
|
||||
|
||||
public boolean execute(JailManager jm, CommandSender sender, String... args) {
|
||||
//Check if the player is jailed
|
||||
if(jm.isPlayerJailed(args[0])) {
|
||||
Player p = jm.getPlugin().getServer().getPlayerExact(args[0]);
|
||||
if(p == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Offline unjailing is not implemented yet.");
|
||||
}else {
|
||||
Jail j = jm.getJailPlayerIsIn(args[0]);
|
||||
Player p = jm.getPlugin().getServer().getPlayerExact(args[0]);
|
||||
|
||||
//Check if the player is on the server or not
|
||||
if(p == null) {
|
||||
//The player is not, so we'll set the remaining time to zero and do it when they login next
|
||||
j.getPrisoner(args[0]).setRemainingTime(0L);
|
||||
j.getPrisoner(args[0]).setOfflinePending(true);
|
||||
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.WILLBEUNJAILED, args[0]));
|
||||
}else {
|
||||
//Player is online, so let's try unjailing them
|
||||
try {
|
||||
jm.getPlugin().getPrisonerManager().unJail(j, j.getCellPrisonerIsIn(args[0]), p, j.getPrisoner(args[0]));
|
||||
} catch (Exception e) {
|
||||
@ -33,7 +41,8 @@ public class UnjailCommand implements Command {
|
||||
}
|
||||
}
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.RED + "That player is not jailed.");
|
||||
//The player is not currently jailed
|
||||
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.NOTJAILED, args[0]));
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -20,8 +20,12 @@ public enum LangString {
|
||||
BROADCASTMESSAGEFOREVER ("jailing"),
|
||||
/** The message sent when we broadcast/log the message for any time above -1. */
|
||||
BROADCASTMESSAGEFORMINUTES ("jailing"),
|
||||
/** The message sent to the sender when trying to jail someone and a plugin cancels it but doesn't leave a message why. */
|
||||
CANCELLEDBYANOTHERPLUGIN ("jailing"),
|
||||
/** The message sent when trying to jail someone who can't be jailed by permission. */
|
||||
CANTBEJAILED ("jailing"),
|
||||
/** The message sent to the sender when they are trying to jail into a cell which is not empty. */
|
||||
CELLNOTEMPTY ("jailing"),
|
||||
/** The message sent when someone is jailed without a reason. */
|
||||
DEFAULTJAILEDREASON ("jailing"),
|
||||
/** The message sent when players are jailed without a reason. */
|
||||
@ -30,12 +34,20 @@ public enum LangString {
|
||||
JAILEDWITHREASON ("jailing"),
|
||||
/** The message sent when players are jailed and they try to talk. */
|
||||
MUTED ("jailing"),
|
||||
/** The message sent when the sender tries to jail someone in a cell and there aren't any cells to suggest. */
|
||||
NOEMPTYCELLS ("jailing"),
|
||||
/** The message sent when a player is not jailed and the sender is trying to see/do something about it. */
|
||||
NOTJAILED ("jailing"),
|
||||
/** The message sent to the prisoner when they try to do something but it is protected. */
|
||||
PROTECTIONMESSAGE ("jailing"),
|
||||
/** The message sent to the prisoner when they try to do something and it is protected, but no penalty. */
|
||||
PROTECTIONMESSAGENOPENALTY ("jailing"),
|
||||
/** The message sent to the sender of a command when suggesting a cell. */
|
||||
SUGGESTEDCELL ("jailing"),
|
||||
/** The message sent when players are released from jail. */
|
||||
UNJAILED ("jailing"),
|
||||
/** The message went when an offline player is unjailed. */
|
||||
WILLBEUNJAILED ("jailing"),
|
||||
|
||||
//Handcuffing section
|
||||
|
||||
@ -58,6 +70,14 @@ public enum LangString {
|
||||
|
||||
/** Part message of any messages which require 'all the jails' or such. */
|
||||
ALLJAILS ("general"),
|
||||
/** The message sent whenever a cell is successfully removed. */
|
||||
CELLREMOVED ("general"),
|
||||
/** The message sent whenever a jail is successfully removed. */
|
||||
JAILREMOVED ("general"),
|
||||
/** Message sent when doing something that requires a cell but the given name of a cell doesn't exist. */
|
||||
NOCELL ("general"),
|
||||
/** Message sent when needing a cell or something and there are no cells. */
|
||||
NOCELLS ("general"),
|
||||
/** The message sent whenever the sender does something which the jail does not found. */
|
||||
NOJAIL ("general"),
|
||||
/** The message sent whenever the sender does something and there are no jails. */
|
||||
|
@ -5,6 +5,10 @@ language:
|
||||
command: 'trying to use a command'
|
||||
general:
|
||||
alljails: 'all the jails'
|
||||
cellremoved: '&9Cell %0% has been successfully removed from the jail %1%.'
|
||||
jailremoved: '&9Jail %0% has been successfully removed.'
|
||||
nocell: '&cNo cell found by the name of &0& in the jail %1%.'
|
||||
nocells: '&cNo cells found in the jail %0%.'
|
||||
nojail: '&cNo jail found by the name of %0%.'
|
||||
nojails: '&cThere are currently no jails.'
|
||||
nopermission: '&cInsufficient permission.'
|
||||
@ -18,14 +22,20 @@ language:
|
||||
alreadyjailed: '&cThat player is already jailed.'
|
||||
broadcastmessageforever: '&9%0% has been jailed forever.'
|
||||
broadcastmessageforminutes: '&9%0% has been jailed for %1% minutes.'
|
||||
cancelledbyanotherplugin: '&cJailing %0% was cancelled by another plugin and they did not leave you a message.'
|
||||
cantbejailed: '&cThat player can not be jailed.'
|
||||
cellnotempty: '&cThe destination cell, %0%, already has a prisoner in it.'
|
||||
defaultjailedreason: 'Breaking the rules.'
|
||||
jailed: '&cYou have been jailed!'
|
||||
jailedwithreason: '&cYou have been jailed for: %0%'
|
||||
muted: '&cStop talking, you are in jail.'
|
||||
noemptycells: '&cNo empty cells were found for %0%, all them appear to be full.'
|
||||
notjailed: '&c%0% is not jailed.'
|
||||
protectionmessage: '&c%0% minutes has been added to your time for %1%.'
|
||||
protectionmessagenopenalty: '&cProtection enabled for %0%, do not do it again.'
|
||||
suggestedcell: '&cAn empty cell in the same jail, %0%, was found: %1%'
|
||||
unjailed: '&2You have been released! Please respect the server rules.'
|
||||
willbeunjailed: '&2%0% will be released the next time they log on.'
|
||||
handcuffing:
|
||||
cantbehandcuffed: '&9%0% &ccan not be handcuffed.'
|
||||
currentlyjailed: '&9%0% &cis currently jailed, you can not handcuff a prisoner.'
|
||||
|
Loading…
Reference in New Issue
Block a user