Project migration: Active AntiFire development has moved to the private
1MB-CMIAPIAntiFire module. Use the current player guide or the public technical reference. The current Paper 26.2 / Java 25 artifact is1MB-CMIAPI-AntiFire-v1.0.0-530-j25-26.2.jar, and its runtime data belongs inplugins/1MB-CMIAPI/AntiFire/. This standalone repository remains available for release history and migration reference; do not run its jar alongside the shared module.
This is the historical standalone helper plugin for the fire-damage events we want to control on the 1MoreBlock.com Minecraft Java server. The active implementation now targets PaperMC 26.2 through 1MB-CMIAPI.
The purpose of this plugin is two-fold:
First, it will try to help prevent damage caused by ignited fire, fire-spread, etc. while the server is running. On our server we do not support grief, fire-spread, etc.
And secondly, we try to beat existing protection plugins during start-up. We've noticed in the past that WorldGuard with a bit of lag and while worlds are loading and people log onto the server early can cause fire-damage from fire-spread at loaded (spawn) chunks.
The central docs importer no longer treats this historical repository as a standalone project. Current documentation
is published from the 1MB-CMIAPI namespace so the old and new implementations cannot drift apart.
- Player guide
- Commands
- Permissions
- Configuration
- Installation
- Integrations
- Placeholders
- Troubleshooting
During the Minecraft 1.8 / 1.12.2 era I always noted issues with fire control, I wanted this feature. DefianceCoding from the Spigot community has helped me get started with this plugin. Unfortunately, he's been quite busy and not always available when we upgrade. Since then since the original version got updated once to move from ID numbers to material names and work with 1.13+ again. This was version 1.x, contributions to make this happen was by the456gamer (thank you).
The maintained implementation is now the plugins:server-management:antifire module in 1MB-CMIAPI. It compiles
against Paper API 26.2, declares api-version: 26.2, targets Java 25, and shares the project-wide version and build
number. Compatible later Paper 26.x releases should generally work with the same jar, but each Paper update still needs
a startup and behavior smoke test before live deployment.
The goal for this stage is to keep the plugin small, dependable, and easy to maintain while preserving its original purpose: stop unwanted fire spread, prevent block burn damage, and let controlled fire on netherrack continue to work as expected. The plugin can also optionally allow soul fire on soul sand and soul soil to remain lit without a restart. Future changes and roadmap items are tracked in the 1MB-CMIAPI repository rather than this standalone project.
For current behavior, installation paths, commands, permissions, placeholders, and configuration, use the player guide and public technical reference linked above. This repository's code, releases, issues, discussions, local docs, wishlist, and changelog describe the retired standalone implementation and are kept only for migration and release history.
The standalone wishlist is closed. Future compatibility checks, startup safeguards, and temporary-fire controls belong
to the maintained 1MB-CMIAPI module.
- DefianceCoding for listening to the original issue and throwing together the starter version of this plugin.
- The456gamer for the 1.16.x update work that helped move the project forward again after the material-name changes.
- Greymagic27 for the update work for Minecraft / Paper 1.21.x.
- mrfloris for the update to Paper 26.1.2, the Java 25 build, and ongoing maintenance.
- OpenAI for helping put the current README and Gradle build update together.
Commit message:
Add public antifire info command and central docs onboarding pages
Changes in this update:
- Added a public
/_antifire infosubcommand that shows a player-safe introduction, useful starting commands, a clickable canonical docs URL, and the installed build version. - Kept
/_antifire debug,/_antifire reload,/_antifire toggle, and the admin help flow restricted toonembantifire.admin, while letting non-admin users access the safe info flow. - Added project-local
docs/onboarding pages anddocs/plugin-docs.ymlfor the central1MB-Plugins-Docsimporter. - Synced the README with the new command behavior, technical docs links, permissions, configuration notes, and the confirmed no-placeholders status.
- Bumped the release to
2.0.5-036-j25-26.1.2.
Commit message:
Style antifire admin output and focus support on Paper 26.1.2+
Changes in this update:
- Reworked
/_antifirehelp, debug, reload, error, and toggle responses to use MiniMessage with the soft pastel 1MB-style presentation used in the other plugin projects. - Added the new
allow-permanent-soul-fireconfig key so soul fire on soul sand and soul soil can be allowed live without a restart. - Added the live admin toggle example
/_antifire toggle allow-permanent-soul-fire trueto command output and docs. - Dropped the old Paper
1.21.11support target from current metadata and docs, and changedplugin.ymlto declareapi-version: 26.1.2. - Kept the compile target on Paper API
26.1.2while treating Paper26.2as compatibility coverage. - Synced the main README with the current runtime target, command list, command examples, permissions, toggle keys, and placeholder support notes.
- Bumped the release to
2.0.5-035-j25-26.1.2.
Commit message:
Preserve config comments across create reload and command edits
Changes in this update:
- Replaced the default
saveDefaultConfig()pluscopyDefaults(true)flow with a shared YAML config helper that loads withloadFromString(...), keeps comment parsing enabled, and saves throughYamlConfiguration. - Added clear per-setting comments for every
config.ymlkey, including default values, safe value notes, and reload behavior. - Preserved admin-edited values while safely adding missing defaults and only filling in comments when they are missing.
- Kept config file work synchronous because it only happens during lightweight startup, reload, and command-driven config edits.
- Bumped the release to
2.0.5-034-j25-26.1.2.
Commit message:
Enable Gradle configuration cache by default
Changes in this update:
- Fixed the custom
printBuildConfigtask so it no longer reaches into the Gradle task container at execution time. - Enabled Gradle configuration cache by default for this project after verifying that
buildworks with--configuration-cache. - Kept plugin code and runtime behavior unchanged.
- Bumped the release to
2.0.5-033-j25-26.1.2.
Commit message:
Modernize build metadata handling and enable deprecation lint
Changes in this update:
- Checked the plugin code against the requested Bukkit/Paper deprecation patterns and found no remaining deprecated plugin metadata or YAML APIs in active use.
- Fixed the Gradle resource-filtering deprecation by replacing execution-time
projectlookups with a plain resource properties map. - Enabled Java compiler deprecation and removal lint in the Gradle build so future deprecated Paper/Bukkit usage is surfaced earlier.
- Kept the same Paper API compile target (
26.1.2), plugin.yml compatibility floor (1.21.11), Java target (25), and plugin behavior. - Bumped the release to
2.0.5-032-j25-26.1.2.
Commit message:
Target Paper API 26.1.2 and move testing to the centralized runner
Changes in this update:
- Switched the compile dependency to the Paper API
26.1.2line while keepingplugin.ymlatapi-version: 1.21.11. - Moved jar output to repo-root
libs/so released jars survive future clean builds instead of being wiped frombuild/libs/. - Added build metadata output in startup/debug so it is obvious which Paper API line the jar compiles against, which compatibility floor it declares, and that it targets Java 25.
- Updated the project notes to use
/Users/floris/Projects/Codex/servers/run-test-serverinstead of any repo-local/servers/setup. - Bumped the release to
2.0.5-031-j25-26.1.2.
Commit message:
Fix antifire subcommand tab completion
Changes in this update:
- Fixed
/_antifiretab completion so the first suggestion step now offersdebug,reload,toggle, andhelp. - Kept partial matching for subcommands and toggle values so completions continue to narrow as you type.
- Bumped the release to
2.0.5-030-j25-26.1.2.
Commit message:
Clarify antifire help output and permission details
Changes in this update:
- Expanded
/_antifire helpso it now lists every admin command with a short description. - Added the
onembantifire.adminpermission note directly to the help output, while keeping console access available. - Updated the README command section so the permission requirement is documented more explicitly alongside the admin commands.
- Bumped the release to
2.0.5-029-j25-26.1.2.
Commit message:
Rename antifire status to debug and make bare command show help
Changes in this update:
- Replaced
/_antifire statuswith/_antifire debugto match the naming used by the other 1MB plugins. - Changed bare
/_antifireso it now defaults to the help output instead of dumping the current config. - Updated the command help, command usage text, and README examples to match the new admin flow.
- Bumped the release to
2.0.5-028-j25-26.1.2.
Commit message:
Remove antifire alias and polish admin command output
Changes in this update:
- Removed the plain
/antifirealias so the plugin now exposes only/_antifireand its namespaced variant. - Improved
/_antifire statuswith grouped sections for protection, temporary fire, tracked ignite sources, and logging. - Improved
/_antifire reloadand/_antifire toggleresponses so they confirm what changed in a more admin-friendly way. - Added
/_antifire helpas a clearer built-in command summary. - Bumped the release to
2.0.5-027-j25-26.1.2.
Commit message:
Allow console access to AntiFire admin command while keeping player permission checks
Changes in this update:
- Added an explicit
canUse(...)check for the PaperBasicCommandso the server console can always use/_antifire. - Kept player access restricted to
onembantifire.admin, so operators still do not get access by default. - Bumped the release to
2.0.5-026-j25-26.1.2.
Commit message:
Register AntiFire admin command with Paper BasicCommand API
Changes in this update:
- Switched
/_antifirefrom legacyplugin.ymlcommand wiring to Paper'sregisterCommand(...)API inonEnable(). - Kept the same
onembantifire.adminpermission requirement while using Paper's command visibility and suggestion flow. - Added a startup log line confirming that
/_antifirewas registered. - Bumped the release to
2.0.5-025-j25-26.1.2.
Commit message:
Add configurable fire control, admin command, and Gradle wrapper for Paper 26.1.2+
Changes in this update:
- Moved the plugin to a cleaner structure with separate plugin, listener, settings, and command classes.
- Changed fire-event handling from
MONITORstyle behavior toHIGHESTpriority cancellation so the plugin can act as an actual protection layer instead of only observing. - Added
BlockSpreadEventhandling as a second guard against fire spread. - Added lightweight tracked-fire extinguishing so temporary fire can show briefly and then clear without using a heavy world scan.
- Added a configurable
config.ymlwith toggles for spread prevention, burn prevention, extinguish timing, and which ignition sources should be auto-cleaned. - Added
/_antifireadmin commands for status, config reload, and in-game setting changes. - Added the
onembantifire.adminpermission node withdefault: false, so operators do not get command access unless explicitly granted. - Added a startup status log so it is easier to confirm that the plugin loaded early and with the expected settings.
- Added a Gradle Wrapper so builders can run
./gradlew buildfrom a fresh clone. - Bumped the release to
2.0.5-024-j25-26.1.2.
Commit message:
Modernize AntiFire for Paper 26.1.2+ with Java 25 Gradle build and README refresh
Changes in this update:
- Added Gradle build support so a fresh clone can run
gradle buildand produce the plugin jar without depending on the localservers/folder. - Updated the build and release version to
2.0.4-023-j25-26.1.2and aligned the jar output name with the current Paper / Java target. - Kept Maven metadata aligned with the new version and Java 25 release settings.
- Updated
.gitignoreso/servers/,.DS_Store, Gradle output, and related local build files stay out of Git. - Refreshed the README introduction and status text to reflect support for PaperMC
1.21.11and Paper build26.1.2, with the active maintenance focus on26.1.2+. - Added and updated the credits section to preserve existing acknowledgements and include Greymagic27, mrfloris, and OpenAI.
- Updated plugin metadata and packaged version information so the built jar reports the current release correctly.
- Compile target: Paper API
26.1.2 - Declared
plugin.ymlapi-version:26.1.2 - Java compilation target:
25 - Intended live target: Paper
26.1.2 - Compatibility smoke-test target: Paper
26.2 - Expected runtime: Java
25+with successful local testing on Java26.0.1 - Startup behavior:
load: STARTUP - Early-load hint:
loadbefore: [ Multiverse-Core, WorldGuard ]
Clone the project and run:
./gradlew build
The build does not use the local servers/ folder. The jar is written to:
libs/1MB-AntiFire-v2.0.5-036-j25-26.1.2.jar
When you want to test the plugin, use the centralized runner:
/Users/floris/Projects/Codex/servers/run-test-server --paper 26.1.2 --plugin libs/1MB-AntiFire-v2.0.5-036-j25-26.1.2.jar --foreground
/Users/floris/Projects/Codex/servers/run-test-server --paper 26.2 --plugin libs/1MB-AntiFire-v2.0.5-036-j25-26.1.2.jar --foreground
/_antifireshows the admin help summary for trusted admins and the player-safe info summary for everyone else./_antifire infoshows the public plugin introduction, quick-start notes, docs URL, and installed version./_antifire helpshows the admin help summary./_antifire debugshows build metadata, active protection settings, and permanent-fire exceptions./_antifire reloadreloadsconfig.ymlfrom disk and applies it immediately./_antifire toggle <key> <value>updates one config key in game and saves it immediately.
/_antifire/_antifire info/_antifire help/_antifire debug/_antifire reload/_antifire toggle allow-permanent-soul-fire true/_antifire toggle allow-permanent-soul-fire false/_antifire toggle extinguish-delay-ticks 60/_antifire toggle check-interval-ticks 20/_antifire toggle startup-log false
prevent-fire-spreadstops natural fire spread from igniting nearby blocks.prevent-block-burnprevents burning blocks from being destroyed by fire.extinguish-enabledturns delayed cleanup of tracked temporary fire on or off.extinguish-delay-tickssets how long tracked temporary fire stays visible before cleanup.check-interval-tickssets how often AntiFire checks tracked fire for expiry.track-player-placed-firetracks player-placed fire for delayed cleanup.track-lightning-firetracks lightning-caused fire for delayed cleanup.track-lava-firetracks lava-caused fire for delayed cleanup.track-other-ignite-firetracks flint-and-steel and similar ignite causes for delayed cleanup.allow-permanent-soul-firelets soul fire on soul sand and soul soil stay lit.startup-logcontrols the startup summary logging during plugin enable.
For boolean keys, valid values include true and false. For tick-based keys, use whole numbers.
/_antifire info: public, no permission required.onembantifire.admin: required for player use of/_antifire,/_antifire help,/_antifire debug,/_antifire reload, and/_antifire toggle <key> <value>.default: false: operators do not receive this automatically.- Console access is always allowed.
- Grant the permission explicitly through LuckPerms or another permission plugin for trusted admins only.
This plugin does not currently provide any PlaceholderAPI expansion or custom placeholders.
There are no %placeholder% tokens or MiniMessage placeholder hooks to configure at this time.
Tested build Version 2.0.5-036-j25-26.1.2, targeting Paper
26.1.2 with compatibility coverage on Paper 26.2. Last updated: July 2026.