Commands
Base alias: /items.
Subcommand | Permission | Description |
|---|---|---|
|
| Open the |
|
| Set the held item's scalable XP value. |
|
| Set the held item's durability damage. |
|
| Toggle the held item's unbreakable flag. |
|
| Enchant the held custom item (whitelist-capped). |
|
| Re-render the held item from its blueprint. |
|
| Upgrade the held item to the latest blueprint version. |
|
| Open the custom packet-level anvil. |
|
| Reload config, rarities, blueprints, messages, menus, and pipelines. |
/items (no arg)
Permission: items.command
Opens the menu registered under id items-rarities via AstralPaperAPI.menus(). Out of the box this is the rarity-list browser — the user-supplied menus under plugins/AstralItems/menus/ decide what it actually looks like.
If the menu fails to compute or open, the error is logged to the server console (failed to open rarities menu for player <name>) but no message is sent to the player.
Admin item commands
These operate on the item in the player's main hand and each require their own permission node on top of items.command. They are intended for staff and testing.
/items set-scalable-value <experience>
Permission: items.set-scalable-value. Sets the scalable data's stored experience on the held item. Fails if the item has no scalable data.
/items set-damage <damage>
Permission: items.set-damage. Sets the durability damage of the held item (must be Damageable). damage must be between 0 and the item's max durability.
/items toggle-unbreakable
Permission: items.toggle-unbreakable. Flips the vanilla Unbreakable flag on the held item (requires a Damageable item) and reports the new state. This is the vanilla flag — independent of the blueprint destroyable metadata.
/items enchant <enchantment> <level>
Permission: items.enchant. Enchants the held custom item — but only with an enchantment present in the blueprint's available-enchantments whitelist, and the level is capped at that whitelist's maximum.
/items update
Permission: items.update. Re-renders the held item from its current blueprint (refreshes lore / appearance) without changing its version.
/items upgrade
Permission: items.upgrade. Upgrades the held item to the latest blueprint version — the same hot-upgrade that runs automatically on login / inventory open.
/items anvil
Permission: items.command
Opens the custom anvil window for the sender. The window is a packet-level reimplementation of the vanilla anvil that fires AnvilResultEvent every time the result needs to be recomputed. See Anvil for the full behaviour.
The same window is opened automatically when the player right-clicks a vanilla anvil block with an empty hand (or with a held item while not sneaking) — AnvilListener cancels the underlying event and routes to AnvilService.open(player).
/items reload
Permission: items.command + items.reload
Reloads (via loadConfiguration()) in this order:
config.yml— plugin configuration (e.g.physics-ignored).duplication.yml— the duplication watchdog config.menus/*.yml— rebuilds the menu registry.messages.yml— re-reads the message file.rarities/— re-scans rarity definitions.blueprints/**— re-scans blueprints, rebuilds the lookup index, and re-wires every pipeline (PipelineService.initialize()unregisters previous dummy listeners and rebinds from the fresh blueprints).
The sender receives the reloading message immediately and either reload-success or reload-failed once the work is done. On failure a stack trace is written to the console.
Reload is non-destructive for items already in player inventories — the ItemInstance stored in the PDC keeps its UUID and version. If a blueprint disappears from disk on reload, the item's PDC still references it by Key; the UpgradeListener will silently skip it and the item will behave like a vanilla one until the blueprint comes back.
Permission summary
Node | Description |
|---|---|
| Base node; required for every subcommand. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|