mods that hopefully work for a TechAge-based pack
This commit is contained in:
1 parent
4e6b08d194
commit
c27db2a537
6234 files changed
+375578
No files matched your search
@@ -0,0 +1,97 @@
|
||||
NanoBasic / [nanobasic]
|
||||
=======================
|
||||
|
||||
## Nanobasic Mod for Luanti (Minetest)
|
||||
|
||||
NanoBasic is a BASIC interpreter to monitor and control Minetest/Luanti machines.
|
||||
Most of the common BASIC keywords are supported:
|
||||
|
||||
```bnf
|
||||
PRINT expression-list [ ; | , ]
|
||||
FOR numeric_variable '=' numeric_expression TO numeric_expression [ STEP number ]
|
||||
IF relation-expression THEN statement-list [ ELSE statement-list ]
|
||||
IF relation-expression GOTO line-number [ ELSE statement-list ]
|
||||
GOTO line-number
|
||||
GOSUB line-number
|
||||
ON numeric_expression GOSUB line-number-list
|
||||
ON numeric_expression GOTO line-number-list
|
||||
LET variable = expression
|
||||
LET string-variable$ = string-expression$
|
||||
DIM array-variable "(" numeric_expression ")"
|
||||
ERASE ( array-variable | string-variable$ )
|
||||
READ variable-list
|
||||
DATA constant-list ; numbers only, only at the end of the program
|
||||
RESTORE [ number ] ; number is offset (0..n), not line number
|
||||
RETURN
|
||||
END
|
||||
BREAK
|
||||
TRON, TROFF
|
||||
FREE
|
||||
AND, NOT, OR, RND, MOD, LEN, VAL, SPC, TIME, SLEEP
|
||||
LEN, MID$, LEFT$, RIGHT$, STR$, HEX$, STRING$, NIL
|
||||
CMD, CMD$
|
||||
|
||||
; Basic V2 features:
|
||||
|
||||
CONST variable = number
|
||||
IF relation-expression THEN
|
||||
statements...
|
||||
[ ELSE
|
||||
statements... ]
|
||||
ENDIF
|
||||
WHILE relation-expression
|
||||
statements...
|
||||
LOOP
|
||||
variable = expression ; without LET
|
||||
string-variable$ = string-expression$ ; without LET
|
||||
```
|
||||
|
||||
Supported data types are:
|
||||
|
||||
- Signed Integer, 32 bit (-2,147,483,648 to 2,147,483,647)
|
||||
- String
|
||||
- Array (one dimension)
|
||||
- Constant (numeric only)
|
||||
|
||||
The Basic language is inspired by the original Microsoft Basic known from Home Computers in the 80s.
|
||||
|
||||
This mod requires the Lua package nanobasic, which has to be installed with:
|
||||
|
||||
```bash
|
||||
$ luarocks --lua-version 5.1 install nanobasic
|
||||
```
|
||||
|
||||
For more info to LuaRocks, see: https://luarocks.org/
|
||||
|
||||
To enable this `unsafe` package, add 'nanobasic' to the list of trusted mods in
|
||||
minetest.conf:
|
||||
|
||||
```text
|
||||
secure.trusted_mods = <other mods>,nanobasic
|
||||
```
|
||||
|
||||
Or, if not available, add the following line:
|
||||
|
||||
```text
|
||||
secure.trusted_mods = nanobasic
|
||||
```
|
||||
|
||||
An example of how NanoBasic can be used can be found here:
|
||||
https://github.com/joe7575/techage/blob/master/logic/basic_terminal.lua
|
||||
|
||||
## Dependencies
|
||||
|
||||
There are no dependencies.
|
||||
|
||||
## License
|
||||
|
||||
Copyright (C) 2024-2025 Joachim Stolberg
|
||||
|
||||
Licensed under the MIT license. See LICENSE.txt
|
||||
|
||||
|
||||
## History
|
||||
|
||||
**v1.0.0 (2025-01-01)**
|
||||
- First release
|
||||
|
||||
Reference in new issue
Block a user