diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/CustomRecipeSubSettingGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/CustomRecipeSubSettingGui.java index ff1249b..1a9a022 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/CustomRecipeSubSettingGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/CustomRecipeSubSettingGui.java @@ -87,15 +87,21 @@ public class CustomRecipeSubSettingGui extends MappedToListSubSettingGui { this.leftItemFactory = ItemSettingGui.itemFactory("\u00A7eRecipe Left \u00A78Item", this, this.anvilRecipe + "." + AnvilCustomRecipe.LEFT_ITEM_CONFIG, ConfigHolder.CUSTOM_RECIPE_HOLDER, - AnvilCustomRecipe.Companion.getDEFAULT_LEFT_ITEM_CONFIG()); + AnvilCustomRecipe.Companion.getDEFAULT_LEFT_ITEM_CONFIG(), + "\u00A77Set the left item of the custom craft", + "\u00A77\u25A0 + \u25A1 = \u25A1"); this.rightItemFactory = ItemSettingGui.itemFactory("\u00A7eRecipe Right \u00A78Item", this, this.anvilRecipe + "." + AnvilCustomRecipe.RIGHT_ITEM_CONFIG, ConfigHolder.CUSTOM_RECIPE_HOLDER, - AnvilCustomRecipe.Companion.getDEFAULT_RIGHT_ITEM_CONFIG()); + AnvilCustomRecipe.Companion.getDEFAULT_RIGHT_ITEM_CONFIG(), + "\u00A77Set the right item of the custom craft", + "\u00A77\u25A1 + \u25A0 = \u25A1"); this.resultItemFactory = ItemSettingGui.itemFactory("\u00A7aRecipe Result \u00A78Item", this, this.anvilRecipe + "." + AnvilCustomRecipe.RESULT_ITEM_CONFIG, ConfigHolder.CUSTOM_RECIPE_HOLDER, - AnvilCustomRecipe.Companion.getDEFAULT_RESULT_ITEM_CONFIG()); + AnvilCustomRecipe.Companion.getDEFAULT_RESULT_ITEM_CONFIG(), + "\u00A77Set the result item of the custom craft", + "\u00A77\u25A1 + \u25A1 = \u25A0"); } private ConfirmActionGui createDeleteGui() { diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/ItemSettingGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/ItemSettingGui.java index d88452a..47514e1 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/ItemSettingGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/ItemSettingGui.java @@ -16,6 +16,7 @@ import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems; import xyz.alexcrea.cuanvil.gui.util.GuiSharedConstant; import xyz.alexcrea.cuanvil.util.MetricsUtil; +import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.function.Consumer; @@ -161,20 +162,22 @@ public class ItemSettingGui extends AbstractSettingGui { /** * Create aa item setting factory from setting's parameters. * - * @param title The title of the gui. - * @param parent Parent gui to go back when completed. - * @param configPath Configuration path of this setting. - * @param config Configuration holder of this setting. - * @param defaultVal Default value if not found on the config. + * @param title The title of the gui. + * @param parent Parent gui to go back when completed. + * @param configPath Configuration path of this setting. + * @param config Configuration holder of this setting. + * @param defaultVal Default value if not found on the config. + * @param displayLore Gui display item lore. * @return A factory for an item setting gui. */ public static ItemSettingGui.ItemSettingFactory itemFactory(@NotNull String title, ValueUpdatableGui parent, String configPath, ConfigHolder config, - ItemStack defaultVal) { + ItemStack defaultVal, + String... displayLore) { return new ItemSettingGui.ItemSettingFactory( title, parent, configPath, config, - defaultVal); + defaultVal, displayLore); } /** @@ -185,25 +188,29 @@ public class ItemSettingGui extends AbstractSettingGui { String title; ValueUpdatableGui parent; ItemStack defaultVal; + List displayLore; /** * Constructor for an item setting gui factory. * - * @param title The title of the gui. - * @param parent Parent gui to go back when completed. - * @param configPath Configuration path of this setting. - * @param config Configuration holder of this setting. - * @param defaultVal Default value if not found on the config. + * @param title The title of the gui. + * @param parent Parent gui to go back when completed. + * @param configPath Configuration path of this setting. + * @param config Configuration holder of this setting. + * @param defaultVal Default value if not found on the config. + * @param displayLore Gui display item lore. */ protected ItemSettingFactory( @NotNull String title, ValueUpdatableGui parent, String configPath, ConfigHolder config, - ItemStack defaultVal) { + ItemStack defaultVal, + String... displayLore) { super(configPath, config); this.title = title; this.parent = parent; this.defaultVal = defaultVal; + this.displayLore = Arrays.asList(displayLore); } /** @@ -221,6 +228,10 @@ public class ItemSettingGui extends AbstractSettingGui { return this.config.getConfig().getItemStack(this.configPath, this.defaultVal); } + public List getDisplayLore() { + return displayLore; + } + @Override public AbstractSettingGui create() { // Get current value or default diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/util/GuiGlobalItems.java b/src/main/java/xyz/alexcrea/cuanvil/gui/util/GuiGlobalItems.java index d72a988..f2e0563 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/util/GuiGlobalItems.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/util/GuiGlobalItems.java @@ -288,6 +288,7 @@ public class GuiGlobalItems { } ItemMeta meta = item.getItemMeta(); meta.setDisplayName("\u00A7a" + name); + meta.setLore(factory.getDisplayLore()); item.setItemMeta(meta);