mirror of
https://github.com/alexcrea/CustomAnvil.git
synced 2026-06-23 16:16:17 +02:00
Fix sorted list depending on GuiSharedConstant initialisation
This commit is contained in:
parent
526e6a3528
commit
9b3402e45f
3 changed files with 17 additions and 9 deletions
|
|
@ -24,6 +24,8 @@ public class CAEnchantmentRegistry {
|
||||||
private final HashMap<NamespacedKey, CAEnchantment> byKeyMap;
|
private final HashMap<NamespacedKey, CAEnchantment> byKeyMap;
|
||||||
private final HashMap<String, CAEnchantment> byNameMap;
|
private final HashMap<String, CAEnchantment> byNameMap;
|
||||||
|
|
||||||
|
private final SortedSet<CAEnchantment> nameSortedEnchantments;
|
||||||
|
|
||||||
private final List<CAEnchantment> unoptimisedGetValues;
|
private final List<CAEnchantment> unoptimisedGetValues;
|
||||||
private final List<CAEnchantment> unoptimisedCleanValues;
|
private final List<CAEnchantment> unoptimisedCleanValues;
|
||||||
|
|
||||||
|
|
@ -34,6 +36,8 @@ public class CAEnchantmentRegistry {
|
||||||
byKeyMap = new HashMap<>();
|
byKeyMap = new HashMap<>();
|
||||||
byNameMap = new HashMap<>();
|
byNameMap = new HashMap<>();
|
||||||
|
|
||||||
|
nameSortedEnchantments = new TreeSet<>(Comparator.comparing(CAEnchantment::getName));
|
||||||
|
|
||||||
unoptimisedGetValues = new ArrayList<>();
|
unoptimisedGetValues = new ArrayList<>();
|
||||||
unoptimisedCleanValues = new ArrayList<>();
|
unoptimisedCleanValues = new ArrayList<>();
|
||||||
|
|
||||||
|
|
@ -82,6 +86,7 @@ public class CAEnchantmentRegistry {
|
||||||
|
|
||||||
byKeyMap.put(enchantment.getKey(), enchantment);
|
byKeyMap.put(enchantment.getKey(), enchantment);
|
||||||
byNameMap.put(enchantment.getName(), enchantment);
|
byNameMap.put(enchantment.getName(), enchantment);
|
||||||
|
nameSortedEnchantments.add(enchantment);
|
||||||
|
|
||||||
if(!enchantment.isGetOptimised()){
|
if(!enchantment.isGetOptimised()){
|
||||||
unoptimisedGetValues.add(enchantment);
|
unoptimisedGetValues.add(enchantment);
|
||||||
|
|
@ -109,6 +114,8 @@ public class CAEnchantmentRegistry {
|
||||||
byKeyMap.remove(enchantment.getKey());
|
byKeyMap.remove(enchantment.getKey());
|
||||||
byNameMap.remove(enchantment.getName());
|
byNameMap.remove(enchantment.getName());
|
||||||
|
|
||||||
|
nameSortedEnchantments.remove(enchantment);
|
||||||
|
|
||||||
unoptimisedGetValues.remove(enchantment);
|
unoptimisedGetValues.remove(enchantment);
|
||||||
unoptimisedCleanValues.remove(enchantment);
|
unoptimisedCleanValues.remove(enchantment);
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -185,4 +192,11 @@ public class CAEnchantmentRegistry {
|
||||||
return optimisedGetOperators;
|
return optimisedGetOperators;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get custom anvil enchantment sorted by name.
|
||||||
|
* @return An immutable sorted set of every registered enchantment sorted by name.
|
||||||
|
*/
|
||||||
|
public SortedSet<CAEnchantment> getNameSortedEnchantments() {
|
||||||
|
return Collections.unmodifiableSortedSet(nameSortedEnchantments);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import com.github.stefvanschie.inventoryframework.gui.GuiItem;
|
||||||
import com.github.stefvanschie.inventoryframework.pane.util.Pattern;
|
import com.github.stefvanschie.inventoryframework.pane.util.Pattern;
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
import xyz.alexcrea.cuanvil.enchant.CAEnchantment;
|
import xyz.alexcrea.cuanvil.enchant.CAEnchantment;
|
||||||
|
import xyz.alexcrea.cuanvil.enchant.CAEnchantmentRegistry;
|
||||||
import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui;
|
import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui;
|
||||||
import xyz.alexcrea.cuanvil.gui.config.list.SettingGuiListConfigGui;
|
import xyz.alexcrea.cuanvil.gui.config.list.SettingGuiListConfigGui;
|
||||||
import xyz.alexcrea.cuanvil.gui.config.settings.SettingGui;
|
import xyz.alexcrea.cuanvil.gui.config.settings.SettingGui;
|
||||||
|
|
@ -37,7 +38,7 @@ public abstract class AbstractEnchantConfigGui<T extends SettingGui.SettingGuiFa
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Collection<CAEnchantment> getEveryDisplayableInstanceOfGeneric() {
|
protected Collection<CAEnchantment> getEveryDisplayableInstanceOfGeneric() {
|
||||||
return GuiSharedConstant.SORTED_ENCHANTMENT_LIST;
|
return CAEnchantmentRegistry.getInstance().getNameSortedEnchantments();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -7,20 +7,13 @@ import com.github.stefvanschie.inventoryframework.pane.util.Pattern;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import xyz.alexcrea.cuanvil.enchant.CAEnchantment;
|
|
||||||
import xyz.alexcrea.cuanvil.enchant.CAEnchantmentRegistry;
|
|
||||||
import xyz.alexcrea.cuanvil.gui.config.MainConfigGui;
|
import xyz.alexcrea.cuanvil.gui.config.MainConfigGui;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public class GuiSharedConstant {
|
public class GuiSharedConstant {
|
||||||
|
|
||||||
public static final List<CAEnchantment> SORTED_ENCHANTMENT_LIST;
|
private GuiSharedConstant(){}
|
||||||
|
|
||||||
static {
|
|
||||||
SORTED_ENCHANTMENT_LIST = new ArrayList<>(CAEnchantmentRegistry.getInstance().values());
|
|
||||||
SORTED_ENCHANTMENT_LIST.sort(Comparator.comparing(ench -> ench.getKey().getKey()));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final Material SECONDARY_BACKGROUND_MATERIAL = Material.BLACK_STAINED_GLASS_PANE;
|
public static final Material SECONDARY_BACKGROUND_MATERIAL = Material.BLACK_STAINED_GLASS_PANE;
|
||||||
public static final GuiItem SECONDARY_BACKGROUND_ITEM = GuiGlobalItems.backgroundItem(GuiSharedConstant.SECONDARY_BACKGROUND_MATERIAL);
|
public static final GuiItem SECONDARY_BACKGROUND_ITEM = GuiGlobalItems.backgroundItem(GuiSharedConstant.SECONDARY_BACKGROUND_MATERIAL);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue