--- miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/Jail.java 2012/10/15 07:39:17 1861 +++ 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; @@ -139,15 +140,17 @@ 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; @@ -159,16 +162,20 @@ 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; }