Skip to content

mrfdev/Boosters

Repository files navigation

Deprecated: Moved to 1MB-CMIAPI

This standalone project is deprecated for now. Boosters has moved into the 1MB-CMIAPI project, though this repository is being kept around in case we want to roll back to the standalone version later.

1MB Boosters

Boosters is a helper plugin for 1MoreBlock.com that tracks server-wide boosters from mcMMO, Jobs Reborn, and a manual-detection points integration for PyroWelcomesPro, restores tracked boosters after restart, and gives players a clean /rate command to check the current status.

Version: 1.3.1
Build: 043
Updated: 2026-04-28

What it does

  • Tracks native mcMMO /xprate commands from players and console.
  • Tracks native Jobs /jobs boost ... commands from players and console.
  • Restores tracked boosters a few seconds after startup.
  • Adds /rate, /rate info, /rate start, /rate stop, /rate reload, and /rate debug.
  • Detects manual points boosters from PyroWelcomesPro config values.
  • Exposes PlaceholderAPI placeholders for mcMMO, Jobs, and points.
  • Uses MiniMessage for plugin output and configurable broadcast messages.
  • Supports configurable console command hooks for booster start and stop events.
  • Loads player-facing wording from Locale_EN.yml.

Server target

  • Built with Java 25.
  • Compiled against the Paper API for 26.1.2.
  • The generated plugin.yml declares api-version: 1.21.11 so the same jar can be tested on Paper 1.21.11 and Paper 26.1.2.
  • Intended for Paper 1.21.11 and newer Paper 26.x servers that are running on Java 25.
  • The built jar is named 1MB-Boosters-v1.3.1-043-j25-26.1.2.jar.
  • The plugin data folder is plugins/1MB-Boosters/.
  • Repo-local /servers/ is not used by this project; testing should go through /Users/floris/Projects/Codex/servers/run-test-server.

If you run this exact build on a server that still uses Java 21, the plugin will not load because the bytecode target is Java 25.

Supported integrations

mcMMO

Native mcMMO commands that Boosters tracks:

  • /xprate <rate> <true|false>
  • /xprate reset

Boosters can also manage timed mcMMO boosters itself with /rate start mcmmo ..., even though native mcMMO /xprate does not include a timer.

Jobs Reborn

Native Jobs commands that Boosters tracks:

  • /jobs boost <job|all> <exp|money|points|all> <time> <rate>
  • /jobs boost all reset

Boosters stores the remaining time and restores the Jobs booster after restart.

PyroWelcomesPro points

Boosters includes a read-only/manual-detection points integration for PyroWelcomesPro.

  • It reads plugins/PyroWelcomesPro/config.yml
  • It checks:
    • Settings.EarnablePoints
    • Settings.DiscordSRV.EarnablePoints
  • It infers a Points booster when either value is higher than the configured base value
  • It shows that detected booster in /rate, /rate debug, and PlaceholderAPI output
  • It does not write, stop, or reload PyroWelcomesPro until that plugin reliably reloads these settings live

Current assumptions:

  • Base in-game points: 2
  • Base Discord points: 1
  • Points multipliers must be whole numbers like 2, 3, or 4

Examples:

  • Settings.EarnablePoints: 4 with base 2 is shown as 2x.
  • Settings.DiscordSRV.EarnablePoints: 2 with base 1 is shown as 2x.
  • If both values are at their base values, /rate reports no active Points booster.

/rate start points and /rate stop points are intentionally skipped for now. If a manual Points booster is active, reset PyroWelcomesPro's values back to the base values and restart/reload that plugin once its reload issue is fixed.

Commands

Player command

  • /rate Shows the current tracked booster status. Experimental points can stay hidden from normal players. Players with only onemb.boosters.rate do not get admin or debug tab completions.
  • /rate info Shows a short introduction to the plugin, the current build information, and a clickable GitHub repository URL.

Admin commands

  • /rate start <mcmmo|jobs|all> <time> <rate> Starts tracked boosters. all starts every enabled/admin-available booster using the same time and rate.
  • /rate stop <mcmmo|jobs|all> Stops one tracked booster or all tracked boosters.
  • /rate reload Reloads this plugin's config.yml and locale file.
  • /rate debug Shows a summary debug view with build/runtime information, including the compile Paper API version and declared compatibility floor.
  • /rate debug reference Shows commands, permissions, and placeholders.
  • /rate debug integrations Shows integration status for mcMMO, Jobs, and points.
  • /rate debug state Shows the tracked runtime state.
  • /rate debug raw Shows raw stored values and important file paths.
  • /rate debug config Shows an expanded grouped config summary.
  • /rate debug config <path> Reads a config value.
  • /rate debug config <path> <value> Sets a simple config value and reloads this plugin.
  • /rate debug toggle <path> [true|false] Flips a boolean true/false config setting, or explicitly sets it if you provide true or false, then reloads this plugin.
  • /rate debug all Console-only full debug dump with summary, reference, integrations, state, raw, config, and logs.
  • /rate debug logs Shows recent audit log entries.
  • /rate debug clean logs Clears the recent audit log entries.
  • /rate debug cleanlogs Alias for clearing the recent audit log entries.

If /rate start or /rate stop is used without enough arguments, the plugin shows the correct command synopsis.

Command examples

  • /rate
  • /rate info
  • /rate start mcmmo 1h 2
  • /rate start jobs 30m 2
  • /rate start all 1h 2
  • /rate stop mcmmo
  • /rate stop jobs
  • /rate stop all
  • /rate reload
  • /rate debug
  • /rate debug reference
  • /rate debug raw
  • /rate debug all
  • /rate debug config features.points.visible true
  • /rate debug toggle features.points.visible
  • /rate debug toggle features.points.visible true
  • /rate debug logs
  • /rate debug clean logs

Permissions

  • onemb.boosters.rate Allows players to use /rate.
  • onemb.boosters.admin Allows staff to use /rate start, /rate stop, and /rate reload.
  • onemb.boosters.debug Allows staff to use /rate debug.

LuckPerms examples

  • lp group admin permission set onemb.boosters.admin true
  • lp group admin permission set onemb.boosters.debug true
  • lp group default permission set onemb.boosters.rate true

PlaceholderAPI

Boosters registers the PlaceholderAPI identifier onembboosters.

mcMMO placeholders

  • %onembboosters_mcmmo_active% Returns Yes or No.
  • %onembboosters_mcmmo_rate% Returns the tracked mcMMO rate without the x.
  • %onembboosters_mcmmo_time% Returns the original tracked mcMMO duration, or Manual for a native /xprate.
  • %onembboosters_mcmmo_timeleft% Returns the remaining tracked mcMMO duration, or Manual for a native /xprate.

Jobs placeholders

  • %onembboosters_jobs_active% Returns Yes or No.
  • %onembboosters_jobs_rate% Returns the tracked Jobs rate without the x.
  • %onembboosters_jobs_time% Returns the original tracked Jobs duration.
  • %onembboosters_jobs_timeleft% Returns the remaining tracked Jobs duration.

Points placeholders

  • %onembboosters_points_active% Returns Yes or No.
  • %onembboosters_points_rate% Returns the detected PyroWelcomesPro points multiplier, or 1 when inactive.
  • %onembboosters_points_time% Returns Manual for detected PyroWelcomesPro points boosters, or None when inactive.
  • %onembboosters_points_timeleft% Returns Manual for detected PyroWelcomesPro points boosters, or None when inactive.

When a booster is not active:

  • rate returns 1
  • time returns None
  • timeleft returns None

Config and locale

  • config.yml Structural settings, feature toggles, tab completions, display options, integration paths, broadcasts, and lifecycle command hooks.
  • Locale_EN.yml Player-facing wording and MiniMessage styling for /rate output.
  • booster-state.yml Automatically managed runtime state for tracked boosters.

Command hooks

You can run your own console commands whenever a tracked booster starts or stops.

  • Hook lists live in config.yml under commandHooks.start.* and commandHooks.stop.*
  • global runs for every booster type
  • mcmmo and jobs only run for that booster type
  • points hook lists are reserved for a future controlled Points mode and do not run while Points is read-only/manual-detection
  • Hooks also run for tracked native mcMMO/Jobs commands and when a timed booster expires
  • Commands are sent to the console raw, so the target plugin can handle its own formatting, MiniMessage, hex colors, sounds, bossbars, particles, and so on
  • Leading / is optional

Available hook placeholders:

  • The common ones you will probably use most are {booster}, {rate}, {duration}, {remaining}, {sender}, {jobs_target}, {jobs_scope}, {ingame}, and {discord}.
  • {phase} returns start or stop
  • {booster} returns mcMMO, Jobs, or Points
  • {booster_key} returns mcmmo, jobs, or points
  • {booster_label} returns the configured display label from config.yml
  • {rate} returns the tracked multiplier
  • {duration} and {duration_compact} return the booster duration
  • {remaining} and {remaining_compact} return the remaining time at the moment the hook runs
  • {sender} returns the player name or Console
  • {jobs_target} and {jobs_scope} return Jobs target/scope values
  • {ingame} and {discord} return the current points values for the points integration

Example hook config:

commandHooks:
  start:
    global:
      - "cmi broadcast Booster {booster} {rate}x started for {duration} by {sender}"
      - "cmi titlemsg all Booster Started \n {booster} {rate}x for {duration}"
  stop:
    global:
      - "cmi broadcast Booster {booster} stopped by {sender}"
      - "cmi titlemsg all Booster Stopped \n {booster} ended after {duration}"

The expected folder layout is:

  • plugins/1MB-Boosters/config.yml
  • plugins/1MB-Boosters/Locale_EN.yml
  • plugins/1MB-Boosters/booster-state.yml

If you upgrade from an older release that used plugins/Boosters/ or plugins/boosters/, this build attempts to migrate that data folder on startup.

Build notes

  • Gradle targets Java 25.
  • The plugin is compiled against io.papermc.paper:paper-api:26.1.2.build.+.
  • The generated plugin.yml declares api-version: 1.21.11.
  • Current release metadata: version 1.3.1, build 043.
  • PlaceholderAPI support is optional.

Credits

  • mrfloris for the original plugin idea, project direction, testing, and 1MoreBlock server integration
  • nossr50 and the mcMMO team for mcMMO
  • Zrips for Jobs Reborn
  • xsmeths for logic fixes and helpful review on booster output behavior
  • The456gamer for additional contributions and improvements
  • OpenAI for Codex-assisted development, refactoring, documentation updates, and testing support
  • Everyone who helped shape the original idea and later fixes for this plugin

About

Helper plugin for the booster events on the 1MoreBlock.com server.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages