Overview
AstralEssentials is the AstralRealms network's catch-all utility, quality-of-life, and server/world management plugin. It is not built around one feature — it bundles player convenience commands (gamemode, speed, heal, feed, hat, sit, sudo...), inventory/item utilities (craft, anvil, trash, repair, smelt, condense...), and a large set of passive world- and server-management systems (mob/trading controls, entity and spawner limits, spawn protection, custom portals, disabled crafts, enchantment caps, beehive regeneration, ender dragon handling, command blocking) that keep a server group healthy and consistent without requiring a dedicated plugin for each concern.
Highlights
Area | Summary |
|---|---|
Player commands | Gamemode switching ( |
Inventory commands |
|
Item commands |
|
World management | Per-chunk and per-group entity/spawner limits, mob and trading disablement, spawn protection, disabled vanilla crafts, max enchantment levels, beehive regeneration, ender dragon drop/egg control. |
Custom portals | Config-driven Nether/End portals whose teleport target and access requirements are built from AstralCore action/requirement lists, replacing vanilla portal linking entirely. |
Trash bin |
|
Player time & weather |
|
Command cooldowns | Per-command cooldowns ( |
Command gating |
|
Requirements
Dependency | Required | Notes |
|---|---|---|
Paper 1.21+ | Yes |
|
AstralCore | Yes | Menus, actions, placeholders, configuration framework, cooldown service. |
AstralItems | Yes |
|
AstralSync | Yes | Persists and network-syncs per-player time/weather ( |
CraftEngine | Yes | Backs a legacy furniture-migration listener (marked for removal in source) that re-places leftover ItemsAdder placeholder entities as CraftEngine furniture whenever a chunk containing them loads. |
packetevents | Optional (softdepend) | When present, rewrites the outgoing |
Command suite at a glance
All permission nodes below are unprefixed (e.g. essentials.gamemode, not astralessentials.gamemode) except the command-blocking bypass, which is astralessentials.bypass.commandblock, and the cooldown bypass, which is the bare cooldown.bypass. See Commands for full syntax and behavior.
Player
Command | Aliases | Permission |
|---|---|---|
|
|
|
| — |
|
| — |
|
| — |
|
| — |
|
| — |
|
| — |
|
| — |
|
| — | (none) |
| — |
|
| — |
|
| — |
|
|
|
|
Inventory
Command | Aliases | Permission |
|---|---|---|
|
|
|
| — |
|
|
| (none) |
|
|
|
|
|
|
Item
Command | Aliases | Permission |
|---|---|---|
|
|
|
|
|
|
| — |
|
|
|
|
| — |
|
| — |
|
Admin
Command | Subcommand | Permission |
|---|---|---|
|
|
|
World & server management
Beyond commands, AstralEssentials runs a set of always-on listeners/tasks that shape how a server group behaves:
Mob & trading controls — disables specific mob types (
disabled-mob-types) globally or per server group (disabled-mob-spawning-groups), can suppress phantom spawning up to a permission threshold (disable-phantoms-until), and can disable villager/wandering-trader/piglin trading (disable-trading).Entity limits — per-chunk, per-server-group caps on entity counts (
entity-limits), enforced immediately on spawn, swept on chunk load and periodically by a repeating task, plus a dedicated armor-stand placement-time cap.Spawner limits — caps placeable spawners per chunk (
spawners-limits) and can disable spawner placement entirely on specific server groups (disabled-spawners-groups).Spawn protection — blocks block break/place and explosion damage within a configurable radius of world spawn, scoped to specific worlds per server group (
spawn-protection).Custom Nether/End portals — vanilla portal linking is cancelled; entering a portal instead runs an AstralCore action list (typically
[connect-world]) after the vanilla dwell delay, gated by an AstralCore requirement list with configurable deny-actions (portals.nether/portals.end).Disabled vanilla crafts — removes selected vanilla recipes by result material (
disabled-crafts) and cancels any craft that still resolves to one.Enchantment level caps — caps the enchantment level an anvil combine can produce, hooking AstralItems'
AnvilResultEvent(max-enchantment-levels).Beehive regeneration — periodically regenerates honey levels in beehives on a randomized interval, scoped to specific worlds per server group (
beehive-regeneration-times).Ender dragon control — grants configurable drops to the dragon's killer (
ender-dragon-drops) and can suppress dragon egg formation (disable-dragon-egg).Command gating —
blocked-commandsremoves commands (and their tab-completions) network-wide;groups-blocked-commandsblocks additional commands only on a specific server group;unregistered-commandsfully unregisters commands from the server'sCommandMapat startup and on/essentials reload. Players withastralessentials.bypass.commandblockskip the blocking checks.
See World & Server Management for the full configuration reference.
Trash bin
/trash opens a configurable-size bin GUI (trash-inventory) with an optional item blacklist. Closing the inventory with items still inside stashes those items server-side and opens a trash-confirmation menu: the [confirm-trash] action permanently discards the stashed items, while the [refund-trash] action gives them back to the player's inventory. If the confirmation menu itself fails to open, the stashed items are refunded automatically as a safety fallback.
Per-player time & weather
/playertime//ptime and /pweather set a player-local time/weather override. The state is stored in a PlayerTimeData record persisted and synced across the network by AstralSync under the adapter key astralessentials:player_time, so a player's personal time/weather follows them between servers.
Command cooldowns
cooldowns.yml defines a Duration per throttled command — feed, heal, condense/condense-all, furnace/furnace-all, repair/repair-all, strip/strip-all, concrete/concrete-all — where a zero/negative duration disables the cooldown for that command. Cooldown state is tracked per player through AstralCore's CooldownService under Key astralessentials:<command>. Players with the bare cooldown.bypass permission skip all cooldown checks.
Group-aware behavior
Many of the systems above read AstralPaperAPI.serverInformation().group() and only apply on the server groups listed in their config section — entity limits, disabled mob spawning groups, wither invulnerability skip, beehive regeneration, spawn protection, disabled spawner groups, and group-scoped blocked commands are all keyed by group rather than being globally uniform. This lets one shared configuration file drive different behavior on, for example, resource, build, and spawn server groups.
Where to go next
Installation — dependencies, load order, first-run setup.
Configuration — full
config.yml,cooldowns.yml, andcontainers.ymlreference.Commands — full syntax, arguments, and permissions for every command.
World & Server Management — every passive system in detail.
AstralRecipes — the standalone plugin custom recipe authoring moved to.
Developer API — services, actions, and events exposed to other plugins.