From 98f7aaa650757561d0a3a0937e25f79a7890e708 Mon Sep 17 00:00:00 2001 From: M_Viper Date: Sun, 21 Jun 2026 18:43:11 +0000 Subject: [PATCH] Delete src/main/java/de/lasertag/weapon/WeaponUtil.java via Git Manager GUI --- .../java/de/lasertag/weapon/WeaponUtil.java | 100 ------------------ 1 file changed, 100 deletions(-) delete mode 100644 src/main/java/de/lasertag/weapon/WeaponUtil.java diff --git a/src/main/java/de/lasertag/weapon/WeaponUtil.java b/src/main/java/de/lasertag/weapon/WeaponUtil.java deleted file mode 100644 index 5515abd..0000000 --- a/src/main/java/de/lasertag/weapon/WeaponUtil.java +++ /dev/null @@ -1,100 +0,0 @@ -package de.lasertag.weapon; - -import de.lasertag.LasertagPlugin; -import org.bukkit.Material; -import org.bukkit.enchantments.Enchantment; -import org.bukkit.inventory.ItemFlag; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.CrossbowMeta; -import org.bukkit.inventory.meta.ItemMeta; - -import java.util.Arrays; -import java.util.Collections; - -public final class WeaponUtil { - - private WeaponUtil() {} - - /** - * Erstellt ein Waffen-ItemStack aus der config.yml. - * - * Besonderheiten: - * - CROSSBOW (Sniper): wird als NICHT geladen erstellt damit kein - * Lade-Animationsglitch entsteht. Wir geben ihr einen Glanz-Effekt. - * - TRIDENT (Shotgun): normaler Trident, Wurf wird im Listener blockiert. - * - LIGHTNING_ROD (Rapid-Fire): normaler Rod mit Glanz. - * - BLAZE_ROD (Pistole): leuchtet orange von Natur aus. - */ - public static ItemStack create(LasertagPlugin plugin, WeaponType type) { - var cfg = plugin.getConfigManager(); - String key = type.getConfigKey(); - - ItemStack item = new ItemStack(type.getMaterial()); - ItemMeta meta = item.getItemMeta(); - - meta.setDisplayName(cfg.getWeaponName(key)); - meta.setLore(Arrays.asList( - "§7" + cfg.getWeaponDesc(key), - "§8──────────────────────", - "§7Schaden: §c" + cfg.getWeaponDamage(key), - "§7Reichweite: §e" + cfg.getWeaponRange(key) + " Blöcke", - "§7Cooldown: §b" + String.format("%.2f", cfg.getWeaponCooldown(key) / 1000.0) + "s", - cfg.getWeaponPellets(key) > 1 - ? "§7Pellets: §6" + cfg.getWeaponPellets(key) + "x gleichzeitig" - : "§7Schuss: §61 Projektil", - "§8──────────────────────", - "§8✦ Rechtsklick §8= Schießen" - )); - - // Glanz-Effekt bei allen Waffen damit sie in der Hotbar hervorstechen - meta.addEnchant(Enchantment.DURABILITY, 1, true); - meta.addItemFlags( - ItemFlag.HIDE_ENCHANTS, - ItemFlag.HIDE_ATTRIBUTES, - ItemFlag.HIDE_UNBREAKABLE, - ItemFlag.HIDE_POTION_EFFECTS - ); - meta.setUnbreakable(true); - item.setItemMeta(meta); - - // Crossbow: sicherstellen dass sie NICHT geladen ist (kein Lade-Bug) - if (type.getMaterial() == Material.CROSSBOW) { - CrossbowMeta cm = (CrossbowMeta) item.getItemMeta(); - cm.setChargedProjectiles(Collections.emptyList()); - // Alle oben gesetzten Flags & Lore erneut setzen da wir neue Meta holen - cm.setDisplayName(cfg.getWeaponName(key)); - cm.setLore(Arrays.asList( - "§7" + cfg.getWeaponDesc(key), - "§8──────────────────────", - "§7Schaden: §c" + cfg.getWeaponDamage(key), - "§7Reichweite: §e" + cfg.getWeaponRange(key) + " Blöcke", - "§7Cooldown: §b" + String.format("%.2f", cfg.getWeaponCooldown(key) / 1000.0) + "s", - "§7Schuss: §61 Projektil", - "§8──────────────────────", - "§8✦ Rechtsklick §8= Schießen" - )); - cm.addEnchant(Enchantment.DURABILITY, 1, true); - cm.addItemFlags(ItemFlag.HIDE_ENCHANTS, ItemFlag.HIDE_ATTRIBUTES, - ItemFlag.HIDE_UNBREAKABLE, ItemFlag.HIDE_POTION_EFFECTS); - cm.setUnbreakable(true); - item.setItemMeta(cm); - } - - return item; - } - - /** - * Identifiziert den WeaponType eines Items anhand des Display-Namens. - * Gibt null zurück wenn das Item keine Lasertag-Waffe ist. - */ - public static WeaponType identify(LasertagPlugin plugin, ItemStack item) { - if (item == null || !item.hasItemMeta() || !item.getItemMeta().hasDisplayName()) - return null; - String name = item.getItemMeta().getDisplayName(); - for (WeaponType t : WeaponType.values()) { - if (plugin.getConfigManager().getWeaponName(t.getConfigKey()).equals(name)) - return t; - } - return null; - } -}