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);
}
Aggregations