1 |
torben |
1236 |
package dk.thoerup.bukkit.hoeruputils; |
2 |
|
|
|
3 |
|
|
|
4 |
|
|
import org.bukkit.Server; |
5 |
|
|
import org.bukkit.entity.Player; |
6 |
|
|
import org.bukkit.event.player.PlayerListener; |
7 |
|
|
import org.bukkit.event.player.PlayerRespawnEvent; |
8 |
|
|
import org.bukkit.inventory.ItemStack; |
9 |
|
|
import org.bukkit.plugin.Plugin; |
10 |
|
|
|
11 |
|
|
public class RespawnHandler extends PlayerListener{ |
12 |
|
|
|
13 |
|
|
Plugin plugin; |
14 |
|
|
public RespawnHandler(Plugin plugin) { |
15 |
|
|
this.plugin = plugin; |
16 |
|
|
} |
17 |
|
|
|
18 |
|
|
class DelayedRespawnHandler implements Runnable { |
19 |
|
|
|
20 |
|
|
|
21 |
|
|
private Player player; |
22 |
|
|
public DelayedRespawnHandler(Player player) { |
23 |
|
|
this.player = player; |
24 |
|
|
} |
25 |
|
|
|
26 |
|
|
@Override |
27 |
|
|
public void run() { |
28 |
|
|
player.getServer().broadcastMessage( "" + player.getName() + " respawned after a gruesome death"); |
29 |
|
|
|
30 |
|
|
|
31 |
|
|
if (player.isOnline()) { |
32 |
|
|
|
33 |
|
|
/* This doesn't work yet |
34 |
|
|
PlayerInventory inv = player.getInventory(); |
35 |
|
|
inv.addItem( new ItemStack(50,16) ); //torches |
36 |
|
|
inv.addItem( new ItemStack(271,1)); //tools |
37 |
|
|
inv.addItem( new ItemStack(272,1)); |
38 |
|
|
inv.addItem( new ItemStack(273,1)); |
39 |
|
|
|
40 |
|
|
inv.setChestplate( new ItemStack(299) ); |
41 |
|
|
player.updateInventory(); //what comes instead of this ?? |
42 |
|
|
*/ |
43 |
|
|
|
44 |
|
|
|
45 |
|
|
player.getWorld().dropItem(player.getLocation(), new ItemStack(50,16) ); |
46 |
|
|
|
47 |
|
|
player.getWorld().dropItem(player.getLocation(), new ItemStack(272,1) ); |
48 |
|
|
player.getWorld().dropItem(player.getLocation(), new ItemStack(273,1) ); |
49 |
|
|
player.getWorld().dropItem(player.getLocation(), new ItemStack(274,1) ); |
50 |
|
|
|
51 |
|
|
|
52 |
|
|
player.getWorld().dropItem(player.getLocation(), new ItemStack(299,1) ); |
53 |
|
|
|
54 |
|
|
player.sendMessage("You have been given a basic care-package"); |
55 |
|
|
} else { |
56 |
|
|
player.sendMessage("You have are not online !?!"); |
57 |
|
|
} |
58 |
|
|
} |
59 |
|
|
|
60 |
|
|
} |
61 |
|
|
|
62 |
|
|
@Override |
63 |
|
|
public void onPlayerRespawn(PlayerRespawnEvent event) { |
64 |
|
|
super.onPlayerRespawn(event); |
65 |
|
|
|
66 |
|
|
Player player = event.getPlayer(); |
67 |
|
|
Server server = player.getServer(); |
68 |
|
|
|
69 |
|
|
server.getScheduler().scheduleSyncDelayedTask(plugin, new DelayedRespawnHandler(player), 1*20); |
70 |
|
|
|
71 |
|
|
} |
72 |
|
|
|
73 |
|
|
} |