Astral Realms Documentation Help

Commands

Base command: /scrolls. Every subcommand requires the class-level permission scrolls.command in addition to its own node — ACF applies @CommandPermission cumulatively, so a sender needs both nodes to run any subcommand.

/scrolls give

Syntax

Permission

Description

/scrolls give <player> <rarity> [amount]

scrolls.command + scrolls.command.give

Builds amount (default 1) new scrolls of rarity — each with its own independently-rolled blueprint and target — and adds them to player's inventory.

<rarity> resolves through RarityContextResolver (RarityBlueprint), which pops the first argument and looks it up via MainConfiguration#findById, throwing InvalidCommandArgument ("Rarity '<name>' not found.") if it doesn't match a configured rarity. Tab-completion for that argument is registered globally under @rarities (RarityCompletionHandler), listing every rarity id from config.yml.

Sends gave/receivedgave to the issuer, received to the target player — each built one scroll at a time (build is called amount times, so a failed roll for one rarity/blueprint pairing throws before any items are added — see Blueprints & Goals).

# /scrolls give Notch common 3

/scrolls rewards

Syntax

Permission

Description

/scrolls rewards <rarity>

scrolls.command + scrolls.command.rewards

Rolls and immediately runs one of rarity's reward groups against the issuer, without requiring or consuming a scroll item.

Player-only (the handler takes a Player issuer, not CommandSender). Draws a RewardGroup from the rarity's rewards map with the same weighted RandomCollection used by scroll redemption; if the rarity has no reward groups configured, sends a red "No rewards found for the specified rarity." message instead. The winning group's actions are run one tick later via Bukkit.getScheduler().runTask(...).

# /scrolls rewards legendary

/scrolls reload

Syntax

Permission

Description

/scrolls reload

scrolls.command + scrolls.command.reload

Reloads blueprints/, config.yml, and messages.yml.

Calls AstralScrolls#loadConfiguration() directly — the same method run on enable. Console and players can both run it. On success it sends a gray "Reloading…" message followed by a green confirmation; if loadConfiguration() throws, it sends a red error message and logs the exception instead. See Reloading for exactly what does and doesn't get re-applied.

Giving scrolls without the command

Scrolls are also available through AstralCore's item-supplier system: AstralScrolls registers itself under the scrolls namespace, so any AstralCore call site that accepts an item-supplier key also accepts scrolls:<rarity-id> — most commonly AstralCore's own /give <player> scrolls:<rarity-id> [amount] command, or a [give-item] scrolls:<rarity-id> action inside a menu or command config. Either resolves to a freshly-built scroll of that rarity, exactly like /scrolls give. See Developer API.

Permission summary

Node

Grants

scrolls.command

Base node for /scrolls; required by every subcommand.

scrolls.command.give

/scrolls give (in addition to scrolls.command).

scrolls.command.rewards

/scrolls rewards (in addition to scrolls.command).

scrolls.command.reload

/scrolls reload (in addition to scrolls.command).

Last modified: 25 July 2026