feat: settings gui
This commit is contained in:
parent
8e024c2edf
commit
159d0209fb
5 changed files with 64 additions and 5 deletions
|
@ -14,10 +14,10 @@ public class MainGUI {
|
||||||
private final String[] structureIngredients = new String[]
|
private final String[] structureIngredients = new String[]
|
||||||
{"# # # # # # # # #",
|
{"# # # # # # # # #",
|
||||||
"# % % % % % % % #",
|
"# % % % % % % % #",
|
||||||
"# % # R B # # % #",
|
"# % # R B P # % #",
|
||||||
"# % # N A S # % #",
|
"# % # N A S # % #",
|
||||||
"# % % % % % % % #",
|
"# % % % % % % % #",
|
||||||
"E # # # # # # # #"};
|
"E # # # # # # # P"};
|
||||||
|
|
||||||
public MainGUI(Player player) {
|
public MainGUI(Player player) {
|
||||||
if (!player.hasPermission("nicko.admin") || !player.isOp()) {
|
if (!player.hasPermission("nicko.admin") || !player.isOp()) {
|
||||||
|
@ -29,7 +29,8 @@ public class MainGUI {
|
||||||
.addIngredient('E', new ExitDoorItem())
|
.addIngredient('E', new ExitDoorItem())
|
||||||
.addIngredient('N', new ChangeNameItem())
|
.addIngredient('N', new ChangeNameItem())
|
||||||
.addIngredient('S', new ChangeSkinItem())
|
.addIngredient('S', new ChangeSkinItem())
|
||||||
.addIngredient('A', new AdminPanelAccessItem())
|
.addIngredient('P', new SettingsItem())
|
||||||
|
.addIngredient('A', new AdminItem())
|
||||||
.addIngredient('B', new ChangeNameAndSkinItem())
|
.addIngredient('B', new ChangeNameAndSkinItem())
|
||||||
.addIngredient('R', new ResetItem())
|
.addIngredient('R', new ResetItem())
|
||||||
.build();
|
.build();
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
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 net.artelnatif.nicko.gui.items.common.BackItem;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class SettingsGUI {
|
||||||
|
private final Player player;
|
||||||
|
private final GUI gui;
|
||||||
|
|
||||||
|
public SettingsGUI(Player player) {
|
||||||
|
final Structure structure = new Structure("# # # # # # # # #",
|
||||||
|
"# % % M C R % % #",
|
||||||
|
"B # # # # # # # #");
|
||||||
|
structure.addIngredient('B', new BackItem(new MainGUI(player).getGUI()));
|
||||||
|
this.gui = new GUIBuilder<>(GUIType.NORMAL)
|
||||||
|
.setStructure(structure)
|
||||||
|
.build();
|
||||||
|
this.player = player;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void open() {
|
||||||
|
new SimpleWindow(player, "Nicko", gui).show();
|
||||||
|
}
|
||||||
|
}
|
|
@ -10,7 +10,7 @@ import org.bukkit.event.inventory.ClickType;
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public class AdminPanelAccessItem extends BaseItem {
|
public class AdminItem extends BaseItem {
|
||||||
@Override
|
@Override
|
||||||
public ItemProvider getItemProvider() {
|
public ItemProvider getItemProvider() {
|
||||||
final ItemBuilder builder = new ItemBuilder(Material.PISTON);
|
final ItemBuilder builder = new ItemBuilder(Material.PISTON);
|
||||||
|
|
|
@ -16,7 +16,7 @@ public class ResetItem extends BaseItem {
|
||||||
@Override
|
@Override
|
||||||
public ItemProvider getItemProvider() {
|
public ItemProvider getItemProvider() {
|
||||||
final ItemBuilder builder = new ItemBuilder(Material.TNT);
|
final ItemBuilder builder = new ItemBuilder(Material.TNT);
|
||||||
builder.setDisplayName("§6Reset");
|
builder.setDisplayName("§fReset");
|
||||||
builder.addLoreLines("§7Removes your disguise.");
|
builder.addLoreLines("§7Removes your disguise.");
|
||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
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.SettingsGUI;
|
||||||
|
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 SettingsItem extends BaseItem {
|
||||||
|
@Override
|
||||||
|
public ItemProvider getItemProvider() {
|
||||||
|
final ItemBuilder builder = new ItemBuilder(Material.COMPARATOR);
|
||||||
|
builder.setDisplayName("§fSettings...");
|
||||||
|
builder.addLoreLines("§7Adjust your preferences.");
|
||||||
|
return builder;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handleClick(@NotNull ClickType clickType, @NotNull Player player, @NotNull InventoryClickEvent event) {
|
||||||
|
if (clickType.isLeftClick() || clickType.isRightClick()) {
|
||||||
|
event.getView().close();
|
||||||
|
new SettingsGUI(player).open();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue