All pluginsMC Skylines

Fire & rescue

MCSkylines-Fire

Version 1.2.12 · Documentation refreshed October 12, 2026

A logical, non-griefing fire simulation with arson controls, firefighting equipment, rescue gameplay, and property protection.

Required plugins: WorldGuard, MCSkylines-Vehicles. Optional integrations: MCSkylines-Core, MCSkylines-Property, MCSkylines-Health, MCSkylines-Government, MCSkylines-Narcotics, MCSkylines-Technology, CarbonChat.

01

Feature reference

What it handles

Feature overview

Logical fire nodes

Intensity, fuel, spreading, merging, rain cooling, and visual range are simulated without uncontrolled block grief.

Heat & smoke danger

Distance-based damage, lingering fire, regeneration suppression, and smoke exposure create rescue urgency.

Property policy

WorldGuard and Property rules govern deliberate ignition, spreading, protected areas, and reignition cooldowns.

Firefighting equipment

Extinguishers, blankets, turnout gear, and truck-connected hoses provide suppression. Worn SCBA filters smoke while consuming carried oxygen.

Stop, drop & roll

Players can complete a movement sequence to smother personal flames without a special item.

Vehicle fires

Destroyed vehicles and minimum fuel intensity can feed controlled incidents through the Vehicles bridge.

Arson & alarms

Pour accelerant, then ignite it with a genuine lighter. Smoke alarms and unattended furnaces support configurable incident gameplay.

Dispatch & administration

Location alerts, node status, and controlled admin ignition/extinguishing support fire department testing; investigation kits are currently RP-only.

02

Mechanics, workflows & reference

Encyclopedia

Contents · jump to a topic

Configuration defaults: Values shown for operator-configurable settings are the bundled defaults, and can be changed in the module’s configuration or definitions. The server’s active settings take precedence, so costs, speeds, ranges, durations, chances, effects, recipes, limits and enabled features may differ. Command examples illustrate syntax; fixed mechanics and validation bounds are not configuration defaults.

Fire simulates heat, smoke, fuel, spread, suppression, vehicle fires, alarms and firefighter dispatch. It provides extinguishers, blankets, turnout gear, SCBA/oxygen, hoses and hydrants. Investigation kits currently provide roleplay item identity rather than an investigation workflow.

Ignition and accelerant

The normal player ignition source is a genuine Narcotics lighter. Right-click a block face to ignite the adjacent surface; a successful ignition consumes a lighter use. Vanilla flint and steel is disabled by default and can be enabled with ignition.allow-vanilla-flint-and-steel.

An Accelerant Can pours a temporary fuel patch and consumes the can; it does not ignite immediately. Ignite that patch separately with a lighter before its default five-minute lifetime expires. A fuelled ignition starts at intensity 95 by default, versus 55 for ordinary ignition.

/fire ignite requires fire.admin.ignite, a player, and a solid target within 30 blocks. Admin ignition still respects region and Property policy. Verify the visible result or node count because the confirmation alone is not proof that protection allowed ignition.

Property and region rules

WorldGuard fire-ignite governs initial ignitions and fire-spread governs spread. Both default to allow. Use /rg flag <region> fire-ignite deny and /rg flag <region> fire-spread deny to protect an area.

  • DENY_ALL: no ignition in managed properties.
  • SPREAD_ONLY: spreading is allowed; system and vehicle ignition additionally require properties.system-ignition.
  • ALLOW_WITH_COOLDOWN: player arson is limited by player and property/named-region cooldown; default 30 minutes.
  • ALLOW: no additional Property policy restriction.

properties.individual-cooldown adds a short per-player ignition delay, default 20 seconds, including outside named regions. The global WorldGuard region is excluded from named-region cooldown keys. Possessing equipment does not bypass these checks.

Fire growth and danger

Fire grows from its fuel and nearby heat. New flames wait 25 seconds before their first spread opportunity by default, then use a randomized cadence with configurable defaults of a 12-second interval and eight-second jitter in config.yml. An opportunity has a default 70% chance and creates at most one flame. Large incidents receive a capped spread bonus. Hot enough fire can cross dry roads, stone, and other solid surfaces.

Combustible and natural fuel have separate equilibrium intensities. Unsupported fire cools unless sufficiently hot to sustain itself. Rain and water cool nodes. The default maximum incident lifetime is 20 minutes, inherited by spread children; 0s disables this safety timeout.

The heat meter rises and cools over time. The strongest nearby source determines exposure rather than stacking every visual flame. Direct contact is dangerous, and smoke is a separate exposure. danger.damage-mobs and danger.destroy-dropped-items are enabled in the current defaults. Logical simulation does not mean harmless fire.

While this heat meter is visible, Navigation hides its private direction bar. Direction guidance returns after the heat meter clears. Integrations can query FireApi.hasPriorityHud(playerId) for the same state.

Equipment and breathing protection

  • Water and dry extinguishers consume uses, display remaining capacity, and spray into the air ahead of you. Particles and cooling follow the same gravity-driven arc, stopping at walls or the ground. Defaults: five-block forward reach and 38 cooling. Spray makes a whoosh; extinguished flames hiss.
  • Fire blankets consume a use, clear personal fire, and cool the immediate area. Remaining nearby fire can reignite the player.
  • Genuine turnout equipment reduces heat exposure: 18% per qualifying piece plus 10% for a full set by default, capped at 95%.
  • Wear the genuine SCBA mask in the helmet slot and carry a genuine oxygen tank with remaining uses in storage inventory. Meaningful smoke consumes oxygen at the configured interval (20 ticks by default). Smoke protection defaults to 100% while supplied. An empty or missing tank provides no filtering and triggers a warning.
  • Investigation kits remain item identities for roleplay; a full investigation workflow is not implemented.

Recipe permissions are fire.craft.<item_id>, including oxygen_tank, smoke_alarm, fire_hose, and fire_hydrant. They control crafting rather than ordinary use. Custom names alone do not make a vanilla item genuine equipment.

Hoses, fire engines, and hydrants

  1. Hold a genuine Fire Hose and right-click a registered hydrant for direct water supply, or right-click a vehicle with a water tank. Truck attachment takes three seconds within five blocks by default.
  2. Right-click in any direction to spray, including into air or toward blocks you cannot mine. Each truck-fed burst uses configurable hoses.liters-per-burst, hoses.burst-cooldown-millis and hoses.cooling defaults of three liters, 350 ms cooldown and 55 cooling. The default forward reach is 28 blocks. The faster stream has a mild drop and stops at obstacles.
  3. A visible, straight particle line connects the source to your nozzle. Keep within the default 32-block hose length; configurable hoses.warning-distance defaults to warning within five blocks of the limit. Exceeding it, changing away from the hose, death, or logout disconnects the nozzle.
  4. To supply a truck, attach a hose to the truck and right-click a registered hydrant within maximum hose length. This installs and consumes one hose item, disconnecting your handheld nozzle. Use another hose to spray from the supplied truck. Trucks have no built-in water shooter.
  5. Shift-right-click to pull your handheld hose. To retrieve your installed supply hose, shift-right-click either the truck or hydrant; an empty hand also works. The hose returns to your inventory, or drops at your feet if your inventory is full.
  6. A supplied truck refills while the hydrant has water. A water outage pauses refill; the truck can still use its remaining tank water. Moving the truck out of range, removing its source, or unloading/removing the truck releases the installed hose to its owner. Offline owners receive it on their next login. Installed hoses are also returned on server restart, with pending returns saved to disk.

Without a registered provider, hoses.standalone-hydrants decides whether hydrants supply water (default true). With Utilities, its grid-water availability provider is authoritative. This integration checks availability only: Fire does not yet debit measured liters from Utilities reserves when refilling a truck.

Alarms, furnaces, and dispatch

Place genuine smoke alarms to register detection points. Alarms check every two seconds within 12 blocks by default and notify the configured Carbon carbon:fire channel. Channel membership, deafening, and hearing permissions are respected.

Unattended, actively cooking furnaces can start incidents. Defaults are a check every five seconds, a 15-block attendance radius, and a 0.5% chance per eligible check.

Initial non-spread ignition dispatches to on-duty Government firefighters. Large-fire dispatch defaults to 12 nodes, the Carbon carbon:dispatch channel, a 30-minute repeat cooldown, and 64-block deduplication radius. Spread does not produce an ordinary initial dispatch for every new node.

Vehicle fires and cleanup

Pedal bicycles never ignite when wrecked, including custom definitions using native bicycle models. Other vehicles have a 20% chance per wreck by default when vehicles.ignite-at-zero-durability is enabled. Set vehicles.wreck-ignition-chance: 0.20 in Fire config; the allowed range is 0–1 (0 disables wreck ignition, 1 makes it certain). Fuel determines intensity only after that chance succeeds; region and Property protections still apply. Remaining fuel determines its starting intensity, with configurable vehicles.minimum-fuel-intensity (default 35). Region and Property protections still apply. Vehicle water tanks supply connected handheld hoses. Water sprays respect solid obstacles.

/fire extinguish cools nodes within 12 blocks and requires a player. /fire extinguish all clears all nodes and also works from console. Both require fire.admin.extinguish. Use /fire status to confirm cleanup.

Stop, drop, and roll

To smother personal flames without a special item, follow the configurable self-extinguish settings in config.yml. Their bundled defaults are: stop for one second, crouch, look down at least 55 degrees, then move 2.5 blocks. Complete the sequence while staying eligible. Remaining surrounding fire can reignite you, so move to safety and treat any lasting Health burn/smoke conditions.

Configuration and operator setup

Use the combined Suite installation with matching pack and retain Fire state. Configure simulation fuel/heat/spread budgets, equipment capacity/cooling, oxygen cadence, Property ignition policy/cooldowns, dispatch role/channel and WorldGuard flags before arson gameplay. Genuine lighters use Narcotics' ignition service. Hydrant supply can integrate with Utilities; computer interfaces and normal brewery recipes do not become water consumers automatically.

/fire reload refreshes supported config/messages/items/recipes; Java or dependency changes require restart. Test with /fire status, protected/allowed ignition, supplied/unsupplied hydrants and a staffed dispatch department. Player confirmations alone do not prove protection allowed ignition.

Reading command syntax

Configuration defaults: Values shown for operator-configurable settings are the bundled defaults, and can be changed in the module’s configuration or definitions. The server’s active settings take precedence, so costs, speeds, ranges, durations, chances, effects, recipes, limits and enabled features may differ. Command examples illustrate syntax; fixed mechanics and validation bounds are not configuration defaults.

<argument> is required; [argument] is optional. Replace the placeholder, including its brackets, with your value. Choices separated by a vertical bar mean choose one. ... accepts the remaining words. Do not type quotation marks around multiword names unless the command specifically requires them. A bare command has no required arguments. Examples use sample players/IDs: substitute entries from your server and use Tab for configured IDs.

player means a username; operational actions usually require that player online. amount and price are currency values such as 25.00, unless the row specifies items, levels, or units. reason, memo, message, name, and statement accept text where supported. duration uses the module's duration format (for example 10m, 2h, or 7d); it is not a bare number of minutes unless stated. id is the exact identifier displayed by that system, not its friendly name. Permissions and ownership/state/location checks both apply.

Fire commands

SyntaxArguments / actionPermission
/fireHelp; no argumentsEntry access
/fire statusIncident/node counts and current Property policyfire.admin.status
/fire igniteIgnite above targeted solid block within thirty blocks; still respects policyfire.admin.ignite; player
/fire extinguishCool/extinguish around current location, twelve-block rangefire.admin.extinguish; player
/fire extinguish allClear all logical fire nodesfire.admin.extinguish; console supported
/fire reloadRefresh config/messages/items/recipesfire.reload; console supported

No coordinates or radius argument is accepted by ignite/local extinguish. Equipment is interaction-driven; issue /skylines give fire:<item> [player] [amount] and grant fire.craft.<item_id> for crafting. Example: /fire status before and after /fire extinguish all.

Root commands and aliases

These are the registered command entry points. The subcommand tables above describe their complete operations. Alias names use the same arguments as their root.

SyntaxPurposePermission / aliases
/fire <status|ignite|extinguish|reload>Fire system status and administration.Checked by operation

03

Registered entry points

Command roots

Use the command syntax sections above for every required argument and subcommand. The short usage below is the plugin’s registered help text.

CommandUsageDescriptionPermission
/fire/fire <status|ignite|extinguish|reload>Fire system status and administration.Subcommand-based

04

LuckPerms reference

Permissions

NodeDefaultDescription / children
fire.adminopNo additional description.Includes fire.admin.status, fire.admin.ignite, fire.admin.extinguish, fire.reload, fire.craft.*
fire.admin.statusfalseNo additional description.
fire.admin.ignitefalseNo additional description.
fire.admin.extinguishfalseNo additional description.
fire.reloadfalseNo additional description.
fire.craft.*falseNo additional description.
fire.craft.extinguisher_waterfalseNo additional description.
fire.craft.extinguisher_dryfalseNo additional description.
fire.craft.fire_blanketfalseNo additional description.
fire.craft.turnout_helmetfalseNo additional description.
fire.craft.turnout_coatfalseNo additional description.
fire.craft.turnout_trousersfalseNo additional description.
fire.craft.turnout_bootsfalseNo additional description.
fire.craft.scbafalseNo additional description.
fire.craft.oxygen_tankfalseNo additional description.
fire.craft.smoke_alarmfalseNo additional description.
fire.craft.accelerant_canfalseNo additional description.
fire.craft.investigation_kitfalseNo additional description.
fire.craft.fire_hosefalseNo additional description.
fire.craft.fire_hydrantfalseNo additional description.
Next pluginMCSkylines-Scopes

Command and permission references reflect the current plugin.yml manifests in this workspace.