This is a Helper plugin for the fire-damage events we want to have better control over on the 1MoreBlock.com Minecraft Java server, targeting PaperMC 1.21.11 and Paper build 26.1.2.
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.
More details about installation, configuration and usage can be found in the wiki pages.
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).
This project has been modernized again for current PaperMC development, with the active focus now on PaperMC 26.1.2+.
The current build compiles against the Paper API 26.1.2 line, declares api-version: 1.21.11 in plugin.yml, and
uses a Java 25 toolchain so the same jar can be tested on both Paper 1.21.11 and Paper 26.1.2.
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. Future changes should continue to prioritize compatibility with newer PaperMC releases in the 26.1.2+
range.
If you have an issue with this plugin, please make sure your Spigot or Paper engine is up to date, and are using the latest build of this 1MB AntiFire plugin.
When you're sure you've done everything right, you're free to open an issue and file a bug report. We do not guarantee a fix, but we will do our best.
If you have a suggestion or feature request, feel free to open a new discussion, and describe what you wish this plugin would include. We can at least read it and take it under consideration.
At the moment this works fine, but future updates could add more PaperMC 26.1.2+ compatibility checks, extra startup
safety checks, and additional quality-of-life controls for temporary fire behavior.
- 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:
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.
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-033-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 1.21.11 --plugin libs/1MB-AntiFire-v2.0.5-033-j25-26.1.2.jar --foreground
/Users/floris/Projects/Codex/servers/run-test-server --paper 26.1.2 --plugin libs/1MB-AntiFire-v2.0.5-033-j25-26.1.2.jar --foreground
/_antifireshows the admin command summary./_antifire helpshows the admin command summary./_antifire debugshows the current config state and requiresonembantifire.adminfor players./_antifire reloadreloads the config from disk./_antifire toggle <key> <value>updates a config key in game and saves it.
All /_antifire admin commands require the onembantifire.admin permission node for players, are not granted to operators by default, and remain available from console.
Tested build Version 2.0.5-033-j25-26.1.2, targeting Paper
1.21.11 and Paper 26.1.2. Last updated: April 2026.