Some work on the plugin, added a couple things and worked on the
preparing the jail.
This commit is contained in:
parent
a27596bcfb
commit
63032ad6cc
@ -1,5 +1,13 @@
|
|||||||
package com.graywolf336.jail;
|
package com.graywolf336.jail;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import com.graywolf336.jail.beans.Cell;
|
||||||
|
import com.graywolf336.jail.beans.Jail;
|
||||||
|
import com.graywolf336.jail.beans.Prisoner;
|
||||||
|
import com.graywolf336.jail.enums.LangString;
|
||||||
|
import com.graywolf336.jail.enums.Settings;
|
||||||
|
|
||||||
public class PrisonerManager {
|
public class PrisonerManager {
|
||||||
private JailMain pl;
|
private JailMain pl;
|
||||||
|
|
||||||
@ -7,7 +15,56 @@ public class PrisonerManager {
|
|||||||
this.pl = plugin;
|
this.pl = plugin;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void prepareSomething() {
|
/**
|
||||||
pl.getLogger().info("Preparing something.");
|
* Prepare the jailing of this player.
|
||||||
|
*
|
||||||
|
* @param player The player we are preparing the jail for.
|
||||||
|
* @param prisoner The prisoner file.
|
||||||
|
*/
|
||||||
|
public void prepareJail(Jail jail, Cell cell, Player player, Prisoner prisoner) throws Exception {
|
||||||
|
//Do some checks of whether the passed params are null.
|
||||||
|
if(jail == null)
|
||||||
|
throw new Exception("The jail can not be null.");
|
||||||
|
|
||||||
|
if(prisoner == null)
|
||||||
|
throw new Exception("Prisoner data can not be null.");
|
||||||
|
|
||||||
|
//Set whether the prisoner is offline or not.
|
||||||
|
prisoner.setOfflinePending(player == null);
|
||||||
|
|
||||||
|
//Now that we've got those checks out of the way, let's start preparing.
|
||||||
|
if(cell == null) {
|
||||||
|
jail.addPrisoner(prisoner);
|
||||||
|
}else {
|
||||||
|
jail.getCell(cell.getName()).setPrisoner(prisoner);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Save the jail after adding them to the jail
|
||||||
|
pl.getJailIO().saveJail(jail);
|
||||||
|
|
||||||
|
//If they are offline, handle different..?
|
||||||
|
if(prisoner.isOfflinePending()) {
|
||||||
|
|
||||||
|
}else {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Get a message ready for broadcasting or logging.
|
||||||
|
String msg = "";
|
||||||
|
|
||||||
|
if(prisoner.getRemainingTime() < 0)
|
||||||
|
msg = pl.getJailIO().getLanguageString(LangString.BROADCASTMESSAGEFOREVER, new String[] { prisoner.getName() });
|
||||||
|
else//
|
||||||
|
msg = pl.getJailIO().getLanguageString(LangString.BROADCASTMESSAGEFOREVER, new String[] { prisoner.getName(), String.valueOf(prisoner.getRemainingTimeInMinutes()) });
|
||||||
|
|
||||||
|
//Broadcast the message, if it is enabled
|
||||||
|
if(pl.getConfig().getBoolean(Settings.BROADCASTJAILING.getPath(), false)) {
|
||||||
|
pl.getServer().broadcastMessage(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Log the message, if it is enabled
|
||||||
|
if(pl.getConfig().getBoolean(Settings.LOGJAILING.getPath(), true)) {
|
||||||
|
pl.getLogger().info(msg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -129,6 +129,11 @@ public class Jail {
|
|||||||
return this.free.getLocation();
|
return this.free.getLocation();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Add a prisoner to this jail. */
|
||||||
|
public void addPrisoner(Prisoner p) {
|
||||||
|
this.nocellPrisoners.add(p);
|
||||||
|
}
|
||||||
|
|
||||||
/** Adds a cell to the Jail. */
|
/** Adds a cell to the Jail. */
|
||||||
public void addCell(Cell cell, boolean save) {
|
public void addCell(Cell cell, boolean save) {
|
||||||
if(save) plugin.getJailIO().saveJail(this);
|
if(save) plugin.getJailIO().saveJail(this);
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package com.graywolf336.jail.beans;
|
package com.graywolf336.jail.beans;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a Prisoner, player who is jailed, and contains all the information about him/her.
|
* Represents a Prisoner, player who is jailed, and contains all the information about him/her.
|
||||||
*
|
*
|
||||||
@ -9,7 +11,7 @@ package com.graywolf336.jail.beans;
|
|||||||
*/
|
*/
|
||||||
public class Prisoner {
|
public class Prisoner {
|
||||||
private String name;
|
private String name;
|
||||||
private boolean muted;
|
private boolean muted, offlinePending;
|
||||||
private long time;
|
private long time;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -40,26 +42,32 @@ public class Prisoner {
|
|||||||
this.muted = muted;
|
this.muted = muted;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets the remaining time the prisoner has.
|
/** Gets the remaining time the prisoner has. */
|
||||||
*
|
|
||||||
* <p />
|
|
||||||
*
|
|
||||||
* <strong>WARNING:</strong> The time system hasn't been implemented so this is likely to change.
|
|
||||||
*/
|
|
||||||
public long getRemainingTime() {
|
public long getRemainingTime() {
|
||||||
return this.time;
|
return this.time;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Gets the remaining time the prisoner has in minutes. */
|
||||||
|
public long getRemainingTimeInMinutes() {
|
||||||
|
return TimeUnit.MINUTES.convert(time, TimeUnit.MILLISECONDS);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the remaining time the prisoner has left.
|
* Sets the remaining time the prisoner has left.
|
||||||
*
|
*
|
||||||
* <p />
|
|
||||||
*
|
|
||||||
* <strong>WARNING:</strong> The time system hasn't been implemented so this is likely to change.
|
|
||||||
*
|
|
||||||
* @param time The amount of time left, in milliseconds.
|
* @param time The amount of time left, in milliseconds.
|
||||||
*/
|
*/
|
||||||
public void setRemainingTime(long time) {
|
public void setRemainingTime(long time) {
|
||||||
this.time = time;
|
this.time = time;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Gets whether the player is offline or not. */
|
||||||
|
public boolean isOfflinePending() {
|
||||||
|
return this.offlinePending;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Sets whether the player is offline or not. */
|
||||||
|
public void setOfflinePending(boolean offline) {
|
||||||
|
this.offlinePending = offline;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,8 @@ public class JailCommand implements Command {
|
|||||||
//Check the jail params. If it is empty, let's get the default jail
|
//Check the jail params. If it is empty, let's get the default jail
|
||||||
//from the config. If that is nearest, let's make a call to getting the nearest jail to
|
//from the config. If that is nearest, let's make a call to getting the nearest jail to
|
||||||
//the sender but otherwise if it isn't nearest then let's set it to the default jail
|
//the sender but otherwise if it isn't nearest then let's set it to the default jail
|
||||||
//which is defined in the config.
|
//which is defined in the config. After that is done, we set the name of it in the params
|
||||||
|
//so that we can keep consistency.
|
||||||
if(params.jail().isEmpty()) {
|
if(params.jail().isEmpty()) {
|
||||||
String dJail = jm.getPlugin().getConfig().getString(Settings.DEFAULTJAIL.getPath());
|
String dJail = jm.getPlugin().getConfig().getString(Settings.DEFAULTJAIL.getPath());
|
||||||
|
|
||||||
@ -71,11 +72,14 @@ public class JailCommand implements Command {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Trying out the time.
|
//Try to parse the time, if they give us nothing in the time parameter then we get the default time
|
||||||
|
//from the config and if that isn't there then we default to thirty minutes.
|
||||||
Long time = 10L;
|
Long time = 10L;
|
||||||
try {
|
try {
|
||||||
if(params.time().isEmpty()) {
|
if(params.time().isEmpty()) {
|
||||||
time = Util.getTime(jm.getPlugin().getConfig().getString(Settings.JAILDEFAULTTIME.getPath(), "30m"));
|
time = Util.getTime(jm.getPlugin().getConfig().getString(Settings.JAILDEFAULTTIME.getPath(), "30m"));
|
||||||
|
}else if(Integer.valueOf(params.time()) == -1) {
|
||||||
|
time = -1L;
|
||||||
}else {
|
}else {
|
||||||
time = Util.getTime(params.time());
|
time = Util.getTime(params.time());
|
||||||
}
|
}
|
||||||
@ -84,6 +88,7 @@ public class JailCommand implements Command {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Get the jail instance from the name of jail in the params.
|
||||||
Jail j = jm.getJail(params.jail());
|
Jail j = jm.getJail(params.jail());
|
||||||
Prisoner pris = new Prisoner(params.player(), params.muted(), time);
|
Prisoner pris = new Prisoner(params.player(), params.muted(), time);
|
||||||
Player p = jm.getPlugin().getServer().getPlayer(params.player());
|
Player p = jm.getPlugin().getServer().getPlayer(params.player());
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
package com.graywolf336.jail.enums;
|
package com.graywolf336.jail.enums;
|
||||||
|
|
||||||
public enum LangString {
|
public enum LangString {
|
||||||
|
/** The message sent when we broadcast/log the message for time below -1. */
|
||||||
|
BROADCASTMESSAGEFOREVER,
|
||||||
|
/** The message sent when we broadcast/log the message for any time above -1. */
|
||||||
|
BROADCASTMESSAGEFORMINUTES,
|
||||||
/** The message sent when players are jailed without a reason. */
|
/** The message sent when players are jailed without a reason. */
|
||||||
JAILED,
|
JAILED,
|
||||||
/** The message sent when players are jailed with a reason. */
|
/** The message sent when players are jailed with a reason. */
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
package com.graywolf336.jail.enums;
|
package com.graywolf336.jail.enums;
|
||||||
|
|
||||||
public enum Settings {
|
public enum Settings {
|
||||||
|
BROADCASTJAILING("jailing.jail.broadcastJailing"),
|
||||||
DEBUG("system.debug"),
|
DEBUG("system.debug"),
|
||||||
DEFAULTJAIL("jailing.jail.defaultJail"),
|
DEFAULTJAIL("jailing.jail.defaultJail"),
|
||||||
UPDATENOTIFICATIONS("system.updateNotifications"),
|
JAILDEFAULTTIME("jailing.jail.defaultTime"),
|
||||||
JAILDEFAULTTIME("jailing.jail.defaultTime");
|
LOGJAILING("jailing.jail.logToConsole"),
|
||||||
|
UPDATENOTIFICATIONS("system.updateNotifications");
|
||||||
|
|
||||||
private String path;
|
private String path;
|
||||||
|
|
||||||
|
@ -2,3 +2,5 @@ language:
|
|||||||
jailed: "&cYou have been jailed!"
|
jailed: "&cYou have been jailed!"
|
||||||
jailedwithreason: "&cYou have been jailed for: %0%"
|
jailedwithreason: "&cYou have been jailed for: %0%"
|
||||||
unjailed: "&2You have been released! Please respect the server rules."
|
unjailed: "&2You have been released! Please respect the server rules."
|
||||||
|
broadcastmessageforever: "&9%0% has been jailed forever."
|
||||||
|
broadcastmessageforminutes: "&9%0% has been jailed for %1% minutes."
|
Loading…
Reference in New Issue
Block a user