From ca2a4a34b21f999402cdb70417e4ccc35ceb324e Mon Sep 17 00:00:00 2001 From: Pablete1234 Date: Mon, 6 Jun 2016 19:44:21 +0200 Subject: [PATCH] Fix items not dropping on death --- .../module/modules/titleRespawn/TitleRespawn.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/in/twizmwaz/cardinal/module/modules/titleRespawn/TitleRespawn.java b/src/main/java/in/twizmwaz/cardinal/module/modules/titleRespawn/TitleRespawn.java index 3c1cc21bb..6dac2a59c 100644 --- a/src/main/java/in/twizmwaz/cardinal/module/modules/titleRespawn/TitleRespawn.java +++ b/src/main/java/in/twizmwaz/cardinal/module/modules/titleRespawn/TitleRespawn.java @@ -196,8 +196,12 @@ private JsonObject translateJson(JsonObject object, String locale) { } private void dropInventory(Player player) { + dropInventory(player, false); + } + + private void dropInventory(Player player, boolean force) { Optional team = Teams.getTeamByPlayer(player); - if (!team.get().isObserver() && !isDeadUUID(player.getUniqueId()) && GameHandler.getGameHandler().getMatch().isRunning()) { + if (GameHandler.getGameHandler().getMatch().isRunning() && (force || (!team.get().isObserver() && !isDeadUUID(player.getUniqueId())))) { for (ItemStack stack : player.getInventory().getContents()) { if (stack != null && stack.getType() != Material.AIR) { player.getWorld().dropItemNaturally(player.getLocation().add(0, 0.5, 0), stack); @@ -359,7 +363,7 @@ private void killPlayer(final Player player, Player killer, EntityDamageEvent.Da CardinalDeathEvent cardinalDeathEvent = new CardinalDeathEvent(player, killer, cause); Bukkit.getServer().getPluginManager().callEvent(cardinalDeathEvent); - dropInventory(player); + dropInventory(player, true); PlayerDeathEvent deathEvent = new PlayerDeathEvent(player, new ArrayList(), player.getExpToLevel(), 0, 0, 0, null); deathEvent.setDeathMessage(null); @@ -483,7 +487,7 @@ public void onPlayerSwitchTeam(PlayerChangeTeamEvent event) { respawnPlayer(event.getPlayer(), GameHandler.getGameHandler().getMatch().isRunning() && !(event.getNewTeam().get().isObserver() && isDeadUUID(event.getPlayer().getUniqueId()))); } - @EventHandler + @EventHandler(priority = EventPriority.LOWEST) public void onPlayerSwitchTeam2(PlayerChangeTeamEvent event) { if (!GameHandler.getGameHandler().getMatch().isRunning() || (event.getOldTeam().isPresent() && event.getOldTeam().get().isObserver())) return; dropInventory(event.getPlayer());