The old code takes the first return val of `minetest.item_place_node'
which is `itemstack'. Therefore, the variable `success' in the old code
is always true. The new code takes the second val which will be nil if
an invalid node placement occured.
This check is necessary since the ladder may be placed in the front of
pointed block while there is a node with hole (slabs, fences etc.) at
the same place resulting an invalid placement and sound played when
it shouldn't be played.
LUAs `math.random(a,b)` expects a and b to be integers. `size` was only randomized once.
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4583
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: kno10 <erich.schubert@gmail.com>
Co-committed-by: kno10 <erich.schubert@gmail.com>
Items are instead written as a serialized string into ItemStackMetaRef, and read from there as well. Old itemstacks get converted to the new format automatically.
Now you can define custom groups for the chests, as shown in the trapped
chests example (now they show up under "Mechanisms" tab in creative!).
I'm a bit suspicious of the new return-wrapped functions, as in *they
might break under some circumstances I didn't observe*. It will require
some heavy testing to make sure nothing crashes in the future.
Also, `on_rightclick` for double chests is something I really want to
return-wrap as well, but failed to do so. 🤷
Pass chest entity initialization data to on_activate as staticdata so
initialization is atomic, preventing premature deletion of chest entity
by concurrent server steps.
Chest tile management has been reorganized to use postfixes, some slight
formatting fixes applied here and there, and roughly marked down where
the new files should (ideally) begin and end.
Amongst other changes:
- mcl_chests.register_chest function has been exposed. The API is still
too terrible to call it quits though, I definitely want all these
parameters passed to be part of a key-value table.
- Added a TODO list at the top of the file. Don't worry, I'll remove it
once I'm done. It's more just for my convenience than anything.
Fixed slab placement being not allowed when it should be allowed.
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4317
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: JoseDouglas26 <josedouglas20002014@gmail.com>
Co-committed-by: JoseDouglas26 <josedouglas20002014@gmail.com>
This should allow renaming items on the anvil when using mobile. This also may improve mobile craftguide experience.
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4456
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>