16 |
import org.bukkit.event.player.PlayerPortalEvent; |
import org.bukkit.event.player.PlayerPortalEvent; |
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; |
20 |
|
|
21 |
import org.bukkit.event.block.BlockBreakEvent; |
import org.bukkit.event.block.BlockBreakEvent; |
22 |
import org.bukkit.event.block.BlockPlaceEvent; |
import org.bukkit.event.block.BlockPlaceEvent; |
112 |
|
|
113 |
@Override |
@Override |
114 |
public boolean onCommand(final CommandSender sender, Command command, String label, String[] args) { |
public boolean onCommand(final CommandSender sender, Command command, String label, String[] args) { |
115 |
if (! (sender instanceof Player) ) { |
if (args.length == 0) { |
116 |
sender.sendMessage("only use these commands in-game"); |
sender.sendMessage("Usage: /jail <imprison|release|list|tpjail|tprelease|setjail|setrelease>"); |
117 |
return true; |
return true; |
118 |
} |
} |
119 |
|
|
120 |
Player p = (Player) sender; |
if (sender instanceof Player ) { |
121 |
|
Player p = (Player) sender; |
122 |
if ( !p.isOp()) { |
if ( !p.isOp()) { |
123 |
p.sendMessage("Only server operators may use this command"); |
p.sendMessage("Only server operators may use this command"); |
124 |
return true; |
return true; |
125 |
|
} |
126 |
|
} else { |
127 |
|
if ( args[0] != "imprison" && args[0] != "release" && args[0] != "list") { |
128 |
|
sender.sendMessage("only imprison, release and list may be used from console"); |
129 |
|
return true; |
130 |
|
} |
131 |
} |
} |
132 |
|
|
|
if (args.length == 0) { |
|
|
p.sendMessage("Usage: /jail <imprison|release|list|tpjail|tprelease|setjail|setrelease>"); |
|
|
return true; |
|
|
} |
|
133 |
|
|
134 |
if (args[0].equals("imprison")) { |
if (args[0].equals("imprison")) { |
135 |
if (args.length != 2) { |
if (args.length != 2) { |
138 |
|
|
139 |
Player inmate = sender.getServer().getPlayer( args[1] ); |
Player inmate = sender.getServer().getPlayer( args[1] ); |
140 |
if (inmate == null) { |
if (inmate == null) { |
141 |
p.sendMessage("Player not found"); |
sender.sendMessage("Player not found"); |
142 |
return true; |
return true; |
143 |
} |
} |
144 |
|
|
157 |
|
|
158 |
Player inmate = sender.getServer().getPlayer( args[1] ); |
Player inmate = sender.getServer().getPlayer( args[1] ); |
159 |
if (inmate == null) { |
if (inmate == null) { |
160 |
p.sendMessage("Player not found"); |
sender.sendMessage("Player not found"); |
161 |
return true; |
return true; |
162 |
} |
} |
163 |
|
|
184 |
} |
} |
185 |
|
|
186 |
if (args[0].equals("setjail")) { |
if (args[0].equals("setjail")) { |
187 |
|
Player p = (Player) sender; |
188 |
jailLocation = p.getLocation().clone(); |
jailLocation = p.getLocation().clone(); |
189 |
p.sendMessage("New jail location has been set"); |
p.sendMessage("New jail location has been set"); |
190 |
save(); |
save(); |
191 |
return true; |
return true; |
192 |
} |
} |
193 |
if (args[0].equals("setrelease")) { |
if (args[0].equals("setrelease")) { |
194 |
|
Player p = (Player) sender; |
195 |
releaseLocation = p.getLocation().clone(); |
releaseLocation = p.getLocation().clone(); |
196 |
p.sendMessage("New release location has been set"); |
p.sendMessage("New release location has been set"); |
197 |
save(); |
save(); |
199 |
} |
} |
200 |
|
|
201 |
if (args[0].equals("tpjail")) { |
if (args[0].equals("tpjail")) { |
202 |
|
Player p = (Player) sender; |
203 |
p.teleport(jailLocation); |
p.teleport(jailLocation); |
204 |
return true; |
return true; |
205 |
} |
} |
206 |
if (args[0].equals("tprelease")) { |
if (args[0].equals("tprelease")) { |
207 |
|
Player p = (Player) sender; |
208 |
p.teleport(releaseLocation); |
p.teleport(releaseLocation); |
209 |
return true; |
return true; |
210 |
} |
} |
286 |
event.setCancelled( true ); |
event.setCancelled( true ); |
287 |
} |
} |
288 |
} |
} |
289 |
|
|
290 |
|
@EventHandler |
291 |
|
public void onRespawn(PlayerRespawnEvent event) { |
292 |
|
Player p = event.getPlayer(); |
293 |
|
if (jailed.contains( p.getName() ) ) { |
294 |
|
event.setRespawnLocation( jailLocation ); |
295 |
|
p.teleport( jailLocation ); |
296 |
|
} |
297 |
|
} |
298 |
} |
} |
299 |
|
|