Astral Realms Documentation Help

Commands

Base alias: /items.

Subcommand

Permission

Description

/items

items.command

Open the items-rarities menu.

/items set-scalable-value <experience>

items.command + items.set-scalable-value

Set the held item's scalable XP value.

/items set-damage <damage>

items.command + items.set-damage

Set the held item's durability damage.

/items toggle-unbreakable

items.command + items.toggle-unbreakable

Toggle the held item's unbreakable flag.

/items enchant <enchantment> <level>

items.command + items.enchant

Enchant the held custom item (whitelist-capped).

/items update

items.command + items.update

Re-render the held item from its blueprint.

/items upgrade

items.command + items.upgrade

Upgrade the held item to the latest blueprint version.

/items set-skin <skin>

items.command + items.set-skin

Apply a skin to the held item.

/items remove-skin

items.command + items.remove-skin

Remove the held item's skin.

/items anvil

items.command + items.anvil

Open the custom packet-level anvil.

/items reload

items.command + items.reload

Reload config, rarities, skins, 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.

/items > [opens the rarities menu]

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 set-skin <skin>

Permission: items.set-skin. Player-only. Applies the named skin to the main-hand item. Tab completion (@itemSkins) offers only skins whose target set contains the blueprint key of the item currently held — it returns nothing when the held item is not a custom item. An unknown skin id fails argument parsing with Skin with id '<id>' not found.

The command replies (in red) with The item in your hand cannot have a skin set when the held item is not a custom item, This skin cannot be applied to this item when the skin's target does not list the item's blueprint, and Failed to set skin on the item when the PDC write fails; on success it replies in green with Skin set to <id> -. Unlike the inventory flow, a previously applied skin item is not returned to the player.

/items remove-skin

Permission: items.remove-skin. Player-only, no arguments. Removes the skin from the main-hand item — restoring the blueprint's item model and equippable asset and deleting the astralitems:skin item data.

Replies in red with The item in your hand cannot have a skin removed (not a custom item), The item in your hand does not have a skin, or Failed to remove skin from the item; in green with Skin removed from the item on success. The skin item is not given back — use the shift-right-click inventory flow for that.

/items anvil

Permission: items.command + items.anvil

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:

  1. config.yml — plugin configuration (e.g. physics-ignored).

  2. duplication.yml — the duplication watchdog config.

  3. menus/*.yml — rebuilds the menu registry.

  4. messages.yml — re-reads the message file.

  5. rarities/ — re-scans rarity definitions.

  6. skins/ — re-scans skin definitions, replacing the whole index.

  7. 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). This step is skipped on the plugin's very first load — there the initial blueprint scan is triggered by CraftEngineListener when CraftEngine fires its first CraftEngineReloadEvent.

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.

/items reload > Reloading... > Reloaded successfully!

Permission summary

Node

Description

items.command

Base node; required for every subcommand.

items.set-scalable-value

/items set-scalable-value.

items.set-damage

/items set-damage.

items.toggle-unbreakable

/items toggle-unbreakable.

items.enchant

/items enchant.

items.update

/items update.

items.upgrade

/items upgrade.

items.set-skin

/items set-skin.

items.remove-skin

/items remove-skin.

items.anvil

/items anvil.

items.reload

/items reload.

Last modified: 03 September 2026