| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- package me.lethunderhawk.clans.gui;
- import me.lethunderhawk.bazaarflux.util.gui.InventoryGUI;
- import me.lethunderhawk.clans.Clan;
- import me.lethunderhawk.main.util.UnItalic;
- import net.kyori.adventure.text.Component;
- import net.kyori.adventure.text.format.NamedTextColor;
- import org.bukkit.Material;
- import org.bukkit.entity.Player;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import java.util.List;
- public class ClanGUI extends InventoryGUI {
- private final Clan clan;
- private final Player player;
- public ClanGUI(Clan clan, Player player) {
- super("Main Clan Menu", 36);
- this.clan = clan;
- this.player = player;
- buildMenu();
- }
- private void buildMenu() {
- fillBackground(Material.GRAY_STAINED_GLASS_PANE, " ");
- buildSettings();
- buildMemberList();
- buildClaimList();
- buildAdminList();
- }
- private void buildClaimList() {
- ItemStack claimList = buildClaimListItem();
- setItemWithClickAction(15, claimList, (p, click) -> {
- openNext(p, new ClaimSettingsGUI(player, clan));
- });
- }
- private ItemStack buildClaimListItem() {
- ItemStack claimListItem = new ItemStack(Material.GRASS_BLOCK);
- ItemMeta meta = claimListItem.getItemMeta();
- meta.displayName(Component.text("Claim List", NamedTextColor.GOLD));
- meta.lore(List.of(
- Component.text("Modify all claims", NamedTextColor.GRAY),
- Component.text("inside your clan", NamedTextColor.GRAY)
- ));
- claimListItem.setItemMeta(UnItalic.removeItalicFromMeta(meta));
- return claimListItem;
- }
- private void buildMemberList() {
- ItemStack memberList = buildMemberListIem();
- setItemWithClickAction(13, memberList, (p, click) -> {
- openNext(p, new MemberListGUI(player));
- });
- }
- private ItemStack buildMemberListIem() {
- ItemStack memberListItem = new ItemStack(Material.PLAYER_HEAD);
- ItemMeta meta = memberListItem.getItemMeta();
- meta.displayName(Component.text("Member List", NamedTextColor.GOLD));
- meta.lore(List.of(
- Component.text("Open a list of all", NamedTextColor.GRAY),
- Component.text("members in your clan", NamedTextColor.GRAY)
- ));
- memberListItem.setItemMeta(UnItalic.removeItalicFromMeta(meta));
- return memberListItem;
- }
- private void buildSettings() {
- ItemStack settings = buildSettingsItem();
- setItemWithClickAction(11, settings, (p, click) -> {
- openNext(p, new ClanSettingsGUI(player, clan.getSettings()));
- });
- }
- private ItemStack buildSettingsItem() {
- ItemStack settingsItem = new ItemStack(Material.REDSTONE_TORCH);
- ItemMeta meta = settingsItem.getItemMeta();
- meta.displayName(Component.text("Settings", NamedTextColor.GOLD));
- meta.lore(List.of(
- Component.text("Configure the settings", NamedTextColor.GRAY),
- Component.text("of your Clan", NamedTextColor.GRAY)
- ));
- settingsItem.setItemMeta(UnItalic.removeItalicFromMeta(meta));
- return settingsItem;
- }
- private void buildAdminList() {
- if(player.hasPermission("clan.admin")) {
- ItemStack admin = buildAdminItem();
- setItemWithClickAction(35, admin, (p, click) -> {
- openNext(p, new AdminMenuGUI(player));
- });
- }
- }
- private ItemStack buildAdminItem() {
- ItemStack admin = new ItemStack(Material.COMMAND_BLOCK);
- ItemMeta meta = admin.getItemMeta();
- meta.displayName(Component.text("Open the Admin panel", NamedTextColor.GOLD));
- meta.lore(List.of(
- Component.text("Get access to all clans and edit their properties")
- ));
- admin.setItemMeta(UnItalic.removeItalicFromMeta(meta));
- return admin;
- }
- @Override
- public void update() {
- }
- }
|