1244 Commits

Author SHA1 Message Date
paramat
34c768d394 Default: New snow textures by Gambit
From PixelBOX2 texture pack.
Brightness increased for 'snow' and 'snow side'.
2016-09-14 06:02:16 +01:00
Auke Kok
b848e35ca5 Stairs: Big simplification of slabs combination
Combine slabs if identical based on orientations using a simple lookup
table if the nodes are identical.

Otherwise relies on place_node() to place the node, which properly
handles rotation compared to adjacent nodes already, and can orient
based on look_dir as well.

Initial slabs placed are oriented based on (1) the orientation of
the pointed "face" (assumes nodes are cubic, of course), and uses
the player look direction to orient the node n/e/w/s if the slab
is horizontal or upside-down. If placed against a vertical face,
the slab is placed against the face without rotation around the axis
perpendicular to that vertical face. This allows upside down placement
and vertical placement without screwdriver.

If a slab is placed on top of an upside down slab, or below a normally
placed slab, the rotation is inverted so that no "floating" slab
is created.

Largely based on kilbith's #807 PR. Slab combining and place_node()
usage by sofar.

Since this relies entirely on `on_place` mechanics, this fails to
combine slabs into a plain node if the space *above* is occupied.
This is unavoidable due to the fact that on_place() happens after
the checks required to see if pointed_thing.above is empty or not.
2016-09-14 06:01:04 +01:00
tenplus1
0cbb516ae2 Bones: Search for nearby 'air' for fallback bones placement
When a player dies on ladders or rope then a space can not be found at or
above player, so this change looks around player for a space to place bones.
2016-09-10 05:19:15 +01:00
Auke Kok
54235f3276 Xpanes: Convert to connected nodeboxes
I've rewritten this to use connected nodeboxes, but with a caveat. In
order to make flat nodes look better, I'm keeping one non-connected
pane that is flat around to convert flat sections to the flat nodes
instead of connected, as these look better and are easier to work
with. Once more sides are needed we convert the panes on the fly to
connected nodes and recalculate the shape.

We don't paint any of the half-panes that the previous generation of
xpanes did. There's no need and it's harder to work with. Updating the
nodes also seems more natural and placement and removal works straight
forward.

The conversion of old panes relies on an LBM, and does a reasonable
conversion job, but it's not exact, since the panes behave slightly
different now.

The game API documentation was wrong to begin with. We discard param
nr. 2 of the API entirely, and correct the tile usage text.
2016-09-10 05:18:02 +01:00
paramat
992f295880 Licenses: (Part 4) Remove overlooked WTFPL text. Cleanup 2016-09-08 06:17:05 +01:00
paramat
6171fb43f0 Change WTFPL to MIT (part 3)
Relicense WTFPL media to CC BY-SA 3.0.
Various corrections and edits.
2016-09-07 04:44:53 +01:00
tchncs
f678ef9fb8 replace submodule columnia 2016-09-06 21:05:15 +02:00
tchncs
4973e2921b update submodule columnia 2016-09-06 21:00:24 +02:00
tchncs
903f6cb2e3 nyancat: add some more aliases 2016-09-06 17:27:12 +02:00
paramat
7d70d25eeb Licenses: Change WTFPL to MIT (part 2)
Add license.txt files.
Update and improve README.txt files.
Corrections to part 1.
2016-09-06 04:45:23 +01:00
paramat
e9d26e2ee3 Licenses: Change WTFPL to MIT (part 1)
Part 1: All mods except default and xpanes.
Add license.txt files.
Add missing README.txt files.
Check and update copyright years for all contributors.
Improve text format and make more consistent.
2016-09-05 05:54:33 +01:00
tchncs
09b84d216a merge upstream 2016-09-04 23:42:08 +02:00
tchncs
1ff31ee41c add submodule technic_chests 2016-09-04 23:41:00 +02:00
paramat
f844a4f379 Default: Vary wood burn times according to wood density
Retain definitions for node groups to support mods.
Burn time is unchanged for applewood, and increases in the order:
aspen, pine, apple, acacia, jungle which is also the order of wood
colour darkness.
2016-09-04 05:39:24 +01:00
tchncs
ebe850969c fix submodule columnia 2016-09-03 11:15:35 +02:00
tchncs
f9f75ade76 update submodule columnia 2016-09-03 11:09:36 +02:00
tchncs
35cfb2e4c5 tnt: do not check for tnt enabled for serving recipe 2016-09-03 11:04:56 +02:00
Auke Kok
1d6fbe04cd Default/furnace: Indicate dst full
Indicate in the infotext when a furnace has filled up `dst` but still
has fuel. The info text shows the item as 100% with added "(output
full)" text, indicating that while it can cook the item, there is no
place for it in the `dst`. Emptying the `dst` should make the item
cook immediately and furnace resume normal operation.
2016-09-03 01:08:29 +01:00
paramat
0664570d22 Creative: Make dig times near-identical for nodes of all levels
Dig time is modified according to difference (leveldiff) between tool
'maxlevel' and node 'level'. Digtime is divided by the larger of leveldiff
and 1. In creative mode, where the hand is redefined to have maxlevel 3,
this results in higher level nodes taking significantly longer to break.

Now, to speed up digging, hand 'maxlevel' and 'digtime' have been
increased such that nodes of differing levels have an insignificant
effect on digtime. Dig time for all nodes is now identical to that of, for
example, dirt nodes.
2016-09-03 01:07:49 +01:00
tchncs
56534d5147 update submodule mobs_redo 2016-09-02 14:06:13 +02:00
tchncs
dbe99710e6 merge upstream 2016-09-01 16:13:10 +02:00
tchncs
a07c50dfe8 update submodule bows 2016-09-01 16:12:43 +02:00
tchncs
f2553fc3cc fence: add missing textures 2016-09-01 14:45:02 +02:00
tchncs
930d201f39 bones: fix mergeconflict 2016-09-01 14:22:49 +02:00
tchncs
9fb3a1960b re-add farming, bones 2016-09-01 14:08:58 +02:00
tchncs
d2dcd64203 merge github.com/minetest/minetest_game 2016-09-01 14:07:55 +02:00
Thomas--S
55bdc674ba cherry-pick 3661cb61e37ee6b7a8818f7a28e9102fb0674e54..79dbafc13b256a38c13d7abd2ea7af0f50e64394 2016-09-01 13:34:44 +02:00
Pinky Snow
5e9e3f7e84 Default: Eliminate redundant 'get modpath' calls 2016-08-29 00:31:18 +01:00
paramat
995256744a Default, stairs, doors: Vary wood flammable and choppy group values
Make the softer woods, pine and aspen, 'flammable = 3'.
Correct inconsistent flammability of wood and stairs in relation
to all other solid wood nodes in MTGame.
Make the the softer woods, pine and aspen, 'choppy = 3'.
2016-08-29 00:24:30 +01:00
rubenwardy
471d1cf159 Add search on enter press to creative inventory 2016-08-27 21:24:07 +01:00
tchncs
b0bc1af42a update submodule illuna 2016-08-25 15:16:46 +02:00
Megaf
3be2f12beb Flowers: Add missing aliases for mushrooms from the mushroom mod 2016-08-22 00:43:04 +01:00
tchncs
ae354791d4 update submodule columnia 2016-08-21 19:43:42 +02:00
tchncs
3dfd1e2b6f update submodule caverealms 2016-08-21 10:42:49 +02:00
paramat
cabf80b743 Fire: Use 'enable fire' setting instead of 'disable fire' 2016-08-20 04:29:32 +01:00
pithydon
088385493a Default: Improve fences inventory/wield images 2016-08-20 04:27:48 +01:00
tenplus1
1b745d401d Default/trees: Faster 'is snow nearby' function
Use 'find node near' instead of 'find nodes in area'
2016-08-15 20:43:19 +01:00
paramat
2ecbc43a7a Default: Optimise and simplify leafdecay ABM, remove cache
With thanks to contributor tenplus1
Remove leaf cache and globalstep accumulator limiter
Use 'pos' instead of 'p0'
Remove non-essential 'group:liquid' from 'neighbors'
Increase chance value to 10 to compensate for disabled cache
Disable 'catch-up' to avoid the ABM often becoming 10 times more
intensive
Remove use of 'do preserve' bool, instead simply 'return'
Remove unnecessary checks for 'd' and 'd == 0'
Don't 'get' n0, use already present 'node' instead
Swap order two conditionals so that the one most likely is first
2016-08-15 20:42:50 +01:00
tchncs
a193162301 update submodule columnia, pkarcs 2016-08-15 09:15:04 +02:00
tchncs
3850f9a008 add submodule columnia 2016-08-13 22:03:12 +02:00
tchncs
4aea8a4092 update submodule pkarcs 2016-08-13 22:02:24 +02:00
tchncs
9dec8f4b01 add submodule pkarcs 2016-08-11 22:02:42 +02:00
tchncs
d6b4fda256 update submodule illuna 2016-08-11 14:33:30 +02:00
tenplus1
619ac52693 Add labels to ABMs
Useful for searches and the mod profiler.
2016-08-09 03:56:37 +01:00
DonBatman
61a197ffd8 Changed snow nodebox to 'walkable = false'
Allows walking in, and prevents being trapped in, 2 node high spaces.
Simulates player's feet sinking into snow.
Easier jumping up onto nodes with snow.
2016-08-09 03:51:22 +01:00
tenplus1
14b99a72a9 Tnt: Limit blown up dropped stacks to stack_max
This replaces the hardcoded 99 item limit and instead uses the
get_stack_max() limit for each item.
2016-08-09 03:48:01 +01:00
Tim
76211624ac Use minetest instead of core namespace, discourage via luacheck 2016-08-09 03:47:27 +01:00
tchncs
dd938f306f update submodule farming 2016-08-08 17:38:45 +02:00
Tim
20fa037313 Screwdriver: disallow rotation with on_rotate = false
Other screwdriver mods, or mods that cause rotation, might operate without the screwdriver mod loaded and have `screwdriver.disallow` unavailable.
This allows nodes to default to full-disallow rather than full-rotation in such a situation.
2016-08-05 20:41:24 +01:00
Tim
60cf3f85b6 Doors: Allow the screwdriver to rotate doors around y-axis.
Keep other axis' disabled to prevent the hidden placeholder node to become irremovable to players.
2016-08-05 12:34:46 +02:00
tenplus1
6c83ea0b48 TNT: Fix bug with huge stacks
This fixes the TNT bug that can crash game when blowing up a container
which holds huge stacks above the norm... e.g. give yourself 65535 snow,
place in chest, blow up, stalled!
2016-08-04 03:21:55 +01:00
paramat
265c40b558 Doors: Trim open fence gate collision box
Previously, the collision box extended into an empty node, causing
falling node objects to land on the open gate but not transform
back into normal nodes. Now fallng node objects will fall through and
either side of the end of the open gate and transform back.
2016-08-04 03:21:09 +01:00
tchncs
67931a0ede replace submodule mobs_monster with our forked one 2016-08-03 23:21:44 +02:00
tchncs
e4a23c029a update submodule illuna 2016-08-03 00:44:05 +02:00
tchncs
f3513e297b update submodule illuna 2016-08-03 00:10:37 +02:00
tchncs
fe1f3f59d7 update/fix wooden trapdoor recipe 2016-08-02 22:26:28 +02:00
tchncs
82ece0559d update submodule illuna 2016-08-02 19:39:23 +02:00
tchncs
3bcf0a93f4 update submodule illuna 2016-08-02 18:20:19 +02:00
tchncs
ebc4d886ac merge upstream 2016-08-02 18:17:24 +02:00
tchncs
8c8b3f9721 update submodule illuna 2016-08-02 18:16:31 +02:00
Tim
00c2dde4ea Doors: Fix potential crashes, code improvements
Fix crash when doors are placed under unknown nodes.
Share a can_dig among doors, that does not crash on nil-player.
Only set can_dig if we actually protect the door.
2016-08-01 01:21:57 +01:00
paramat
4fba897a96 Bones: Improve bones textures
Add mouth, remove jaw shadow, shade eyesockets.
Darker shading for spine and rotate texture using ^[transform2
instead of inverting texture.
Use 'node sound gravel defaults' for sounds.
2016-08-01 01:20:27 +01:00
tchncs
c391fc5668 update submodule wardrobe 2016-07-31 00:19:03 +02:00
tchncs
d0f4f39a0e update submodule bows 2016-07-29 22:40:44 +02:00
tchncs
cf669d3703 update submodule wardrobe 2016-07-29 19:08:43 +02:00
tchncs
2fe3f45624 update submodule wardrobe 2016-07-29 18:52:06 +02:00
tchncs
ed68401f07 give_initial_stuff: add wooden bow and arrows 2016-07-29 17:12:29 +02:00
tchncs
46fab90375 update submodule bows 2016-07-28 23:31:10 +02:00
tchncs
81ca075cd8 add mod bows to submodules 2016-07-28 22:53:34 +02:00
SmallJoker
ea49eb3f3d Beds, boats: Replace deprecated get_look_yaw/set_look_yaw 2016-07-27 21:39:22 +01:00
paramat
0ac096991c Default: Prevent placing sapling if grown tree intersects protection
Add a global 'intersects protection' function to functions.lua for
checking if a specified volume intersects with a protected volume.
A 3D lattice of points are checked with an adjustable interval.
Add a global 'sapling on place' function to avoid duplicated code in
nodes.lua.
2016-07-27 21:39:22 +01:00
tenplus1
2df7ce20dd Bones: Ability to change bones mode. Tidy up code
Add 'bones_mode' setting to minetest.conf -> Modes: bones, drop, keep
Remove table 'bones'
Add minetest.conf.example description
Remove protection check from may_replace
2016-07-27 21:37:49 +01:00
tchncs
0f691b2211 update submodule hudbars 2016-07-26 09:52:42 +02:00
tchncs
052f9aec6e update submodule mobs_redo, 3d_armor, mobs_monster 2016-07-24 13:47:49 +02:00
paramat
db129f4ca0 Flowers: Fix waterlily on-place itemstack code
Add 'record_protection_violation()'
2016-07-23 04:56:49 +01:00
Thomas--S
72f4c6be48 Doors: Fix orientations of trapdoor textures 2016-07-23 04:56:09 +01:00
tchncs
39615a3403 update submodule plantlife_modpack 2016-07-20 13:58:55 +02:00
tchncs
b4519760c0 update submodule plantlife_modpack 2016-07-19 23:02:48 +02:00
paramat
79dbafc13b Nyancat: Fix texture names 2016-07-18 23:47:14 +01:00
paramat
1a2eb89f17 Default/trees: Update to 'get_mapgen_setting()' 2016-07-18 23:47:14 +01:00
Thomas--S
f018e06d9b Doors: Fix trapdoor on_blast
Removing the node above was an error and is unnecessary
2016-07-18 23:45:48 +01:00
Thomas--S
9862bbc8e5 Doors: Same naming for trapdoors as for doors
This makes register_trapdoor act the same as the register_door.
If `name` isn't prefixed, it will be prefixed with "doors:".
2016-07-18 23:43:51 +01:00
rubenwardy
3661cb61e3 Move nyancats into a separate mod
Nyancats are independent in the default mod. Nothing else uses them or
their code. Separating it into a separate mod makes it easier for
subgames to remove them. It also makes it easier for a mod to depend
on nyancats, as lots of subgames don't have them.

Default/mapgen.lua: Register biomes, ores and decorations in
singlenode mapgen. These were never disabled anyway because
singlenode was removed from the world creation menu.
2016-07-18 04:15:44 +01:00
tenplus1
e45386a069 merge upstream: Doors: Make door groups consistent with corresponding materials 2016-07-16 20:41:24 +02:00
adrido
6d418e9962 merge upstream: Beds: Only register respawn callbacks if respawn is enabled 2016-07-16 20:40:02 +02:00
tchncs
77648aac8e hopefully readd submodule boats and farming 2016-07-16 16:40:51 +02:00
Tim
23544869e3 Clean up fire ABM parameters. 2016-07-16 14:20:51 +02:00
Tim
d7b337eae2 Stop shadowing upvalues and definitions. 2016-07-16 14:18:08 +02:00
Tim
0c3d4135e1 merge upstream commit: Remove unused and clean up missused variable-value assignments. 2016-07-16 14:17:55 +02:00
tenplus1
5b36a03f02 merge upstream commit: Beds: Save respawn position when entering bed, only read bed spawns once 2016-07-16 14:17:31 +02:00
Tim
26a00db1c1 merge upstream commit: Doors: Fix missing node parameter passing 2016-07-16 14:17:04 +02:00
Tim
4f419d3953 merge upstream commit: Doors: Fix trapdoor crash on can_dig with nil-player 2016-07-16 14:16:31 +02:00
tenplus1
1f17a8b1b2 merge upstream commit: Default/trees: Faster way to detect snow around pine saplings 2016-07-16 14:15:13 +02:00
tchncs
568045a4c4 merge upstream commit: Doors: Remove unnecessary node lookups 2016-07-16 14:14:56 +02:00
tchncs
980347343a merge upstream commit: Doors: Remove unnecessary node lookups 2016-07-16 14:12:57 +02:00
Tim
0c122236ef Doors: Remove unnecessary node lookups 2016-07-16 14:12:45 +02:00
Tim
2052664a30 merge upstream commit: Always return the leftover ItemStack for on_place and on_rightclick 2016-07-16 14:11:20 +02:00
Tim
62d8261e42 merge upstream commit: Bucket: Allow liquid placed against unknown nodes instead of aborting abnormally 2016-07-16 14:10:29 +02:00
Tim
95b2def30c merge upstream commit: Bucket: Prevent crashing when placing liquid against a buildable node into an unknown node 2016-07-16 14:09:42 +02:00
paramat
d2552744b9 merge upstream commit: Doors: Code cleanup 2016-07-16 14:08:55 +02:00
paramat
6336ffb476 merge upstream commit: Doors / default: Remove 'hot', 'bendy' and 'melty' groups from nodes 2016-07-16 14:08:23 +02:00
paramat
7a1505b32d merge upstream commit: Default, flowers: Use 'get_mapgen_setting()' 2016-07-16 14:00:32 +02:00
tchncs
6bafa46283 Revert "merge upstream commit: TNT: When disabled leave some useful functionality enabled"
This reverts commit c80473afe69a95bdd6410cf6a3e115cb6fcbd170.
2016-07-16 13:59:46 +02:00
tenplus1
c80473afe6 merge upstream commit: TNT: When disabled leave some useful functionality enabled 2016-07-16 13:58:11 +02:00
paramat
814f356208 merge upstream commit: Default/mapgen: Simplify iron ore registrations 2016-07-16 13:56:29 +02:00
paramat
cb5727b50c merge upstream commit: Default/mapgen: Add ores above y = 1024 2016-07-16 13:55:32 +02:00
paramat
8b03f29585 merge upstream commit: Default/mapgen: Clean up ore registrations 2016-07-16 13:55:03 +02:00
tenplus1
cf77ef435a merge upstream commit: Bucket: Correct liquid placing in protected areas 2016-07-16 13:54:29 +02:00
tenplus1
38ed7b998b merge upstream commit: Tidy sethome code, add global functions, round coords to 1 decimal 2016-07-16 13:53:50 +02:00
paramat
e6bda9c439 merge upstream commit: Flowers: Make waterlily floodable 2016-07-16 13:53:07 +02:00
Thomas--S
fbbe79df87 merge upstream commit: Doors: Remove use_texture_alpha from door definition 2016-07-16 13:52:29 +02:00
HybridDog
45d7eebf01 merge upstream commit: Wool: Use adv- and optipng to optimise texture files 2016-07-16 13:51:54 +02:00
HybridDog
b3c83180ec merge upstream commit: Wool: Clean up code 2016-07-16 13:51:11 +02:00
paramat
c70196dfbd merge upstream commit: Doors: Add dedicated sounds for glass doors 2016-07-16 13:50:40 +02:00
paramat
5452e8f05e merge upstream commit: Default: New aspen tree schematics 2016-07-16 13:50:06 +02:00
tenplus1
22224c265d merge upstream commit: Default: Enable crafting of mese crystal fragments into mese crystal 2016-07-16 13:49:23 +02:00
tenplus1
d239deccff merge upstream commit: Default: Craft locked chest from chest plus steel ingot 2016-07-16 13:48:39 +02:00
paramat
9c288600dd merge upstream commit: Stairs: Code cleanup, fix various errors 2016-07-16 13:47:40 +02:00
paramat
d75ccebe8f merge upstream commit: Stairs: Register stone / desert stone / sandstone / obsidian blocks 2016-07-16 13:47:01 +02:00
paramat
0533203710 merge upstream commit: Default: Add stone / desert stone / sandstone / obsidian blocks 2016-07-16 13:45:32 +02:00
paramat
4ee09a274b merge upstream commit: Stairs: Stair recipe returns 8 stairs not 6
Make it consistent with the slab recipe which conserves volume
2016-07-16 13:43:22 +02:00
tenplus1
0bd13d11cf Doors: Make door groups consistent with corresponding materials 2016-07-15 22:01:20 +01:00
adrido
d89bb69a22 Beds: Only register respawn callbacks if respawn is enabled 2016-07-15 22:00:57 +01:00
Tim
9524ff67a3 Clean up fire ABM parameters. 2016-07-15 21:58:49 +01:00
Tim
30b0a155fb Stop shadowing upvalues and definitions. 2016-07-15 21:58:49 +01:00
Tim
4473627de0 Remove unused and clean up missused variable-value assignments.
* Unused variables
* Unused values (assigned to variables, but overwritten before use)
* Defining already defined variables instead of reassigning to them.
2016-07-15 21:58:49 +01:00
tchncs
2e67cbc1b9 add horses to submodules 2016-07-15 22:58:03 +02:00
tchncs
892ab3faaa default: get darkage modpath to ensure basalt is available 2016-07-15 22:33:11 +02:00
tchncs
1e7ea09713 default: flowing lava can cool down to basalt 2016-07-15 19:06:35 +02:00
tchncs
3a42666e46 update submodule farming, worldedit 2016-07-13 18:00:33 +02:00
tenplus1
d7a7456007 Beds: Save respawn position when entering bed, only read bed spawns once
No longer require night to be skipped for resawn position to be saved
Remove constant beds.read_spawns() calls when a player joins as this
is only required once
2016-07-13 14:45:30 +01:00
Tim
b74954969c Doors: Fix missing node parameter passing 2016-07-13 14:45:18 +01:00
paramat
07141b4a2e Bones: New textures 2016-07-10 21:08:01 +01:00
Tim
fcceec0e8c Doors: Fix trapdoor crash on can_dig with nil-player (e.g. minetest.dig_node) 2016-07-10 21:07:17 +01:00
tenplus1
f1f96dbe6b Default/trees: Faster way to detect snow around pine saplings
Instead of using voxelmanip use 'find nodes in area' instead
2016-07-10 20:50:40 +01:00
Tim
594365310d Doors: Remove unnecessary node lookups 2016-07-09 16:34:28 +01:00
Tim
71c7e21669 Always return the leftover ItemStack for on_place and on_rightclick 2016-07-09 16:32:41 +01:00
paramat
e38099225c TNT: Add missing 'then' 2016-07-07 19:22:26 +01:00
Tim
5644ab4bd3 Bucket: Allow liquid placed against unknown nodes instead of aborting abnormally 2016-07-07 19:22:13 +01:00
Tim
fe450b4144 Bucket: Prevent crashing when placing liquid against a buildable node into an unknown node 2016-07-07 19:21:46 +01:00
paramat
3d44804074 Doors: Code cleanup
Remove spaces inside curly brackets
Split lines over 90 columns
2016-07-07 18:14:36 +01:00
paramat
60f6564c75 Doors / default: Remove 'hot', 'bendy' and 'melty' groups from nodes 2016-07-07 18:14:36 +01:00
paramat
f17d791173 Default, flowers: Use 'get_mapgen_setting()' 2016-07-07 18:14:36 +01:00
tenplus1
497e6f6257 TNT: When disabled leave some useful functionality enabled
- Only remove the TNT craft recipe, tnt:tnt node and the ABM
- Leave tnt:tnt_burning available for explosions in 3rd party mods
2016-07-07 18:10:57 +01:00
paramat
d42f77cc5f Default/mapgen: Simplify iron ore registrations
Preserve overlapping registrations of large and small clusters
below y = -64 but now extend the small clusters up to y = 0 (the
previous highest iron ore level) in a similar to way to coal
2016-07-05 18:16:52 +01:00
paramat
d476d017a4 Default/mapgen: Add ores above y = 1024
Each ore's rarity is equal to that occuring below y= -1024
2016-07-05 18:16:52 +01:00
paramat
1886d293d7 Default/mapgen: Clean up ore registrations
Re-order registrations
Add and improve comments
Change sand blob ymax to 0 as sand does not always rise above 0
Remove dirt blobs from sandstone as it is unsuitable for
many sandstone biomes and ugly in stony sandstone desert
Change ymax of first iron region to 0
2016-07-05 18:16:52 +01:00
tenplus1
21b457c9e1 Bucket: Correct liquid placing in protected areas
- Placing liquid inside a protected area no longer returns an empty bucket
- Remove on_place function, tidy up code, return proper itemstack
- Shorten code (changes from HybridDog/patch-35)
2016-07-05 18:15:35 +01:00
tenplus1
80d49095f5 Tidy sethome code, add global functions, round coords to 1 decimal
- Global functions sethome.set(name, pos) , sethome.get(name) and sethome.go(name)
- Tidy: trim coords to one decimal place and write to table and output table in one go.
- Add error checking
- Add t4im's homepos loader
2016-07-03 18:40:43 +02:00
paramat
f4f9e58ef2 Flowers: Make waterlily floodable
When waterlilies are placed near river water source make flowing river
water remove waterlilies instead of flowing around them in an ugly way
2016-07-01 07:05:53 +01:00
Thomas--S
55fd286083 Doors: Remove use_texture_alpha from door definition 2016-07-01 07:05:19 +01:00
HybridDog
1231f72628 Wool: Use adv- and optipng to optimise texture files 2016-07-01 07:03:17 +01:00
HybridDog
15b82f5b03 Wool: Clean up code 2016-07-01 07:02:38 +01:00
tchncs
18ea8f6e7d update submodule illuna 2016-06-29 09:59:24 +02:00
tchncs
e31d456de1 update submodule illuna 2016-06-29 09:51:41 +02:00
paramat
f796194c69 Doors: Add dedicated sounds for glass doors
Changed node sounds for steel door/trapdoor to stone
defaults instead of wood defaults
2016-06-27 05:32:36 +01:00
paramat
84e4ae1881 Default: New aspen tree schematics 2016-06-27 05:32:36 +01:00
tenplus1
f15f35c604 Default: Enable crafting of mese crystal fragments into mese crystal 2016-06-27 05:31:04 +01:00
tenplus1
be918d2d98 Default: Craft locked chest from chest plus steel ingot 2016-06-27 05:30:20 +01:00
paramat
983af7b1c0 Stairs: Code cleanup, fix various errors
Improve registration format
Fix groups not matching corresponding full node
Improve some descriptions
2016-06-26 06:11:16 +01:00
paramat
22dc7b2d9e Stairs: Register stone / desert stone / sandstone / obsidian blocks 2016-06-26 06:11:16 +01:00
paramat
9d6df824d6 Default: Add stone / desert stone / sandstone / obsidian blocks 2016-06-25 06:58:18 +01:00
tchncs
c882e33618 update submodule caverealms 2016-06-23 19:45:50 +02:00
tchncs
92c0bcfa59 update submodule mobs_redo, farming, boats, worldedit 2016-06-23 19:14:14 +02:00
tchncs
a3ecc88a45 add cottages to submodules 2016-06-23 19:08:01 +02:00
tchncs
81bf163a59 Flowers: add mushroom group to mushrooms 2016-06-22 22:49:19 +02:00
Xunto
b64202fbe9 cherry-pick from github.com/minetest/minetest_game> Default: Fix character model uv-mapping 2016-06-22 15:44:37 +02:00
Yutao Yuan
2de51ee96f cherry-pick from github.com/minetest/minetest_game> Flowers: Fix misaligned waterlily texture 2016-06-22 15:43:33 +02:00
Auke Kok
a033f68bdc cherry-pick from github.com/minetest/minetest_game> Doors: Clean up nodedef usage 2016-06-22 15:42:39 +02:00
Auke Kok
77cdaacaac cherry-pick from github.com/minetest/minetest_game> Default: Make brick and plank nodes rotatable 2016-06-22 15:41:25 +02:00
Auke Kok
4c3b8376ab cherry-pick from github.com/minetest/minetest_game> Stairs: Add mossy cobble slab and stair 2016-06-22 15:39:40 +02:00
paramat
eff782c61f cherry-pick from github.com/minetest/minetest_game> Mapgen: Add biome fields for riverbed node and depth 2016-06-22 15:38:31 +02:00
tchncs
0fe3efbfd1 revert: Farming: allow LBM's for other mods as well. 2016-06-22 15:37:41 +02:00
Auke Kok
451e18751f cherry-pick from github.com/minetest/minetest_game> Farming: allow LBM's for other mods as well. 2016-06-22 15:34:29 +02:00
paramat
97f0ff6c44 cherry-pick from github.com/minetest/minetest_game> Fire: Ignite tnt, gunpowder, permanent flame above coalblock 2016-06-22 15:33:49 +02:00
Auke Kok
b4b24687a3 cherry-pick from github.com/minetest/minetest_game> Doors: Pass pointed_thing to on_rightclick() callback 2016-06-22 15:32:40 +02:00
paramat
37d3fe0cb1 cherry-pick from github.com/minetest/minetest_game> Default: Bookshelf has 2 openings instead of 4 2016-06-22 15:31:23 +02:00
Auke Kok
71a593ad88 cherry-pick from github.com/minetest/minetest_game> Fire: move fire node removal out of ABM. 2016-06-22 15:29:27 +02:00
paramat
5809c28ae3 Stairs: Stair recipe returns 8 stairs not 6
Make it consistent with the slab recipe which conserves volume
2016-06-22 02:12:57 +01:00
Xunto
e77ef553ff Default: Fix character model uv-mapping
Arm and leg textures are now edge-consistent
2016-06-22 02:12:11 +01:00
paramat
1fafed3387 Default: Remove mortar from stone brick, desert stone brick 2016-06-22 02:10:52 +01:00
Yutao Yuan
e0bec501f2 Flowers: Fix misaligned waterlily texture
Previously waterlily has misaligned top and bottom textures and looks
different when viewed from below.

This also hides the flower in bottom texture.
2016-06-21 02:21:00 +01:00
Auke Kok
3e9afe097c Doors: Clean up nodedef usage
Allows for more properties to be passed through. Somewhat simplifies
the code as well.
2016-06-21 02:20:47 +01:00
cd2
5775c9147c Farming: Add negative fall_damage_add_percent to straw
This doubles the fall height without damage to 11 nodes.
2016-06-17 23:43:41 +01:00
Auke Kok
ba1ae07b4a Default: Make brick and plank nodes rotatable
Allow many crafted nodes to be rotated in any way possible.

These blocks all have slab and stair versions, which can create awkward
patterns if placed together. By allowing these to be rotated players
can create new patterns and appearances that were not before possible.

Since this wasn't possible before, there won't be any effect
to existing builds, as param2 should always be '0'. The current
screwdriver mod also refuses to rotate and alter param2, so this is
safe to enable from now on.

Personally, since these are all *crafted* nodes to begin with, it
should be apparent that they can be rotated to begin with, but I can
see people may disagree from a simplicity perspective. It also may
affect param2 usage that other mods rely on, although I'm not aware
of any mods that do this.
2016-06-17 23:41:42 +01:00
tchncs
1f19159689 update submodule bags 2016-06-15 20:48:38 +02:00
tchncs
ca1e88ed3d update submodule ctravelnet 2016-06-15 19:38:15 +02:00
paramat
50eb079813 Creative: Add missing 'formspec_escape' to fix bug
Symbols used in search caused the game to hang with a grey screen,
for example searching for 'diamond;ingot'
2016-06-14 23:29:21 +01:00
paramat
da0fe31443 Boats: Raise collisionbox top surface to fix boat behaviour
Lowering the top surface to be level with the boat top somehow
causes the boat to fall through world if underwater. Revert to
previous position that is needed for correct behaviour
2016-06-14 23:29:21 +01:00
Auke Kok
2199be5108 Stairs: Add mossy cobble slab and stair
Allow water to turn cobble slab and stairs to turn into mossy versions.

There is no crafting recipe for mossy stairs and mossy slabs, the
stair/slab API has been modified to allow for a recipeitem that
is `nil`, which will omit adding a crafting recipe for these two
items. The API documentation is updated.

The slabs and stairs will turn mossy when water is adjacent, just like
cobblestone. You can either farm mossy versions by placing them in
water for a while, then collecting them, or run water over your craft.
2016-06-14 23:28:17 +01:00
tchncs
d9449fcd56 update submodule mobs_animal 2016-06-14 13:17:51 +02:00
tchncs
b4e6b5ba3c update submodule hudbars, mobs_monster, mobs_redo 2016-06-14 13:07:44 +02:00
tchncs
ba5d33dc2e add forked bags mod to submodules 2016-06-10 21:01:19 +02:00
tchncs
b9e4c394fd remove old bags mod 2016-06-10 20:59:41 +02:00
tchncs
b87d427ac2 update submodule illuna, mobs_redo 2016-06-10 20:27:02 +02:00
tchncs
7375b9a8fa add ctravelnet to submodules 2016-06-10 09:38:08 +02:00
tchncs
3f8d39113f update submodule wardrobe 2016-06-09 12:39:50 +02:00
tchncs
f9861a86bb add wardrobe to submodules 2016-06-09 12:30:06 +02:00
tchncs
72e72d0bd3 update submodule illuna 2016-06-08 20:02:26 +02:00
tchncs
72f68f9de0 update submdoule illuna 2016-06-08 19:54:34 +02:00
tchncs
10d1f448b2 update submodule darkage, mobs_redo 2016-06-08 13:18:50 +02:00
paramat
b5ea7d17b2 Mapgen: Add biome fields for riverbed node and depth 2016-06-05 19:15:50 +01:00
tchncs
f9b87f3300 update submdoule illuna and mobs_redo 2016-06-05 19:04:44 +02:00
tchncs
633be8f94e update submodule wine, darkage 2016-06-04 22:48:50 +02:00
Auke Kok
dcf2465441 Farming: allow LBM's for other mods as well.
Fixes #1114
2016-06-04 13:39:58 +01:00
paramat
6386684f3e Fire: Ignite tnt, gunpowder, permanent flame above coalblock
Enable ignition of tnt, gunpowder and permanent
flame above coalblock using flint and steel
Override coalblock to remove flame above when dug
Add depends.txt for default mod
2016-06-04 13:39:00 +01:00
tchncs
30e1476c5d replace default crafting_guide in initial stuff 2016-06-01 18:44:10 +02:00
tchncs
e6ab3a5977 update submodule xdecor 2016-05-31 19:12:39 +02:00
tchncs
40a736cc14 update submodule caverealms 2016-05-31 18:17:11 +02:00
tchncs
87551af24b add caverealms to submodules 2016-05-31 18:12:02 +02:00
tchncs
d2f63e50c5 change pick_diamond speed and make it group 3 again 2016-05-31 18:02:13 +02:00
tchncs
6f9cf1e999 update submodules 2016-05-31 10:49:50 +02:00
tchncs
30241f62ad update submodules 2016-05-31 09:57:11 +02:00
Auke Kok
ba33639887 Doors: Pass pointed_thing to on_rightclick() callback
This is an omission technicality. The callee should be able
to trust this isn't `nil`
2016-05-30 11:55:12 +01:00
paramat
541b2d79c7 Default: New mese texture. Add missing texture credits
Mese texture is a classic-mese-yellow version
of celeron55's texture used in MTv0.4.0
Add missing texture credits for mese crystal
and mese crystal fragment
2016-05-30 11:54:24 +01:00
tchncs
5bb740cac3 update submodules 2016-05-28 22:58:57 +02:00
paramat
37347d40f4 Default: Bookshelf has 2 openings instead of 4
Make rotatable with 'paramtype2 = facedir'
2016-05-28 15:11:43 +01:00
Auke Kok
d61803b65f Fire: move fire node removal out of ABM.
Because the fire nodes are not removed 100% when there are
no more burnable nodes nearby, they can potentially stay around
for very, very long times, leading to ABM trains every 5 seconds
for no good reason (only 1 in 16 will be removed every interval).

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

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

There's some low hanging fruit cleanups in here as well.
2016-05-28 15:11:31 +01:00
Auke Kok
0da14dbb56 cherry-pick from github.com/minetest/minetest_game> Default: Convert saplings to use node timers
Each sapling is given a single node timer that is between
2 and 4 days of game play time (40-80 minutes). If you walk out
of the zone, and come back later, the tree will always grow
to full if the timer has elapsed.

Because trees.lua is all functions, it needs to be parsed before
nodes.lua, since that references some of its functions. Hence,
change the order of parsing here. Otherwise saplings would not
grow to full.
2016-05-28 08:58:23 +02:00
paramat
b80af1bc95 cherry-pick from github.com/minetest/minetest_game> Vessels: Improve code style 2016-05-28 08:57:47 +02:00
paramat
7a1b975f8f cherry-pick from github.com/minetest/minetest_game> Vessels: Make shelf open on 2 sides not impossible 4 sides
Make shelf facedir rotatable as is now required
2016-05-28 08:56:50 +02:00
Duane Robertson
68a9d8e338 cherry-pick from github.com/minetest/minetest_game> Doors: Fix uninitialized state variable 2016-05-28 08:56:09 +02:00
Thomas--S
168d9a2591 cherry-pick from github.com/minetest/minetest_game> Vessels: Smaller/improved textures, remove duplicated 'inv' textures
Removed unnecessary inventory textures
The drinking glass inventory texture now differs from
the node texture to be more clearly a drinking glass
Smaller textures to reduce size as nodes
2016-05-28 08:54:52 +02:00
red-001
91bb144fef cherry-pick from github.com/minetest/minetest_game> Creative: Reset 'start_i' to 1 when the inventory filter is changed 2016-05-28 08:52:52 +02:00
paramat
504961a0a2 cherry-pick from github.com/minetest/minetest_game> Tnt: Avoid divide-by-zero errors in calc_velocity() 2016-05-28 08:47:25 +02:00
tenplus1
32c5872bd1 cherry-pick from github.com/minetest/minetest_game> Creative: Fix inventory crash after toggling creative mode in-game 2016-05-28 08:46:13 +02:00
tenplus1
77873ddb9e cherry-pick from github.com/minetest/minetest_game> Creative: Fix '-' glitch in playername
Fix the glitch when players use the '-' character in their username
on a server, causing creative inventory to not pass page 2
2016-05-28 08:45:27 +02:00
tenplus1
5e84246526 cherry-pick from github.com/minetest/minetest_game> Creative: Add global variable creative.formspec_add
This pull adds a new global variable called creative.formspec_add
that will allow mods to add to the creative inventory screen
without the need to fork the mod altogether.  Simple solution
that works already for inventory_plus' BACK button
2016-05-28 08:44:28 +02:00
paramat
75a85b951e cherry-pick from github.com/minetest/minetest_game> Stairs/default: Make sandstone(brick) groups consistent
Sandstone is crumbly = 1 cracky = 3 to be slowly diggable by hand
Sandstonebrick(stair/slab) is cracky = 2
2016-05-28 08:42:57 +02:00
Foz
c47d026950 cherry-pick from github.com/minetest/minetest_game> Tnt: Fix bug in dropped item counting 2016-05-28 08:40:00 +02:00
tchncs
75aa611aa2 update submodule farming 2016-05-26 12:10:29 +02:00
tchncs
82a9d81e19 add xdecor to submodules 2016-05-25 23:03:30 +02:00
tchncs
881f4ac066 add hudbars to submodules 2016-05-25 23:01:38 +02:00
tchncs
c181117afb add darkage to submodules 2016-05-25 22:59:14 +02:00
tchncs
66c5683ccf add bags and plantlife to submodules 2016-05-25 22:56:32 +02:00
tchncs
907cb3be8c add 3d_armor to submodules 2016-05-25 22:52:40 +02:00
tchncs
82a31236be add worldedit to submodules 2016-05-25 22:03:46 +02:00
tchncs
92ee60e6c7 update submodule farming 2016-05-25 15:34:48 +02:00
Auke Kok
e0cb3fce02 Default: Convert saplings to use node timers
Each sapling is given a single node timer that is between
2 and 4 days of game play time (40-80 minutes). If you walk out
of the zone, and come back later, the tree will always grow
to full if the timer has elapsed.

Because trees.lua is all functions, it needs to be parsed before
nodes.lua, since that references some of its functions. Hence,
change the order of parsing here. Otherwise saplings would not
grow to full.
2016-05-25 03:27:08 +01:00
Auke Kok
70ef7864c1 Farming: Convert plants to use node timers
This PR requires @minetest/minetest#3677

Farming and plant growth has traditionally in minetest been
implemented using ABM's. These ABM's periodically tick and cause
plants to grow. The way these ABM's work has several side effects
that can be considered harmful.

Not to mention a comprehensive list of downsides here, but ABM's
are chance-dependent. That results in the chance that some nodes
potentially never get processed by the ABM action, and others get
processed always. One can easily find this effect by planting a large
field of crops, and seeing that some nodes are fully grown really
fast, and some just won't make it to fully grown status even after
hours or play time.

One could solve the problem by making the ABM's slower, and giving them
a 100% of action, but this would cause the entire field to grow a step
instantly at ABM intervals, and is both ugly, and a large number of
node updates that needs to be sent out to each client. Very un-ideal.

With NodeTimers though, each node will see a separate node timer event,
and they will likely not coalesce. This means that we can stop relying
on chance to distribute plant growth, and assign a single timer event
to grow the plant to the next phase.  Due to the timer implementation,
we won't ever miss a growth event, and we can re-scehdule them until
the plant has reached full size.

Previously, plants would attempt to grow every 9 seconds, with a
chance of 1/20. This means typically, a plant would need 9*20 seconds
to grow 1 phase, and since there are 8 steps, a typical plant growth
would require 9*20*8 ABM node events. (spread out over 9*8 ABM actual
underlying events per block, roughly).

because plants are likely not growing to full for a very long time
due to statistics working against it (5% of the crops take 20x longer
than the median to grow to full, we'd be seeing ABMs fire possibly
up to 9*20*8*20 with a 95% confidence interval (the actual math
is likely off, but the scale should be correct). That's incredibly
wasteful. We'd reach those conditions easily with 20 plant nodes.

Now, after we convert to NodeTimers, each plant node will see exactly
8 NodeTimer events, and no more. This scales lineairly per plant.

I've tuned the growth rate of crops to be mature in just under 3
whole days. That's about 1hr of game time. Previously, about half
the crops would grow to full in under 2 days, but many plants would
still not be mature by the end of day 3. This is more consistent.

An additional problem in the farming mod was that the final fully-grown
plant was also included in the ABM, causing infinite more ABM's even
after the entire field had grown to completion.

Now, we're left with the problem that none of the pre-existing plants
have actual node timers started on them, and we do not want a new ABM
to fix this issue, since that would be wasteful.  Fortunately, there
is now an LBM concept, and we can use it to assure that NodeTimers
on crop nodes are properly started, and only have to do the actual
conversion once per block, ever.

We want to provide a fairly similar growth rate after this conversion
and as such I've resorted to modelling some statistical data. For this
I created a virtual 32x32 crop field with 9 steps (8 transitions)
as is the default wheat crop. We then apply a step where 1 in 20
plants in the field grows a step (randomly chosen) and count the
number of steps needed to get to 25%, 50, 75% and 95% grown.

The resulting data looks as follows:

25% - ~120 steps * 9 sec / abm = 1080s
50% - ~152 steps               = 1368s
75% - ~194 steps               = 1746s
95% - ~255 steps               = 2295s

Next, we want to create a model where the chance that a crop grows
is 100% every node timer. Since there will only be 8 steps ever,
we want the slowest crops to grow in intervals of ~ 2300 / 8 seconds
and the fastest 1/4 of crops to grow 1080 / 8 seconds intervals.
We can roughly compare this to a normal distribution with a median
of 1400 with a stddev of ~350 (thick fingering this one here).

The rest is a bit of thick-fingering to get similar growth rates,
taking into account that ABM's fire regularly so if they're missed
it's fairly painless, but our timers are going to be 1-2 minutes
apart at minimum. I calculate the timer should be around 150s
median, and experimented with several jitter ranges.

Eventually I settled for now on [80,200] with a redo of [40,80],
meaning that each growth step at minimum takes (80 to 200) seconds,
and if a negative growth condition was found (darkness, soil not
wet, etc), then the growth step is retried every (40 to 80) seconds.

The end result is a growth period from seed to full in ~ 2.25
minetest days. This is a little bit shorter than the current
growth rate but the chances you'll miss timer ticks is a bit
larger, so in normal gameplay it should be fairly comparable.

A side effect is that fields grow to full yield fairly quickly
after crops make it to mature growth, and no crops are mature
a very long time before the majority grows to full. The spread
and view over a growing field is also fairly even, there's no
large updates with plenty of nodes. Just a node here or there
every second or so in large fields.

Ultimately, we get rid of ABM rollercoasters that cause tens of
node updates every 9 seconds. This will help multiplayer servers
likely a lot.
2016-05-25 03:26:53 +01:00
tchncs
c8fc4cfb36 update submodules 2016-05-24 12:01:34 +02:00
Auke Kok
fc902a77de Boats: Lower boat collision box top
Standing on a boat makes you appear to "hover" over it since this
collision box is way too high. Lower it so that it's low enough
to look normal when walking on top of a boat
2016-05-23 08:37:58 +01:00
paramat
3e5f3f28d2 Vessels: Improve code style 2016-05-23 08:37:58 +01:00
paramat
d8daee7e47 Vessels: Make shelf open on 2 sides not impossible 4 sides
Make shelf facedir rotatable as is now required
2016-05-23 08:37:58 +01:00
Duane Robertson
7681682d28 Doors: Fix uninitialized state variable 2016-05-23 08:37:11 +01:00
tchncs
79e4ea3bf2 update submodules 2016-05-23 09:07:19 +02:00
tchncs
ad04e5ae0d update submodules 2016-05-22 23:33:14 +02:00
tchncs
8ef03465d1 update submodules 2016-05-22 23:05:42 +02:00
tchncs
f1ddb91275 update submodules 2016-05-22 22:43:37 +02:00
tchncs
3c9c69e5fe replace farming with submodule 2016-05-22 09:56:56 +02:00
tchncs
95adcfc97b update submodules mods/mobs_animal and mods/mobs_monster 2016-05-21 15:39:37 +02:00
Thomas--S
b9422ed44e Vessels: Smaller/improved textures, remove duplicated 'inv' textures
Removed unnecessary inventory textures
The drinking glass inventory texture now differs from
the node texture to be more clearly a drinking glass
Smaller textures to reduce size as nodes
2016-05-21 03:03:03 +01:00
red-001
b1e0864cf1 Creative: Reset 'start_i' to 1 when the inventory filter is changed 2016-05-21 03:02:10 +01:00
paramat
90f24e312d Default: Remove unnecessary infotexts for chests and signs 2016-05-21 03:01:10 +01:00
tchncs
8578d16b76 add alias for moretrees:slab_acacia_planks, fixes #4 2016-05-19 23:36:55 +02:00
tchncs
7ac7661de1 update submodule mods/illuna 2016-05-19 23:18:25 +02:00
tchncs
ac7e46b74d add mobs_redo, mobs_animal, mobs_monster to submodules 2016-05-18 12:28:04 +02:00
tchncs
018c89a9d6 update submodule illuna 2016-05-16 00:26:42 +02:00
tchncs
482573ca32 update/fix submodule death_messages 2016-05-15 21:35:10 +02:00
tchncs
f70c1e91b1 remove obsolet submodule death_messagem add new death_messages module 2016-05-15 21:28:52 +02:00
tchncs
25aff14341 add wine mod to submodules 2016-05-15 15:51:24 +02:00
paramat
e7a55734d3 Tnt: Avoid divide-by-zero errors in calc_velocity() 2016-05-08 22:53:16 +01:00
tenplus1
b36b154257 Creative: Fix inventory crash after toggling creative mode in-game 2016-05-08 00:40:52 +01:00
tenplus1
3976dc6a5b Creative: Fix '-' glitch in playername
Fix the glitch when players use the '-' character in their username
on a server, causing creative inventory to not pass page 2
2016-05-07 02:13:00 +01:00
tenplus1
8ea031ef77 Creative: Add global variable creative.formspec_add
This pull adds a new global variable called creative.formspec_add
that will allow mods to add to the creative inventory screen
without the need to fork the mod altogether.  Simple solution
that works already for inventory_plus' BACK button
2016-05-07 02:07:55 +01:00
paramat
8c3f96d738 Stairs/default: Make sandstone(brick) groups consistent
Sandstone is crumbly = 1 cracky = 3 to be slowly diggable by hand
Sandstonebrick(stair/slab) is cracky = 2
2016-05-05 23:46:53 +01:00
Foz
8d3d558e42 Tnt: Fix bug in dropped item counting 2016-05-05 23:46:10 +01:00
paramat
de3adb5859 Default: Lower grass_side and snow_side textures
Half coverage for a more grassy appearance
Make snow_side universal by removing green pixels
Move KevDoy's heart texture credit to above sound credits
2016-05-05 23:42:10 +01:00
tchncs
69f284f950 merge minetest/minetest_game master 2016-05-02 11:11:05 +02:00
tchncs
f4fc4294b7 fix mergeconflicts 2016-05-02 10:16:25 +02:00
rubenwardy
acafe5ca86 Add give_initial_items API 2016-05-01 19:29:15 +01:00
Auke Kok
12c763a6c7 TNT: Combine adjacent TNT into the explosion
This uses a vmanip to count adjacent tnt nodes and explodes them
all at once, using an inverse square law to recalculate the radius.
The maximum explosion becomes 125 nodes of tnt yielding a radius of
15 nodes, which does not break my machine and makes it return
in under a second.

This makes both bigger explosions and less stability issues.

The drop code has been simplified and now drops at all times a
reasonable amount of drops, never blanketing the area with drops,
even at the larges explosion level.

Particles are scaled up according to explosion size as well - a
bigger explosion will show bigger particles.

To scale the tnt:boom particle, we move it to the _effects() function.
2016-05-01 18:57:45 +01:00
Auke Kok
098ea0d10a TNT: Allow mods to override entity physics.
Introduces an `on_blast(luaobj, damage)` callback that mods can attach
to an entity def. The function will get called with the damage that
TNT would make.

The function should return three values:

  bool do_damage, bool do_knockback, table drops

do_damage allows the mod to tell the TNT code to perform damage on
the entity for the mod. The mod code should not do anything with
the entity HP. The entity should not be immortal. If false, then
the entity will not be damaged by the TNT mod.

do_knockback allows the mod to tell the TNT mod to perform an
entity knockback effect. If false, no knockback effect is applied
to the entity.

the drops table is a list of items to drop. It may be nil. E.g. {
"wool:red" }.

I've documented both on_blast() API methods in game_api.txt. It is
a better place than lua_api.txt.
2016-04-30 20:47:21 +01:00
Auke Kok
f14b411157 TNT: Fix multiple explosions erasing drops
Any second explosion near a first TNT explosion will punch all
entities found nearby, including item drops. This causes the
item pickup code to think the item was picked up, but by
a `nil` player, thus removing the item.

We query for the immortal entity group, and if the item is in
the immortal group, do not punch the item.
2016-04-30 20:47:21 +01:00
Foz
1a6298958e Default: Add function 'node_sound_gravel_defaults()' 2016-04-29 23:19:30 +01:00
paramat
fafbe2c268 Default: New grass and grass_side textures
Derived from Casimir's Voxelgarden texture
2016-04-29 23:19:30 +01:00
tenplus1
dc7cbdd5ab Beds: Quicker saves with tidy output
Tweaked the beds.save_spawns() function to compile list then output
to file with shortened co-ordinates containing 1 decimal place
2016-04-29 23:18:05 +01:00
Auke Kok
5cd4b5a231 TNT: make tnt:boom visual a particle, and larger
We reuse the tnt:boom texture for a particle that is added by the
on_construct() of tnt:boom, and has a short expiry time (0.2sec).
It is 3 nodes larged, centered on the explosion.

We then make tnt:boom airlike so it doesn't have a texture, and it's
the thing that emits lots of light (we could even make it exist a
bit longer).

The nice thing about particles is that the client is less susceptible
to lag and will always remove them as fast as possible, so this makes
the visual more constant and responsive.
2016-04-26 22:34:00 +01:00
Auke Kok
f62afa02b7 TNT: lower smoke particle count and speed.
The effect is similar, and the reduction in particles is a small
boost in responsiveness.

To compensate, I've lowered the spawner time and expiration length
as well.
2016-04-26 22:34:00 +01:00
Auke Kok
7a892c70e6 TNT: self-start boom removal timer. 2016-04-26 22:34:00 +01:00
Auke Kok
682d79b82a TNT: make tnt:burning a falling node.
This allows TNT to be used for e.g. traps (drop it from the
ceiling) or weird tnt effects with other explosions.
2016-04-26 22:34:00 +01:00
Auke Kok
8b384fb257 TNT: randomly vary ejecting velocity
We add a +/- 0.5 random value to the velocity vector of
ejecting nodes.

I've spotted a lot of nodes going exactly straight up if blowing
up sand above TNT. The extra variation looks less artificial.
2016-04-26 22:34:00 +01:00
Auke Kok
d6c33da355 TNT: Damage mobs, knock back players
We apply punch damage to mobs caught in the blast radius, as
this code previously only hurt players.

We "move" players back 1 node if they're caught in the blast, and
slightly up. We can't "eject" players due to missing API code to
support that, unfortunately.
2016-04-26 22:33:59 +01:00
Auke Kok
386dcdef06 TNT: Whitespace cleanup 2016-04-26 22:33:59 +01:00
Auke Kok
54b87e955d TNT: Add on_blast to all nodes with an inventory
Adds a minor helper function that allows efficient retrieval of
several inventories from a node inventory. We use this helper to
quickly retrieve the items in chests, vessel shelves, book shelves
and furnaces, and return these with the nodes itself to the TNT caller.

The TNT caller then performs the entity physics, and we don't need
to do anything else.

We disable TNT doing anything with bones.

We expose a bug in the code that drops the items - metadata was lost
entirely. This patch corrects that by properly copying the metadata
and creating the drops list inclusive metadata.
2016-04-26 22:33:59 +01:00
paramat
f32a3ff57c Farming: Add quiet sounds to seeds 2016-04-23 20:09:04 +01:00
kilbith
16fe1efcd8 Flowers: Fix waterlily node's duplication with stack of 1 2016-04-23 20:08:43 +01:00
KevDoy
fa43bd8a56 Default: New heart texture
Similar to before, add symmetry and slightly more rounded off
2016-04-23 20:01:09 +01:00
paramat
e426f64993 Fire: Higher chance of removing flammable nodes
Flammable nodes burn away quicker
2016-04-19 05:33:13 +01:00
paramat
ab7b7c7504 Flowers: Make flower spread a public function to enable override
Remove search for 'group:flora_block'
Enable flora spread on 'dirt with dry grass'
2016-04-19 02:58:03 +01:00
Auke Kok
80664f9f8a Doors: Use LBM instead of ABM to convert doors.
This works much more efficiently to replace old style doors.
2016-04-19 02:57:54 +01:00
paramat
0ca43e42bc Default: Create 'grass', 'dry_grass' groups, use in dirt conversion ABM 2016-04-18 01:52:03 +01:00
Auke Kok
33aa5e77dc Character: Fix boat leg wobble.
There was a small leg wobble in the sitting animation (visible
when sitting on the boat). This removes it.
2016-04-18 01:51:57 +01:00
paramat
f8e273da15 Boats: Increase maximum velocity to 5n/s 2016-04-16 19:27:47 +01:00
tenplus1
9ece86cc7a Flowers: Tweak flower and mushroom spreading
Tidy up position numbers and code
Check for flora group aswell
Improve node light check for mushroom growth
Shrooms grow in 3 and below light
2016-04-16 19:27:41 +01:00
Auke Kok
7d93272caa Change how dirt turns to dirt_with_(something)
This changes how dirt blocks turn to dirt_with -grass, -dry_grass
or -snow.

Previously, dirt that was sunlit would turn to dirt_with_grass no
matter what, but this happened without any context, so you could
get green patches of dirt_with_grass in the middle of a savannah or
even desert.

Dirt no longer turns to covered dirt unless it's within 1 node from
another dirt_with_grass or dirt_with_dry_grass or dirt_with_snow.
This makes dirt_with_grass "growback" a lot slower, since it now only
happens on the edges, but it retains the context nicely now.

If there is any dirt with a grass or dry grass plant, or snow on top,
and enough light, we'll convert it sporadically to dirt_with_grass
or dirt_with_dry_grass or dirt_with_snow.

This allows us to plant grass of our choice in a large dirt patch,
or in a region where otherwise that type of grass is not present.

This used to be done by 2 abms, but I've combined them in to a single
ABM that is ordered to run with maximum efficiency, solving for the
most common outcome first before attempting more complex checks.
2016-04-16 19:27:34 +01:00
Auke Kok
64fe69f382 Remove "grass under snow" from default:dirt_with_snow in darkness.
This is technically "dirt with grass" that's just under a snow
cover, so in darkness the grass on these nodes will also die,
turning it into dirt.

This doesn't convert dirt_with_snow under snow.
2016-04-16 19:27:34 +01:00
Auke Kok
a2d4e57716 Call nodeupdate on the entire blast zone
This will make sand and gravel blocks on top of TNT actually fly
in the air.

  https://youtu.be/4omndVZijLc
2016-04-16 19:27:16 +01:00
Auke Kok
8114c3dbab Limit entity speed to 250m/s.
Let's just call it "terminal" velocity.
2016-04-16 19:27:16 +01:00
Auke Kok
e6cef57661 TNT: Move timer start to on_create() for burning nodes.
We add on_create() handlers for both burning TNT and burning
gunpowder. Because gunpowder will explode TNT in 1 second,
and not 4, we need to modify the 4 second timer after we
make the TNT burning. Other mods can now place burning TNT
that will by default explode after 4 seconds.
2016-04-16 19:27:16 +01:00