Skip to main content

Booster Types

Booster types are the different values you can alter with boosters. As previously stated, there is currently 6 built-in booster types, explained individually here. You can add more booster types via the API, found here.


Per-Booster Config Options

A lot of configuration goes into each booster. Below, I explain each setting.

Config Key Description Default Value
enabled Whether the booster is enabled or not. If disabled,
the booster will not appear in any commands.
true
stack-type The stack type of the specified booster. Definitions of different
stack types can be found in the "Stack Types" section below.
"queue"
holder-stack-type How boosts with different holders are combined.
Options are add and multiply.
"multiply"
temporary-permanent-stack-type How temporary and permanent boosts with the same holder are combined.
Options are add and multiply.
"multiply"

permanent-permanent-stack-type
How permanent boosts stack with each other.
This is only used for the player holders meta permissions.
Options are add and multiply.
"multiply"

booster-meta-keys
A list of meta keys that NeoExtras will check for permanent boosts on the
player. This list is initially populated with the meta key
neoextras.booster.perm-boost.[booster-name].
permanent-world-boosts A map of each world's permanent boost. On config generation,
every world is added to the config at a value of 1.0 (no boost).
max-boosts The default maximum boost for each holder type.
lang Per-booster lang, explained in the "Per-Booster Lang" section.
config-version-no-touchy This is for NeoExtras to be able to update configs without screwing
up your settings. Don't touch this unless you want to break something.
Varies
per-version.

Stack Types

Stack types are how different temporary boosts with the same holder stack with each other. There are 7 different stack types, explained below.

Stack Type Description
none Does not stack any boosters in any way, not allowing boosters to be started while another is running.
time Adds the time of equivalent boosters, denying others. Contexts must also match to be considered equivalent.
add-boosters Adds all active boosters together as they run on their individual timers.
multiply-boosters Multiplies all active boosters together as they run on their individual timers.
queue Queues boosters to be activated once the current booster expires.
time-queue Adds the time together of equivalent boosters and queues the
next booster to be activated once the current booster expires.
prioritized Forces the highest/strongest booster to take effect immediately,
while the rest of the boosters run in the background.
prioritized-time Forces the highest/strongest booster to take effect immediately, while the rest of the
boosters run in the background. This also adds the time together of equivalent boosters.

prioritized-queue
Forces the highest/strongest booster to take effect immediately,
pausing the time left on weaker boosters. Once the strongest booster ends,
the weaker booster resumes its timer. This also adds the time together of equivalent boosters.

Per-Booster Lang

The majority of lang is per-booster, per-holder. Below is the description of each lang key.

Lang Key Description
list-header-self The header for the list command when the target is yourself.
list-header-other The header for the list command when the target is not yourself.
no-boosters-active-self The message in the list command when the target is yourself,
and you have no boosts of this type active.
no-boosters-active-other The message in the list command when the target is not yourself,
and you have no boosts of this type active.
Per-Holder Lang Messages that are generated per-holder. See "Per-Holder Lang" for more details.

Per-Holder Lang

These are lang keys that are generated per-holder. Default messages per-holder differ based on the holder.

Lang Key Description
booster-cannot-stack The message sent when this booster's stack-type
does not allow another booster to be added.
booster-started The message sent when a booster of this type is started.
contextual-booster-started The same as booster-started, for contextual boosters.
booster-reminder The message sent to the player when they login if a booster of this type is active.
contextual-booster-reminder The same as booster-reminder, for contextual boosters.
booster-time-added The message sent when time is added to a booster
in any of the stack types that allow it.
contextual-booster-time-added The same as booster-time-added, for contextual boosters.
booster-queued The message when a booster of this type is added to the queue.
contextual-booster-queud The same as booster-queued, for contextual boosters.
booster-priority-takeover Only used in the prioritized-queue stack type, this is the message
for when a newly started booster takes priority over an already active booster.
contextual-booster-priority-takeover The same as booster-priority-takeover, for contextual boosters.
booster-list The line returned in the booster list command
when referencing a boost of this type and holder.

booster-list-admin
The line returned to users with the permission neoextras.boosters.admin
when referencing a boost of this type and holder. By default, this includes
a cancel button to generate the stop command for the booster referenced.


timed-messages
Timed messages are messages sent when boosts hit the time configured. You can have
infinite timed messages. The configuration key is how long the booster has left when it
sends that message. Keys must start with a number, then be appended by
-[time-unit]. Valid time units are hours, minutes, and seconds. 4 timed messages
are generated by default: 5-minutes, 1-minute, 30-seconds, and 5-seconds.

Built-in Booster Types

NeoExtras comes with 6 built-in booster types, described below.


Catch Booster

Catch boosters multiply the catch rate by the player's total boost.

Additional Configuration
Config Key Description
unaffected-specs A list of pokémon specs that this booster does not affect.
Context

The context for this booster is a pokémon spec, causing boosters to only affect pokémon that match the spec.


EV Booster

EV boosters multiply the amount of EVs gained by the player's total boost.

Additional Configuration
Config Key Description
unaffected-specs A list of pokémon specs that this booster does not affect.
Context

The context for this booster is a pokémon spec, causing boosters to only affect pokémon that match the spec.


Experience Booster

Experience boosters multiply gained pokémon experience by the player's total boost.

Additional Configuration
Config Key Description
unaffected-specs A list of pokémon specs that this booster does not affect.
Context

The context for this booster is a pokémon spec, causing boosters to only affect pokémon that match the spec.


Friendship Booster

Friendship boosters multiply the amount of friendship gained by the player's total boost.

Additional Configuration
Config Key Description
unaffected-specs A list of pokémon specs that this booster does not affect.
Context

The context for this booster is a pokémon spec, causing boosters to only affect pokémon that match the spec.


IV Booster

IV boosters multiply a configurable amount of IVs by the player's total boost.

Additional Configuration
Config Key Description
unaffected-specs A list of pokémon specs that this booster does not affect.
ivs-to-manipulate The amount of IVs to alter.
Context

The context for this booster is a pokémon spec, causing boosters to only affect pokémon that match the spec.


Shiny Booster

Shiny boosters divide the player's shiny rate by the player's total boost.

Additional Configuration
Config Key Description
unaffected-specs A list of pokémon specs that this booster does not affect.
Context

The context for this booster is a pokémon spec, causing boosters to only affect pokémon that match the spec.