Skip to content

config.yml

config.yml is settings only — nothing a player reads. Every line a player sees lives in messages.yml instead.

config.yml carries a config-version: '1', the same version messages.yml and database.yml carry. These three files are brought forward automatically when the plugin updates: a key a newer jar adds arrives in your copy with its comment, and anything you changed is kept. spawners.yml, boosters.yml and menus/*.yml are not on this list — they are curated content, and are never merged (see spawners.yml).

whitelist:
# BREAK, STACK, CHANGE, UPGRADE, OPEN, COLLECT, SELL
default-actions: [ OPEN, COLLECT ]
limit:
default: 10
permissions:
vip: 25

default-actions is what a newly whitelisted player is granted. limit caps how many names one spawner’s whitelist can hold; each permissions key becomes atlasspawner.limit.whitelist.<key>.

teams:
enabled: true
return-on-leave: true
roles:
OWNER: [ BREAK, STACK, CHANGE, UPGRADE, OPEN, COLLECT, SELL ]
MEMBER: [ OPEN, COLLECT ]
COOP: [ OPEN ]
VISITOR: []

enabled switches off whether the island or town a spawner stands on has any say over who may touch it. return-on-leave gives a player’s spawners back when they leave a team (see Whitelist and ownership). roles says what each role may do; OWNER, COOP and VISITOR are worked out from the land itself, and a named custom role (Co-Owner, Mod, …) overrides MEMBER. These rights only ever add to a spawner’s own whitelist.

sell:
source: SHOP
deposit: PLAYER
default: 0
rounding: DOWN
multipliers:
permissions:
vip: 1.15
mvp: 1.30
booster: true
quickshop-refresh-seconds: 300
prices:
rotten_flesh: 2
bone: 3
diamond: 400
# … a full fallback table, keyed by drop id

See Selling & economy for how source, deposit, rounding and the multipliers combine.

my-spawners:
click: TELEPORT_OR_OPEN # TELEPORT | OPEN | TELEPORT_OR_OPEN
open-cooldown-seconds: 3

Controls what clicking a row in /atlasspawner list does: teleport to the spawner, open it directly, or try to open it and teleport instead if it cannot be reached.

No keys — the returns menu’s words live in menus/returns.yml. See Whitelist and ownership for when a spawner ends up here.

log:
enabled: true
# Swept once a day. 0 keeps everything.
keep-days: 30
flush-seconds: 10
limit: 200

The log records player actions only (place, break, stack, upgrade, collect, sell, whitelist changes) — never per-cycle production. keep-days is read at start; a reload only picks up enabled, not keep-days or flush-seconds.

top:
length: 10

Row count for every /atlasspawner top leaderboard.

summary:
default-days: 7

The period a bare /atlasspawner summary covers.

integrations:
protection: AUTO
team: AUTO
items: AUTO
mobs: AUTO
models: AUTO
shop: AUTO
shopguiplus-spawners: true
vanish: AUTO

Each slot accepts AUTO (every installed plugin for that slot), a list of names (only those), or NONE (switch the slot off). See Integrations & compatibility for what each slot does and which plugins fill it.

engine:
tick-interval: 20
idle-recheck: 100
flush-interval: 200
mobs:
max-nearby: 12
radius: 8
spread: 3

tick-interval is how often, in ticks, a chunk’s spawners are looked at — this is the smallest step a delay can land on. idle-recheck is how long a spawner waits before searching for a player again after finding none. flush-interval is how often production is written into the block. mobs.* applies only to MOBS mode (see How spawners work): it gives that mode a nearby-mob ceiling, unlike DROPS mode which has none.

natural:
manage: false

Whether AtlasSpawner takes over spawners the world placed (dungeons, fortresses), so they follow the settings above. Off, they are left alone.

hologram:
display:
enabled: true
height: 1.2
view-distance: 24
countdown:
enabled: false
bar:
segments: 10
actionbar:
enabled: false
reach: 6
refresh-interval: 10
model:
enabled: true
height: 0.4

A label is a real TextDisplay entity, so it exists only while a player is within view-distance — entity count follows players, not spawners. countdown.enabled re-sends the label every second while it counts down; leave it off unless the server wants to pay for it. actionbar shows the same information on the action bar of whoever is looking at a spawner, with no entity at all. model stands another plugin’s model where the vanilla figure turns, for a type that names one with model in spawners.yml.

output:
targets: [ VIRTUAL, GROUND ]
virtual:
capacity: 1728
when-full: OVERFLOW
container:
faces: [ UP, DOWN ]
when-full: OVERFLOW
ground: {}

targets are tried in order for the whole cycle at once: VIRTUAL (the spawner’s own store, opened by right-clicking it), CONTAINER (a chest, barrel or hopper touching the faces listed), GROUND (dropped in the world, never full). A target that cannot take the whole cycle either passes the rest on (OVERFLOW, the default) or the cycle produces nothing at all (STOP). virtual.capacity is per drop id, read only while a type’s capacity upgrade axis is off — see Upgrades and tickets.

experience:
targets: [ VIRTUAL, GROUND ]
virtual:
capacity: 100000
when-full: OVERFLOW
ground: {}

Same rules as output, for experience instead of items. NEAREST_PLAYER is also a valid target here: it hands experience to the closest player in range and takes nothing when there is none.

stacking:
enabled: true
charge: false
stacked-item: true
break-one-at-a-time: true
limit:
default: 16
worlds:
farms: 64
permissions:
vip: 32
mvp: 64

charge bills price.stack per spawner added. stacked-item gives one item worth the whole stack when the block is broken, instead of many single-spawner items. break-one-at-a-time makes an ordinary break take one spawner off the stack; crouching still takes the whole stack. limit is world baseline, then raised by the largest atlasspawner.limit.stack.<key> a player holds, then capped by the type’s own stack-limit in spawners.yml if it sets one above zero.

ownership:
limit:
default: 100
permissions:
vip: 250
mvp: 500
chunk-limit: 0
rights:
natural: { break: true, stack: true, change: true, upgrade: true, open: true, collect: true, sell: true }
trusted: { break: true, stack: true, change: true, upgrade: true, open: true, collect: true, sell: true }
stranger: { break: false, stack: false, change: false, upgrade: false, open: false, collect: false, sell: false }

limit caps how many spawners a player may own; each permissions key becomes atlasspawner.limit.owned.<key>. chunk-limit caps spawners per chunk (0 = off). rights.natural governs a spawner nobody owns; rights.trusted is the mask written when /atlasspawner trust bulk-grants access; rights.stranger is what anyone else falls to. See Whitelist and ownership for the full resolution order.

upgrades:
enabled: true
range: true
delay: true
amount: true
capacity: true
xp: true

enabled closes buying and tickets entirely — the squares are not drawn, a ticket is refused, and what a spawner already holds keeps working. Each axis below it can be closed on its own, which removes just that square across every type. See Upgrades and tickets.

boosters:
enabled: true
amount: true
delay: true
experience: true
drops: true
sell: true

enabled is the master switch for the shop and for boosters already running. Each kind below it can be closed on its own. See Boosters, tickets and wands.

menus:
refresh-interval: 20

Ticks between redraws of an open menu; 0 turns live redraw off.

migrate:
on-chunk-load: false

Hands over any spawner another plugin still holds in a chunk as it loads. See Migrating from another plugin.

economy:
mine: VAULT
place: VAULT
upgrade: VAULT
stack: VAULT
change: VAULT
booster: VAULT
sell: VAULT
item:
material: DIAMOND

What each priced action is paid with: VAULT, EXPERIENCE (XP points), LEVELS (XP levels), ITEM (a material, set by item.material), or FREE. sell is also what a sale pays out in. Without Vault installed, any group set to VAULT becomes free with a one-time warning.

display:
lore-enabled: true

Whether a spawner item’s lore shows its upgrade levels. A type that sets its own display in spawners.yml overrides the name outright.

give:
require-permission: true
drop-if-full: true

require-permission gates /atlasspawner give behind atlasspawner.give. drop-if-full drops what does not fit at the player’s feet instead of stopping the handout at a full inventory.

set:
require-permission: true
require-individual-permission: true
blacklisted-worlds: []

require-individual-permission additionally asks for atlasspawner.set.<type> per type.

types:
require-permission: true

Gates /atlasspawner types behind atlasspawner.types.

anvil:
prevent-anvil: true

Blocks any anvil click that would move a spawner item into, inside, or out of an anvil — not only the renamed result. Identity lives in the item’s data now, not in its name, so this is belt-and-braces for older items.

eggs:
enabled: true
require-permission: true
require-individual-permission: false
blacklisted-worlds: []

enabled off turns egg-changing off everywhere; a single type can still refuse it with its own eggs block in spawners.yml.

explode:
drop: true
# Per cent, 0 to 100.
chance: 100
blacklisted-worlds: []

Spawners caught in an explosion. drop: false (or a blacklisted world) makes spawner blocks survive the blast untouched. Otherwise chance is rolled per spawner, not once for the whole blast.

wither:
drop: false
chance: 100
blacklisted-worlds: []

Spawners eaten by a wither. drop is false by default — a wither is easy to aim, so the block stands by default.

mining:
require-permission: true
require-individual-permission: false
tools: [ DIAMOND_PICKAXE, NETHERITE_PICKAXE ]
require-silktouch: true
require-silktouch-level: false
required-level: 1
chance: 100
use-perm-based-chances: false
perm-based-chances:
- 'atlasspawner.chance.vip:100'
- 'atlasspawner.chance.member:50'
drop-to-inventory: true
drop-exp: false
still-break: false
requirements:
wrong-tool: 'the right tool'
permission: 'permission'
individual-permission: 'permission for this type'
silktouch: 'silk touch'
silktouch-level: 'a higher silk touch level'
blacklisted-worlds: []
charge: false

tools and require-silktouch gate whether mining even drops the spawner. chance (or, with use-perm-based-chances, the first rule in perm-based-chances the player holds) is rolled after every other check passes; a lost roll breaks the block and gives nothing, without cancelling it. still-break decides what happens when a requirement fails: false (default) cancels the break entirely; true lets the block break and drop nothing.

placing:
log: true
blacklisted-worlds: []
charge: false

log writes a console line every time a player places a spawner.