menus/index.ts
1.6 KB · sha256:865dfbd4ea0a8a7ebc4936d1c2a45f6d4844c9f138d9d3f2c15709302b6bccd6
import { GLASS, CLOSE } from "./shared";
import { openUsersMenu } from "./users";
import { openGroupsMenu } from "./groups";
import { openTracksMenu } from "./tracks";
export function openAdminMenu(player: Player): void {
const gui = rune.gui({
title: "<gradient:#9b87f5:#5b3df5>Ward Admin</gradient>",
rows: 3,
});
gui.fill(GLASS());
gui.slot(
11,
rune
.item(bukkit.Material.PLAYER_HEAD)
.skullOwner(player)
.name("<gradient:#ffd166:#f7b500>Users</gradient>")
.lore([
"<gray>View and edit any player's",
"<gray>groups, prefix, suffix and",
"<gray>permission nodes.",
"",
"<yellow>Click to browse",
])
.build(),
(e) => openUsersMenu(e.getWhoClicked() as Player, 0),
);
gui.slot(
13,
rune
.item(bukkit.Material.BOOK)
.name("<gradient:#9b87f5:#5b3df5>Groups</gradient>")
.lore([
"<gray>Create groups, edit weights,",
"<gray>set parents, prefix/suffix,",
"<gray>and group-wide permissions.",
"",
"<yellow>Click to browse",
])
.build(),
(e) => openGroupsMenu(e.getWhoClicked() as Player, 0),
);
gui.slot(
15,
rune
.item(bukkit.Material.COMPASS)
.name("<gradient:#06d6a0:#06b97e>Tracks</gradient>")
.lore([
"<gray>Promotion ladders made of",
"<gray>ordered groups. Used by",
"<gray>/ward user promote/demote.",
"",
"<yellow>Click to browse",
])
.build(),
(e) => openTracksMenu(e.getWhoClicked() as Player, 0),
);
gui.slot(22, CLOSE(), (e) => e.getWhoClicked().closeInventory());
gui.open(player);
}