Quantcast
Channel: Server Mods from Bukkit.org
Viewing all articles
Browse latest Browse all 2356

AntiFire

$
0
0

Is fire damaging your precious buildings or forests? Want to allow fire but restrict its mechanics? Or just log it? Or tp there and put it out? This plugin, inspired by @happypumkin and @x0pk1n, allows all that and more with detailed configurability. To be specific, it has the following features, all configurable by world:

  • disable fire spreading, by world
  • fire start controls:
    • log fire starting with detailed world location (players only, or also lightning and lava)
    • disable fire starting by lightning, fire spread, explosions, fireballs, and/or lava
    • disable fire starting by players (with enable by Permissions)
    • make certain block types fireproof! Configurable list of block IDs.
  • disable fire damage to blocks, players, and/or non-player entries including mobs
  • disable lava damage to blocks, players, and/or non-player entries
  • commands to view last few locations of fire starting, by whom
  • commands to teleport to a log entry
  • command to put out fires nearby you, or in entire world
  • commands to view/set/save all (NEW) config values, or reload from config.yml
  • command to flush fire start log to disk

Configuration

Most of the controls of this plugin, like AntiCreeper, are solely by configuration flags. Almost all entries are lists of worlds in which that specific behavior will be active. You can either present them as a YML list of strings:

nospread:-world-world_the_end

But I found that to get hard to read when I have so many config items, so you can optionally present them on one line as a comma-separated list:

nospread:world,world_the_end

Blocklist

The .blocklist entry is the same as you'll find in AntiCreeper's blocklists. It's a list of comma-separated block IDs, and allows sub-type listings in form of "#:#", which could be used, for example, to make jungle wood fireproof but allow burning other wood. If you wish to make almost everything fireproof except a few blocks, set .whitelist to true and then only list the ones that should burn. There are few rare cases where the block detection may not seem to work well, but this only happens if there is another burnable block adjacent to the fire location.

Configurable Fields

Description of configurable items. Most are lists of worlds per above.

nerf_fire.logstart:

  • .player: if set for a world, logs player, date/time, and location to server.log
  • .lava: if set for a world, logs event, date/time, and location to server.log
  • .lightning: if set for a world, logs event, date/time, and location to server.log
  • .fireball: if set for a world, logs event, date/time, and location to server.log

nerf_fire.whitelist: if false, blocks on blocklist are fireproof; if true, fire can only be started on blocks on blocklist

nerf_fire.blocklist: list of decimal block ids per above

nerf_fire.nospread: if set for a world, fire cannot spread from one block to another there.

nerf_fire.nostartby: node with below items

  • .op: if true, even Op cannot start a fire (without Permission set)
  • .lightning: if set for a world, lightning not supposed to start a fire
  • .fireball: if set for a world, fireballs from dispensers or other plugins not supposed to start a fire
  • .lava: if set for a world, lava cannot start fire on adjacent block
  • .player: if set for a world, NO players can start a fire in that world unless (a) they are Op or (b) have permission antifire.startfire set. Caution: Also means nerfed players can NOT enable a portal.
  • .explosion: if set for a world, all explosions in that world do not start a fire. Overrides other plugins, like AntiCreeper

nerf_fire.nodamageto: node with below items

  • .block: burning blocks will not be destroyed in listed worlds
  • .player.fromlava: lava will not hurt players (2 hearts per tick) in listed worlds, but remember it also sets people on fire Refer to example config Walk on Lava
  • .player.fromfire: players will not catch fire or incur fire damage in listed worlds
  • .nonplayer.fromlava: mobs and creatures will incur no damage from lava
  • .nonplayer.fromfire: mobs and creatures won't catch fire. Beware of setting this, since it means mobs will NOT burn in sunlight

nerf_fire.logflushsecs: age in seconds of fire start log entries to flush to disk. This only happens when a new entry is added (in order to avoid overhead of a periodic tic) and if the current list of entries is more than ten (all that can fit in chat display).

Default Configuration

Most of the mechanics of this plugin are disabled by default, except logging fire start locations to your server log file. and now fire spreading is Off by default. But only if your server has a world named "world".

nerf_fire:logstart:player:worldlightning:worldwhitelist:falsenospread:worldnostartby:op:falselogflushsecs:600

Example Configurations (click here)

Permissions & Commands

Has been moved to another page here.

Statistics

Since 1.4 the plugin now sends statistics to mcstats.org. These are completely anonymous and help me as a plugin developer know how the plugin is being used. You can view the same data by clicking below. If you want to turn it off, simply edit plugins/PluginMetrics/config.yml and change opt-out: false to true

AntiFire mcstats

Possible features:

  1. Configurable in-game messaging

Commands to set logstart.*

Commands to set nostartby.

Commands to set nodamageto.

Add "last" option to extinguish command to reference firestart log, similar to tpf command

Split tpf and extinguish to new "antifire.fireman" Permissions group?

New extinguish [#|world [all]] to extinguish within block radius or entire world or all server worlds

Configurable log messaging

Periodic flushing of RAM firestart log to disk, rather than waiting for orderly server shutdown.


Viewing all articles
Browse latest Browse all 2356

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>