Upgrades and boosters
Buying levels of the speed, amount, storage and experience tracks, cost formulas, currencies and requirements, and timed booster items with global boosts.
Upgrades
The Upgrades screen of a spawner has one card per track: speed, amount, storage and experience. Each shows the current level and its highest, the value now, the value of the next level and its price, all live. A click buys the next level.
- The player who clicks pays, whoever owns the spawner. Anyone who may open the spawner may upgrade it.
- One purchase per spawner and track at a time: a second click while the first is still paying is told an
upgrade is already under way. A level is charged once; if the spawner changed meanwhile, or a plugin cancels
SpawnerUpgradeEvent, the price goes back. - Levels belong to the stack: every spawner in it, including the ones stacked later, works at those levels. Mining the last spawner loses them.
The value shown already counts the stack: the amount card says the mobs the whole stack makes per cycle, the storage card the items the whole stack holds.
Stacking onto an upgraded spawner
A spawner item carries no levels, so every spawner stacked onto an upgraded stack pays for the levels the stack
already has: per track, the price of each level above 1 for one spawner, in that level's currency. With the
default 2500 * (%level% - 1) ^ 2, a stack at amount level 3 costs 2,500 + 10,000 = 12,500 per spawner added,
so sneaking in an item of 3 costs 37,500. Stacking onto a spawner without levels stays free.
Before anything is charged, a confirm shows the price per spawner and the total for the spawners being added, with a Pay button for the total. A player who cannot afford it is told the price instead.
- Nothing is taken until the player confirms. If by then the stack, its levels or the item in hand changed, or the player is more than six blocks away, nothing is charged.
- One payment per spawner at a time. After paying, the same checks run again; if anything changed, the player
logged out, or a plugin cancelled
SpawnerStackEvent, the price goes back. - The hub's header shows the stacking cost per spawner while the stack has levels.
- With
features.upgradesoff, upgraded spawners cannot be stacked: nothing can price their levels.
Costs
Each tier writes, per track, what its levels cost under upgrades in tiers.yml:
tiers:
'2':
# ...
upgrades:
speed:
cost: 5000 * (%level% - 1) ^ 2
currency: ''
permission: ''
requirements:
stack: 16
levels:
'5':
cost: '64'
currency: diamonds| Key | What it does |
|---|---|
cost | A formula for the price of the level being bought. %level% is that level: 2 for the first upgrade. The default 2500 * (%level% - 1) ^ 2 charges 2,500, 10,000, 22,500 and 40,000. |
currency | An ExyliaLib economy currency id, or an item currency; blank is the server's default currency. |
permission | Needed to buy any level of this track; blank for none. Without it the card says "Locked for your rank". |
requirements | Minimums to buy: stack (spawners in the stack) and tier. |
levels | Single levels written on their own, each with its own cost, currency, permission and requirements. |
The highest level of a track is the number of values the tier lists for it. A formula the economy cannot read is
reported in the console when the plugin loads. A track with no upgrades entry costs the built-in
1000 * (%level% - 1) ^ 2.
Boosters
A booster is an item a player inserts into a spawner from its Boosters screen. It multiplies one thing for a time:
| Kind | Multiplies |
|---|---|
SPEED | Cycles: a 2× speed booster halves the delay. |
LOOT | Items each produced mob drops. |
XP | Experience each produced mob gives. |
MONEY | What selling the storage pays. |
One booster of each kind per spawner, so up to four at once. The screen has one card per kind with its live countdown. A click on an empty card inserts a booster of that kind from the main hand, else from anywhere in the inventory; a click on a running one takes it out and hands back an item with the time left. A booster's time only runs while it is inside, so it can be moved to another spawner without losing anything. When the whole stack leaves (mined, picked up), running boosters come back as items to whoever broke it.
boosters.yml
The boosters staff can hand out, by id:
boosters:
speed_2x_30m:
kind: SPEED
multiplier: 2.0
duration: 30m
loot_2x_30m:
kind: LOOT
multiplier: 2.0
duration: 30m
xp_2x_30m:
kind: XP
multiplier: 2.0
duration: 30m
money_1_5x_1h:
kind: MONEY
multiplier: 1.5
duration: 1h/spawnersadmin booster give <player> <id> [amount] hands up to 64 at once. Shops and crates give them by
running that command. The items look like lang/<language>/booster-item.yml says, one entry per kind, with the
placeholders %kind%, %kind_upper%, %multiplier% and %time% (the time left on the item). Boosters are
recognised by values stored on the item, not by their name.
Global and personal boosts
Spawners are a source in ExyliaLib's modifiers, listed as spawners with the money, drops and experience kinds.
A booster plugin, a rank perk or a server event that boosts that source multiplies, for the spawner's owner:
the drops of every cycle, its experience, and what its sales pay. They stack with the spawner's own boosters.
Something missing on this page? Tell us on Discord