diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/global/UnitRepairConfigGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/global/UnitRepairConfigGui.java index 5e2b2c8..d872def 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/global/UnitRepairConfigGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/global/UnitRepairConfigGui.java @@ -1,17 +1,20 @@ package xyz.alexcrea.cuanvil.gui.config.global; import com.github.stefvanschie.inventoryframework.gui.GuiItem; -import jdk.nashorn.internal.runtime.regexp.joni.Config; +import io.delilaheve.CustomAnvil; import org.bukkit.Material; +import org.bukkit.configuration.ConfigurationSection; import org.bukkit.inventory.ItemStack; -import org.jetbrains.annotations.NotNull; +import org.bukkit.inventory.meta.ItemMeta; import xyz.alexcrea.cuanvil.config.ConfigHolder; +import xyz.alexcrea.cuanvil.gui.config.ask.SelectItemTypeGui; import xyz.alexcrea.cuanvil.gui.config.list.MappedGuiListConfigGui; import xyz.alexcrea.cuanvil.gui.config.list.UnitRepairElementListGui; +import xyz.alexcrea.cuanvil.util.CasedStringUtil; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; -import java.util.Locale; public class UnitRepairConfigGui extends MappedGuiListConfigGui { @@ -27,22 +30,34 @@ public class UnitRepairConfigGui extends MappedGuiListConfigGui { + clickEvent.setCancelled(true); + + new SelectItemTypeGui( + "Select unit repair item.", + "\u00A77Click here with an item to set the item\n" + + "\u00A77You like to be an unit repair item", + this, + (itemStack, player) -> { + Material type = itemStack.getType(); + // Add new material + updateValueForGeneric(type, true); + + // Display material edit setting + this.elementGuiMap.get(type).getMappedGui().show(player); + }, + true + ).show(clickEvent.getWhoClicked()); + }, CustomAnvil.instance); + } + + @Override // Not used in this implementation. + protected String genericDisplayedName() { + return "this function Should not be used."; + } + @Override // Not used in this implementation. + protected Material createAndSaveNewEmptyGeneric(String name) { + return null; + } } diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/ElementListConfigGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/ElementListConfigGui.java index 2fa3a29..cb2ccf5 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/ElementListConfigGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/ElementListConfigGui.java @@ -27,18 +27,12 @@ public abstract class ElementListConfigGui< T > extends ValueUpdatableGui { private final String namePrefix; + protected PatternPane backgroundPane; + public ElementListConfigGui(@NotNull String title) { super(6, title, CustomAnvil.instance); this.namePrefix = title; - } - - protected OutlinePane firstPage; - protected ArrayList pages; - protected HashMap pageMap; - protected PatternPane backgroundPane; - - public void init() { // Back item panel Pattern pattern = new Pattern( GuiSharedConstant.EMPTY_GUI_FULL_LINE, @@ -49,9 +43,16 @@ public abstract class ElementListConfigGui< T > extends ValueUpdatableGui { "B11L1R11C" ); this.backgroundPane = new PatternPane(0, 0, 9, 6, Pane.Priority.LOW, pattern); - GuiGlobalItems.addBackItem(this.backgroundPane, MainConfigGui.INSTANCE); + } + + + protected OutlinePane firstPage; + protected ArrayList pages; + protected HashMap pageMap; + + public void init() { // Why I'm using an init function ? GuiGlobalItems.addBackgroundItem(this.backgroundPane); this.backgroundPane.bindItem('1', GuiSharedConstant.SECONDARY_BACKGROUND_ITEM); addPane(this.backgroundPane); diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/UnitRepairElementListGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/UnitRepairElementListGui.java index 8903c41..2a417c2 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/UnitRepairElementListGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/UnitRepairElementListGui.java @@ -9,14 +9,14 @@ import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; import xyz.alexcrea.cuanvil.config.ConfigHolder; -import xyz.alexcrea.cuanvil.gui.config.global.EnchantCostConfigGui; +import xyz.alexcrea.cuanvil.gui.config.MainConfigGui; import xyz.alexcrea.cuanvil.gui.config.settings.DoubleSettingGui; +import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems; import xyz.alexcrea.cuanvil.util.CasedStringUtil; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.Set; import java.util.function.Consumer; public class UnitRepairElementListGui extends SettingGuiListConfigGui implements ElementMappedToListGui { @@ -28,12 +28,15 @@ public class UnitRepairElementListGui extends SettingGuiListConfigGui