diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BingoChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BingoChallengeEvent.java index 9bf1a2e..7d1bbb7 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BingoChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BingoChallengeEvent.java @@ -22,12 +22,12 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityPickupItemEvent; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.player.PlayerBucketEmptyEvent; import org.bukkit.event.player.PlayerBucketEntityEvent; import org.bukkit.event.player.PlayerBucketFillEvent; import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerPickupItemEvent; import org.bukkit.event.player.PlayerStatisticIncrementEvent; import org.bukkit.inventory.CraftingInventory; import org.bukkit.inventory.Inventory; @@ -125,11 +125,12 @@ } @EventHandler - public void onPickUpItem(PlayerPickupItemEvent e) { + public void onPickUpItem(EntityPickupItemEvent e) { ItemStack itemStack = e.getItem().getItemStack(); - Player player = e.getPlayer(); - if (isRunning()) { - addDiscoveredItem(player, itemStack); + if (e.getEntity() instanceof Player player) { + if (isRunning()) { + addDiscoveredItem(player, itemStack); + } } } diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BridgeRaceChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BridgeRaceChallengeEvent.java index c5c3a7c..c2bf40e 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BridgeRaceChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BridgeRaceChallengeEvent.java @@ -29,7 +29,7 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockPlaceEvent; -import org.bukkit.event.player.PlayerAttemptPickupItemEvent; +import org.bukkit.event.entity.EntityPickupItemEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerPortalEvent; @@ -183,13 +183,14 @@ } @EventHandler - public void onPickupItem(PlayerAttemptPickupItemEvent e) { + public void onPickupItem(EntityPickupItemEvent e) { if (isRunning()) { - Player p = e.getPlayer(); - double posRelatedToCenter = p.getLocation().getZ() - getPlayerLocation(p).clone().getZ(); - double distanceToCenter = Math.abs(posRelatedToCenter); - if (distanceToCenter >= 20) { - e.setCancelled(true); + if (e.getEntity() instanceof Player player) { + double posRelatedToCenter = player.getLocation().getZ() - getPlayerLocation(player).clone().getZ(); + double distanceToCenter = Math.abs(posRelatedToCenter); + if (distanceToCenter >= 20) { + e.setCancelled(true); + } } } } diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DifferentItemsChallenge.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DifferentItemsChallenge.java index cd0cc63..46c43dc 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DifferentItemsChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DifferentItemsChallenge.java @@ -18,8 +18,8 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityPickupItemEvent; import org.bukkit.event.inventory.InventoryClickEvent; -import org.bukkit.event.player.PlayerAttemptPickupItemEvent; import org.bukkit.event.player.PlayerBucketEmptyEvent; import org.bukkit.event.player.PlayerBucketEntityEvent; import org.bukkit.event.player.PlayerBucketFillEvent; @@ -103,11 +103,12 @@ } @EventHandler - public void onPickUpItem(PlayerAttemptPickupItemEvent e) { + public void onPickUpItem(EntityPickupItemEvent e) { ItemStack itemStack = e.getItem().getItemStack(); - Player player = e.getPlayer(); - if (isRunning()) { - addDiscoveredItem(player, itemStack); + if (e.getEntity() instanceof Player player) { + if (isRunning()) { + addDiscoveredItem(player, itemStack); + } } } diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/SammelFieberChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/SammelFieberChallengeEvent.java index f20a869..c114c75 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/SammelFieberChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/SammelFieberChallengeEvent.java @@ -22,9 +22,9 @@ import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.entity.EntityPickupItemEvent; import org.bukkit.event.inventory.InventoryMoveItemEvent; import org.bukkit.event.inventory.InventoryPickupItemEvent; -import org.bukkit.event.player.PlayerAttemptPickupItemEvent; import org.bukkit.event.player.PlayerDropItemEvent; import org.bukkit.event.player.PlayerInteractEntityEvent; import org.bukkit.event.player.PlayerInteractEvent; @@ -260,11 +260,15 @@ } @EventHandler - public void onPlayerPickUpItem(PlayerAttemptPickupItemEvent e) { + public void onPlayerPickUpItem(EntityPickupItemEvent e) { if (!isRunning()) { return; } + if (!(e.getEntity() instanceof Player)) { + return; + } + ItemStack stack = e.getItem().getItemStack(); if (stack.getType() != getMaterial()) { diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java index 1cb85ec..da5af98 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java @@ -43,6 +43,7 @@ import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityDeathEvent; import org.bukkit.event.entity.EntityDismountEvent; +import org.bukkit.event.entity.EntityPickupItemEvent; import org.bukkit.event.entity.EntityPotionEffectEvent; import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.inventory.ClickType; @@ -51,7 +52,6 @@ import org.bukkit.event.inventory.InventoryMoveItemEvent; import org.bukkit.event.inventory.InventoryType; import org.bukkit.event.player.PlayerArmorStandManipulateEvent; -import org.bukkit.event.player.PlayerAttemptPickupItemEvent; import org.bukkit.event.player.PlayerBucketEntityEvent; import org.bukkit.event.player.PlayerBucketFillEvent; import org.bukkit.event.player.PlayerChangedWorldEvent; @@ -416,11 +416,12 @@ } @EventHandler - public void onPickUpItem(PlayerAttemptPickupItemEvent e) { + public void onPickUpItem(EntityPickupItemEvent e) { ItemStack itemStack = e.getItem().getItemStack(); - Player player = e.getPlayer(); - if (isRunning()) { - selectItem(player, itemStack.getType()); + if (e.getEntity() instanceof Player player) { + if (isRunning()) { + selectItem(player, itemStack.getType()); + } } } diff --git a/src/main/java/de/fanta/challenges/listeners/DeathListener.java b/src/main/java/de/fanta/challenges/listeners/DeathListener.java index 0863dce..9fb5bb2 100644 --- a/src/main/java/de/fanta/challenges/listeners/DeathListener.java +++ b/src/main/java/de/fanta/challenges/listeners/DeathListener.java @@ -3,6 +3,9 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.Config; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.TextComponent; +import net.kyori.adventure.text.format.TextColor; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.entity.Player; @@ -16,20 +19,22 @@ @EventHandler public void onPlayerDeath(PlayerDeathEvent e) { + TextComponent component = plugin.getPrefixComponent().append(e.deathMessage()).color(TextColor.color(ChatUtil.BLUE.getColor().getRGB())); if (Config.getBoolean("onelife")) { plugin.getTimer().stopTimer(); for (Player p : Bukkit.getOnlinePlayers()) { p.setGameMode(GameMode.SPECTATOR); } - e.setDeathMessage(plugin.getPREFIX() + " " + ChatUtil.BLUE + e.getEntity().getName() + ChatUtil.GREEN + " ist gestorben!"); + e.deathMessage(component); ChatUtil.sendBrodcastMessage("Verschwendete Zeit " + plugin.getTimer().formatTime(ChatUtil.ORANGE)); ChatUtil.sendBrodcastMessage("Welt Seed: " + Bukkit.getWorlds().get(0).getSeed()); ChatUtil.sendBrodcastMessage("Um alle wiederzubeleben benutze §c/revive ALL"); } else { if (Config.getBoolean("event.enabled")) { - e.setDeathMessage(plugin.getPREFIX() + " " + ChatUtil.BLUE + e.getDeathMessage()); + e.deathMessage(component); } else { - e.setDeathMessage(plugin.getPREFIX() + " " + ChatUtil.BLUE + e.getDeathMessage() + ChatUtil.ORANGE + " (" + e.getEntity().getLocation().getBlockX() + "/" + e.getEntity().getLocation().getBlockY() + "/" + e.getEntity().getLocation().getBlockZ() + ")"); + component = component.append(Component.text(" (" + e.getEntity().getLocation().getBlockX() + "/" + e.getEntity().getLocation().getBlockY() + "/" + e.getEntity().getLocation().getBlockZ() + ")").color(TextColor.color(ChatUtil.ORANGE.getColor().getRGB()))); + e.deathMessage(component); } if (!Config.getBoolean("respawn")) { Player editor = plugin.getCurrentEditor(); diff --git a/src/main/java/de/fanta/challenges/listeners/PlayerListener.java b/src/main/java/de/fanta/challenges/listeners/PlayerListener.java index 41c70fb..0838927 100644 --- a/src/main/java/de/fanta/challenges/listeners/PlayerListener.java +++ b/src/main/java/de/fanta/challenges/listeners/PlayerListener.java @@ -14,11 +14,11 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityPickupItemEvent; import org.bukkit.event.entity.EntityRegainHealthEvent; import org.bukkit.event.entity.EntityTargetLivingEntityEvent; import org.bukkit.event.entity.FoodLevelChangeEvent; import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.PlayerAttemptPickupItemEvent; import org.bukkit.event.player.PlayerDropItemEvent; import org.bukkit.event.player.PlayerItemConsumeEvent; import org.bukkit.event.player.PlayerMoveEvent; @@ -57,9 +57,11 @@ } @EventHandler - public void onPickUpItem(PlayerAttemptPickupItemEvent e) { - if (!plugin.getTimer().isRunning() && e.getPlayer().getGameMode() != GameMode.CREATIVE) { - e.setCancelled(true); + public void onPickUpItem(EntityPickupItemEvent e) { + if (e.getEntity() instanceof Player player) { + if (!plugin.getTimer().isRunning() && player.getGameMode() != GameMode.CREATIVE) { + e.setCancelled(true); + } } }