--- miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/Jail.java 2012/10/15 07:23:59 1860 +++ miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/Jail.java 2012/10/15 07:59:16 1862 @@ -8,6 +8,7 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import org.bukkit.OfflinePlayer; import org.bukkit.plugin.Plugin; import org.bukkit.event.Listener; @@ -32,7 +33,7 @@ public class Jail implements CommandExecutor, Listener { - Plugin plugin; + HoerupUtilsPlugin plugin; TreeSet jailed = new TreeSet(); @@ -41,7 +42,7 @@ final double maxDist = 25.0; - public Jail(Plugin plugin) { + public Jail(HoerupUtilsPlugin plugin) { this.plugin = plugin; @@ -124,7 +125,9 @@ return true; } } else { - if ( args[0] != "imprison" && args[0] != "release" && args[0] != "list") { + if ( args[0].equals("imprison") || args[0].equals("release") || args[0].equals("list") ) { + //do nothing + } else { sender.sendMessage("only imprison, release and list may be used from console"); return true; } @@ -133,18 +136,21 @@ if (args[0].equals("imprison")) { if (args.length != 2) { + sender.sendMessage("You must specify the player"); return true; } - Player inmate = sender.getServer().getPlayer( args[1] ); - if (inmate == null) { + OfflinePlayer inmate = sender.getServer().getOfflinePlayer( args[1] ); + if (inmate.hasPlayedBefore() == false && inmate.isOnline() == false) { sender.sendMessage("Player not found"); return true; } - - inmate.sendMessage("You have been imprisoned"); - inmate.teleport( jailLocation ); + if (inmate instanceof Player) { + Player p = (Player) inmate; + p.sendMessage("You have been imprisoned"); + p.teleport( jailLocation ); + } jailed.add( inmate.getName() ); save(); return true; @@ -152,19 +158,24 @@ if (args[0].equals("release")) { if (args.length != 2) { + sender.sendMessage("You must specify the player"); return true; } - Player inmate = sender.getServer().getPlayer( args[1] ); - if (inmate == null) { + OfflinePlayer inmate = sender.getServer().getOfflinePlayer( args[1] ); + if (inmate.hasPlayedBefore() == false && inmate.isOnline() == false) { sender.sendMessage("Player not found"); return true; } - jailed.remove( inmate.getName() ); - inmate.sendMessage("You have been released from prison"); - inmate.teleport( releaseLocation ); + if (inmate instanceof Player) { + Player p = (Player) inmate; + p.sendMessage("You have been released from jail"); + p.teleport( releaseLocation ); + } else { + plugin.getMessageWrapper().sendMessage("Jail System", inmate, "You have been release from jail - you are free to go home"); + } save(); return true; }