Commit Graph

133 Commits

Author SHA1 Message Date
Emojigit
75f9575557
Allow to set use_texture_alpha when registering a door
Co-Authored-By: Gregor Parzefall <gregor.parzefall@posteo.de>
2022-01-14 19:41:26 +01:00
An0n3m0us
3aaabce7a4
Convert door model to B3D (#2906)
Using a B3D model I worked out that it would be possible to have only two models (instead of the current four) for the doors and still keep all the mirroring correct when the door is open/closed.
2021-12-12 16:37:50 +01:00
LoneWolfHT
5875820542
Use itemstack name when placing doors (#2888) 2021-10-31 19:17:31 +01:00
sfan5
4b8b33587c Fix misuse of nodedef custom fields in fence gates
Custom fields must start with an underscore, this is very relevant for `sound` which is already defined by the engine.
2021-09-24 21:03:49 +02:00
sfence
70500943f3
Fix problem with sharing table in door nodes Lua definitions
closes #2882
2021-06-06 19:24:10 +02:00
Paramat
ddebdeccb1
Add open/close sound gains to the Doors API, balance sound levels (#2768) 2021-05-31 20:43:33 +01:00
sfan5
08b13c9efb Fix deprecated alpha / use_texture_alpha use 2021-02-07 11:48:05 +01:00
Maksim
e6aec880de
Use Minetest 5.3 'minetest.is_creative_enabled' API (#2795) 2020-12-13 18:59:19 +01:00
Wuzzy
6605724fe1
Add icons for invisible nodes (#2718) 2020-09-30 16:41:04 +01:00
sfan5
ef45a8e148
doors: Remove unnecessary nodebox and empty texture (#2662) 2020-05-04 19:20:01 +02:00
An0n3m0us
189d2d9fb1
Fix door model UV for open and close (#2372)
Introduce _c and _d door types to correctly render the texture faces for the open and closed state.
2020-04-24 21:04:00 +02:00
An0n3m0us
05fad37b3c
Sort items into correct categories (#2612) 2020-04-06 15:15:50 +02:00
sfan5
d3e26dba18 Convert minetest.sound_play uses to ephemeral 2020-02-05 22:24:23 +01:00
sfan5
3f7cd062c3
Fix trapdoor infotext to correctly describe the type of trapdoor 2019-09-20 20:56:20 +02:00
sfan5
09bed49b5a
Fix door infotext to correctly describe the type of door 2019-09-20 20:10:58 +02:00
mbartlett21
c42a525ce8 Add option for non-jumpable fences and walls
Add an option, default disabled, to extend the collision boxes upwards.
2019-09-16 21:38:02 +01:00
An0n3m0us
1f7ea89cb6 Add missing infotext to nodes (#2477) 2019-09-14 20:30:26 +02:00
Yves Quemener
bb9279ccb8 Add support for MT 5 game translation (rebasing ) (#2466)
rebased #2368
2019-09-10 19:09:51 +02:00
TumeniNodes
7f830124f7 Various mods: Use " " instead of ' ' for item names 2019-08-01 02:40:39 +01:00
Paramat
5c48c76aa2
Fix trapdoor side textures and orientations
Previously, opening a trapdoor caused the side textures to flip.

Fix the incorrect textures.
Also add a texture transform to a tile of the open trapdoor, such
that the closed trapdoor sides use the lower part of the texture
and the open trapdoor sides use the higher part.

Clean up some codestyle issues.
2019-05-03 23:49:07 +01:00
SmallJoker
dd3f3b2032 Use group:stick in recipes (fixes #2306) 2019-03-24 10:59:34 +01:00
Ryan Nolan
bae58b3806 Doors: Allow on_rightclick to be overidden
Allow mods such as protection mods to over ride on_rightclick.
Usecase is creating shared doors without the need for keys.
2018-12-20 22:45:24 +00:00
sofar
667e130c52 Prevent crash if some mod inadvertently allowed doors to rotate 2018-12-06 23:29:43 +00:00
paramat
d5907d5f1e Doors: Avoid crash on nil player in 'can dig door' 2018-02-03 03:54:03 +00:00
DTA7
a2d7678ffd Add nil checks for placer 2017-11-15 23:16:28 +00:00
sfan5
bf8404fcf7 Doors: Same prediction change for trapdoors
Forgot this in the last commit, thanks @Fixer-007
2017-09-12 00:28:29 +02:00
sfan5
edba1dcb02 Doors: Disable client dig prediction for protected doors 2017-09-11 21:35:28 +02:00
Ezhh
40ed77185e Improve node descriptions (#1834) 2017-07-23 10:26:10 +02:00
DS-Minetest
2e413b521a Add backface_culling to open chests and fencegates 2017-07-02 11:32:34 +01:00
Ezhh
3d1fc42f66 Make sapling, leaves and fence descriptions consistent (#1795) 2017-06-25 11:19:12 +02:00
MrIbby
18956c7f69 Change "Junglewood" to "Jungle Wood" 2017-06-03 11:55:13 -04: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
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
Thomas--S
98216810ef nodebox -> node_box
Seems like this was a typo
2017-04-12 18:39:42 -07:00
SmallJoker
b377aaa50d doors: Fix craftitem not listed in inventory (#1683)
Fixes bug caused by b847888
2017-04-02 10:01:01 +02: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
Thomas--S
73e4666f28 Change doors to default.can_interact_with_node() 2017-03-16 09:11:20 -07:00
SmallJoker
b87ef5ccde Keys: Update default.can_interact_with_node to new item meta
Completes a forgotten update in 9d3a526
2017-03-12 12:20:31 -07: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
Auke Kok
6dcf541f6e Revert "Doors: Remove ..." and "Doors: Allow the screwdriver to ..."
This reverts commit 5e4a6e8ac6, and
             commit 60cf3f85b6.

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
rubenwardy
48ab62db88 Make doors place when shift is held instead of calling on_rightclick
Fixes #1364
2017-01-03 16:54:01 +00:00
Auke Kok
e4b1c93512 Keys: Allow easy sharing of access without commands
This code adds the key concept to minetest_game, and integrates it
with lockable nodes. Currently supported lockable items are the Steel
Door, the Steel Trapdoor, and the Locked Chest.

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

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

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

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

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

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

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

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

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

Textures are from PixelBOX, thanks to Gambit.
2016-11-25 03:01:14 +00:00
paramat
09a229b412 Update 'nodeupdate()' to 'check_for_falling()' API 2016-11-22 05:55:36 +00:00
Auke Kok
75caa9167c Fix whitespace errors to silence luacheck.
Currently all minetest_game PR's are failing travis since the
upstream luacheck now also warns about whitespace issues, and
there are a few of those in the code. This fixes all of them
so we can yet again rely on luacheck.
2016-11-19 19:39:51 -08:00
cx384
23ba2d3a0c Add and edit fuel registrations
Edited fuels: fences, wooden ladder.
New fuels:
boat, paper, book, dry shrub, stick, vessels shelf, wooden tools,
wooden door, trapdoor, fence gates, farming crops, stairs, slabs, beds.
2016-11-02 13:04:25 +00:00
Auke Kok
fbac9be51c Change many metal nodes to use default metal sounds 2016-10-25 02:37:36 +01:00
paramat
5e4a6e8ac6 Doors: Remove ability to rotate doors with screwdrivers
Rotating doors with screwdrivers causes too many issues to be worth it.
2016-09-30 02:44:24 +01:00
paramat
3e05870706 Doors: Trim open fencegate collison box again
The collision box still extended into a neighbouring empty node, causing
falling node objects to collide but not transform back into normal nodes.
Completes the fix started in a previous similar commit.
2016-09-23 18:24:47 +01:00