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);
|
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. */
|
/** Returns the cell which the given player name is jailed in, null if not. */
|
||||||
public Cell getCellPrisonerIsIn(String name) {
|
public Cell getCellPrisonerIsIn(String name) {
|
||||||
for(Cell c : cells.values())
|
for(Cell c : cells.values())
|
||||||
|
@ -9,7 +9,7 @@ import com.graywolf336.jail.command.CommandInfo;
|
|||||||
@CommandInfo(
|
@CommandInfo(
|
||||||
maxArgs = 1,
|
maxArgs = 1,
|
||||||
minimumArgs = 0,
|
minimumArgs = 0,
|
||||||
needsPlayer = true,
|
needsPlayer = false,
|
||||||
pattern = "jailcheck|jcheck",
|
pattern = "jailcheck|jcheck",
|
||||||
permission = "jail.command.jailcheck",
|
permission = "jail.command.jailcheck",
|
||||||
usage = "/jailcheck (Player name)"
|
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.
|
//Check if the cell is defined, and if so check to be sure it exists.
|
||||||
if(!params.cell().isEmpty()) {
|
if(!params.cell().isEmpty()) {
|
||||||
if(jm.getJail(params.jail()).getCell(params.cell()) == null) {
|
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;
|
return true;
|
||||||
}else if(jm.getJail(params.jail()).getCell(params.cell()).hasPrisoner()) {
|
}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
|
//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();
|
Cell suggestedCell = jm.getJail(params.jail()).getFirstEmptyCell();
|
||||||
if(suggestedCell != null) {
|
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 {
|
}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;
|
return true;
|
||||||
@ -141,7 +142,7 @@ public class JailCommand implements Command {
|
|||||||
//check if the event is cancelled
|
//check if the event is cancelled
|
||||||
if(event.isCancelled()) {
|
if(event.isCancelled()) {
|
||||||
if(event.getCancelledMessage().isEmpty())
|
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
|
else
|
||||||
sender.sendMessage(event.getCancelledMessage());
|
sender.sendMessage(event.getCancelledMessage());
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ import com.graywolf336.jail.beans.Cell;
|
|||||||
import com.graywolf336.jail.beans.Jail;
|
import com.graywolf336.jail.beans.Jail;
|
||||||
import com.graywolf336.jail.command.Command;
|
import com.graywolf336.jail.command.Command;
|
||||||
import com.graywolf336.jail.command.CommandInfo;
|
import com.graywolf336.jail.command.CommandInfo;
|
||||||
|
import com.graywolf336.jail.enums.LangString;
|
||||||
|
|
||||||
@CommandInfo(
|
@CommandInfo(
|
||||||
maxArgs = 1,
|
maxArgs = 1,
|
||||||
@ -36,15 +37,15 @@ public class JailListCellsCommand implements Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(message.isEmpty()) {
|
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 {
|
}else {
|
||||||
sender.sendMessage(ChatColor.GREEN + message);
|
sender.sendMessage(ChatColor.GREEN + message);
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
sender.sendMessage(ChatColor.RED + "No jail by the name of '" + args[0] + "'.");
|
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.NOJAIL, args[0]));
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
sender.sendMessage(ChatColor.RED + " There are no jails.");
|
sender.sendMessage(jm.getPlugin().getJailIO().getLanguageString(LangString.NOJAILS));
|
||||||
}
|
}
|
||||||
|
|
||||||
sender.sendMessage(ChatColor.AQUA + "-------------------------");
|
sender.sendMessage(ChatColor.AQUA + "-------------------------");
|
||||||
|
@ -7,6 +7,7 @@ import com.graywolf336.jail.JailManager;
|
|||||||
import com.graywolf336.jail.beans.Jail;
|
import com.graywolf336.jail.beans.Jail;
|
||||||
import com.graywolf336.jail.command.Command;
|
import com.graywolf336.jail.command.Command;
|
||||||
import com.graywolf336.jail.command.CommandInfo;
|
import com.graywolf336.jail.command.CommandInfo;
|
||||||
|
import com.graywolf336.jail.enums.LangString;
|
||||||
|
|
||||||
@CommandInfo(
|
@CommandInfo(
|
||||||
maxArgs = 0,
|
maxArgs = 0,
|
||||||
@ -27,7 +28,7 @@ public class JailListCommand implements Command {
|
|||||||
sender.sendMessage(ChatColor.BLUE + " " + j.getName() + " (" + j.getAllPrisoners().size() + ")");
|
sender.sendMessage(ChatColor.BLUE + " " + j.getName() + " (" + j.getAllPrisoners().size() + ")");
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
sender.sendMessage(ChatColor.RED + " There are no jails.");
|
sender.sendMessage(" " + jm.getPlugin().getJailIO().getLanguageString(LangString.NOJAILS));
|
||||||
}
|
}
|
||||||
|
|
||||||
sender.sendMessage(ChatColor.AQUA + "-------------------------");
|
sender.sendMessage(ChatColor.AQUA + "-------------------------");
|
||||||
|
@ -3,23 +3,47 @@ package com.graywolf336.jail.command.commands;
|
|||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
import com.graywolf336.jail.JailManager;
|
import com.graywolf336.jail.JailManager;
|
||||||
|
import com.graywolf336.jail.beans.Jail;
|
||||||
import com.graywolf336.jail.command.Command;
|
import com.graywolf336.jail.command.Command;
|
||||||
import com.graywolf336.jail.command.CommandInfo;
|
import com.graywolf336.jail.command.CommandInfo;
|
||||||
|
import com.graywolf336.jail.enums.LangString;
|
||||||
|
|
||||||
@CommandInfo(
|
@CommandInfo(
|
||||||
maxArgs = 2,
|
maxArgs = 2,
|
||||||
minimumArgs = 1,
|
minimumArgs = 2,
|
||||||
needsPlayer = true,
|
needsPlayer = false,
|
||||||
pattern = "jailremovecell|jrcell",
|
pattern = "jailremovecell|jrcell",
|
||||||
permission = "jail.command.jailremovecell",
|
permission = "jail.command.jailremovecell",
|
||||||
usage = "/jailremovecell [Jail Name] (Cell Name)"
|
usage = "/jailremovecell [Jail Name] (Cell Name)"
|
||||||
)
|
)
|
||||||
public class JailRemoveCellCommand implements Command{
|
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) {
|
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.beans.Jail;
|
||||||
import com.graywolf336.jail.command.Command;
|
import com.graywolf336.jail.command.Command;
|
||||||
import com.graywolf336.jail.command.CommandInfo;
|
import com.graywolf336.jail.command.CommandInfo;
|
||||||
|
import com.graywolf336.jail.enums.LangString;
|
||||||
|
|
||||||
@CommandInfo(
|
@CommandInfo(
|
||||||
maxArgs = 1,
|
maxArgs = 1,
|
||||||
@ -20,12 +21,19 @@ import com.graywolf336.jail.command.CommandInfo;
|
|||||||
public class UnjailCommand implements Command {
|
public class UnjailCommand implements Command {
|
||||||
|
|
||||||
public boolean execute(JailManager jm, CommandSender sender, String... args) {
|
public boolean execute(JailManager jm, CommandSender sender, String... args) {
|
||||||
|
//Check if the player is jailed
|
||||||
if(jm.isPlayerJailed(args[0])) {
|
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]);
|
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 {
|
try {
|
||||||
jm.getPlugin().getPrisonerManager().unJail(j, j.getCellPrisonerIsIn(args[0]), p, j.getPrisoner(args[0]));
|
jm.getPlugin().getPrisonerManager().unJail(j, j.getCellPrisonerIsIn(args[0]), p, j.getPrisoner(args[0]));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -33,7 +41,8 @@ public class UnjailCommand implements Command {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else {
|
}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;
|
return true;
|
||||||
|
@ -20,8 +20,12 @@ public enum LangString {
|
|||||||
BROADCASTMESSAGEFOREVER ("jailing"),
|
BROADCASTMESSAGEFOREVER ("jailing"),
|
||||||
/** The message sent when we broadcast/log the message for any time above -1. */
|
/** The message sent when we broadcast/log the message for any time above -1. */
|
||||||
BROADCASTMESSAGEFORMINUTES ("jailing"),
|
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. */
|
/** The message sent when trying to jail someone who can't be jailed by permission. */
|
||||||
CANTBEJAILED ("jailing"),
|
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. */
|
/** The message sent when someone is jailed without a reason. */
|
||||||
DEFAULTJAILEDREASON ("jailing"),
|
DEFAULTJAILEDREASON ("jailing"),
|
||||||
/** The message sent when players are jailed without a reason. */
|
/** The message sent when players are jailed without a reason. */
|
||||||
@ -30,12 +34,20 @@ public enum LangString {
|
|||||||
JAILEDWITHREASON ("jailing"),
|
JAILEDWITHREASON ("jailing"),
|
||||||
/** The message sent when players are jailed and they try to talk. */
|
/** The message sent when players are jailed and they try to talk. */
|
||||||
MUTED ("jailing"),
|
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. */
|
/** The message sent to the prisoner when they try to do something but it is protected. */
|
||||||
PROTECTIONMESSAGE ("jailing"),
|
PROTECTIONMESSAGE ("jailing"),
|
||||||
/** The message sent to the prisoner when they try to do something and it is protected, but no penalty. */
|
/** The message sent to the prisoner when they try to do something and it is protected, but no penalty. */
|
||||||
PROTECTIONMESSAGENOPENALTY ("jailing"),
|
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. */
|
/** The message sent when players are released from jail. */
|
||||||
UNJAILED ("jailing"),
|
UNJAILED ("jailing"),
|
||||||
|
/** The message went when an offline player is unjailed. */
|
||||||
|
WILLBEUNJAILED ("jailing"),
|
||||||
|
|
||||||
//Handcuffing section
|
//Handcuffing section
|
||||||
|
|
||||||
@ -58,6 +70,14 @@ public enum LangString {
|
|||||||
|
|
||||||
/** Part message of any messages which require 'all the jails' or such. */
|
/** Part message of any messages which require 'all the jails' or such. */
|
||||||
ALLJAILS ("general"),
|
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. */
|
/** The message sent whenever the sender does something which the jail does not found. */
|
||||||
NOJAIL ("general"),
|
NOJAIL ("general"),
|
||||||
/** The message sent whenever the sender does something and there are no jails. */
|
/** The message sent whenever the sender does something and there are no jails. */
|
||||||
|
@ -5,6 +5,10 @@ language:
|
|||||||
command: 'trying to use a command'
|
command: 'trying to use a command'
|
||||||
general:
|
general:
|
||||||
alljails: 'all the jails'
|
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%.'
|
nojail: '&cNo jail found by the name of %0%.'
|
||||||
nojails: '&cThere are currently no jails.'
|
nojails: '&cThere are currently no jails.'
|
||||||
nopermission: '&cInsufficient permission.'
|
nopermission: '&cInsufficient permission.'
|
||||||
@ -18,14 +22,20 @@ language:
|
|||||||
alreadyjailed: '&cThat player is already jailed.'
|
alreadyjailed: '&cThat player is already jailed.'
|
||||||
broadcastmessageforever: '&9%0% has been jailed forever.'
|
broadcastmessageforever: '&9%0% has been jailed forever.'
|
||||||
broadcastmessageforminutes: '&9%0% has been jailed for %1% minutes.'
|
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.'
|
cantbejailed: '&cThat player can not be jailed.'
|
||||||
|
cellnotempty: '&cThe destination cell, %0%, already has a prisoner in it.'
|
||||||
defaultjailedreason: 'Breaking the rules.'
|
defaultjailedreason: 'Breaking the rules.'
|
||||||
jailed: '&cYou have been jailed!'
|
jailed: '&cYou have been jailed!'
|
||||||
jailedwithreason: '&cYou have been jailed for: %0%'
|
jailedwithreason: '&cYou have been jailed for: %0%'
|
||||||
muted: '&cStop talking, you are in jail.'
|
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%.'
|
protectionmessage: '&c%0% minutes has been added to your time for %1%.'
|
||||||
protectionmessagenopenalty: '&cProtection enabled for %0%, do not do it again.'
|
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.'
|
unjailed: '&2You have been released! Please respect the server rules.'
|
||||||
|
willbeunjailed: '&2%0% will be released the next time they log on.'
|
||||||
handcuffing:
|
handcuffing:
|
||||||
cantbehandcuffed: '&9%0% &ccan not be handcuffed.'
|
cantbehandcuffed: '&9%0% &ccan not be handcuffed.'
|
||||||
currentlyjailed: '&9%0% &cis currently jailed, you can not handcuff a prisoner.'
|
currentlyjailed: '&9%0% &cis currently jailed, you can not handcuff a prisoner.'
|
||||||
|
Loading…
Reference in New Issue
Block a user