/[projects]/miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/Jail.java
ViewVC logotype

Diff of /miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/Jail.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1861 by torben, Mon Oct 15 07:39:17 2012 UTC revision 2438 by torben, Mon Mar 9 14:36:19 2015 UTC
# Line 8  import org.bukkit.command.Command; Line 8  import org.bukkit.command.Command;
8  import org.bukkit.command.CommandExecutor;  import org.bukkit.command.CommandExecutor;
9  import org.bukkit.command.CommandSender;  import org.bukkit.command.CommandSender;
10  import org.bukkit.entity.Player;  import org.bukkit.entity.Player;
11    import org.bukkit.OfflinePlayer;
12  import org.bukkit.plugin.Plugin;  import org.bukkit.plugin.Plugin;
   
13  import org.bukkit.event.Listener;  import org.bukkit.event.Listener;
14  import org.bukkit.event.EventHandler;  import org.bukkit.event.EventHandler;
15  import org.bukkit.event.player.PlayerTeleportEvent;  import org.bukkit.event.player.PlayerTeleportEvent;
# Line 17  import org.bukkit.event.player.PlayerPor Line 17  import org.bukkit.event.player.PlayerPor
17  import org.bukkit.event.player.PlayerMoveEvent;  import org.bukkit.event.player.PlayerMoveEvent;
18  import org.bukkit.event.player.PlayerJoinEvent;  import org.bukkit.event.player.PlayerJoinEvent;
19  import org.bukkit.event.player.PlayerRespawnEvent;  import org.bukkit.event.player.PlayerRespawnEvent;
   
20  import org.bukkit.event.block.BlockBreakEvent;  import org.bukkit.event.block.BlockBreakEvent;
21  import org.bukkit.event.block.BlockPlaceEvent;  import org.bukkit.event.block.BlockPlaceEvent;
   
22  import org.bukkit.configuration.file.YamlConfiguration;  import org.bukkit.configuration.file.YamlConfiguration;
23    
 import java.io.File;  
24  import java.io.*;  import java.io.*;
   
25  import java.util.ArrayList;  import java.util.ArrayList;
26  import java.util.Set;  import java.util.Set;
27  import java.util.TreeSet;  import java.util.TreeSet;
28    
29  public class Jail implements CommandExecutor,  Listener {  public class Jail implements CommandExecutor,  Listener {
30                    
31          Plugin plugin;          HoerupUtilsPlugin  plugin;
32    
33          TreeSet<String> jailed = new TreeSet<String>();          TreeSet<String> jailed = new TreeSet<String>();
34    
# Line 41  public class Jail implements CommandExec Line 37  public class Jail implements CommandExec
37    
38          final double maxDist = 25.0;          final double maxDist = 25.0;
39                    
40          public Jail(Plugin plugin) {          public Jail(HoerupUtilsPlugin  plugin) {
41                  this.plugin = plugin;                  this.plugin = plugin;
42    
43    
# Line 65  public class Jail implements CommandExec Line 61  public class Jail implements CommandExec
61                  jailLocation = loadLocation(config, plugin.getServer(), "jailloc");                  jailLocation = loadLocation(config, plugin.getServer(), "jailloc");
62                  releaseLocation = loadLocation(config, plugin.getServer(), "releaseloc");                  releaseLocation = loadLocation(config, plugin.getServer(), "releaseloc");
63    
64                    @SuppressWarnings("unchecked")
65                  Set<String> tmpSet = (Set<String>) config.get("jails");                  Set<String> tmpSet = (Set<String>) config.get("jails");
66                  jailed.addAll(tmpSet);                  jailed.addAll(tmpSet);
67          }          }
# Line 119  public class Jail implements CommandExec Line 116  public class Jail implements CommandExec
116                                    
117                  if (sender instanceof Player ) {                  if (sender instanceof Player ) {
118                          Player p = (Player) sender;                          Player p = (Player) sender;
119                          if ( !p.isOp()) {                          if ( p.isOp() || p.hasPermission("hoeruputils.jail") ) {
120                                  p.sendMessage("Only server operators may use this command");                                  //do nothing
121                            } else {
122                                    p.sendMessage("Only server operators or players with hoeruputils.jail priv may use this command");
123                                  return true;                                  return true;
124                          }                          }
125                  } else {                  } else {
# Line 139  public class Jail implements CommandExec Line 138  public class Jail implements CommandExec
138                                  return true;                                  return true;
139                          }                          }
140    
141                          Player inmate = sender.getServer().getPlayer( args[1] );                          OfflinePlayer inmate = sender.getServer().getOfflinePlayer( args[1] );
142                          if (inmate == null) {                          if (inmate.hasPlayedBefore() == false && inmate.isOnline() == false) {
143                                  sender.sendMessage("Player not found");                                  sender.sendMessage("Player not found");
144                                  return true;                                      return true;    
145                          }                                }      
146    
147                            if (inmate instanceof Player) {
148                          inmate.sendMessage("You have been imprisoned");                                  Player p = (Player) inmate;
149                          inmate.teleport( jailLocation );                                  p.sendMessage("You have been imprisoned");
150                                    p.teleport( jailLocation );
151                            }
152                          jailed.add( inmate.getName() );                          jailed.add( inmate.getName() );
153                          save();                          save();
154                            sender.sendMessage("player " + inmate.getName() + " is imprisoned");
155                          return true;                          return true;
156                  }                  }
157    
# Line 159  public class Jail implements CommandExec Line 161  public class Jail implements CommandExec
161                                  return true;                                  return true;
162                          }                          }
163    
164                          Player inmate = sender.getServer().getPlayer( args[1] );                          OfflinePlayer inmate = sender.getServer().getOfflinePlayer( args[1] );
165                          if (inmate == null) {                          if (inmate.hasPlayedBefore() == false && inmate.isOnline() == false) {
166                                  sender.sendMessage("Player not found");                                  sender.sendMessage("Player not found");
167                                  return true;                                      return true;    
168                          }                                }      
169    
   
170                          jailed.remove( inmate.getName() );                          jailed.remove( inmate.getName() );
171                          inmate.sendMessage("You have been released from prison");                          if (inmate instanceof Player) {
172                          inmate.teleport( releaseLocation );                                  Player p = (Player) inmate;
173                                    p.sendMessage("You have been released from jail");
174                                    p.teleport( releaseLocation );
175                            } else {
176                                    plugin.getMessageWrapper().sendMessage("Jail System", inmate, "You have been release from jail - you are free to go home");
177                            }
178                          save();                          save();
179                            sender.sendMessage("player " + inmate.getName() + " is released");
180                          return true;                          return true;
181                  }                  }
182    

Legend:
Removed from v.1861  
changed lines
  Added in v.2438

  ViewVC Help
Powered by ViewVC 1.1.20