An offline sandbox for experimenting with the JContainers Lua runtime without
starting Skyrim. The directory layout mirrors the part of a Skyrim Data
directory used by JContainers, so modules developed here can later be moved
into a mod.
Install Python 3, then copy JContainers.dll into the playground and run the
launcher from the repository root:
copy "C:\path\to\JContainers.dll" "SKSE\Plugins\JContainers.dll"
run.cmdThe launcher first tries the standard Windows py -3 command and then
python. It prints installation instructions if neither command provides
Python 3.
Install Windows Python 3 into the Wine environment used to load the DLL. Then
copy JContainers.dll into the playground and run:
cp /path/to/JContainers.dll SKSE/Plugins/JContainers.dll
./run.shThe DLL lives in an ignored path under SKSE/Plugins; it is not part of this
repository.
Inside the prompt:
help
tick
tick 5
key 18
key 19
stats
reload
quit
tick [seconds] calls ExampleMod.update(dt). key CODE sends the same event
shape that Source/Scripts/ExampleModInput.psc sends from Skyrim's
OnKeyDown. Both sources reach ExampleMod.onKeyDown(event) and its handler
table.
reload clears the current Lua context's module cache, so source edits are
picked up without restarting the process.
- Visual Studio Code with the
EmmyLua extension
is the recommended editor setup. This playground includes an
.emmyrc.jsonconfiguration for completion, type information, and signature help. - JContainers Lua documentation and examples
- Lua 5.1 Reference Manual
- LuaJIT extensions and FFI documentation