projects | ||
textures | ||
.gitignore | ||
assertions.lua | ||
chatcommands.lua | ||
description.txt | ||
init.lua | ||
mod.conf | ||
readme.md | ||
update local.bat |
Minetest mod metatools
Get everything possible* about a node just by clicking it with metatools:stick!
Differences in Poikilos' fork:
This is a hard fork oriented around getting information without typing any commands.
- All known* metadata is shown on click! There is no need for various commands to traverse the tree, though the original chat command code is intact.
- Click a node and get its inventory.
- Click an entity and list the entire LuaEntitySOA tree!
- See the "Minetest API Notes" section below.
- The texture is redone so that doesn't any longer have an invasive and inappropriate CC-BY-NC-SA license from the upstream version of metatools.
*
All metadata where how to obtain it is known by the maintainer of this repo (except where there is an open issue).
Authors
Code:
- 2015-2016 LeMagnesium/Mg/ElectronLibre and Paly2/Palige (mod inspired by mgl512's itemframe issue)
- 2017-2022 Poikilos (Poikilos' fork of Version 1.2.2)
Textures:
- 2022 Poikilos (redone "metatools_stick.png" replaces one with invasive and inappropriate CC-BY-NC-SA license [old texture was by Ataron])
Purpose
This mod's aim is to provide a way for admins to navigate through any (ok, not ignores) nodes on the map, and see values of its metadatas at any of their stratum.
Install
- Copy the repo folder containing init.lua to your Minetest mods folder (The resulting folder should be mods/metatools/).
- Enable the mod for the world.
- You can remove the "projects" folder to lighten the "game" if necessary (Keeping the png is useful but only for documentation--Nothing in "projects" is used by the mod code).
Special thanks
- mgl512 (Le_Docteur) for its locked itemframe which gave me the idea of a tool allowing to see/edit metadatas
- Ataron who created the stick's texture
- palige who agreed to test the mod for its first release, and contributed to the last version
Use
- After following the "Install" steps above, open the world in Minetest.
- Type
/grantme all
- Type
/giveme metatools:stick
The chat commands from https://github.com/Lymkwi/minetest-mod-metatools are still present but usually not necessary:
- Type
/meta help
to see instructions on chat commands.
Development
Minetest API Notes
Entity Metadata
The magic sauce to get the entire LuaEntitySOA of a pointed_thing was finally discovered by accident (when researching unrelated API feature(s)) after no one would/could answer my question:
local pointedObjRef = pointed_thing.ref;
-- . . . some other code is here, then ...
local luaEntity = pointedObjRef:get_luaentity();
Node metadata
Node
|
+-fields
| |
| +-foo
| +-bar
| +-...
+-inventory
|
+-main
| |
| +-1
| +-2
| +-3
| +-...
+-craft
| |
| +-1
| +-2
| +-3
| +-...
+-...