From 887ffaf5372baedd7bd8f6b096cd3f6da76b7904 Mon Sep 17 00:00:00 2001 From: aroooo Date: Tue, 1 Nov 2022 21:27:22 +0100 Subject: [PATCH] feat: main graphical user interface --- .../artelnatif/nicko/gui/AdminPanelGUI.java | 30 +++++++++++++++++++ .../net/artelnatif/nicko/gui/MainGUI.java | 9 ++---- .../gui/items/main/AdminPanelAccessItem.java | 5 +++- .../gui/items/main/ChangeNameAndSkinItem.java | 2 +- .../nicko/gui/items/main/ChangeNameItem.java | 2 +- .../nicko/gui/items/main/ChangeSkinItem.java | 2 +- .../nicko/gui/items/main/ExitDoorItem.java | 2 +- 7 files changed, 40 insertions(+), 12 deletions(-) create mode 100644 nicko-core/src/main/java/net/artelnatif/nicko/gui/AdminPanelGUI.java diff --git a/nicko-core/src/main/java/net/artelnatif/nicko/gui/AdminPanelGUI.java b/nicko-core/src/main/java/net/artelnatif/nicko/gui/AdminPanelGUI.java new file mode 100644 index 0000000..4e0003e --- /dev/null +++ b/nicko-core/src/main/java/net/artelnatif/nicko/gui/AdminPanelGUI.java @@ -0,0 +1,30 @@ +package net.artelnatif.nicko.gui; + +import de.studiocode.invui.gui.GUI; +import de.studiocode.invui.gui.builder.GUIBuilder; +import de.studiocode.invui.gui.builder.guitype.GUIType; +import de.studiocode.invui.gui.structure.Structure; +import de.studiocode.invui.window.impl.single.SimpleWindow; +import org.bukkit.entity.Player; + +public class AdminPanelGUI { + private final Player player; + private final GUI gui; + private String[] structureIngredients = new String[]{"# # # # # # # # #", + "# % % % % % % % #", + "# % # # B # # % #", + "# % # N A S # % #", + "# % % % % % % % #", + "E # # # # # # # #"}; + + public AdminPanelGUI(Player player) { + this.gui = new GUIBuilder<>(GUIType.NORMAL) + .setStructure(new Structure(structureIngredients)) + .build(); + this.player = player; + } + + public void open() { + new SimpleWindow(player, "Nicko", gui).show(); + } +} diff --git a/nicko-core/src/main/java/net/artelnatif/nicko/gui/MainGUI.java b/nicko-core/src/main/java/net/artelnatif/nicko/gui/MainGUI.java index 4feb502..b0b4317 100644 --- a/nicko-core/src/main/java/net/artelnatif/nicko/gui/MainGUI.java +++ b/nicko-core/src/main/java/net/artelnatif/nicko/gui/MainGUI.java @@ -4,17 +4,14 @@ import de.studiocode.invui.gui.GUI; import de.studiocode.invui.gui.builder.GUIBuilder; import de.studiocode.invui.gui.builder.guitype.GUIType; import de.studiocode.invui.gui.structure.Structure; -import de.studiocode.invui.item.builder.ItemBuilder; -import de.studiocode.invui.item.impl.SimpleItem; import de.studiocode.invui.window.impl.single.SimpleWindow; -import net.artelnatif.nicko.gui.items.*; -import org.bukkit.Material; +import net.artelnatif.nicko.gui.items.main.*; import org.bukkit.entity.Player; public class MainGUI { private final Player player; private final GUI gui; - private String[] structureIngredients = new String[]{"# # # # # # # # #", + private final String[] structureIngredients = new String[]{"# # # # # # # # #", "# % % % % % % % #", "# % # # B # # % #", "# % # N A S # % #", @@ -28,8 +25,6 @@ public class MainGUI { this.gui = new GUIBuilder<>(GUIType.NORMAL) .setStructure(new Structure(structureIngredients)) - .addIngredient('#', new SimpleItem(new ItemBuilder(Material.BLACK_STAINED_GLASS_PANE))) - .addIngredient('%', new SimpleItem(new ItemBuilder(Material.ORANGE_STAINED_GLASS_PANE))) .addIngredient('E', new ExitDoorItem()) .addIngredient('N', new ChangeNameItem()) .addIngredient('S', new ChangeSkinItem()) diff --git a/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/AdminPanelAccessItem.java b/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/AdminPanelAccessItem.java index d756363..cbb3568 100644 --- a/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/AdminPanelAccessItem.java +++ b/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/AdminPanelAccessItem.java @@ -1,8 +1,9 @@ -package net.artelnatif.nicko.gui.items; +package net.artelnatif.nicko.gui.items.main; import de.studiocode.invui.item.ItemProvider; import de.studiocode.invui.item.builder.ItemBuilder; import de.studiocode.invui.item.impl.BaseItem; +import net.artelnatif.nicko.gui.AdminPanelGUI; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; @@ -21,6 +22,8 @@ public class AdminPanelAccessItem extends BaseItem { @Override public void handleClick(@NotNull ClickType clickType, @NotNull Player player, @NotNull InventoryClickEvent event) { if (clickType.isLeftClick() || clickType.isRightClick()) { + event.getView().close(); + new AdminPanelGUI(player).open(); } } } diff --git a/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ChangeNameAndSkinItem.java b/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ChangeNameAndSkinItem.java index 453fa15..d2e6563 100644 --- a/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ChangeNameAndSkinItem.java +++ b/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ChangeNameAndSkinItem.java @@ -1,4 +1,4 @@ -package net.artelnatif.nicko.gui.items; +package net.artelnatif.nicko.gui.items.main; import de.studiocode.invui.item.ItemProvider; import de.studiocode.invui.item.builder.ItemBuilder; diff --git a/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ChangeNameItem.java b/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ChangeNameItem.java index 56cc5ec..32cd957 100644 --- a/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ChangeNameItem.java +++ b/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ChangeNameItem.java @@ -1,4 +1,4 @@ -package net.artelnatif.nicko.gui.items; +package net.artelnatif.nicko.gui.items.main; import de.studiocode.invui.item.ItemProvider; import de.studiocode.invui.item.builder.ItemBuilder; diff --git a/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ChangeSkinItem.java b/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ChangeSkinItem.java index 78febbc..b517c4e 100644 --- a/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ChangeSkinItem.java +++ b/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ChangeSkinItem.java @@ -1,4 +1,4 @@ -package net.artelnatif.nicko.gui.items; +package net.artelnatif.nicko.gui.items.main; import de.studiocode.invui.item.ItemProvider; import de.studiocode.invui.item.builder.ItemBuilder; diff --git a/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ExitDoorItem.java b/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ExitDoorItem.java index c1cedfc..998c203 100644 --- a/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ExitDoorItem.java +++ b/nicko-core/src/main/java/net/artelnatif/nicko/gui/items/main/ExitDoorItem.java @@ -1,4 +1,4 @@ -package net.artelnatif.nicko.gui.items; +package net.artelnatif.nicko.gui.items.main; import de.studiocode.invui.item.ItemProvider; import de.studiocode.invui.item.builder.ItemBuilder;