mirror of
https://github.com/DRE2N/DungeonsXL.git
synced 2024-11-24 11:37:05 +01:00
Fix onDeath
This commit is contained in:
parent
56c3e982ba
commit
c98e52a925
@ -15,40 +15,46 @@ import com.dre.dungeonsxl.P;
|
||||
import com.dre.dungeonsxl.game.GameWorld;
|
||||
|
||||
public class PlayerDeathListener implements Listener {
|
||||
|
||||
|
||||
P p = P.p;
|
||||
int lives = -1;
|
||||
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGH)
|
||||
public void onDeath(PlayerDeathEvent event) {
|
||||
Player player = event.getEntity();
|
||||
DPlayer dPlayer = DPlayer.get(player);
|
||||
|
||||
DConfig dConfig = GameWorld.get(player.getLocation().getWorld()).config;
|
||||
|
||||
if (dPlayer != null) {
|
||||
if (dConfig.getKeepInventoryOnDeath()) {
|
||||
dPlayer.respawnInventory = event.getEntity().getInventory().getContents();
|
||||
dPlayer.respawnArmor = event.getEntity().getInventory().getArmorContents();
|
||||
// Delete all drops
|
||||
for (ItemStack istack : event.getDrops()) {
|
||||
istack.setType(Material.AIR);
|
||||
|
||||
GameWorld gameWorld = GameWorld.get(player.getLocation().getWorld());
|
||||
if (gameWorld != null) {
|
||||
DConfig dConfig = gameWorld.config;
|
||||
|
||||
if (dPlayer != null) {
|
||||
if (dConfig != null) {
|
||||
if (dConfig.getKeepInventoryOnDeath()) {
|
||||
dPlayer.respawnInventory = event.getEntity().getInventory().getContents();
|
||||
dPlayer.respawnArmor = event.getEntity().getInventory().getArmorContents();
|
||||
// Delete all drops
|
||||
for (ItemStack istack : event.getDrops()) {
|
||||
istack.setType(Material.AIR);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (p.lives.containsKey(player)) {
|
||||
lives = p.lives.get(player) - 1;
|
||||
p.lives.put(player, lives);
|
||||
}
|
||||
|
||||
if (lives == 0 && dPlayer.isReady) {
|
||||
Bukkit.broadcastMessage(p.language.get("Player_DeathKick").replaceAll("v1", player.getName()).replaceAll("&", "\u00a7"));
|
||||
player.performCommand("dxl leave");
|
||||
} else if ( !(lives == -1)) {
|
||||
p.msg(player, p.language.get("Player_Death").replaceAll("v1", String.valueOf(lives)));
|
||||
}
|
||||
}
|
||||
|
||||
if (p.lives.containsKey(player)) {
|
||||
lives = p.lives.get(player) - 1;
|
||||
p.lives.put(player, lives);
|
||||
}
|
||||
|
||||
if (lives == 0 && dPlayer.isReady) {
|
||||
Bukkit.broadcastMessage(p.language.get("Player_DeathKick").replaceAll("v1", player.getName()).replaceAll("&", "\u00a7"));
|
||||
player.performCommand("dxl leave");
|
||||
} else if (!(lives == -1)) {
|
||||
p.msg(player, p.language.get("Player_Death").replaceAll("v1", String.valueOf(lives)));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user