From ce96fefc79162908c9797f752e825f16897e7c99 Mon Sep 17 00:00:00 2001 From: alexcrea Date: Thu, 21 Mar 2024 02:48:28 +0100 Subject: [PATCH] Add secondary background item & put some constant on a util class. --- .../gui/config/AbstractEnchantConfigGui.java | 13 +++------ .../config/settings/AbstractSettingGui.java | 4 --- .../gui/config/settings/BoolSettingsGui.java | 5 ++-- .../settings/EnchantCostSettingsGui.java | 5 ++-- .../settings/EnchantSelectSettingGui.java | 7 ++++- .../settings/GroupSelectSettingGui.java | 4 +++ .../gui/config/settings/IntSettingsGui.java | 5 ++-- .../cuanvil/gui/util/GuiSharedConstant.java | 27 +++++++++++++++++++ 8 files changed, 49 insertions(+), 21 deletions(-) create mode 100644 src/main/java/xyz/alexcrea/cuanvil/gui/util/GuiSharedConstant.java diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/AbstractEnchantConfigGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/AbstractEnchantConfigGui.java index 4998f8e..4398af5 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/AbstractEnchantConfigGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/AbstractEnchantConfigGui.java @@ -14,6 +14,7 @@ import xyz.alexcrea.cuanvil.gui.MainConfigGui; import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui; import xyz.alexcrea.cuanvil.gui.config.settings.AbstractSettingGui; import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems; +import xyz.alexcrea.cuanvil.gui.util.GuiSharedConstant; import java.util.ArrayList; import java.util.Arrays; @@ -26,14 +27,6 @@ import java.util.List; */ public abstract class AbstractEnchantConfigGui extends ValueUpdatableGui { - public static final List SORTED_ENCHANTMENT_LIST; - static { - SORTED_ENCHANTMENT_LIST = Arrays.asList(Enchantment.values()); - SORTED_ENCHANTMENT_LIST.sort(Comparator.comparing(ench -> ench.getKey().getKey())); - } - - private final static Material SECONDARY_BACKGROUND_MATERIAL = Material.BLACK_STAINED_GLASS_PANE; - private final Gui backGui; /** @@ -76,7 +69,7 @@ public abstract class AbstractEnchantConfigGui(); - for (Enchantment enchant : SORTED_ENCHANTMENT_LIST) { + for (Enchantment enchant : GuiSharedConstant.SORTED_ENCHANTMENT_LIST) { T factory = getFactoryFromEnchant(enchant); bookItemFactoryList.add(factory); diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/AbstractSettingGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/AbstractSettingGui.java index 7639746..65fa446 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/AbstractSettingGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/AbstractSettingGui.java @@ -20,10 +20,6 @@ import java.util.List; */ public abstract class AbstractSettingGui extends ChestGui { - // Temporary values, until I get something better. - public static final boolean TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE = true; - public static final boolean TEMPORARY_DO_BACKUP_EVERY_SAVE = true; - protected final static List CLICK_LORE = Collections.singletonList("\u00A77Click Here to change the value"); private PatternPane pane; diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/BoolSettingsGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/BoolSettingsGui.java index d3c56be..ac074c7 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/BoolSettingsGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/BoolSettingsGui.java @@ -12,6 +12,7 @@ import org.jetbrains.annotations.NotNull; import xyz.alexcrea.cuanvil.config.ConfigHolder; import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui; import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems; +import xyz.alexcrea.cuanvil.gui.util.GuiSharedConstant; import xyz.alexcrea.cuanvil.util.MetricsUtil; import java.util.Collections; @@ -125,8 +126,8 @@ public class BoolSettingsGui extends AbstractSettingGui{ holder.config.getConfig().set(holder.configPath, now); MetricsUtil.INSTANCE.notifyChange(this.holder.config, this.holder.configPath); - if(TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE){ - return holder.config.saveToDisk(TEMPORARY_DO_BACKUP_EVERY_SAVE); + if(GuiSharedConstant.TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE){ + return holder.config.saveToDisk(GuiSharedConstant.TEMPORARY_DO_BACKUP_EVERY_SAVE); } return true; } diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/EnchantCostSettingsGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/EnchantCostSettingsGui.java index 200323d..10a3bed 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/EnchantCostSettingsGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/EnchantCostSettingsGui.java @@ -14,6 +14,7 @@ import xyz.alexcrea.cuanvil.config.ConfigHolder; import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui; import xyz.alexcrea.cuanvil.gui.util.GuiGlobalActions; import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems; +import xyz.alexcrea.cuanvil.gui.util.GuiSharedConstant; import xyz.alexcrea.cuanvil.util.MetricsUtil; import java.util.Arrays; @@ -207,8 +208,8 @@ public class EnchantCostSettingsGui extends IntSettingsGui { holder.config.getConfig().set(holder.configPath+BOOK_PATH, nowBook); MetricsUtil.INSTANCE.notifyChange(this.holder.config, this.holder.configPath); - if(TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE){ - return holder.config.saveToDisk(TEMPORARY_DO_BACKUP_EVERY_SAVE); + if(GuiSharedConstant.TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE){ + return holder.config.saveToDisk(GuiSharedConstant.TEMPORARY_DO_BACKUP_EVERY_SAVE); } return true; } diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/EnchantSelectSettingGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/EnchantSelectSettingGui.java index 55a129d..e749c3f 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/EnchantSelectSettingGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/EnchantSelectSettingGui.java @@ -17,6 +17,8 @@ import xyz.alexcrea.cuanvil.group.AbstractMaterialGroup; import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui; import xyz.alexcrea.cuanvil.gui.config.AbstractEnchantConfigGui; import xyz.alexcrea.cuanvil.gui.config.SelectEnchantmentContainer; +import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems; +import xyz.alexcrea.cuanvil.gui.util.GuiSharedConstant; import xyz.alexcrea.cuanvil.util.CasedStringUtil; import java.util.Collections; @@ -40,6 +42,9 @@ public class EnchantSelectSettingGui extends AbstractSettingGui{ this.selectedEnchant = new HashSet<>(enchantContainer.getSelectedEnchantments()); + // Add secondary background item + this.getPane().bindItem('1', GuiSharedConstant.SECONDARY_BACKGROUND_ITEM); + initGroups(); } @@ -63,7 +68,7 @@ public class EnchantSelectSettingGui extends AbstractSettingGui{ filledEnchant.setOrientation(Orientable.Orientation.HORIZONTAL); Set illegalEnchant = this.enchantContainer.illegalEnchantments(); - for (Enchantment enchant : AbstractEnchantConfigGui.SORTED_ENCHANTMENT_LIST) { + for (Enchantment enchant : GuiSharedConstant.SORTED_ENCHANTMENT_LIST) { if(illegalEnchant.contains(enchant)) { return; } diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/GroupSelectSettingGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/GroupSelectSettingGui.java index 6a2c7be..b05a1f4 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/GroupSelectSettingGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/GroupSelectSettingGui.java @@ -17,6 +17,7 @@ import xyz.alexcrea.cuanvil.config.ConfigHolder; import xyz.alexcrea.cuanvil.group.AbstractMaterialGroup; import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui; import xyz.alexcrea.cuanvil.gui.config.SelectGroupContainer; +import xyz.alexcrea.cuanvil.gui.util.GuiSharedConstant; import xyz.alexcrea.cuanvil.util.CasedStringUtil; import java.util.*; @@ -37,6 +38,9 @@ public class GroupSelectSettingGui extends AbstractSettingGui{ this.selectedGroups = new HashSet<>(groupContainer.getSelectedGroups()); + // Add secondary background item + this.getPane().bindItem('1', GuiSharedConstant.SECONDARY_BACKGROUND_ITEM); + initGroups(); } diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/IntSettingsGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/IntSettingsGui.java index f8ef20a..7f6d32a 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/IntSettingsGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/IntSettingsGui.java @@ -13,6 +13,7 @@ import xyz.alexcrea.cuanvil.config.ConfigHolder; import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui; import xyz.alexcrea.cuanvil.gui.util.GuiGlobalActions; import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems; +import xyz.alexcrea.cuanvil.gui.util.GuiSharedConstant; import xyz.alexcrea.cuanvil.util.MetricsUtil; import java.util.Collections; @@ -247,8 +248,8 @@ public class IntSettingsGui extends AbstractSettingGui{ holder.config.getConfig().set(holder.configPath, now); MetricsUtil.INSTANCE.notifyChange(this.holder.config, this.holder.configPath); - if(TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE){ - return holder.config.saveToDisk(TEMPORARY_DO_BACKUP_EVERY_SAVE); + if(GuiSharedConstant.TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE){ + return holder.config.saveToDisk(GuiSharedConstant.TEMPORARY_DO_BACKUP_EVERY_SAVE); } return true; } diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/util/GuiSharedConstant.java b/src/main/java/xyz/alexcrea/cuanvil/gui/util/GuiSharedConstant.java new file mode 100644 index 0000000..532b02d --- /dev/null +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/util/GuiSharedConstant.java @@ -0,0 +1,27 @@ +package xyz.alexcrea.cuanvil.gui.util; + +import com.github.stefvanschie.inventoryframework.gui.GuiItem; +import org.bukkit.Material; +import org.bukkit.enchantments.Enchantment; +import org.bukkit.inventory.ItemStack; + +import java.util.Arrays; +import java.util.Comparator; +import java.util.List; + +public class GuiSharedConstant { + + public static final List SORTED_ENCHANTMENT_LIST; + static { + SORTED_ENCHANTMENT_LIST = Arrays.asList(Enchantment.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 GuiItem SECONDARY_BACKGROUND_ITEM = GuiGlobalItems.backgroundItem(GuiSharedConstant.SECONDARY_BACKGROUND_MATERIAL); + + + // Temporary values, until I get something better. + public static final boolean TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE = true; + public static final boolean TEMPORARY_DO_BACKUP_EVERY_SAVE = true; +}