oweals/minetest_game.git
7 years agoSapling_on_place: Restore after_place_node() calls
SmallJoker [Sat, 11 Mar 2017 12:52:20 +0000 (13:52 +0100)]
Sapling_on_place: Restore after_place_node() calls

7 years agoSethome: Migrate sethome mod to player attributes.
Auke Kok [Mon, 20 Feb 2017 22:40:37 +0000 (14:40 -0800)]
Sethome: Migrate sethome mod to player attributes.

Migrates settings safely and evacuates the `homes` file
entirely over time.

7 years agoTNT: Clarify new TNT receipe
Fixer [Mon, 13 Mar 2017 14:29:53 +0000 (16:29 +0200)]
TNT: Clarify new TNT receipe

Update readme.txt with new TNT crafting recipe.

7 years agoTextures: New textures for silver sandstone nodes
paramat [Sun, 12 Mar 2017 15:05:32 +0000 (15:05 +0000)]
Textures: New textures for silver sandstone nodes

7 years agoTNT: start fire nodetimers for created fire nodes.
Auke Kok [Fri, 10 Mar 2017 20:48:41 +0000 (12:48 -0800)]
TNT: start fire nodetimers for created fire nodes.

Without this patch, any fire created(placed) by tnt explosions
will remain forever on the map.

7 years agoKeys: Update default.can_interact_with_node to new item meta
SmallJoker [Sun, 12 Mar 2017 13:03:37 +0000 (14:03 +0100)]
Keys: Update default.can_interact_with_node to new item meta
Completes a forgotten update in 9d3a526

7 years agoLeafdecay: Register leafdecay for bush leaves
paramat [Thu, 9 Mar 2017 20:18:58 +0000 (20:18 +0000)]
Leafdecay: Register leafdecay for bush leaves

7 years agoScrewdriver: drop nodes if no longer attached.
Auke Kok [Thu, 9 Mar 2017 05:57:10 +0000 (21:57 -0800)]
Screwdriver: drop nodes if no longer attached.

This should be fairly cheap and pops off items if needed.

7 years agoCorrect rotation of attached nodes, and rotate colored nodes
Dániel Juhász [Mon, 27 Feb 2017 09:50:54 +0000 (10:50 +0100)]
Correct rotation of attached nodes, and rotate colored nodes

7 years agoScrewdriver: use table lookup for facedir rotations.
Auke Kok [Sat, 25 Feb 2017 08:27:19 +0000 (00:27 -0800)]
Screwdriver: use table lookup for facedir rotations.

The table was generated using the old code. A table lookup
should be faster than lots of math and branches.

Allows us to drop `nextrange()` as well.

7 years agoScrewdriver: allow simple wallmounted rotation.
Auke Kok [Sat, 25 Feb 2017 06:44:52 +0000 (22:44 -0800)]
Screwdriver: allow simple wallmounted rotation.

Allows rotating things like signs and torches. Axis rotation
rotates over all 6 faces, face rotation flips upside down to
flat on floor only, and of course in the 4 horizontal directions.

Made the code a bit more modular to account for different rotation
schemes. Should be easier to extend from here on to other needs,
and the functions can be reused by other mods for convenience.

7 years agoluacheck 0.19.0 complains about `unpack()`.
Auke Kok [Fri, 10 Mar 2017 19:48:44 +0000 (11:48 -0800)]
luacheck 0.19.0 complains about `unpack()`.

7 years agoFlint & steel sounds: Fix bugs caused by nil position
paramat [Fri, 10 Mar 2017 18:43:44 +0000 (18:43 +0000)]
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'.

7 years agoMapgen: Use decoration sidelen 16 for jungletrees and junglegrass
paramat [Thu, 9 Mar 2017 19:38:02 +0000 (19:38 +0000)]
Mapgen: Use decoration sidelen 16 for jungletrees and junglegrass

Currently jungletrees and junglegrass use sidelen 80 for simplicity,
but this results in a more uneven distribution of decorations. A more
even distribution helps keep rainforest darker with a more unbroken
canopy.
This is also more consistent. 80 is based on the default mapchunk
size, all other decorations use sidelen 16 or smaller to divide into
any mapchunk size.

7 years agoTree schematics: Alter jungletree, aspen, pine, appletree
paramat [Tue, 7 Mar 2017 12:00:14 +0000 (12:00 +0000)]
Tree schematics: Alter jungletree, aspen, pine, appletree

Denser jungletree for darker rainforest:
Highest 'jungletree' nodes now prob 255.
Add a 5th lower branch layer.
Increase lower branch layer y-slice prob to 191.

Aspen:
Extend trunk upwards by 1 node to reduce leafdecay radius to 2.

Pine:
Make lower trunk 1 node longer so that lowest branches are more often
higher off the ground, also to make pines taller.

Appletree:
Make 2 opposite branches prob 255, the other 2 prob 127, to avoid
trees with 1 or 0 branches. Therefore also add random rotation.

7 years agoLadder recipe: Make wooden ladder recipe more generous
paramat [Mon, 6 Mar 2017 07:26:12 +0000 (07:26 +0000)]
Ladder recipe: Make wooden ladder recipe more generous

Increase to 5 ladders from 7 sticks.
More generous to help with vertical travel.

Divide the log core volume of 14 * 14 * 16 cubic pixels by the volume of
a ladder node with two 2 * 2 * 16 side pieces and four 2 * 1 * 16 rungs
(cut down to length 14), to get 12.25 ladders per log.
The recipe of 7 stick items is 7 / 16 = 0.4375 logs.
Ladders per 7 stick items = 0.4375 * 12.25 = 5.36.

7 years agosfinv: Fix wrong tab being highlighted
rubenwardy [Sun, 5 Mar 2017 12:37:05 +0000 (12:37 +0000)]
sfinv: Fix wrong tab being highlighted

Thank you to @ForbiddenJ for finding cause of the issue.

7 years agoScrewdriver: Fix crash
tenplus1 [Wed, 1 Mar 2017 16:57:27 +0000 (16:57 +0000)]
Screwdriver: Fix crash

If 'node_box' is nil 'node_box.type' causes a crash.

7 years agoAdd desert/silver sandstone-related blocks. (#1596)
Diego Martínez [Tue, 7 Mar 2017 03:03:30 +0000 (00:03 -0300)]
Add desert/silver sandstone-related blocks. (#1596)

Add desert and silver sand-related blocks, and stairs.

7 years agoFix some warnings.
Diego Martínez [Sun, 5 Mar 2017 07:50:25 +0000 (04:50 -0300)]
Fix some warnings.

Also fixes the failing travis checks.

7 years agoDungeons: Use 'block' instead of 'brick' for nodebox stairs
paramat [Sat, 4 Mar 2017 05:28:35 +0000 (05:28 +0000)]
Dungeons: Use 'block' instead of 'brick' for nodebox stairs

7 years agoShow title and author of book in description
octacian [Sun, 26 Feb 2017 18:37:35 +0000 (10:37 -0800)]
Show title and author of book in description

Utilizes the new key-meta (as with nodes) and the ability to set the description of an itemstack with the `description` meta key. Includes code to convert old metadata to new key-meta.

7 years agoAllow interaction with nodes while wielding these items.
Auke Kok [Sun, 12 Feb 2017 00:23:43 +0000 (16:23 -0800)]
Allow interaction with nodes while wielding these items.

- beds
- boats
- carts
- key/skeleton key
- seeds

All these had on_place handlers that did not allow nodes with
an on_rightclick() handler to be used first (if not using
sneak). This code is taken from the torches mod and applied
everywhere.

This allows all these items to e.g. be inserted into the `frame`
mod's item frames.

7 years agoBiomes: New surface node for rainforest
paramat [Sun, 26 Feb 2017 01:37:35 +0000 (01:37 +0000)]
Biomes: New surface node for rainforest

Moist rainforest plant litter.
Textures by npx.

7 years agoKeys: Show owner in description
octacian [Sun, 26 Feb 2017 17:24:12 +0000 (09:24 -0800)]
Keys: Show owner in description

Utilizes several new features allowing the description of an item to be changed using the `description` meta key. This also moves keys from using the old single-value itemstack metadata system to the new node-like metadata system.

7 years agoCorals: Smaller, less dense reefs
paramat [Sat, 25 Feb 2017 03:22:58 +0000 (03:22 +0000)]
Corals: Smaller, less dense reefs

7 years agoLavacooling: Return to chance = 2
paramat [Sat, 25 Feb 2017 01:05:40 +0000 (01:05 +0000)]
Lavacooling: Return to chance = 2

Return to previous parameters interval = 1, chance = 2.
Compensates for the increase in default active block radius.
Large amounts of lava cooling at once is known to overload sound
creation, producing error messages.

7 years agoTorches: Reduce light source level from 13 to 12
paramat [Thu, 16 Feb 2017 19:17:01 +0000 (19:17 +0000)]
Torches: Reduce light source level from 13 to 12

As part of the original plan for a new lightcurve.

With the old lightcurve lights were so dim all light sources had light
source level 13 or 14 to compensate, resulting in almost no difference
between torchlight and a maximum brightness light.

The new lightcurve makes all light sources effectively much brighter by
spreading visually-bright light further, torches are now slightly too
bright. So now we can reduce the light source level of torches while
actually making them effectively brighter than with the old lightcurve.
This also creates a desirable difference between torchlight and a
maximum-brightness light source.

7 years agoLeafdecay: Node timer based implementation, API
MarkuBu [Wed, 8 Feb 2017 00:28:02 +0000 (16:28 -0800)]
Leafdecay: Node timer based implementation, API

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.

7 years agoGlobalize, rename and change the behaviour of has_locked_chest_privilege
Thomas--S [Fri, 10 Feb 2017 19:35:26 +0000 (20:35 +0100)]
Globalize, rename and change the behaviour of has_locked_chest_privilege
* rename to default.can_interact_with_node()
* pass pos instead of meta
* change order of arguments

7 years agoCarts: Fix the rail table overwrite behaviour
SmallJoker [Sun, 12 Feb 2017 10:47:22 +0000 (11:47 +0100)]
Carts: Fix the rail table overwrite behaviour

7 years agoVisual scale: Update plantlike nodes to post-bugfix values
paramat [Sat, 11 Feb 2017 23:06:47 +0000 (23:06 +0000)]
Visual scale: Update plantlike nodes to post-bugfix values

Plantlike drawtype no longer applies 'visual scale' twice, so now we
use the actual scale factor desired.
Remove unnecessary 'visual_scale = 1.0' lines.

7 years agoWaterlily: Avoid z-fighting of base texture with water surface
octacian [Sat, 11 Feb 2017 01:13:13 +0000 (17:13 -0800)]
Waterlily: Avoid z-fighting of base texture with water surface

Avoid z-fighting visible from below.
Raise the nodebox base 1/64th of a node.

7 years agoAdd sfinv.set_page, plus other helper functions 1549/head
rubenwardy [Mon, 6 Feb 2017 18:26:33 +0000 (18:26 +0000)]
Add sfinv.set_page, plus other helper functions

7 years agoDefault: Add nodebox mese post light usable as a growlamp (#1480)
Paramat [Thu, 9 Feb 2017 00:01:30 +0000 (00:01 +0000)]
Default: Add nodebox mese post light usable as a growlamp (#1480)

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.

7 years agoMake drop logic work better for non-8-step-plants. (#1544)
Thomas--S [Wed, 8 Feb 2017 23:59:25 +0000 (00:59 +0100)]
Make drop logic work better for non-8-step-plants. (#1544)

Using @paramat's formula.

7 years agoMapgen: Dedicated registrations for mgv6 blob ores
paramat [Wed, 1 Feb 2017 18:44:50 +0000 (18:44 +0000)]
Mapgen: Dedicated registrations for mgv6 blob ores

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.

7 years agoTrees: Add 'snowy' group for pine sapling snow detection
paramat [Tue, 31 Jan 2017 14:14:13 +0000 (14:14 +0000)]
Trees: Add 'snowy' group for pine sapling snow detection

Use the 'snowy' group in the 'is snow nearby' function instead of
default nodes. Often snow nodes are not from the default mod.

7 years agoCreative: Cache creative mode setting
paramat [Tue, 31 Jan 2017 11:41:50 +0000 (11:41 +0000)]
Creative: Cache creative mode setting

7 years agoOres: Add silver sand blob ore, relocate other blob ores
paramat [Wed, 28 Dec 2016 19:27:05 +0000 (19:27 +0000)]
Ores: Add silver sand blob ore, relocate other blob ores

7 years agoFix node drops not being added to inventory when not in creative mode
rubenwardy [Fri, 27 Jan 2017 19:48:27 +0000 (19:48 +0000)]
Fix node drops not being added to inventory when not in creative mode

7 years agoDungeons: Add mapgen alias for desert stone stairs
paramat [Thu, 26 Jan 2017 15:54:32 +0000 (15:54 +0000)]
Dungeons: Add mapgen alias for desert stone stairs

7 years agoStairs: Fix smooth lighting of stair mesh
number Zero [Thu, 26 Jan 2017 13:36:48 +0000 (16:36 +0300)]
Stairs: Fix smooth lighting of stair mesh

7 years agoCreative: Add creative.is_enabled_for
rubenwardy [Fri, 30 Dec 2016 22:13:27 +0000 (22:13 +0000)]
Creative: Add creative.is_enabled_for

7 years agoSounds: Remove 'default_dig_crumbly' from leaves defaults table
paramat [Sun, 22 Jan 2017 06:54:59 +0000 (06:54 +0000)]
Sounds: Remove 'default_dig_crumbly' from leaves defaults table

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.

7 years agoTextures: Strip color profiles from some textures
Martin Doege [Sat, 14 Jan 2017 18:30:33 +0000 (19:30 +0100)]
Textures: Strip color profiles from some textures

Removes the "iCCP: known incorrect sRGB profile" error messages on the
console when starting minetest_game by stripping offending color profiles.

7 years agoTNT: Log explosions and player igniting tnt or gunpowder
Auke Kok [Tue, 17 Jan 2017 23:21:13 +0000 (15:21 -0800)]
TNT: Log explosions and player igniting tnt or gunpowder

7 years agoRevert "Doors: Remove ..." and "Doors: Allow the screwdriver to ..."
Auke Kok [Sun, 15 Jan 2017 05:39:17 +0000 (21:39 -0800)]
Revert "Doors: Remove ..." and "Doors: Allow the screwdriver to ..."

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`.

7 years agoTree log decorations: Replace lua tables with .mts files
paramat [Sat, 14 Jan 2017 02:30:27 +0000 (02:30 +0000)]
Tree log decorations: Replace lua tables with .mts files

7 years agoFire: Make explosions remove flames
Lars Hofhansl [Wed, 11 Jan 2017 05:35:48 +0000 (21:35 -0800)]
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.

7 years agoAdd support for custom bed sounds
Baptiste Pouget [Thu, 12 Jan 2017 17:45:59 +0000 (18:45 +0100)]
Add support for custom bed sounds

7 years agoDye: Simplify recipes.
Auke Kok [Sun, 8 Jan 2017 05:21:30 +0000 (21:21 -0800)]
Dye: Simplify recipes.

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.

7 years agoDefault: Alter sand to sandstone recipe
paramat [Fri, 6 Jan 2017 06:15:38 +0000 (06:15 +0000)]
Default: Alter sand to sandstone recipe

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.

7 years agoFire: Reduce flame light level to 13
paramat [Thu, 5 Jan 2017 01:34:22 +0000 (01:34 +0000)]
Fire: Reduce flame light level to 13

7 years agoLicense.txt: Include full official LGPL 2.1 .txt file
paramat [Mon, 2 Jan 2017 23:12:40 +0000 (23:12 +0000)]
License.txt: Include full official LGPL 2.1 .txt file

Copy-paste and only remove form-feed characters.

7 years agoAdd /killme chat command
rubenwardy [Mon, 2 Jan 2017 15:44:15 +0000 (15:44 +0000)]
Add /killme chat command

Added as a new mod as it doesn't fit anywhere else.

This is a game play change, so it better suited to
Minetest Game rather than builtin

Fixes #857

7 years agoMake doors place when shift is held instead of calling on_rightclick
rubenwardy [Tue, 3 Jan 2017 16:54:01 +0000 (16:54 +0000)]
Make doors place when shift is held instead of calling on_rightclick

Fixes #1364

7 years agoAdd LICENSE.txt
rubenwardy [Mon, 2 Jan 2017 16:21:38 +0000 (16:21 +0000)]
Add LICENSE.txt

7 years agoDefault: More generous meselamp recipe
paramat [Sun, 1 Jan 2017 14:10:22 +0000 (14:10 +0000)]
Default: More generous meselamp recipe

Require only 1 mese crystal instead of 3.
To make farming in dark locations easier.
To reduce and balance recipe ore cost.

7 years agoPapyrus, cactus: Require light level 13 for growth
SmallJoker [Tue, 27 Dec 2016 15:18:49 +0000 (16:18 +0100)]
Papyrus, cactus: Require light level 13 for growth

7 years agoDecrease the cost of gunpowder for trails
DS-Minetest [Sun, 1 Jan 2017 23:41:04 +0000 (00:41 +0100)]
Decrease the cost of gunpowder for trails

The cost of TNT remains the same

7 years agoBoats: Avoid crash if boat pos over limit 0.4.15
paramat [Wed, 21 Dec 2016 07:38:27 +0000 (07:38 +0000)]
Boats: Avoid crash if boat pos over limit

If the boat pos is over limit, 'add entity' will not add an entity,
causing 'boat' to be nil.

7 years agoSounds: Edit some sound gains, mostly footsteps
paramat [Thu, 15 Dec 2016 08:13:36 +0000 (08:13 +0000)]
Sounds: Edit some sound gains, mostly footsteps

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.

7 years agoFurnace: Attempt to fix exploits
Auke Kok [Thu, 15 Dec 2016 07:45:48 +0000 (23:45 -0800)]
Furnace: Attempt to fix exploits

The fuel would remain active even if source went empty, giving
free cook time to newly inserted items. This patch is supposed
to stop this.

7 years agoDefault: Add missing 'default_dig_snappy' sound
paramat [Sat, 10 Dec 2016 01:05:16 +0000 (01:05 +0000)]
Default: Add missing 'default_dig_snappy' sound

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.

7 years agoCarts: Stronger handbrake
paramat [Wed, 7 Dec 2016 03:23:03 +0000 (03:23 +0000)]
Carts: Stronger handbrake

Handbrake was barely noticeable and fairly useless.
Equalisng with brake rail deceleration makes it more intuitive to use
and easier to judge stopping distance.

7 years agoFurnace: Make furnaces work when unloaded
HybridDog [Sat, 10 Sep 2016 07:11:52 +0000 (09:11 +0200)]
Furnace: Make furnaces work when unloaded

This is slightly modified after #1279 - the setting for furnace
timer was removed and hardcoded to 1.0s, which is the old furnace
timer interval.

7 years agoFire: Rewrite fire sound code
paramat [Sat, 3 Dec 2016 04:54:44 +0000 (04:54 +0000)]
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.

7 years agoSnappy group: Remove beds and cactus from group
paramat [Sun, 4 Dec 2016 06:55:32 +0000 (06:55 +0000)]
Snappy group: Remove beds and cactus from group

7 years agoAdd sfinv.get_homepage_name(player) 1429/head
rubenwardy [Tue, 29 Nov 2016 09:26:56 +0000 (09:26 +0000)]
Add sfinv.get_homepage_name(player)

Also sets creative:all as default inventory page
Fixes #1423

7 years agoDefault: Convert remaining indexed leaves to RGBA
paramat [Sun, 4 Dec 2016 03:50:07 +0000 (03:50 +0000)]
Default: Convert remaining indexed leaves to RGBA

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.

7 years agoDefault/flowers: Improve papyrus and waterlily schematics
paramat [Sun, 4 Dec 2016 01:52:06 +0000 (01:52 +0000)]
Default/flowers: Improve papyrus and waterlily schematics

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.

7 years agoXpanes: Improve bars texture
Napiophelios [Sat, 3 Dec 2016 20:56:41 +0000 (15:56 -0500)]
Xpanes: Improve bars texture

7 years agoFarming: Change wheat into # shaped plant
Auke Kok [Sat, 3 Dec 2016 07:39:25 +0000 (23:39 -0800)]
Farming: Change wheat into # shaped plant

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.

7 years agoTorches: Make selection boxes consistent
Auke Kok [Sat, 3 Dec 2016 07:05:01 +0000 (23:05 -0800)]
Torches: Make selection boxes consistent

This makes all the 3d torch selection boxes 1px oversized. Before,
they were inconsistently sized and too small for the upright torch.

7 years agoDefault: Make Book with Text a furnace fuel
Wuzzy [Thu, 1 Dec 2016 16:34:56 +0000 (17:34 +0100)]
Default: Make Book with Text a furnace fuel

7 years agoDefault / flowers: New biomes. Limit dirt blobs. Add corals, bushes
paramat [Thu, 1 Dec 2016 03:15:15 +0000 (03:15 +0000)]
Default / flowers: New biomes. Limit dirt blobs. Add corals, bushes

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.

7 years agoAdd Cobble Walls to Moss Growth ABM
Napiophelios [Wed, 30 Nov 2016 08:59:49 +0000 (03:59 -0500)]
Add Cobble Walls to Moss Growth ABM

8 years agoBoats / carts: Fix and improve on_punch functions
paramat [Tue, 29 Nov 2016 02:28:55 +0000 (02:28 +0000)]
Boats / carts: Fix and improve on_punch functions

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.

8 years agoAvoid "leaking" creative inventories to other players
sfan5 [Sun, 27 Nov 2016 11:15:52 +0000 (12:15 +0100)]
Avoid "leaking" creative inventories to other players

8 years agoFix ItemStack method call for keys.
Auke Kok [Sun, 27 Nov 2016 22:05:28 +0000 (14:05 -0800)]
Fix ItemStack method call for keys.

Fixes (I hope) #1420 (bad method call).

8 years agoCarts: Make rails 'is ground content = false'
paramat [Mon, 28 Nov 2016 01:17:15 +0000 (01:17 +0000)]
Carts: Make rails 'is ground content = false'

8 years agoCreative: Re-implement constant hand dig times, add comment
paramat [Sun, 27 Nov 2016 23:52:28 +0000 (23:52 +0000)]
Creative: Re-implement constant hand dig times, add comment

8 years agoCarts: Take creative mode into account
Diego Martínez [Sun, 27 Nov 2016 06:02:38 +0000 (03:02 -0300)]
Carts: Take creative mode into account

This commit makes the carts mod not add the cart
item to the player's inventory if running with
creative mode and the player already has it.

8 years agoCarts: Increase performance overall
SmallJoker [Sat, 26 Nov 2016 08:48:24 +0000 (09:48 +0100)]
Carts: Increase performance overall

8 years agoCarts: Improve readme file
SmallJoker [Sat, 26 Nov 2016 08:20:09 +0000 (09:20 +0100)]
Carts: Improve readme file

8 years agoCarts: Move entity definition to seperate file
SmallJoker [Sat, 26 Nov 2016 08:09:35 +0000 (09:09 +0100)]
Carts: Move entity definition to seperate file

8 years agoCarts: Increase power rail acceleration to help climbs
paramat [Fri, 25 Nov 2016 02:04:12 +0000 (02:04 +0000)]
Carts: Increase power rail acceleration to help climbs

This is partly a workaround for a bug.
Climbs with continuous power rails were failing often due to
unexplained losses of speed leading to a reversal of direction.
The lack of acceleration on climbs meant that lost speed was not
regained.
Keeping cart speed at maximum on climbs helps reduce the chance of
reversals.

This also allows players to slowly accelerate up to full speed on a
climb without needing a horizontal run-up to reach full speed first.
It may not be possible to build the horizontal sections needed, or,
if players are replacing a previous carts mod their track
constructions, bridges, tunnels etc. will often not have the
horizontal sections needed.
Players will also sometimes need to place and enter a cart on a slope
and be able to climb.

8 years agoSfinv: Add sfinv to allow tabs to be added to the inventory
rubenwardy [Mon, 4 Jul 2016 18:19:39 +0000 (19:19 +0100)]
Sfinv: Add sfinv to allow tabs to be added to the inventory

8 years agoFarming/fire: Add tool break sounds
paramat [Fri, 25 Nov 2016 02:24:46 +0000 (02:24 +0000)]
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.

8 years agoDefault: Several improvements of character model
Rogier [Thu, 17 Nov 2016 08:09:48 +0000 (09:09 +0100)]
Default: Several improvements of character model

- Improve arms attachment

  The arm bones were at an angle, so that the bones were difficult
  to orient correctly, as unintuitive combinations of angles
  would be needed to get the default orientation, or any other
  acceptable orientation. Moreover, a simple rotation of the arm,
  e.g. forward, would require all angles to be adapted, instead
  of just one.

  The ends of the arms bones were moved from touching the body, to
  the center of the arm, at an equal distance from the sides of the
  arm and the shoulder; the arm bone is now in the center of the arm.

- Fix body rotation

  The body was rotated 180° while the rest wasn't, leading to
  strange results when setting bone positions manually.

- Fix default rotation of limbs (manually positioning them in
  their default position would require an 180° rotation).
  Is is not know how this was fixed. Maybe just because the
  model was re-exported.

- The bone of the cape was moved to the center of the cape (it was
  at the edge). For some reason this fixed the 180° rotation of the
  cape when it was manually positioned (similar to previous issue).

The changes above fix most of the issues mentioned in #1376

- Add a player-model-specific workaround for the problem described in:
  https://github.com/minetest/minetest/issues/2813#issuecomment-198796927
  https://github.com/minetest/minetest_game/pull/1392#issuecomment-261669915

  During walking, attached tools would randomly switch hands. Walking also
  happens to be the only animation where the body does not move. Making the
  body move an imperceptible amount makes the issue disappear for the player
  model.

- Fix body vertex group: it no longer includes parts of arms and legs

Thanks to @stujones11 for these last two changes.

8 years agoKeys: Allow easy sharing of access without commands
Auke Kok [Sat, 26 Dec 2015 19:16:49 +0000 (11:16 -0800)]
Keys: Allow easy sharing of access without commands

This code adds the key concept to minetest_game, and integrates it
with lockable nodes. Currently supported lockable items are the Steel
Door, the Steel Trapdoor, and the Locked Chest.

The goal of this modification is to introduce a fine-grained multi-
player permission system that is intuitive and usable without any
console or chat commands, and doesn't require extra privileges to
be granted or setup. Keys can also physically be conveyed to other
players, adding to gameplay and adding some personality that is
preferable to console commands or editing formspecs.

A skeleton key can be crafted with 1 gold ingot. Skeleton keys can
then be matched to a lockable node by right-clicking the skeleton
key on a lockable node, which changes the skeleton key to a "key".

Gold was chosen as it's currently a not-so very useful item, and
therefore it's likely that players have some, but aren't really
using it for any purpose.

This key can subsequently used by any player to open or access that
lockable node, including retrieving items from Locked Chests, or
putting items in them.

They key is programmed to fit only the particular locked node it is
programmed to. This is achieved by storing a secret value in both
key and locked node. If this secret value doesn't match, the key
will not open the locked node. This allows many keys to be created
for one chest or door, but a key will only fit one node ever. The
secrets are stored in node, and item meta for the key.

If a locked node is removed, all keys that opened it are no longer
valid. Even if a new door/chest is placed in exactly the same spot,
the old keys will no longer fit that node.

Keys can be smelted back in gold ingots if they are no longer useful.

The method of storing a secret in nodemeta and itemstackmeta is secure
as there is no way for the client to create new items on the server
with a particular secret metadata value. Even if you could possible
create such an itemstack on the client, the server does not ever read
itemstackmeta from a client package.

The patch adds an API that allows other nodes and nodes added by
mods to use the same keys as well. The method how to implement this
is described in game_api.txt. The mod should add 2 callbacks to it's
node definition. Example code is given.

Textures are from PixelBOX, thanks to Gambit.

8 years agoUse travis' container-based infrastructure (#1314)
sfan5 [Thu, 24 Nov 2016 06:00:35 +0000 (07:00 +0100)]
Use travis' container-based infrastructure (#1314)

Use travis' container-based infrastructure (no sudo)

8 years agoMerge 'torches' mod as default:torch.
Auke Kok [Wed, 12 Oct 2016 04:05:10 +0000 (21:05 -0700)]
Merge 'torches' mod as default:torch.

This merges the current state of the well-maintained and tested
`torches` mod as I've maintained it for the last 6 months.

This started out as a thorough cleanup of 3D torches by blockmen,
where some of the initial code still remains.

The models were redone entirely from scratch and have been extensively
tested with dozens of animated textures converted with mcimport,
and look a lot better than the original 3D Torches mod.

The ceiling torch is retained and functional. The `wieldlight`
addition that the torches mod has was removed, since it relies
on wieldview to look decent. This can stay external mod code.

I've opted to move the torch nodes to a separate file. It's not
a lot of code but nodes.lua is already huge, and I wanted to
retain the copyright header and some of the readme.txt notes,
and this was the easiest way of doing it.

This code passes "default:torch" to nodes with on_rightclick,
fixing problems with itemframes. Essentially it has a more
elaborate item_place() routine to make sure we're not passing
the wall torch to nodes that may display it.

The ceiling torch is a separate model and not the same as the
floor model. That does mean that there are 3 models in this
mod.

8 years agoUpdate 'nodeupdate()' to 'check_for_falling()' API
paramat [Tue, 22 Nov 2016 04:45:31 +0000 (04:45 +0000)]
Update 'nodeupdate()' to 'check_for_falling()' API

8 years agoMake smoke puff sound mono
Auke Kok [Tue, 22 Nov 2016 02:25:41 +0000 (18:25 -0800)]
Make smoke puff sound mono

Stereo sounds are not played positionally, which should never
happen. Convert this track to mono to fix.

8 years agoFarming: Add forgotten colon
Thomas--S [Sun, 20 Nov 2016 18:21:57 +0000 (19:21 +0100)]
Farming: Add forgotten colon

This makes the itemstrings consistent over the whole file.

8 years agoDefault: Add water footstep sounds
paramat [Thu, 17 Nov 2016 02:41:38 +0000 (02:41 +0000)]
Default: Add water footstep sounds

Plus one silent sound to break repetition 'default_water_footstep.4.ogg'.

8 years agoCarts: Merge boost_cart as "carts" mod
Auke Kok [Sat, 8 Oct 2016 21:14:10 +0000 (14:14 -0700)]
Carts: Merge boost_cart as "carts" mod

This is all the working code from SmallJoker's boost_cart, poored into
a more suitable form for minetest_game.

- Mesecons and moreores stuff was removed entirely.
- Textures were all renamed and moved out of default/
- Updated license, readme.txt, attribution
- Changed code license to MIT, left artwork at CC0
- removed default:rail and made aliases for it
- :carts:rail is now carts:rail.
- localized entity def
- removed copper rail entirely
- startstop rail was removed, as well as detector rail
- remodeled to b3d using stujones11 excellent blend model, but sizes
  of cart adjusted to make pixel sizes consistent (0.625) everywhere.
- slightly more complex texture map for the cart (front/side visibly
  different)
- rail parameters are passed as a separate def table, and stored in
  a private list. This avoids having to call `get_meta` on every
  node. In return, we need the node name, though.
- adds metal sounds (based on default metal sound function) and
  cart moving sound.
- reduced cart speeds to max 7, 5 by pushing.
- Added on_step() rail event handler, gets called when a cart is on
  a rail.
- Added various rebased updates from upstream (thanks Krock)
- Included a fix that removes the 'reverse jiggle' when stopping.
- Included reworked textures by sofar.

The mod namespace is still public, but I'm NOT declaring it an API. I'd
rather see it localized instead, for now. Any public interface in this
code is *experimental* at best, and should be considered non-stable and
unsupported for now.

8 years agoFix whitespace errors to silence luacheck.
Auke Kok [Sun, 20 Nov 2016 03:24:37 +0000 (19:24 -0800)]
Fix whitespace errors to silence luacheck.

Currently all minetest_game PR's are failing travis since the
upstream luacheck now also warns about whitespace issues, and
there are a few of those in the code. This fixes all of them
so we can yet again rely on luacheck.