37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
---
|
|
title: Lua Integration
|
|
description: Reference for writing Lua code in ShulkerScript
|
|
sidebar:
|
|
badge:
|
|
text: WIP
|
|
variant: caution
|
|
---
|
|
|
|
ShulkerScript supports writing Lua code directly in your scripts. This allows you to use Lua's powerful features and libraries to extend the functionality of your scripts.
|
|
|
|
The Lua code is embedded in the ShulkerScript code using the `lua` keyword. In the future, you will be able to pass arguments to the Lua code, but for now, you can only write Lua code without arguments.
|
|
|
|
Your Lua code should return a string value when used in combination with the run keyword. This string returned will be included in the output.
|
|
|
|
## Syntax
|
|
```shulkerscript
|
|
run lua() {
|
|
-- Lua code goes here
|
|
return "Hello, Lua!";
|
|
};
|
|
```
|
|
|
|
## Globals
|
|
The following globals are available in the Lua environment:
|
|
- `shu_location`: The relative filepath of the script being executed
|
|
|
|
After variables are introduced in ShulkerScript, it is planned to make them available in the Lua environment as well.
|
|
|
|
:::note
|
|
If you can think of any other globals that should be available in the Lua environment, please let us know! This could include:
|
|
- variables with values (like `shu_location`)
|
|
- functions that calculate/modify values (general utility things not provided by Lua or specific to ShulkerScript)
|
|
- functions that interact with the ShulkerScript environment (flags to set for the compiler to alter the build process)
|
|
|
|
Please either write a mail or open an issue on GitHub. The links can be found in the upper right corner of the page.
|
|
::: |