Boosts
A boost multiplies what a player earns for a set number of seconds.
The three categories
| Category | Multiplies | Config switch |
|---|---|---|
xp |
Job xp | boosts.affect-xp |
money |
The money a job pays | boosts.affect-money |
farmpoints |
Farmpoints from block drops, ranking points included | boosts.affect-farmpoints |
The three run side by side. A player can have one xp boost, one money boost and one farmpoints boost going at the same time, and each keeps its own multiplier and its own clock. Two boosts of the same category never both run: the weaker one waits, which is what keeps it to one per category.
Before money had a category of its own, an xp boost also multiplied money. It no longer does. Set boosts.xp-also-money: true to keep the old behaviour.
Where a boost comes from
A type: boost entry in shop.yml grants one on purchase, priced in farmpoints.
/corejobs boost <player|global> [type] <job|all> <multiplier> <seconds>.
What a boost multiplies
boosts:
affect-xp: true
affect-money: true
affect-farmpoints: true
xp-also-money: false
Each switch turns a whole category on or off. Turn affect-money off and money boosts stop doing anything, which keeps a double xp weekend from doubling the economy with it.
Personal and global
| Kind | Granted with | Applies to |
|---|---|---|
| Personal | /corejobs boost <player> ... or a shop purchase |
That player |
| Global | /corejobs boost global ... |
Everyone online |
Both can run at once, and a job-specific boost can run next to an all boost.
The boosts button in /jobs lists every boost on the viewing player right now, running ones first with the time left, then any that are waiting their turn. The time counts down while the menu is open, at the rate set by feedback.boost-menu-refresh-ticks.
Boosts as an item
boosts:
as-item: false
item:
material: EXPERIENCE_BOTTLE
custom-model-data: 0
itemsadder: ""
glow: true
item-money:
material: GOLD_INGOT
item-farmpoints:
material: NETHER_STAR
item-money and item-farmpoints override the shared look for those two categories. Anything you leave out falls back to item, so a material on its own is enough to tell the three apart in a hotbar.
Turn as-item on and a bought boost arrives as an item instead of starting. The player carries it, right clicks when they want it, the item is used up and the boost starts then. What the boost is lives on the item, so it survives chests, trades, and a restart.
A right click on a chest, a furnace, a door or anything else you open leaves the item alone and opens the block, so nobody spends a boost on a storage room. Crouch and right click to use one against a block like that.
A shop entry can decide for itself with as-item under its own boost block, which is how you sell one of each.
Hand them out with /corejobs boost item <player> [type] <job|all> <multiplier> <seconds> [amount], for a crate prize or a reimbursement.
Whatever does not fit drops at the player’s feet rather than vanishing.
Two boosts at once
boosts:
stacking: highest
same-boost: extend
queue-lower: true
stacking decides what a player earns while two boosts of the same category cover the same job. highest counts only the strongest, add sums the bonuses so 2x and 2x give 3x, multiply gives 4x. Categories never combine with each other: an xp boost and a money boost each do their own job.
same-boost: extend means buying a boost you already have running tops up its time instead of starting a second copy of it.
queue-lower decides what happens to the weaker one. On, it freezes with its full time saved while the stronger boost burns down, and starts the moment that one ends. Off, both count down together and the weaker time is spent for nothing. A boost only freezes for one of the same category that covers the same players and the same jobs, so a 3x miner xp boost never freezes a 2x farmer xp boost and never touches a money boost at all.
Across a restart
boosts:
pause-while-offline: true
A boost keeps the time it has left, not an end time, so a clean shutdown costs nothing and the boost picks up where it stopped on the next start. A crash costs up to 30 seconds, which is how often the times are written out.
Turn it off to have boosts keep counting down through downtime.
Running an event
Boosts are stored, so a global boost is still running with the same time left after the server comes back up.
Selling one in the shop
money-boost:
price: 750
type: boost
boost:
boost-type: money
job: all
multiplier: 2.0
duration: 1800
as-item: false
boost-type takes xp, money or farmpoints, and leaving it out means xp. job takes a job id or all. duration is in seconds. as-item decides whether this entry starts the boost or hands it over as an item; leave it out to follow boosts.as-item in config.yml.
Reading a boost on a scoreboard
Each category has its own placeholders, so a scoreboard can show what is running without knowing which boost the player bought.
%corejobs_boost_money_active% Yes or No
%corejobs_boost_money_amount% x2, x3, x4, whatever the boost was created with
%corejobs_boost_money_time% 1h 5m
Full list on the placeholders page.
Multipliers from another plugin
A boost is not the only thing that can raise a payout. Another plugin can listen for the xp, money and farmpoints events CoreJobs fires and multiply on top of whatever boost is already running, which is how a rank, a gear set or a pet adds its own bonus.
That plugin can also report what it is giving, and then it shows up like a boost does: a line of its own in the boosts menu, and the total and external placeholders next to the boost ones. See the Developer API.
Work out roughly what 30 minutes of mining pays in farmpoints, then price the boost above it, or players buy boosts with the points the boosts earned them.