From f4fe6558ccde94a8bd9976e9803a2c603f186f00 Mon Sep 17 00:00:00 2001 From: SimolZimol <70102430+SimolZimol@users.noreply.github.com> Date: Fri, 23 May 2025 15:49:34 +0200 Subject: [PATCH] modified: src/main/java/com/simolzimol/levelcraft/LevelCraft.java new file: src/main/java/com/simolzimol/levelcraft/item/ItemUtil.java new file: src/main/java/com/simolzimol/levelcraft/item/Rarity.java --- .../com/simolzimol/levelcraft/LevelCraft.java | 1 + .../simolzimol/levelcraft/item/ItemUtil.java | 24 +++++++++++++ .../simolzimol/levelcraft/item/Rarity.java | 36 +++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 src/main/java/com/simolzimol/levelcraft/item/ItemUtil.java create mode 100644 src/main/java/com/simolzimol/levelcraft/item/Rarity.java diff --git a/src/main/java/com/simolzimol/levelcraft/LevelCraft.java b/src/main/java/com/simolzimol/levelcraft/LevelCraft.java index 4077a48..4b6895c 100644 --- a/src/main/java/com/simolzimol/levelcraft/LevelCraft.java +++ b/src/main/java/com/simolzimol/levelcraft/LevelCraft.java @@ -6,6 +6,7 @@ public class LevelCraft extends JavaPlugin { @Override public void onEnable() { getLogger().info("LevelCraft aktiviert!"); + com.simolzimol.levelcraft.item.ItemUtil.init(this); } @Override diff --git a/src/main/java/com/simolzimol/levelcraft/item/ItemUtil.java b/src/main/java/com/simolzimol/levelcraft/item/ItemUtil.java new file mode 100644 index 0000000..921bb1a --- /dev/null +++ b/src/main/java/com/simolzimol/levelcraft/item/ItemUtil.java @@ -0,0 +1,24 @@ +package com.simolzimol.levelcraft.item; + +import org.bukkit.NamespacedKey; +import org.bukkit.inventory.ItemStack; +import org.bukkit.persistence.PersistentDataType; +import org.bukkit.plugin.Plugin; + +public class ItemUtil { + private static NamespacedKey rarityKey; + + public static void init(Plugin plugin) { + rarityKey = new NamespacedKey(plugin, "rarity"); + } + + public static void setRarity(ItemStack item, Rarity rarity) { + item.getItemMeta().getPersistentDataContainer().set(rarityKey, PersistentDataType.INTEGER, rarity.getValue()); + // Optional: ItemMeta updaten (z.B. Lore, Name) + } + + public static Rarity getRarity(ItemStack item) { + Integer value = item.getItemMeta().getPersistentDataContainer().get(rarityKey, PersistentDataType.INTEGER); + return value == null ? Rarity.COMMON : Rarity.fromValue(value); + } +} diff --git a/src/main/java/com/simolzimol/levelcraft/item/Rarity.java b/src/main/java/com/simolzimol/levelcraft/item/Rarity.java new file mode 100644 index 0000000..7b946e6 --- /dev/null +++ b/src/main/java/com/simolzimol/levelcraft/item/Rarity.java @@ -0,0 +1,36 @@ +package com.simolzimol.levelcraft.item; + +public enum Rarity { + CURSED(-1, "Verflucht"), + COMMON(0, "Gewöhnlich"), + UNCOMMON(1, "Ungewöhnlich"), + RARE(2, "Selten"), + EPIC(3, "Episch"), + LEGENDARY(4, "Legendär"), + MYTHIC(5, "Mythisch"), + ANCIENT(6, "Uralte"), + DIVINE(7, "Göttlich"); + + private final int value; + private final String displayName; + + Rarity(int value, String displayName) { + this.value = value; + this.displayName = displayName; + } + + public int getValue() { + return value; + } + + public String getDisplayName() { + return displayName; + } + + public static Rarity fromValue(int value) { + for (Rarity r : values()) { + if (r.value == value) return r; + } + return COMMON; + } +}