From 623dc73834e15d2184f0a7c40d997c15bb746ac9 Mon Sep 17 00:00:00 2001 From: M_Viper Date: Sun, 21 Jun 2026 18:43:03 +0000 Subject: [PATCH] Delete src/main/java/de/lasertag/listener/PlayerListener.java via Git Manager GUI --- .../de/lasertag/listener/PlayerListener.java | 70 ------------------- 1 file changed, 70 deletions(-) delete mode 100644 src/main/java/de/lasertag/listener/PlayerListener.java diff --git a/src/main/java/de/lasertag/listener/PlayerListener.java b/src/main/java/de/lasertag/listener/PlayerListener.java deleted file mode 100644 index 73f88eb..0000000 --- a/src/main/java/de/lasertag/listener/PlayerListener.java +++ /dev/null @@ -1,70 +0,0 @@ -package de.lasertag.listener; - -import de.lasertag.LasertagPlugin; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.EntityDamageEvent; -import org.bukkit.event.entity.FoodLevelChangeEvent; -import org.bukkit.event.player.PlayerDropItemEvent; -import org.bukkit.event.player.PlayerItemHeldEvent; -import org.bukkit.event.player.PlayerQuitEvent; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.CrossbowMeta; - -public class PlayerListener implements Listener { - - private final LasertagPlugin plugin; - - public PlayerListener(LasertagPlugin plugin) { this.plugin = plugin; } - - /** Schaden komplett sperren — Lasertag verwaltet Tode selbst. */ - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = false) - public void onDamage(EntityDamageEvent e) { - if (!(e.getEntity() instanceof Player p)) return; - if (plugin.getGameManager().getGameOf(p) != null) e.setCancelled(true); - } - - /** Hunger sperren. */ - @EventHandler - public void onFood(FoodLevelChangeEvent e) { - if (!(e.getEntity() instanceof Player p)) return; - if (plugin.getGameManager().getGameOf(p) != null) e.setCancelled(true); - } - - /** Items droppen sperren. */ - @EventHandler - public void onDrop(PlayerDropItemEvent e) { - if (plugin.getGameManager().getGameOf(e.getPlayer()) != null) e.setCancelled(true); - } - - /** Spieler verlässt den Server. */ - @EventHandler - public void onQuit(PlayerQuitEvent e) { - plugin.getGameManager().leaveGame(e.getPlayer()); - } - - /** - * Wenn ein Spieler im Spiel die Crossbow (Sniper) in die Hand nimmt, - * sicherstellen dass sie nicht "geladen" aussieht und keinen Pfeil enthält. - * Crossbows haben eine CrossbowMeta die "charged" sein kann — das resetten wir. - */ - @EventHandler - public void onHeldChange(PlayerItemHeldEvent e) { - Player player = e.getPlayer(); - if (plugin.getGameManager().getGameOf(player) == null) return; - // Kleines Delay damit das Item schon in der Hand ist - org.bukkit.Bukkit.getScheduler().runTaskLater( - de.lasertag.LasertagPlugin.getInstance(), () -> { - ItemStack item = player.getInventory().getItemInMainHand(); - if (item == null) return; - if (item.getItemMeta() instanceof CrossbowMeta cm) { - if (!cm.getChargedProjectiles().isEmpty()) { - cm.setChargedProjectiles(java.util.Collections.emptyList()); - item.setItemMeta(cm); - } - } - }, 1L); - } -}