1096 Commits

Author SHA1 Message Date
paramat
6d850f23a5 Flower spread ABM: Optimise
Match maximum spread density to maximum mapgen density for flowers.
Place 3 flora nodes at once instead of 1.
Change ABM chance value to 300 to match previous spread rate.
ABM becomes 3 times less intensive.
2018-05-18 12:50:47 +02:00
paramat
2c1af0861f Doors: Avoid crash on nil player in 'can dig door' 2018-05-18 12:50:47 +02:00
Jat15
d2ae721235 Stairs: unbind table groups (#2036)
Unbind table groups for base block, stairs, slabs.
2018-05-18 12:50:18 +02:00
paramat
01db55cee5 default:dirt_with_snow: Re-add to soil group
Previously, saplings were not growing if the dirt they are on turned to
'dirt with snow' before growth.
Also for consistency with other dirt nodes.
2018-05-06 20:44:30 +02:00
Ekdohibs
4ba2b5179e Furnace: Fix being able to cook items without enough fuel
This was triggered when too much time had elapsed when timer was called.
Also, fix timer resolution giving free fuel time.
2018-05-06 20:44:30 +02:00
Diego Martínez
a5092c0df6 creative: Add missing tooltips. 2018-05-06 20:44:30 +02:00
paramat
575c098bae Book textures: Reset colour profiles to remove warnings 2018-05-06 20:44:22 +02:00
paramat
cddd59b578 Book textures: Replace with more original textures 2018-05-06 20:40:45 +02:00
ezhh
7a4b1e0ce1 Default: Make burntimes more rational and consistent 2017-12-05 21:24:02 +01:00
DTA7
0216fa08ec Add nil checks for placer 2017-11-19 23:03:38 +01:00
raymoo
ca3e807d35 Creative: Make the placenode registration check for non-player placers 2017-11-19 23:03:38 +01:00
raymoo
ca38bb2390 Creative: Make handle_node_drops override work for non-player diggers 2017-11-19 23:03:38 +01:00
Coder12a
7d07c52d09 Books: Convert \r to \n
Some files or editors may use \r instand of \n like notepad++. If you copy
text written in notepad++ and pasted into the book. The book will only have
one page.
2017-11-19 23:03:38 +01:00
SmallJoker
532013a032 Creative: Cache inventory items on load 2017-11-19 23:03:38 +01:00
tenplus1
a52622669f TNT: Add tnt.boom defaults
This adds def, def.radius and def.damage_radius defaults to the
tnt.boom() function if they aren't specified on call.
2017-11-19 23:03:38 +01:00
SmallJoker
ce5e668681 Bones: Return bones when taking the last ItemStack 2017-11-19 23:03:38 +01:00
tenplus1
6530fa914b Flowers: Add waterlily right-click checks
Check for on_rightclick functions of nodes when holding a waterlily.
2017-11-19 23:03:38 +01:00
rubenwardy
86eb0e1617 Sfinv: Remove possibility of infinite loop when homepage doesn't exist 2017-11-19 23:03:38 +01:00
rubenwardy
93fb9b36ce Sfinv: Rename navigation tabs to reduce chance of a conflict 2017-11-19 23:03:38 +01:00
danielmeek32
09e3505ea1 Chests: Fix locked chest protection against explosions (#1886)
Fixes #1885
2017-11-19 23:03:38 +01:00
tenplus1
cecbfc1676 Chests: Fix open chest after player leave (#1884)
This should fix the chest staying open when a player disconnects while inside.
2017-11-19 23:03:38 +01:00
tenplus1
fba6f6a4cf TNT: Add explode_center flag
Add 'explode_centre' flag which when false explodes as normal and when true runs on_blast on centre node as well as dropping items.
2017-11-19 23:03:38 +01:00
tenplus1
6053456af1 Mushroom spread: Optimise and make overridable
Move mushroom spread ABM action into a global and overridable function.
Optimise spread code.
Reduce spread range to reduce spread through walls.
2017-11-19 23:03:38 +01:00
Hybrid Dog
cc2f75b2f9 Register fence: Allow setting nodedefs to 'false' 2017-11-19 23:03:38 +01:00
tenplus1
b6ef71c92e TNT's tnt:boom cleanup (#1868)
The tnt:boom node doesn't actually need the on_construct and on_timer functions to remove the node after 0.4 seconds as the tnt_explode function already does this beforehand.
2017-11-19 23:03:38 +01:00
SmallJoker
876da2fbc6 Beds: Do not crash when placing in an unknown node 2017-11-19 23:03:38 +01:00
paramat
ea45ca57a5 Lava cooling: Increase interval to 2
An excessive load has been reported caused by the node searching, so even
when no lava is present.
2017-11-19 23:03:34 +01:00
SmallJoker
6fa3ebfa75 Carts: Check for last pathfinder predition too Minor fix to reduce cart jitter slightly 2017-11-19 22:57:28 +01:00
SmallJoker
efe6fb6dfb TNT: Only burn visually connected powder (#1857) 2017-11-19 22:57:28 +01:00
SmallJoker
1aeb2baa91 Creative: Prevent unauthorized item access (#1840) 2017-11-19 22:57:28 +01:00
Ezhh
e4d6425846 Correct farming/stairs dependency (#1838) 2017-11-19 22:57:28 +01:00
Paramat
81f885795d Crafting: Remove duplicate reversed recipes (#1777)
For axes and hoes only use one recipe that matches the appearance of the texture and in inventory.
2017-11-19 22:53:53 +01:00
paramat
f3e29bc2cc Saplings: Reduce grow time to ABM equivalent
Previous times were chosen using statistical maths, but reports suggested
this was too long.
I tested by timing an ABM acting on 100 nodes, with interval and chance equal
to the old sapling ABM.
50 at 4m59s.
99 at 24m58s.
100 at 26m58s.
So choose a grow time between 5 and 25 min for tree and bush saplings.
If 'can grow' is false at grow time the timer is reset to 5 min.
2017-11-19 22:53:53 +01:00
DS-Minetest
3a72f7b84b Add backface_culling to open chests and fencegates 2017-11-19 22:53:53 +01:00
Foz
20bd4560f8 TNT: Track TNT owner in metadata for protection mods
It is useful for protection mods to know who owns an exploding
TNT block. This allows the blocks destroyed by the TNT to be
limited to the same ones the owner could destroy without using
TNT.

TNT placed within a protected area by the area owner, and later
ignited by another player will destroy within the protected area
nodes the igniter may not otherwise be able to interact with. Any
player could significantly increase the size of an explosion by
placing more TNT in an adjacent unprotected area if the original
TNT block was placed withing 1 node of such a boundary. This
feature sounds dangerous, but we are talking about TNT. Players
should use it carefully.
2017-11-19 22:53:53 +01:00
SmallJoker
8991b9fe54 Carts: Do not connect rails with gunpowder (#1812) 2017-11-19 22:53:53 +01:00
Johannes Fritz
aea6c5dd1d Stairs: Add backface culling to stair meshes
If backface culling is not specified for a tile in 'images' it is set to true.
Slabs already have backface culling due to being defined as nodeboxes (which
are then converted to meshnodes).
2017-11-19 22:53:53 +01:00
paramat
da41caca66 Chests: Check 'def' of node above chest to avoid crash
In 'chest_lid_obstructed(pos)' check for nil 'def' to avoid a crash caused by
an unknown node above the chest.
2017-11-19 22:53:14 +01:00
red-001
103af98864 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.
2017-11-19 22:53:14 +01:00
red-001
26606b0520 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.
2017-11-19 22:52:00 +01:00
red-001
706844e8bf Books: Add nil value checks to the book formspec handler 2017-11-19 22:52:00 +01:00
paramat
a56274c230 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.
2017-11-19 22:52:00 +01:00
vorunbekannt75@web.de
3512226867 Default: Revert "Default: Shorter and better ABMs"
This reverts commit e523c3a2965afe76b9102b67992e15fafba1594a to re-enable
the overriding and redefinition of these global functions.
2017-11-19 17:16:32 +01:00
MrIbby
18956c7f69 Change "Junglewood" to "Jungle Wood" 2017-06-03 11:55:13 -04:00
Michael Bargatin
a8a60d33a3 Resize book textures from 16x17 to 16x16 2017-06-03 11:54:39 -04:00
paramat
eec1c5a03b Settings: Use new settings object 2017-05-24 07:18:26 +01:00
theFox6
e523c3a296 Default: Shorter and better ABMs (#1739)
Action of some abm's call functions directly, instead of calling the function inside a function.
2017-05-20 14:32:52 +02:00
sfan5
b25317fc64 Remove set_inventory_formspec in default, remove delay in sfinv 2017-05-18 09:54:18 +01:00
Vanessa Ezekowitz
d104b9b10f 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.
2017-05-18 09:45:56 +01:00
ezhh
758d5010b8 Fire: Disable fire by default in multiplayer 2017-05-15 17:39:59 +01:00
tenplus1
63b3542d00 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.
2017-05-15 13:47:03 +01:00
cx384
5bd44c21ef 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.
2017-05-13 12:49:04 +02:00
Auke Kok
c7d558c09e Chest open model: UV map fix.
The back side had a UV mapping issue which caused the bottom
rear part to "shrink" when opened.
2017-05-07 20:47:17 -07:00
Auke Kok
55f81d0802 Fix nil deref issue with people hitting chests too often. 2017-05-07 20:47:17 -07:00
SmallJoker
a533434b58 Chests: Keep old textures for mod compability
Prevents generating ugly looking dummy images for mods that weren't updated yet.
2017-05-07 20:46:49 -07:00
Ezhh
08706313f4 Add option to disable lavacooling (#1726) 2017-05-07 18:25:53 +02:00
sfan5
6737952fbf Fix merging mistake (crash in "stairs") 2017-05-01 21:26:10 +02:00
Tim
519d166ce3 Stairs: Add snowblock and ice stairs and slabs 2017-05-01 19:48:54 +01:00
Fernando Carmona Varo
be9121214c 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.
2017-05-01 19:38:38 +01:00
Auke Kok
011ad78b42 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.
2017-05-01 19:36:35 +01:00
Auke Kok
4ec0fd974b 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
2017-04-28 21:52:59 -07:00
Auke Kok
67b13a5942 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
2017-04-28 21:52:39 -07:00
Auke Kok
ae7206c006 Remove dye craft recipe conflict.
We have enough gray recipes, but brown is more difficult.

Fixes #1710
2017-04-26 20:19:59 -07:00
rubenwardy
2917562728 Fix owner not being checked on write to book 2017-04-27 02:28:23 +01:00
paramat
c2d1a5ed4b 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.
2017-04-23 23:05:31 +01:00
paramat
4d9fd7ad61 Textures: Reduce contrast of snow ripples 2017-04-23 23:05:31 +01:00
Dániel Juhász
24559d012e Creative: Automatic item colorization for creative mode 2017-04-23 23:05:06 +01:00
paramat
2668619638 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.
2017-04-20 19:55:05 +01:00
upsilon
6335525757 Doors: Ignore permission check if player parameter is omitted
As written in game_api.txt.
2017-04-20 19:54:27 +01:00
octacian
c54a7e882f 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.
2017-04-20 19:51:51 +01:00
octacian
701abc2d2f 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.
2017-04-20 19:50:34 +01:00
Thomas--S
98216810ef nodebox -> node_box
Seems like this was a typo
2017-04-12 18:39:42 -07:00
paramat
a57d2db54a 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.
2017-04-12 17:18:50 +01:00
paramat
d68d2c08ef PB&J Pup: Remove mod
Also delete nyancat API documentation from game_api.txt.
2017-04-12 17:18:35 +01:00
MarkuBu
e6d0d775e3 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.
2017-04-11 08:33:30 +01:00
Alex Ford
8d43b984fc Screwdriver: Allow non-native rotations if supported by targeted node
This also allows custom actions (such as using the screwdriver as a wrench).
2017-04-11 03:58:13 +01:00
LNJ
fe021281e6 Textures: Replace aspen leaves texture with BlockMen's 2017-04-11 03:57:44 +01:00
paramat
9e4f0d3689 Leafdecay: Do not restart aready running timers 2017-04-11 03:57:07 +01:00
paramat
acfd58cdeb 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.
2017-04-11 03:57:01 +01:00
SmallJoker
b377aaa50d doors: Fix craftitem not listed in inventory (#1683)
Fixes bug caused by b847888
2017-04-02 10:01:01 +02:00
paramat
5fe831ed13 Carts: Remove '+' added in commit 077316b 2017-03-30 04:24:29 +01:00
paramat
2f46103ff8 Glasslike_framed nodes: Add 'glasslikeliquidlevel' paramtype2 2017-03-30 04:24:23 +01:00
zaoqi
077316b4cd Use creative.is_enabled_for for creative mode if possible (#1558) 2017-03-29 21:02:26 +02:00
cx384
b847888cb7 doors: add groups to the door craftitem 2017-03-29 20:40:56 +02:00
upsilon
7c42c41170 doors: record protection violation if it cannot be dug 2017-03-26 03:06:44 +01:00
paramat
08eec2beb7 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.
2017-03-26 03:06:37 +01:00
Auke Kok
9b45e7b3e9 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.
2017-03-26 03:05:57 +01:00
paramat
91182d6a9e 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.
2017-03-22 22:30:35 +00:00
paramat
86fd616f3c 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).
2017-03-20 00:14:56 +00:00
octacian
2a74032745 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.
2017-03-20 00:13:31 +00:00
Auke Kok
ecf160d93d 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.
2017-03-20 00:12:16 +00:00
Thomas--S
6a55e150af Doors: Fix wood/glass doors not opening or closing
Some code was lost during a rebase of a recently merged commit (73e4666).
2017-03-19 00:43:12 +00:00
paramat
d2aae95c39 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.
2017-03-17 05:52:06 +00:00
paramat
02921baa7a 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.
2017-03-17 05:52:06 +00:00
octacian
07e11427cf 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.
2017-03-17 05:50:50 +00:00
paramat
68212967c0 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.
2017-03-17 05:49:57 +00:00
Thomas--S
73e4666f28 Change doors to default.can_interact_with_node() 2017-03-16 09:11:20 -07:00
paramat
bd4d2dff1c Farming: Add override for default:dirt_with_rainforest_litter 2017-03-15 22:22:21 +00:00
Auke Kok
61d7c43c83 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
2017-03-15 22:22:21 +00:00
SmallJoker
780f991a87 Sapling_on_place: Restore after_place_node() calls 2017-03-15 22:18:50 +00:00