Commit Graph

53 Commits

Author SHA1 Message Date
Paramat
be6fe9f592
Fire: Remove the ABM active when fire mod is disabled (#2209) 2018-09-14 18:33:46 +01:00
Paramat
ef20f9e12b
Fire: Make flames floodable, remove extinguish ABM 2018-09-02 02:43:59 +01:00
SmallJoker
255031fc91 Replace deprecated function calls 2018-07-01 20:44:03 +01:00
paramat
eec1c5a03b Settings: Use new settings object 2017-05-24 07:18:26 +01:00
ezhh
758d5010b8 Fire: Disable fire by default in multiplayer 2017-05-15 17:39:59 +01:00
zaoqi
077316b4cd Use creative.is_enabled_for for creative mode if possible (#1558) 2017-03-29 21:02:26 +02:00
paramat
ad118ea98d Flint & steel sounds: Fix bugs caused by nil position
Usage and tool break sounds were played at 'pointed_thing.above' which
can be nil if not pointing at anything or at an entity. This caused
sounds to be played to all players on a server non-positionally.

Fallback to player pos for sounds if 'pointed_thing.above' is nil.

Replace 'pt' variable with 'pointed_thing' in 'register_tool'.
2017-03-10 19:30:18 +00:00
Lars Hofhansl
8715b83ff0 Fire: Make explosions remove flames
TNT removes flammable nodes from the destruction radius and should
remove flames within it too because they lose their fuel and would
be removed by ABM later anyway.
2017-01-15 04:24:01 +00:00
paramat
96aac5ff5b Fire: Reduce flame light level to 13 2017-01-07 22:01:30 +00:00
paramat
fed2151d70 Fire: Rewrite fire sound code
Previous code:
Used looped sounds without attaching them to objects or playing direct
to players.
The looped sounds are not 'stopped' when players leave the area.
These may be causing the bug where sounds are heard at extreme
distances.
Entering a world with already present flames results in silent flames.
Sounds are often played at a large number of points in a 6 node lattice.
A large fire is reported to cause a high load, disabling the sound code
is reported to help this.

New code:
Optional flame sound to not interfere with ambience mods.
Permanent flame now has sound.
For multiple flames, sound is positioned at the centre of all flames, and
has volume determined by flame number.
The original freesound 'large fire' recording was used to create 3 sounds
that play at random for a non-repetitive effect. At low volume it is
suitable for small fires.

Original sound files and sound function (as an empty function) kept
temporarily to reduce disruption.

Reduce gain of flame extinguish sound.
2016-12-07 08:28:08 +00:00
paramat
e837621537 Farming/fire: Add tool break sounds
Add tool break sounds to hoes and flint and steel.
Flint and steel: Reduce gain of use sound and only add tool wear
if not in creative mode.
2016-11-26 03:14:56 +00:00
paramat
09a229b412 Update 'nodeupdate()' to 'check_for_falling()' API 2016-11-22 05:55:36 +00:00
Fernando Carmona Varo
c824d69182 Fire / tnt: Make flint-and-steel use node on_ignite functions
Add on_ignite functions to tnt, gunpowder, coalblock.
2016-11-07 14:10:00 +00:00
paramat
bca0142e7f Fire: Reduce volume of flint and steel sound 2016-10-25 04:22:17 +01:00
paramat
f7325d26b6 Fire: Add flint and steel sound 2016-10-24 04:55:08 +01:00
paramat
cabf80b743 Fire: Use 'enable fire' setting instead of 'disable fire' 2016-08-20 04:29:32 +01:00
tenplus1
619ac52693 Add labels to ABMs
Useful for searches and the mod profiler.
2016-08-09 03:56:37 +01:00
Tim
9524ff67a3 Clean up fire ABM parameters. 2016-07-15 21:58:49 +01:00
Tim
30b0a155fb Stop shadowing upvalues and definitions. 2016-07-15 21:58:49 +01:00
paramat
6386684f3e Fire: Ignite tnt, gunpowder, permanent flame above coalblock
Enable ignition of tnt, gunpowder and permanent
flame above coalblock using flint and steel
Override coalblock to remove flame above when dug
Add depends.txt for default mod
2016-06-04 13:39:00 +01:00
Auke Kok
d61803b65f Fire: move fire node removal out of ABM.
Because the fire nodes are not removed 100% when there are
no more burnable nodes nearby, they can potentially stay around
for very, very long times, leading to ABM trains every 5 seconds
for no good reason (only 1 in 16 will be removed every interval).

A much better method to remove fire nodes is to remove them by
timer, and give removal a 100% chance if no flammable nodes are
adjacent. This makes fire cleanup a lot faster and more natural,
and will reduce the amount of ABM hits making fire overall more
responsive.

We also remove the 1 in 4 chance and fold the removal of flammable
nodes into the ABM chance.

There's some low hanging fruit cleanups in here as well.
2016-05-28 15:11:31 +01:00
paramat
e426f64993 Fire: Higher chance of removing flammable nodes
Flammable nodes burn away quicker
2016-04-19 05:33:13 +01:00
Rui
7bbbcbf7b0 Fire: Use get_item_group instead of get_node_group 2016-03-30 23:11:04 +01:00
Jean-Patrick Guerrero
7a29d26e3e Fire: Allow placing only above flammable blocks 2016-03-25 13:15:04 +00:00
paramat
537f94c28e Fire: Speed up fire spread and burn out 2016-03-21 06:17:50 +00:00
Auke Kok
e5304ce674 Fire: Optimize spreading ABM.
No need to find_node_near twice with the same params.
2016-03-15 16:22:50 +00:00
Jean-Patrick Guerrero
28884cc784 Add flint and flint-and-steel 2016-03-15 16:22:42 +00:00
red-001
a5ad30748d Add an on_burn callback. 2016-03-11 15:27:57 +00:00
paramat
7d2dfe4101 Consolidate ABMs
Spread ABM intervals evenly across 1 to 16 seconds
16s ensures no nodes are missed when player walks past
Adjust chance values to compensate, for identical action rates
Combine lavacooling ABMs into one, return to chance = 1
Grass growth: add 'neighbors = "air"' to avoid
processing the thousands of underground dirt nodes
Grass death: Reduce action rate to that of grass growth
Fire: Use chance = 1 for flame extinguishing
and flame removal when mod is disabled
2016-02-14 05:22:20 +00:00
paramat
e41a411f1c Default, fire: Disable catch-up in some ABMs
To avoid processing spikes where catch-up is non-essential
Disable in: Lavacooling, grass growing, grass removal
and all fire mod ABMs
2015-11-14 04:49:03 +00:00
paramat
6f6d46ddfc Fire: Add 'permanent flame' node
Update 'disable fire' documentation in conf.example
2015-10-28 03:08:09 +00:00
paramat
acb0cecb36 Fire: Move flame extinguishing to separate faster ABM
Add extinguish sounds (from default mod lavacooling)
'disable fire' setting extinguishes fire quickly using a dedicated ABM
'disable fire' also disables all other ABMs
Simplify flammable node removal ABM
Speed up node ignition, it was too slow
Add 'sunlight propagates = true' and 'paramtype = "light" to flame
Balance fire sounds' gain
2015-09-04 23:05:26 +01:00
paramat
2392842948 Fire: Slow down fire spread and reduce lua load
Increase chance value of ABMs
Disable ignition from a distance
Only detect neighbouring extinguishing nodes
Fix code style issues and add comments
2015-08-20 04:09:22 +01:00
Wuzzy
8bc8dd64c5 Make TNT respect on_blast, implement on_blast for some nodes
Implemented nodes:
- Steel Door: Ignores explosion
- Locked Chest: Ignores explosion
- Fire: Ignores explosion
- TNT: Starts burning
- Burning TNT: Explodes immediately
- Gunpowder: Starts burning
- Burning Gunpowder: Ignores explosion
2015-05-12 16:32:52 +02:00
Rui
9c15ebccab Add max_hear_distance for fire 2015-03-29 21:35:03 +02:00
MT-Modder
525f467057 Slow down fire spread a bit 2015-03-29 21:25:46 +02:00
PilzAdam
4ec4672f01 Remove remains of weather 2014-12-06 20:58:03 +01:00
PilzAdam
5b7db48372 Fix various fire sound bugs 2014-12-03 16:59:36 +01:00
BlockMen
929559fe85 Revert "Fix fire blocking sunlight"
This reverts commit dcce6e97959647fd625c1ce219721c0b800f4938.
2014-11-08 23:25:40 +01:00
ShadowNinja
dcce6e9795 Fix fire blocking sunlight 2014-11-04 16:17:56 -05:00
BlockMen
8fe62ea7f6 Use new firelike drawtype 2014-09-21 22:25:00 +02:00
proller
83133210cc Melting and freezing 2013-07-27 23:37:54 +04:00
PilzAdam
31a74ede18 Replace minetest.env: with minetest. 2013-05-25 00:40:03 +02:00
PilzAdam
fcf0816fa8 Move all common mods back to minetest_game 2013-05-18 16:05:16 +02:00
PilzAdam
d6ec56811b Use common mods 2013-03-21 18:44:36 +01:00
Casimir
5fa8852115 Make fire buildable to 2012-12-31 13:24:05 +01:00
Splizard
deb39ddcd4 Run nodeupdate() after burning nodes. 2012-12-28 02:30:52 +01:00
PilzAdam
8a6b2df6b1 Make functions of fire mod global and move register_on_* functions to node definition 2012-11-25 20:11:54 +01:00
PilzAdam
bed848f68a Make fire hurt the player 2012-11-25 20:11:40 +01:00
PilzAdam
24939c299b Add animation for fire 2012-11-25 20:11:29 +01:00