oweals/minetest_game.git
7 years agoBooks: Also limit the max size of the title
red-001 [Wed, 14 Jun 2017 20:31:47 +0000 (21:31 +0100)]
Books: Also limit the max size of the title

This limits the max size of the full title of the book to `80` letters and
the size of the part thats displayed in the tooltip to `35` letters.

7 years agoBooks: Limit the size of books
red-001 [Wed, 14 Jun 2017 17:57:05 +0000 (18:57 +0100)]
Books: Limit the size of books

Really large books just waste hard drive space and the engine is not designed to
handle that much data in item metadata, this can cause strange things to happen.

7 years agoBooks: Add nil value checks to the book formspec handler
red-001 [Tue, 13 Jun 2017 22:59:25 +0000 (23:59 +0100)]
Books: Add nil value checks to the book formspec handler

7 years agoStairs: Use one recipe matching inventory appearence
paramat [Sat, 3 Jun 2017 21:41:39 +0000 (22:41 +0100)]
Stairs: Use one recipe matching inventory appearence

No longer have 2 recipes for stairs, choose the one that matches the appearence
in inventory (stair rising toward the right).
Helps to reduce recipe count now that an increasing number of stairs are
being registered.

7 years agoDefault: Revert "Default: Shorter and better ABMs"
vorunbekannt75@web.de [Tue, 6 Jun 2017 17:20:58 +0000 (19:20 +0200)]
Default: Revert "Default: Shorter and better ABMs"

This reverts commit e523c3a2965afe76b9102b67992e15fafba1594a to re-enable
the overriding and redefinition of these global functions.

7 years agoMerge 0.4.16 into stable-0.4
ShadowNinja [Sat, 3 Jun 2017 21:22:59 +0000 (17:22 -0400)]
Merge 0.4.16 into stable-0.4

7 years agoChange "Junglewood" to "Jungle Wood" 0.4.16
MrIbby [Wed, 24 May 2017 21:22:17 +0000 (14:22 -0700)]
Change "Junglewood" to "Jungle Wood"

7 years agoResize book textures from 16x17 to 16x16
Michael Bargatin [Thu, 25 May 2017 10:34:14 +0000 (13:34 +0300)]
Resize book textures from 16x17 to 16x16

7 years agoSettings: Use new settings object
paramat [Mon, 22 May 2017 13:41:17 +0000 (14:41 +0100)]
Settings: Use new settings object

7 years agoDefault: Shorter and better ABMs (#1739)
theFox6 [Sat, 20 May 2017 12:32:52 +0000 (14:32 +0200)]
Default: Shorter and better ABMs (#1739)

Action of some abm's call functions directly, instead of calling the function inside a function.

7 years agoRemove set_inventory_formspec in default, remove delay in sfinv
sfan5 [Wed, 17 May 2017 18:56:39 +0000 (20:56 +0200)]
Remove set_inventory_formspec in default, remove delay in sfinv

7 years agoChest: Redo new chests to use single-tile textures where possible
Vanessa Ezekowitz [Mon, 8 May 2017 19:29:07 +0000 (15:29 -0400)]
Chest: Redo new chests to use single-tile textures where possible

This keeps the filenames the same, but adds a new "inside" double texture
for the open chest.
Use regular drawtype for closed chest and delete the "cube.obj" model.
X-flip the right-side texture for the closed chest.

7 years agoFire: Disable fire by default in multiplayer
ezhh [Mon, 10 Apr 2017 01:23:00 +0000 (02:23 +0100)]
Fire: Disable fire by default in multiplayer

7 years agoChests: Revert inventory name
tenplus1 [Mon, 8 May 2017 11:47:53 +0000 (12:47 +0100)]
Chests: Revert inventory name

Revert the new 'default:game' inventory back to the old 'main' and use the
lbm to restore the contents of the chest.
Change the name of the conversion LBM to ensure it is run again on already
converted chests.

7 years agoChange the selection_box of bush stems (#1733)
cx384 [Sat, 13 May 2017 10:49:04 +0000 (12:49 +0200)]
Change the selection_box of bush stems (#1733)

This is needed because you can't place a node above a bush stem when you are pointing at the bush stem.

7 years agoChest open model: UV map fix.
Auke Kok [Sun, 7 May 2017 05:01:31 +0000 (22:01 -0700)]
Chest open model: UV map fix.

The back side had a UV mapping issue which caused the bottom
rear part to "shrink" when opened.

7 years agoFix nil deref issue with people hitting chests too often.
Auke Kok [Sun, 7 May 2017 04:15:34 +0000 (21:15 -0700)]
Fix nil deref issue with people hitting chests too often.

7 years agoChests: Keep old textures for mod compability
SmallJoker [Sun, 7 May 2017 06:33:26 +0000 (08:33 +0200)]
Chests: Keep old textures for mod compability
Prevents generating ugly looking dummy images for mods that weren't updated yet.

7 years agoAdd option to disable lavacooling (#1726)
Ezhh [Sun, 7 May 2017 16:25:53 +0000 (17:25 +0100)]
Add option to disable lavacooling (#1726)

7 years agoFix merging mistake (crash in "stairs")
sfan5 [Mon, 1 May 2017 19:23:44 +0000 (21:23 +0200)]
Fix merging mistake (crash in "stairs")

7 years agoStairs: Add snowblock and ice stairs and slabs
Tim [Mon, 27 Mar 2017 20:55:53 +0000 (21:55 +0100)]
Stairs: Add snowblock and ice stairs and slabs

7 years agoTNT: Gunpowder (and tnt.burn) will trigger the on_ignite of nodes
Fernando Carmona Varo [Sun, 13 Nov 2016 15:08:07 +0000 (16:08 +0100)]
TNT: Gunpowder (and tnt.burn) will trigger the on_ignite of nodes

The previous behaviour is kept as fallback for compatibility, for when the on_ignite
is not defined in the node.

7 years agoImprove Chest appearance - opening chests.
Auke Kok [Sun, 17 Jan 2016 23:32:50 +0000 (15:32 -0800)]
Improve Chest appearance - opening chests.

Adds a mesh model that appears when a chest is opened. The chest
stays visibly open as long as the player keeps it open. When the
player closes the formspec, the chest returns back to the closed
shape. While opening and closing, a sound plays.

A second person inspecting the chest will trigger a second sound
open. However, only after the last player closes the chest, does the
chest actually visually close and is the sound close played. This
keeps mesh updates to a minimum.

While it's possible that a server shutting down may cause chests
to remain open, this does not affect the chests' working matter,
and opening or closing them should fix them.

Old chests are converted to the new style by LBM. I previously
had them converted on open but this was unreliable, and LBMs
don't have that problem.

Open chests cannot be dug up. This prevents people from keeping
a chest open and digging it out as well, since closing a chest
would place a chest back (swap) at the spot. We could protect
against this, but it still messes up the client and causes a lot
of "missing node inventory" error messages otherwise. It's
unlikely but possible that a player lagging out causes a chest
to stay "open" and thus unremovable by digging, but there are
other ways of dealing with that - a server restart fixes that
issue.

If the lid of the chest is obstructed, the sounds continue to play,
but the lid isn't opened. Obstructed means that a node is present
above the chest lid, however, we ignore several node types like signs,
torches (not 3d) and wallmounted nodeboxes (typically signs) since
they don't pose any major obstruction in almost any case, and are
typically found above chests. Additionally, the selection box of the
opened chest does not include the lid, and so one can still interact
with e.g. a sign behind an open lid.

Due to the fact that chests now have 7+ textures, we can no longer
use materials (limit: 6) to texture the chest, and so there is now
a single UV mapped image that applies both to open and closed chests.
While this does mean texture pack makers need to create it, this
is extremely simple and consists of a simple cut'n'paste over the
template and should be really easy to do. Only one texture file is
now then used for both open and closed chests.

7 years agoDoors: place sound when placing a door.
Auke Kok [Sat, 29 Apr 2017 04:09:07 +0000 (21:09 -0700)]
Doors: place sound when placing a door.

Due to door items being the thing that's placed, we need to
explicitly play a sound when placing a door.

Fixes #1363

7 years agoFix books getting erased on page button use.
Auke Kok [Sat, 29 Apr 2017 03:56:51 +0000 (20:56 -0700)]
Fix books getting erased on page button use.

Changing the book page caused the entire itemstack meta to
get wiped due to improper calling of meta:from_table().

Fixes #1711

7 years agoRemove dye craft recipe conflict.
Auke Kok [Thu, 27 Apr 2017 03:19:59 +0000 (20:19 -0700)]
Remove dye craft recipe conflict.

We have enough gray recipes, but brown is more difficult.

Fixes #1710

7 years agoFix owner not being checked on write to book
rubenwardy [Tue, 25 Apr 2017 23:15:15 +0000 (00:15 +0100)]
Fix owner not being checked on write to book

7 years agoTin: Tune mapgen, bugfix, fix texture credits
paramat [Sun, 23 Apr 2017 03:09:46 +0000 (04:09 +0100)]
Tin: Tune mapgen, bugfix, fix texture credits

Previously i had matched ore density to moreores, but this density was
too high and out of balance with MTGame, reduce density to be similar
to copper ore.
The 2 levels of underground ore were overlapping, fix.
Textures are actually by kilbith, update credits.

Also credit kilbith for bronze, copper, gold and steel blocks, credits
had not been updated at the time.

7 years agoTextures: Reduce contrast of snow ripples
paramat [Sun, 23 Apr 2017 02:48:12 +0000 (03:48 +0100)]
Textures: Reduce contrast of snow ripples

7 years agoCreative: Automatic item colorization for creative mode
Dániel Juhász [Sat, 22 Apr 2017 12:34:51 +0000 (14:34 +0200)]
Creative: Automatic item colorization for creative mode

7 years agoOres: Add tin ore, lump, ingot and block
paramat [Wed, 19 Apr 2017 01:48:00 +0000 (02:48 +0100)]
Ores: Add tin ore, lump, ingot and block

Use Calinou's textures from moreores mod.
Craft bronze from tin and copper instead of steel and copper.
Match ore density to the moreores mod but start ore at a depth of
y = -32 to be part of the depth progression of other ores.

7 years agoDoors: Ignore permission check if player parameter is omitted
upsilon [Mon, 17 Apr 2017 10:56:27 +0000 (12:56 +0200)]
Doors: Ignore permission check if player parameter is omitted

As written in game_api.txt.

7 years agoKeys: Move skeleton key to craftitems.lua
octacian [Thu, 16 Mar 2017 05:22:09 +0000 (22:22 -0700)]
Keys: Move skeleton key to craftitems.lua

Commit 73d61cbb103415c9a3970eaf2c48aeadabfff828 makes skeleton keys
craftitems rather than tools, warranting the move from tools.lua
to craftitems.lua.

7 years agoKeys: Allow skeleton keys to be stacked
octacian [Thu, 16 Mar 2017 05:20:44 +0000 (22:20 -0700)]
Keys: Allow skeleton keys to be stacked

Allow skeleton keys to be stacked by converting them to craftitems and
adding a few lines of code to add a new itemstack to the inventory with
the new key or drop it at the player position if the inventory is full.

7 years agonodebox -> node_box
Thomas--S [Wed, 12 Apr 2017 20:27:58 +0000 (22:27 +0200)]
nodebox -> node_box

Seems like this was a typo

7 years agoBushes: Add saplings
paramat [Wed, 12 Apr 2017 08:25:21 +0000 (09:25 +0100)]
Bushes: Add saplings

Bush saplings grow in half the time of tree saplings.
Bushes do not need 'from sapling' schematic variants because only the
stem node is force-placed in the mapgen schematic, so only the sapling
is force-replaced.
Bush leaves drop saplings with a rarity that ensures at least 1 sapling
per bush on average.

7 years agoPB&J Pup: Remove mod
paramat [Tue, 11 Apr 2017 01:45:34 +0000 (02:45 +0100)]
PB&J Pup: Remove mod

Also delete nyancat API documentation from game_api.txt.

7 years agoFix .luacheckrc (missing Settings class)
Ekdohibs [Tue, 11 Apr 2017 14:28:26 +0000 (16:28 +0200)]
Fix .luacheckrc (missing Settings class)

7 years agoStairs: Improve stair and slab rotation on placement
MarkuBu [Tue, 11 Apr 2017 06:51:13 +0000 (08:51 +0200)]
Stairs: Improve stair and slab rotation on placement

Slabs are placed horizontal instead of vertical, even if they are
placed on a wall.
Slabs are rotated automatically if they are placed to another slab,
no matter which material.
Slabs are placed at the lower position if the placer points into
the lower half of the pointed node and to the upper position if
pointed to the upper half.
Stairs are placed normal if the placer points to the lower half of
the pointed node and rotated upside down if pointed to the upper half.

7 years agoScrewdriver: Allow non-native rotations if supported by targeted node
Alex Ford [Sat, 8 Apr 2017 04:03:11 +0000 (22:03 -0600)]
Screwdriver: Allow non-native rotations if supported by targeted node

This also allows custom actions (such as using the screwdriver as a wrench).

7 years agoTextures: Replace aspen leaves texture with BlockMen's
LNJ [Sat, 8 Apr 2017 09:22:26 +0000 (11:22 +0200)]
Textures: Replace aspen leaves texture with BlockMen's

7 years agoLeafdecay: Do not restart aready running timers
paramat [Thu, 30 Mar 2017 04:06:49 +0000 (05:06 +0100)]
Leafdecay: Do not restart aready running timers

7 years agoCarts: Make rail recipes more generous
paramat [Tue, 28 Mar 2017 04:37:45 +0000 (05:37 +0100)]
Carts: Make rail recipes more generous

As part of making vertical travel easier to reduce reliance on
sneak ladders.
Calculate using cubic pixels of steel.

A steelblock is 16^3 = 4096 cubic pixels steel.
6 ingots is 6/9 steelblocks.
A rail is a 2*2*16 pixel length of steel, 64 cubic pixels steel.
6 ingots produces 2*21 rails = 21 rail nodes.
Choose 18 for an even number that is a multiple of ingot number.

Replace the stick with 2 wood in the recipe to be closer to the amount
of wood that would be needed for 20*4 sleepers.

Replace 2 mese crystal fragments with 1 mese crystal to
compensate for the larger number of nodes returned. The result
is the recipe is much more generous with steel usage but slightly
less generous with mese usage, keeping power rail cost reasonably high.

Replace 2 coal lumps with 1 for a similar recipe to power rails.

7 years agodoors: Fix craftitem not listed in inventory (#1683)
SmallJoker [Sun, 2 Apr 2017 08:01:01 +0000 (10:01 +0200)]
doors: Fix craftitem not listed in inventory (#1683)

Fixes bug caused by b847888

7 years agoCarts: Remove '+' added in commit 077316b
paramat [Thu, 30 Mar 2017 02:24:43 +0000 (03:24 +0100)]
Carts: Remove '+' added in commit 077316b

7 years agoGlasslike_framed nodes: Add 'glasslikeliquidlevel' paramtype2
paramat [Wed, 29 Mar 2017 03:59:19 +0000 (04:59 +0100)]
Glasslike_framed nodes: Add 'glasslikeliquidlevel' paramtype2

7 years agoUse creative.is_enabled_for for creative mode if possible (#1558)
zaoqi [Wed, 29 Mar 2017 19:02:26 +0000 (21:02 +0200)]
Use creative.is_enabled_for for creative mode if possible (#1558)

7 years agodoors: add groups to the door craftitem
cx384 [Tue, 28 Mar 2017 17:18:59 +0000 (19:18 +0200)]
doors: add groups to the door craftitem

7 years agodoors: record protection violation if it cannot be dug
upsilon [Sat, 25 Mar 2017 16:18:17 +0000 (17:18 +0100)]
doors: record protection violation if it cannot be dug

7 years agoFlora spread: Re-enable dry shrub replacing flora in desert sand
paramat [Thu, 23 Mar 2017 01:19:33 +0000 (01:19 +0000)]
Flora spread: Re-enable dry shrub replacing flora in desert sand

Flora is converted to dry shrub in desert sand and silver sand.
No conversion in sand to preserve sand dune grasses.
Dry shrubs do not spread so this conversion, used by players, is the
only way to generate them.

7 years agoPB&J Pup.
Auke Kok [Wed, 22 Mar 2017 05:34:42 +0000 (22:34 -0700)]
PB&J Pup.

Replace possibly trademarked artwork with royalty free and
OK for commercial use artwork.

The Pup appears by default but does not alias the Nyan Cat nodes
away. For that you will have to enable the setting. A settingtypes.txt
is provided to make that really easy. This allows people to get
an out-of-tree mod and not have their Nyan nodes disappear.

The mod can also be disabled entirely this way for those who don't
want it.

There's some eatser eggs in here as well. Instead of making the
nodes burnable, they are edible, and make you bark and howl. And
perhaps something else too.

7 years agoFlora spread: Do not replace flora with dry shrub, only 'return'
paramat [Wed, 22 Mar 2017 17:51:29 +0000 (17:51 +0000)]
Flora spread: Do not replace flora with dry shrub, only 'return'

If there is no group:soil node found below, do not replace flora with
dry shrub, this was breaking flower pots and other mods.
Originally, flora would only turn to dry shrub if in desert sand.

7 years agoFlora spread: Allow spread on rainforest litter. Other improvements
paramat [Sat, 18 Mar 2017 17:54:03 +0000 (17:54 +0000)]
Flora spread: Allow spread on rainforest litter. Other improvements

Use the soil group more instead of checking for multiple node names.
Remove 'neighbors' from ABM.
Turn any flora to dry shrub if on a non-soil, except when on default:sand
to avoid dune grasses being replaced.
Search for "group:soil" when searching for a position for the new flora
node, instead of searching for multiple node names, however do not spread
flora onto desert sand, which is in the soil group.

Remove default:dirt_with_snow from the soil group as it would be frozen
soil. It can be dug and placed to turn it into dirt (consider this some
extra work needed to make it cultivatable).

7 years agoBooks: Fix backwards compatibility issues
octacian [Tue, 14 Mar 2017 05:28:03 +0000 (22:28 -0700)]
Books: Fix backwards compatibility issues

Commit c68b8274fed183f30bd7609018766a261448b83d prevented books from
being copied in the crafting grid, and made it so that old books, though
seemingly successfully transferred to the new format, could not be written
to as the old data still persisted.

7 years agoScrewdriver: simplify logic, allow wallmounted rotation.
Auke Kok [Mon, 13 Mar 2017 19:35:45 +0000 (12:35 -0700)]
Screwdriver: simplify logic, allow wallmounted rotation.

- Allow rotation of wallmounted nodeboxes (signs) since they are
  now rotating properly.
- Instead of testing `ndef` several times, do it once, correctly.
- Simplify exception logic for nodes that have `on_rotate` set.
- For simplicity, return itemstack, always.
- Remove a useless nil check.

7 years agoDoors: Fix wood/glass doors not opening or closing
Thomas--S [Sat, 18 Mar 2017 16:19:19 +0000 (17:19 +0100)]
Doors: Fix wood/glass doors not opening or closing

Some code was lost during a rebase of a recently merged commit (73e4666).

7 years agoLeafdecay: Change Aspen radius back to 3
paramat [Fri, 17 Mar 2017 05:17:57 +0000 (05:17 +0000)]
Leafdecay: Change Aspen radius back to 3

Although the new aspen tree schematic only requires a radius of 2 the
many existing aspen trees in a world require radius 3.

7 years agoJunglegrass: Prevent seeding of dirt_with_grass
paramat [Fri, 17 Mar 2017 05:06:57 +0000 (05:06 +0000)]
Junglegrass: Prevent seeding of dirt_with_grass

Previously you could place junglegrass on dirt to convert that dirt to
dirt_with_grass, but this is unsuitable now that rainforest has a
surface of dirt_with_rainforest_litter.
Remove junglegrass from the 'grass' group.

7 years agoKeys: Fix crash when using unconfigured default:key
octacian [Thu, 16 Mar 2017 05:03:52 +0000 (22:03 -0700)]
Keys: Fix crash when using unconfigured default:key

Since meta secret field is blank on any keys (default:key) obtained using
/give, the game will crash if you attempt to use one of these. This follows
along the principle that the game should never have any reason to crash.

7 years agoBiomes: Add and auto-select mgv7 floatland biomes
paramat [Sun, 12 Mar 2017 10:58:09 +0000 (10:58 +0000)]
Biomes: Add and auto-select mgv7 floatland biomes

A simple set of biomes for now: Ocean, coniferous forest, grassland,
sandstone desert.
Update biome lists for blob ores and decorations.

Make sandstone desert filler 1 node deeper to match other deserts.

7 years agoChange doors to default.can_interact_with_node()
Thomas--S [Tue, 21 Feb 2017 18:43:34 +0000 (19:43 +0100)]
Change doors to default.can_interact_with_node()

7 years agoFarming: Add override for default:dirt_with_rainforest_litter
paramat [Wed, 15 Mar 2017 21:23:31 +0000 (21:23 +0000)]
Farming: Add override for default:dirt_with_rainforest_litter

7 years agoSkeleton key: Change to use left-click (tool on_use)
Auke Kok [Tue, 14 Mar 2017 02:56:08 +0000 (19:56 -0700)]
Skeleton key: Change to use left-click (tool on_use)

Instead of right click, the skeleton key is now a true `tool`
in the sense that it's default left-click action is to create
a key for the locked object.

This is far better than the outcome of the patches we've done
where the only way to create a key for a locked item was to
use sneak+rightclick. Now keys are perhaps a bit more sensible,
left for making keys, right for opening stuff with keys.

Fixes #1625

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.