Search in sources :

Example 1 with PermissionGUI

use of com.palmergames.bukkit.towny.object.gui.PermissionGUI in project Towny by TownyAdvanced.

the class PermissionGUIUtil method openPermissionGUI.

public static void openPermissionGUI(@NotNull Resident resident, @NotNull TownBlock townBlock) {
    boolean canEdit = true;
    try {
        PlotCommand.plotTestOwner(resident, townBlock);
    } catch (TownyException e) {
        canEdit = false;
    }
    Inventory page = ResidentUtil.getBlankPage(Translatable.of("permission_gui_header").forLocale(resident));
    ArrayList<Inventory> pages = new ArrayList<>();
    for (Entry<Resident, PermissionData> entry : townBlock.getPermissionOverrides().entrySet()) {
        ItemStack skull = new ItemStack(Material.PLAYER_HEAD);
        SkullMeta meta = (SkullMeta) skull.getItemMeta();
        if (!entry.getKey().hasUUID())
            meta.setOwningPlayer(BukkitTools.getOfflinePlayer(entry.getKey().getName()));
        else
            meta.setOwningPlayer(Bukkit.getOfflinePlayer(entry.getKey().getUUID()));
        meta.setDisplayName(Colors.Gold + entry.getKey().getName());
        List<String> lore = new ArrayList<>();
        lore.add(entry.getValue().getPermissionTypes()[ActionType.BUILD.getIndex()].getColor() + "Build" + Colors.Gray + "  | " + entry.getValue().getPermissionTypes()[ActionType.DESTROY.getIndex()].getColor() + "Destroy");
        lore.add(entry.getValue().getPermissionTypes()[ActionType.SWITCH.getIndex()].getColor() + "Switch" + Colors.Gray + " | " + entry.getValue().getPermissionTypes()[ActionType.ITEM_USE.getIndex()].getColor() + "Item");
        if (canEdit) {
            if (entry.getValue().getLastChangedAt() > 0 && !entry.getValue().getLastChangedBy().equals(""))
                lore.add(Translatable.of("msg_last_edited", TownyFormatter.lastOnlineFormat.format(entry.getValue().getLastChangedAt()), entry.getValue().getLastChangedBy()).forLocale(resident));
            lore.add(Translatable.of("msg_click_to_edit").forLocale(resident));
        }
        meta.setLore(lore);
        skull.setItemMeta(meta);
        if (page.firstEmpty() == 46) {
            pages.add(page);
            page = ResidentUtil.getBlankPage(Translatable.of("permission_gui_header").forLocale(resident));
        }
        page.addItem(skull);
    }
    if (canEdit) {
        ItemStack addButton = new ItemStack(Material.NAME_TAG);
        ItemMeta addButtonMeta = addButton.getItemMeta();
        addButtonMeta.setDisplayName(Colors.Gold + "Add Player");
        addButton.setItemMeta(addButtonMeta);
        page.setItem(46, addButton);
    }
    page.setItem(52, createTutorialBook());
    pages.add(page);
    resident.setGUIPages(pages);
    resident.setGUIPageNum(0);
    new PermissionGUI(resident, pages.get(0), Translatable.of("permission_gui_header").forLocale(resident), townBlock, canEdit);
}
Also used : ArrayList(java.util.ArrayList) SkullMeta(org.bukkit.inventory.meta.SkullMeta) PermissionGUI(com.palmergames.bukkit.towny.object.gui.PermissionGUI) TownyException(com.palmergames.bukkit.towny.exceptions.TownyException) Resident(com.palmergames.bukkit.towny.object.Resident) ItemStack(org.bukkit.inventory.ItemStack) Inventory(org.bukkit.inventory.Inventory) PermissionData(com.palmergames.bukkit.towny.object.PermissionData) ItemMeta(org.bukkit.inventory.meta.ItemMeta)

Aggregations

TownyException (com.palmergames.bukkit.towny.exceptions.TownyException)1 PermissionData (com.palmergames.bukkit.towny.object.PermissionData)1 Resident (com.palmergames.bukkit.towny.object.Resident)1 PermissionGUI (com.palmergames.bukkit.towny.object.gui.PermissionGUI)1 ArrayList (java.util.ArrayList)1 Inventory (org.bukkit.inventory.Inventory)1 ItemStack (org.bukkit.inventory.ItemStack)1 ItemMeta (org.bukkit.inventory.meta.ItemMeta)1 SkullMeta (org.bukkit.inventory.meta.SkullMeta)1