modlib/Readme.md

35 lines
1.3 KiB
Markdown
Raw Normal View History

2019-05-01 16:53:01 +02:00
# modlib
Lightweight Minetest Modding Library
2019-05-03 13:51:17 +02:00
## About
2019-08-13 15:08:16 +02:00
No dependencies. Compatibility is checked automatically.
Licensed under the MIT License. Written by Lars Mueller aka LMD or appguru(eu).
2019-05-03 13:51:17 +02:00
2019-05-01 16:53:01 +02:00
## API
2019-05-03 13:51:17 +02:00
### Some more stuff
The things listed below are just a few, and as the library grows, I am not mentioning them all here, but I hope the function names are self-explaining. If not, feel free to contact me or create an issue / PR on GitHub.
2019-05-01 16:53:01 +02:00
### `table_ext`
Table Helpers. Self-explaining - merge tables, count tables, add items to tables, etc.
### `number_ext`
Number Helpers. Also self-explaining. Currently only rounding.
### `log`
Several logchannels which can be written to. Look at sourcecode.
### `conf`
Configuration files as .json - world specific. Constraint checks can be done.
Use `load_or_create(confname, replacement_file, constraints)` to load the conf, if it does not exist create it using replacement file, and then load it, checking the constraints.
##### Constraints
Are a table.
```
{
type="boolean"/"number"/"string"/"table",
If type = table :
keys = constraints_for_keys,
values = constraints_for_values
children = {child_key:constraints_for_value},
If type = number or string :
range={start=num, end=num},
func=function(value) returns error or nil,
possible_values = {v1, v2}
}
```