From cd03732aaa3831aab1224b21d64eb896d42c08f9 Mon Sep 17 00:00:00 2001 From: aro Date: Fri, 20 Jan 2023 13:07:48 +0100 Subject: [PATCH] feat: unavailable option display --- .../net/artelnatif/nicko/gui/SettingsGUI.java | 7 +++--- .../gui/items/settings/OptionUnavailable.java | 24 +++++++++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 nicko-core/src/main/java/net/artelnatif/nicko/gui/items/settings/OptionUnavailable.java diff --git a/nicko-core/src/main/java/net/artelnatif/nicko/gui/SettingsGUI.java b/nicko-core/src/main/java/net/artelnatif/nicko/gui/SettingsGUI.java index 7a84632..67bff90 100644 --- a/nicko-core/src/main/java/net/artelnatif/nicko/gui/SettingsGUI.java +++ b/nicko-core/src/main/java/net/artelnatif/nicko/gui/SettingsGUI.java @@ -5,10 +5,10 @@ import de.studiocode.invui.gui.builder.GUIBuilder; import de.studiocode.invui.gui.builder.guitype.GUIType; import de.studiocode.invui.window.impl.single.SimpleWindow; import net.artelnatif.nicko.NickoBukkit; -import net.artelnatif.nicko.gui.MainGUI; import net.artelnatif.nicko.gui.items.common.GoBack; import net.artelnatif.nicko.gui.items.settings.BungeeCordCycling; import net.artelnatif.nicko.gui.items.settings.LanguageCycling; +import net.artelnatif.nicko.gui.items.settings.OptionUnavailable; import org.bukkit.entity.Player; public class SettingsGUI { @@ -18,12 +18,12 @@ public class SettingsGUI { public SettingsGUI(Player player) { final String[] dynamicStructure = new String[]{ "# # # # # # # # #", - "# % % L # T % % #", + "# % % L U T % % #", "B # # # # # # # #" }; if (!NickoBukkit.getInstance().getNickoConfig().isBungeecordSupport()) { - dynamicStructure[1] = dynamicStructure[1].replace("T", "#"); + dynamicStructure[1] = dynamicStructure[1].replace("T", "U"); } this.gui = new GUIBuilder<>(GUIType.NORMAL) @@ -31,6 +31,7 @@ public class SettingsGUI { .addIngredient('B', new GoBack(new MainGUI(player).getGUI())) .addIngredient('L', new LanguageCycling().get(player)) .addIngredient('T', new BungeeCordCycling().get(player)) + .addIngredient('U', new OptionUnavailable()) .build(); this.player = player; } diff --git a/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/settings/OptionUnavailable.java b/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/settings/OptionUnavailable.java new file mode 100644 index 0000000..78ec0ac --- /dev/null +++ b/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/settings/OptionUnavailable.java @@ -0,0 +1,24 @@ +package net.artelnatif.nicko.gui.items.settings; + +import de.studiocode.invui.item.ItemProvider; +import de.studiocode.invui.item.builder.ItemBuilder; +import de.studiocode.invui.item.impl.BaseItem; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.event.inventory.ClickType; +import org.bukkit.event.inventory.InventoryClickEvent; +import org.jetbrains.annotations.NotNull; + +public class OptionUnavailable extends BaseItem { + @Override + public ItemProvider getItemProvider() { + final ItemBuilder builder = new ItemBuilder(Material.RED_TERRACOTTA); + builder.setDisplayName("§cOption unavailable :("); + builder.addLoreLines("§7This option is disabled due to the", + "§7feature it controls being disabled."); + return builder; + } + + @Override + public void handleClick(@NotNull ClickType clickType, @NotNull Player player, @NotNull InventoryClickEvent inventoryClickEvent) { } +}