Aesthetic — Lua Scripting
Aesthetic lets you write your own modules in Lua — no client rebuild required. A script declares a module, its settings and event handlers; the module shows up in the GUI next to the built-in ones and its settings are saved to the config.
Script location
<Minecraft config folder>/aesthetic/scripts/*.lua
Every .lua file in this folder is a separate script. The folder is created on first
launch together with a sample example.lua.
Hot reload
Scripts reload automatically:
- save a file — the script reloads instantly, keeping setting values and the module's enabled state;
- create a file — the script loads on the fly;
- delete a file — its modules are unloaded.
Every reload is announced in chat with the [lua] prefix.
Errors
A load error prints to chat and the script is skipped. An error inside a callback prints to chat and disables the module so it doesn't spam every tick. Fix the code and save — the script reloads.
Minimal script
local module = ui.category("scripts"):module("code", "Hello")
module:event("tick", function()
-- runs 20 times a second while the module is enabled
end)
Next: Getting Started.