package com.alttd.fishingevent.objects; import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; import net.kyori.adventure.text.Component; import java.util.Optional; public class EnchantmentTrack { private final Component name; private final Int2ObjectOpenHashMap enchantmentMap; private final String internalName; public EnchantmentTrack(String internalName, Component name, Int2ObjectOpenHashMap enchantmentMap) { this.internalName = internalName.toLowerCase(); this.name = name; this.enchantmentMap = enchantmentMap; } public Optional nextEnchantment(int trackLevel) { if (enchantmentMap.containsKey(trackLevel + 1)) { return Optional.of(enchantmentMap.get(trackLevel + 1)); } return Optional.empty(); } public Component getName() { return name; } public String getInternalName() { return internalName; } public int getMaxLevel() { return enchantmentMap.keySet().stream().max(Integer::compare).orElse(0); } }