Skip to content

Cheatsheet

Menu author

One-page reference. Names, one-line descriptions, and a link to the full doc for each entry. Ctrl-F friendly.

NameWhat it doesDetail
command/menu or any other custom commanddocs
chatPlayer types an exact phrase in chatdocs
containsChatPlayer’s chat message contains a substringdocs
joinPlayer joins the serverdocs
regionJoinPlayer enters a WorldGuard regiondocs
regionLeavePlayer leaves a WorldGuard regiondocs
clickItemRight-click an item in handdocs
clickNPCRight-click a Citizens NPCdocs
clickEntityRight-click an entitydocs
shiftClickEntityShift + right-click an entitydocs
clickBlockClick a specific block locationdocs
clickBlockTypeClick any block of a given typedocs
buttonPress a button blockdocs
leverFlip a leverdocs
plateStep on a pressure platedocs
tableClick a sign with specific textdocs
swapItemsPress the swap-hand key (default F)docs

Rules — checked before opening / before showing an item / before running an action

Section titled “Rules — checked before opening / before showing an item / before running an action”
NameWhat it checksDetail
permissionPlayer has a permission nodedocs
worldPlayer is in a named worlddocs
gamemodePlayer’s gamemode matchesdocs
groupPlayer is in a LuckPerms groupdocs
moneyPlayer has at least N currency (Vault / configured provider)docs
levelPlayer has at least N levelsdocs
xpPlayer has at least N XP pointsdocs
healthPlayer has at least N HPdocs
foodLevelPlayer has at least N fooddocs
chanceRandom check at N percentdocs
onlineAt least N players onlinedocs
playerIsOnlineA specific named player is onlinedocs
inventoryItemsPlayer has the listed items in their inventorydocs
heldItemItem in main hand matchesdocs
freeSlotInventory has a free slot (or a specific slot is free)docs
freeSlotCountInventory has at least N free slotsdocs
existVarA global variable existsdocs
existVarpA per-player variable existsdocs
placedItemA drag-and-drop slot has the expected itemdocs
regionPlayer is inside a WorldGuard regiondocs
bungeeOnlineA BungeeCord server has at least N playersdocs
bungeeIsOnlineA BungeeCord server is onlinedocs
ifLogical comparison of placeholders / valuesdocs
jsRun a JavaScript expressiondocs
andAll wrapped rules passdocs
orAt least one wrapped rule passesdocs
oneofStops on first truedocs
playerScopeRe-evaluate rules against a different playerdocs

Actions — what runs on click / open / activator fire

Section titled “Actions — what runs on click / open / activator fire”
NameWhat it doesDetail
messageSend chat / actionbar / title / json to the playerdocs
broadcastSame shape as message, but to every online playerdocs
miniMessageSend a MiniMessage string (legacy - message already supports MiniMessage)docs
playerChatSend a chat message on behalf of the playerdocs
printPrint to console - debug helperdocs
commandRun commands as player and/or consoledocs
inputChatCapture chat input into a variabledocs
teleportTeleport the player to a locationdocs
bungeeConnectSend the player to a BungeeCord serverdocs
setGamemodeChange the player’s gamemodedocs
setHealthSet healthdocs
setFoodLevelSet food leveldocs
soundPlay a Bukkit sounddocs
customSoundPlay a resource-pack sounddocs
potionEffectApply a potion effectdocs
removePotionEffectRemove a potion effectdocs
openBookOpen a virtual written bookdocs
addRecipeAdd a knowledge-book recipedocs
itemAddAdd items to the player’s inventorydocs
itemRemoveRemove items by slot or by matchdocs
itemClearSame as itemRemove, ignoring stack countdocs
inventoryClearWipe the player’s inventorydocs
openMenuOpen another menudocs
openMenuCtxOpen another menu, forwarding activator contextdocs
closeMenuClose the current menudocs
refreshMenuRe-render the whole menudocs
refreshItemRe-render a single itemdocs
setPropertyAdd or overwrite item properties on the open menudocs
remPropertyRemove properties from an item in the open menudocs
setButtonAdd or replace a button in the open menudocs
removeButtonRemove a button from the open menudocs
placeItemDrag-and-drop helper to place an item in a draggable slotdocs
removePlacedRemove (or partially remove) a placed itemdocs
pageNext / pagePrevSwitch pages in a generated menudocs
delayRun wrapped actions after N ticksdocs
bulkRun several action groups under one blockdocs
randActionsPick one block at randomdocs
playerScopeRun actions for a different playerdocs
takeMoney / giveMoneyCurrency withdraw / deposit (economy provider)docs
givePermission / removePermissionGrant / revoke a permission node (permissions provider)docs
addGroup / removeGroupAdd / remove a group (permissions provider)docs
lpMetaSet / lpMetaRemoveLuckPerms metadata mutation (LuckPerms required)docs
giveXp / takeXpXP credit / debit (levels provider)docs
giveLevel / takeLevelLevel credit / debit (levels provider)docs
setSkin / resetSkinApply / reset a skin (skins provider)docs
setVar / removeVar / incVar / decVar / mulVar / divVarGlobal variable opsdocs
setVarp / removeVarp / incVarp / decVarp / mulVarp / divVarpPersonal variable opsdocs

If the action is money / level / permission / placeholder / skin related, you can append provider: "vault" (or any other registered id) to pin which backend handles it. See provider handlers.

GroupProperties
Material installermaterial, texture, skullOwner, hdb, mmoitem, itemsAdder, oraxen, equipItem, serialized
Displayname, lore, nameLight, loreLight, glow, flags, color, model
Mechanicscount, damage, data, unbreakable, enchantments, enchantStore, attributeModifier, potionData, fireworkData, bookData, bannerData, shieldData, recipes, nbt
Slotslot (number, X-Y, range, matrix)
CooldownclickCooldown (milliseconds)
Conditionalbindings (override properties when rules match)

Full reference with examples: item format.

nameLight / loreLight are the legacy variants of name / lore that ignore MiniMessage and only handle & color codes. Useful when a name happens to contain < characters that MiniMessage would try to parse.

NameWhat it producesDetail
iteratorSequence of integers from start to enddocs
playersOnline playersdocs
entitiesEntities of the viewer’s (or named) worlddocs
worldsLoaded worldsdocs
bungee_serversBungeeCord servers (requires bungeecord: true)docs
sliceSplit a string into elements by separatordocs
CommandPurposeDetail
/am open <menu> [player]Open a menudocs
/am reloadReload all menu filesdocs
/am serveWatch & auto-reload (dev)docs
/am versionPrint versiondocs
/am addons listList loaded addonsdocs
/am addons info <name>Addon metadatadocs
/am addons load <name>Load an addondocs
/am addons reload <name>Hot-reload an addondocs
/am addons rescanPick up new jars in addons/docs
/var subcommandsManage global variablesdocs
/varp subcommandsManage per-player variablesdocs

Single permission gates everything: am.admin.