Commit Graph

991 Commits

Author SHA1 Message Date
Auke Kok
d5e19d70c2 Screwdriver: drop nodes if no longer attached.
This should be fairly cheap and pops off items if needed.
2017-03-12 10:20:19 +00:00
Dániel Juhász
efb81d188e Correct rotation of attached nodes, and rotate colored nodes 2017-03-12 10:20:19 +00:00
Auke Kok
297192dd39 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.
2017-03-12 10:20:19 +00:00
Auke Kok
f14b0a6ff5 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.
2017-03-12 10:20:19 +00:00
Auke Kok
0850314d74 luacheck 0.19.0 complains about unpack(). 2017-03-11 18:38:56 -08:00
paramat
ad118ea98d 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'.
2017-03-10 19:30:18 +00:00
paramat
c52ad140ae 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.
2017-03-10 19:28:43 +00:00
paramat
0f0dd0f6e8 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.
2017-03-10 19:28:38 +00:00
paramat
1f6d633037 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.
2017-03-07 06:43:44 +00:00
rubenwardy
a16413f96c sfinv: Fix wrong tab being highlighted
Thank you to @ForbiddenJ for finding cause of the issue.
2017-03-07 06:43:18 +00:00
tenplus1
6d67badcac Screwdriver: Fix crash
If 'node_box' is nil 'node_box.type' causes a crash.
2017-03-07 06:37:33 +00:00
Diego Martínez
1d45b27c12 Add desert/silver sandstone-related blocks. (#1596)
Add desert and silver sand-related blocks, and stairs.
2017-03-06 19:03:30 -08:00
Diego Martínez
496521f4a1 Fix some warnings.
Also fixes the failing travis checks.
2017-03-05 09:27:53 +00:00
paramat
28ecb3b261 Dungeons: Use 'block' instead of 'brick' for nodebox stairs 2017-03-05 09:27:44 +00:00
octacian
c68b8274fe 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.
2017-02-28 18:16:55 -08:00
Auke Kok
78c632ebd4 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.
2017-02-28 18:16:12 -08:00
paramat
d1b132555b Biomes: New surface node for rainforest
Moist rainforest plant litter.
Textures by npx.
2017-02-28 05:32:19 +00:00
octacian
9d3a526324 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.
2017-02-27 19:00:14 -08:00
paramat
bb18eeccaf Corals: Smaller, less dense reefs 2017-02-25 03:52:31 +00:00
paramat
d5f1f964e3 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.
2017-02-25 03:52:26 +00:00
paramat
1ec31d8472 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.
2017-02-25 03:52:19 +00:00
MarkuBu
60e5b299af 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.
2017-02-25 03:50:15 +00:00
Thomas--S
37dd910747 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
2017-02-21 10:17:12 -08:00
SmallJoker
89c45993ac Carts: Fix the rail table overwrite behaviour 2017-02-12 11:39:52 -08:00
paramat
0819d4bade 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.
2017-02-12 01:27:34 +00:00
octacian
f6dfa4a1cb 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.
2017-02-12 01:23:53 +00:00
rubenwardy
e3dd3d19cd Add sfinv.set_page, plus other helper functions 2017-02-10 23:54:57 +00:00
Paramat
86849d9eec 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.
2017-02-08 16:01:30 -08:00
Thomas--S
c88c0a98fd Make drop logic work better for non-8-step-plants. (#1544)
Using @paramat's formula.
2017-02-08 15:59:25 -08:00
paramat
2e950ac61c 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.
2017-02-02 17:20:53 +00:00
paramat
2b215848d8 Trees: Add 'snowy' group for pine sapling snow detection
Use the 'snowy' group in the 'is snow nearby' function instead of
default nodes. Often snow nodes are not from the default mod.
2017-02-01 17:51:44 +00:00
paramat
e86955afae Creative: Cache creative mode setting 2017-02-01 17:51:35 +00:00
paramat
d560f59a74 Ores: Add silver sand blob ore, relocate other blob ores 2017-02-01 17:51:22 +00:00
rubenwardy
b06368adf2 Fix node drops not being added to inventory when not in creative mode 2017-01-27 19:48:59 +00:00
paramat
1dd9fdb530 Dungeons: Add mapgen alias for desert stone stairs 2017-01-26 17:56:16 +00:00
number Zero
38500da655 Stairs: Fix smooth lighting of stair mesh 2017-01-26 17:55:16 +00:00
rubenwardy
bee5b316a8 Creative: Add creative.is_enabled_for 2017-01-26 17:54:45 +00:00
paramat
ae426878d4 Sounds: Remove 'default_dig_crumbly' from leaves defaults table
Now that the missing 'default_dig_snappy' sound has been added we can
remove the dirt dig sound from the table. All nodes that use the
leaves defaults table have group 'snappy' so 'default_dig_snappy' now
becomes their default dig sound.
2017-01-22 07:47:04 +00:00
Martin Doege
eb1805ea0a Textures: Strip color profiles from some textures
Removes the "iCCP: known incorrect sRGB profile" error messages on the
console when starting minetest_game by stripping offending color profiles.
2017-01-22 07:43:12 +00:00
Auke Kok
1104d571b0 TNT: Log explosions and player igniting tnt or gunpowder 2017-01-19 21:57:34 -08:00
Auke Kok
6dcf541f6e Revert "Doors: Remove ..." and "Doors: Allow the screwdriver to ..."
This reverts commit 5e4a6e8ac68b92c7394b80bb67839b71b4a4a00b, and
             commit 60cf3f85b6e661482ec2705cadbdc1b04e388d19.

The original door API rewrite I posted had all rotation disabled using
the correct on_rotate() handler returning `false`. Two subsequent
changes attempting first to enable simple rotation and second disabling
that again changed the callback handler to a boolean `false`, which
is incorrect use in the screwdriver API, and actually allows rotation.

The proper way to disable rotation for facedir nodes it to use a full
callback handler that does `return false`.
2017-01-15 17:43:17 -08:00
paramat
1470b9df79 Tree log decorations: Replace lua tables with .mts files 2017-01-15 04:29:56 +00:00
Lars Hofhansl
8715b83ff0 Fire: Make explosions remove flames
TNT removes flammable nodes from the destruction radius and should
remove flames within it too because they lose their fuel and would
be removed by ABM later anyway.
2017-01-15 04:24:01 +00:00
Baptiste Pouget
57eb906047 Add support for custom bed sounds 2017-01-12 12:42:38 -08:00
Auke Kok
df19b4eab0 Dye: Simplify recipes.
Create a simple triplet table (src1, src2, dst) for all the dye
recipes and group them logically, with a bit of explanation where
they actually come from.

This prunes a lot of recipes from the list, but the old list had a
ton of combinations that did not make any sense, as well as recipes
that were just gross approximations and duplicates, mixing the same
color with itself just to get the same color back, which just wastes
packets at logon.

The list has been checked to allow all colors created from the basic
dyes (flowers+coal) so that all colors can be crafted.
2017-01-11 23:53:44 -08:00
paramat
c8b1671ef0 Default: Alter sand to sandstone recipe
Craft 4 default:sand to default:sandstone.

Previously, 4 group:sand was craftable to sandstone and sandstone was
craftable back into default:sand, allowing silver and desert sands to
be converted into incorrect colour sandstone and yellow sand.
2017-01-07 22:01:36 +00:00
paramat
96aac5ff5b Fire: Reduce flame light level to 13 2017-01-07 22:01:30 +00:00
paramat
b6889134d3 License.txt: Include full official LGPL 2.1 .txt file
Copy-paste and only remove form-feed characters.
2017-01-07 22:01:24 +00:00
rubenwardy
cadc8b34d7 Add /killme chat command
Added as a new mod as it doesn't fit anywhere else.

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

Fixes #857
2017-01-07 22:01:19 +00:00
rubenwardy
48ab62db88 Make doors place when shift is held instead of calling on_rightclick
Fixes #1364
2017-01-03 16:54:01 +00:00