Skip to content

Xyness/XSpawners

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

XSpawners

Stackable, managed spawner addon for XCore. A fully configurable replacement for the vanilla spawner block: owners, stacks, protection, per-type display names, configurable drops, holograms, web dashboard, cross-server sync.

Features

Managed spawners

  • Every placed spawner is tracked in the xspawners table with owner UUID / name, type, count, location and placement date.
  • Ownership is enforced at break and egg-change — bypass with the xspawners.bypass permission.
  • Natural spawners can require Silk Touch to be broken (toggleable).

Stacking

  • Placing a spawner of the same type on top of an existing one adds to the stack (up to a configurable limit, default 1000).
  • Optional merge-radius: placing within N blocks of an existing stack of the same owner/type merges into that stack (useful for dense farms).
  • Stack count is shown above the block via FancyHolograms (optional).
  • Spawn rate can optionally be multiplied by the stack count, with a configurable nearby-entity cap to avoid lag.

Drops

  • Broken spawners drop a custom item with persistent type + count data stored in its PDC — the item can be stacked with the same-type/count via standard Minecraft stacking rules.
  • Display name and lore lines come from config.yml and use MiniMessage.
  • Admins can give any spawner via /spawners give <player> <type> <count> [stack]count is the number of inventory items handed to the player, optional stack (default 1) is the stacked-spawner value carried by each item.

Upgrades (Vault economy)

  • Owners level up a managed spawner with /spawners upgrade <rate|radius|cap> while looking at the block.
    • rate — shaves spawn delay (default 15% per level, up to 5 levels).
    • radius — widens the spawn range (blocks per level).
    • cap — raises the nearby-entity cap before the spawner pauses.
  • Cost scales linearly: cost-per-level × (current-level + 1), paid via Vault.
  • Disabled by default — set upgrades.enabled: true in config.yml.

Ownership transfer

  • /spawners transfer <player> while looking at your managed spawner hands ownership to another player (the new owner receives a message).

Placement limits

  • limits.max-per-player — cap the managed spawners a single player can own (network-wide). 0 = unlimited.
  • limits.max-per-chunk — cap the managed spawners inside one chunk. 0 = unlimited.
  • Both checks are skipped for xspawners.bypass.

WorldGuard integration

  • Registers a custom region flag xspawners-allow (default ALLOW).
  • Set the flag to DENY on a region to block spawner placement there.
  • Reflection-based — if WorldGuard is missing, the check fails open and the rest of the addon keeps working.

GUI

  • /spawners — admin view of every managed spawner (paginated 45/page, blinking tp / remove buttons, navigation on slots 48/49/50).
  • /spawners <owner> — filter by owner name.
  • Left-click teleports to the spawner block, shift+right-click removes it from the database.

Holograms

  • Reflection-based FancyHolograms hook — if FancyHolograms is missing, holograms silently no-op and the rest of the addon keeps working.
  • Lines configurable via hologram.lines (placeholders: %type%, %count%, %owner%).

Cross-server sync

  • UPDATE / DELETE messages broadcast on XCore's sync channel so multiple servers sharing a database stay in sync.

Web dashboard

  • GET /api/xspawners/list — full list (owner, type, count, location).
  • GET /api/xspawners/stats — total count, stack count, per-type breakdown.
  • Bearer-token auth (XCore's web panel token).

Folia compatibility

  • All scheduling via XCore's SchedulerAdapter.
  • Block mutations happen on the region thread owning the block.
  • Async teleports via teleportAsync.

Commands

Command Description Permission
/spawners Open the admin GUI. none (see xspawners.admin for filtered access)
/spawners <owner> Filter by owner name. none
/spawners notif Toggle your place/break alerts. none
/spawners upgrade <rate|radius|cap> Upgrade the spawner you're looking at (Vault-priced). none (owner / xspawners.bypass)
/spawners transfer <player> Transfer ownership of the spawner you're looking at. none (owner / xspawners.bypass)
/spawners reload Reload config and lang. xspawners.admin
/spawners give <player> <type> <count> [stack] Give count spawner items, each carrying a stacked-spawner value of stack (default 1). xspawners.admin

Permissions

Permission Description
xspawners.admin Required for /spawners reload and /spawners give.
xspawners.bypass Place/break spawners you don't own, skip silk-touch.
xspawners.alerts Receive broadcast alerts for place/break events.
xspawners.update Receive update notifications on join (default: op).

Configuration

See the fully commented config.yml for stacking, protection, notification, hologram and item display configuration.

All visible strings live in lang.yml in MiniMessage format.

Dependencies

  • XCore 1.0.4+ (required)
  • FancyHolograms 2.8.0+ (optional — hologram-free mode is supported)
  • Vault (optional — required only for the upgrade economy)
  • WorldGuard (optional — for the xspawners-allow region flag)
  • PlaceholderAPI (optional)

Compatibility

  • Minecraft 1.21.1+
  • Paper / Folia
  • Java 21+

About

Advanced spawners addon for XCore.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors