This implements a node-timer based leafdecay mechanism, and exposes
an API to use it in mods.
The API is documented in game_api.txt.
`default.register_leafdecay(leafdecaydef)`
`leafdecaydef` is a table, with following members:
{
trunks = { "default:tree"}, -- nodes considered trunks
leaves = { "default:leaves", "default:apple"}, -- nodes considered leaves
radius = 3, -- activates leafdecay this far from the trunk
}
The algorithm will drop `leaves` items in the area if no `trunks` are found
in the `trunk_radius` sized area around the position of the leaf. If a node
listed in `leaves` has a group `leafdecay_drop > 0`, then the item is dropped,
otherwise the item is removed but not dropped.
The algorithm also implements a value `default.leafdecay_speed` (default
15) which can be modified to increase or decrease of the leaf decay. The
algorithm will vary the actual speed a bit to introduce randomness.
Leaf decay is randomized by 0.1 seconds to reduce the chance that
decay happens many times on the same second interval. This requires
nodetimer_interval to be set to values lower than 1.0 to have an
effect.
The leaves will decay between 2 and 10 seconds after digging the trunk,
and happen at non-integer second intervals.
-- The API was added by sofar.
Plantlike drawtype no longer applies 'visual scale' twice, so now we
use the actual scale factor desired.
Remove unnecessary 'visual_scale = 1.0' lines.
Light level 14 to be able to grow plants.
3 returned from crafting with 1 glass node, 3 mese crystals and 1
wood plank.
Seamlessly placable on appletree wood fence posts.
Now that biomes are being specified for blob ores we need a separate
set of blob ore registrations for mgv6 which has no Biome API biomes
defined.
Various minor improvements to mapgen.lua.
Now that the missing 'default_dig_snappy' sound has been added we can
remove the dirt dig sound from the table. All nodes that use the
leaves defaults table have group 'snappy' so 'default_dig_snappy' now
becomes their default dig sound.
This reverts commit 5e4a6e8ac68b92c7394b80bb67839b71b4a4a00b, and
commit 60cf3f85b6e661482ec2705cadbdc1b04e388d19.
The original door API rewrite I posted had all rotation disabled using
the correct on_rotate() handler returning `false`. Two subsequent
changes attempting first to enable simple rotation and second disabling
that again changed the callback handler to a boolean `false`, which
is incorrect use in the screwdriver API, and actually allows rotation.
The proper way to disable rotation for facedir nodes it to use a full
callback handler that does `return false`.
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.
Create a simple triplet table (src1, src2, dst) for all the dye
recipes and group them logically, with a bit of explanation where
they actually come from.
This prunes a lot of recipes from the list, but the old list had a
ton of combinations that did not make any sense, as well as recipes
that were just gross approximations and duplicates, mixing the same
color with itself just to get the same color back, which just wastes
packets at logon.
The list has been checked to allow all colors created from the basic
dyes (flowers+coal) so that all colors can be crafted.
Craft 4 default:sand to default:sandstone.
Previously, 4 group:sand was craftable to sandstone and sandstone was
craftable back into default:sand, allowing silver and desert sands to
be converted into incorrect colour sandstone and yellow sand.
I recently made glass footstep and dig gains too low, raise slightly.
Change dirt dug gain from above-maximum 1.5 to maximum 1.0.
Reduce gain of footsteps: stone, dirt, gravel, wood, metal
Raise gain of leaves footstep.
Some nodes with the snappy group (wool, glass pane, seeds) were missing
sound when dug with a sword.
Adding the sound causes it to be used for glass pane, so define a 'dig'
sound in the 'node sound glass defaults' table, use the footstep sound.
Adding the sound also causes it to be used for seeds which deliberately
have no dig sound, so add an empty sound override for seed dig.
Reduce the gain of the glass footstep sound which was excessively loud.
Add some freesound members to license.txt.
Handbrake was barely noticeable and fairly useless.
Equalisng with brake rail deceleration makes it more intuitive to use
and easier to judge stopping distance.
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.
Some GPUs cause visual bugs when mip-mapping is used with indexed textures
that use alpha. Because leaves are sometimes rendered opaque it is even
more important to keep these as RGBA to preserve the correct background
colour.
Papyrus:
Make base node dirt instead of dirt_with_grass. Formerly the exposed
dirt would change to grass but the new grass spread ABM now prevents that.
Waterlily:
Don't specify a water_source node in the schematic, as it may be used in
river water. It was not force-placed but should really be "air" prob = 0.
This changes the farming API such that any nodedef with paramtype2
and place_param2 are passed through to all the plant stages of the
farming plant.
This allows plants to use an alternative mesh for the plantlike
drawtype, and provide a bit of graphical variation in plants.
We enable this for wheat, using place_param2 = 3, which is the '#'
shaped plant mesh. If you would actually be able to give yourself
this plant in creative or through /give, you would also get the
same '#' shape.
Biomes:
Add 'sandstone desert', 'cold desert', 'snowy grassland'.
Rename 'glacier' biome to 'icesheet' biome.
Rename non-swamp 'swamp' biomes to 'shore' biomes.
Remove 'sandstone grassland' biome.
Rename 'stone grassland' biome to 'grassland' biome.
Edit biome points for improved similarity to Whittaker classification.
Change 'tundra' to bare stone with snowblocks.
Make dirt 'swamp' / 'shore' less deep.
Ores:
Make dirt blob ore biome-specific, limit to dirt biomes.
Decorations:
Make mushroom noise spread match that of appletrees as originally intended,
to have mushrooms spawn in darker thicker forest areas.
Add coral reefs in warm oceans.
Add bushes and acacia bushes.
Jungletrees in deeper water for larger swamps.
Register flower mod decorations in singlenode mapgen for use by
minetest.generate_registered_decorations, as in default/mapgen.lua.
Boats:
Previously, boats were not added to inventory in creative mode, fix.
In creative mode multiple boats will not be added to inventory.
Add comment.
Carts:
Set speed to 2 if punched by a non-player, to match the effect of a
player punch.
Add comments.