mirror of
https://github.com/LeMagnesium/minetest-mod-metatools.git
synced 2024-11-13 05:40:24 +01:00
A mod for minetest adding ways to navigate through nodes' metadatas
https://github.com/LeMagnesium/minetest-mod-metatools
ec2ae309da
- Keep a similar structure but separate fields and inventory manipulation - Remove itemstack read, show can do it - Add list (list init, list delete) to manipulate lists - Rewrite the whole code for a new structure to come, with an API |
||
---|---|---|
textures | ||
init.lua | ||
README.md |
Minetest mod metatools ######################
A mod inspired by mgl512's itemframe issue Version : 1.2
Authors
- LeMagnesium / Mg / ElectronLibre : Source code writer
- Paly2 / Palige : Contributor for the source code
- Ataron : Texture creater
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.
Media
"metatools_stick.png" by Ataron (CC-BY-NC-SA)
Todo
- Rewrite the table stocking : a variable containing a copy of the global table returned by :to_table(), on which we would work, and a save command to apply it on the node
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
Command tutorial
- help => Get help
- version => Get version
- open (x,y,z) mode => Open the node to manipulate at pos (x,y,z) with mode mode (default is 'fields')
- show => Show fields/path list at actual position
- enter path => Enter next stratum through path
- leave => Leave current field and go back to previous stratum
- set name value => Set metadata name to value (create it if it doesn't exist)
- itemstack => Manipulate itemstacks in Node/inventory/*/
- erase name => Erase itemstack at field name
- write name itemstring [count] => Set itemstack in field name with item itemstring and count count. Default count is one, 0 not handled.
- list
- init name size => Create a list of size size named name
- delete name => Delete any list that could be called name
- close => Close node
Node metadatas look like this :
0 1 2 3 ...
Node/
|
+- fields
| |
| +- foo
| +- bar
| +- ...
+- inventory
|
+- main
| |
| +- 1
| +- 2
| +- 3
| +- ...
+- craft
| |
| +- 1
| +- 2
| +- 3
| +- ...
+- ...