From 58d0b7fa194b85b265ddaaffca77b03d50dfd7ee Mon Sep 17 00:00:00 2001 From: akastijn Date: Mon, 15 Jun 2026 22:04:52 +0200 Subject: [PATCH] Add loot items configuration and `RARITY` enum for item rarity handling --- .../alttd/hunger_games/config/LootItems.java | 40 +++++++++++++++++++ .../hunger_games/data_objects/RARITY.java | 15 +++++++ 2 files changed, 55 insertions(+) create mode 100644 src/main/java/com/alttd/hunger_games/config/LootItems.java create mode 100644 src/main/java/com/alttd/hunger_games/data_objects/RARITY.java diff --git a/src/main/java/com/alttd/hunger_games/config/LootItems.java b/src/main/java/com/alttd/hunger_games/config/LootItems.java new file mode 100644 index 0000000..8cafddb --- /dev/null +++ b/src/main/java/com/alttd/hunger_games/config/LootItems.java @@ -0,0 +1,40 @@ +package com.alttd.hunger_games.config; + +import com.alttd.hunger_games.data_objects.RARITY; +import org.bukkit.Material; + +import java.io.File; +import java.util.HashMap; +import java.util.List; + +public class LootItems extends AbstractConfig { + static LootItems config; + + LootItems() { + super( + new File(File.separator + + "mnt" + File.separator + + "configs" + File.separator + + "HungerGames"), + "loot-items.yml"); + } + + public static void reload() { + config = new LootItems(); + config.readConfig(LootItems.class, null); + } + + public static class ITEMS { + private static final String prefix = "items."; + + private static final HashMap> ITEMS = new HashMap<>(); + + @SuppressWarnings("unused") + private static void load() { + for (RARITY rarity : RARITY.values()) { + List materialList = config.getList(prefix, rarity.getConfigName(), ITEMS.get(rarity).stream().map(Material::name)); + ITEMS.put(rarity, materialList.stream().map(Material::getMaterial).toList()); + } + } + } +} diff --git a/src/main/java/com/alttd/hunger_games/data_objects/RARITY.java b/src/main/java/com/alttd/hunger_games/data_objects/RARITY.java new file mode 100644 index 0000000..38f87af --- /dev/null +++ b/src/main/java/com/alttd/hunger_games/data_objects/RARITY.java @@ -0,0 +1,15 @@ +package com.alttd.hunger_games.data_objects; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor +@Getter +public enum RARITY { + COMMON("common"), + UNCOMMON("uncommon"), + RARE("rare"), + EPIC("epic"); + + private final String configName; +}