1 |
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 |
} |