fishing_event/src/main/java/com/alttd/fishingevent/objects/EnchantmentTrack.java

39 lines
1.1 KiB
Java

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<EnchantmentData> enchantmentMap;
private final String internalName;
public EnchantmentTrack(String internalName, Component name, Int2ObjectOpenHashMap<EnchantmentData> enchantmentMap) {
this.internalName = internalName.toLowerCase();
this.name = name;
this.enchantmentMap = enchantmentMap;
}
public Optional<EnchantmentData> 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);
}
}