livescript-0.13.10-neoforge-1.21.1.jar
Curse Maven Snippet
What's new
v0.13.10 — Major: Instance-wide storage, JSON editing, polished examples
This release rolls up all the v0.13.x improvements into one stable build.
Storage layout reworked
- Scripts, custom items, and textures all live under
<gameDir>/data/livescript/instead of being scattered between<world>/livescript/andconfig/livescript/. - Instance-wide: all worlds in the same client install share the same scripts.
Server admins continue to have one location at
<server-root>/data/livescript/. - Automatic non-destructive migration from the old layout on first launch — legacy files are copied, never deleted.
JSON editing in the in-game editor
- The editor tree now shows
.jsonfiles alongside.js/.lua. - Dedicated JSON tokenizer for syntax highlighting (strings, numbers, true/false/null, punctuation).
- JSON files are validated on save — invalid JSON is rejected with a precise
error like
Expected EOF at line 5 column 3 path $.items.magic_dust. Your script files are never overwritten with broken JSON. - New
+ JSONtoolbar button creates a fresh config file. - Excluded from the tree:
.history/(snapshot sidecar),textures/(PNGs can't be text-edited).
Examples completely rewritten
First-run seed now includes 8 curated examples, each covering one concept without overlap (no more two files doing the same thing):
welcome.js— first-touch intro: print, broadcast, player.joinevents.lua— chat handler + block-break cancelrecipes.js— all 7 recipe types in one reference filecustom_results.lua— DataComponents: name, lore, glow on outputstags.js— tag lookups (itemsIn, itemHas)startup.lua— @startup annotation patternadvanced.lua— multi-event state coordination (block-break counter)items_demo.js— recipes for the three seeded custom items
items.json ships with three active demo items — magic_dust, phoenix_feather,
soul_bread — paired with items_demo.js so users see custom items working
end-to-end on the first launch.
@startup parser made strict
The @startup annotation must now be on its own comment line (// @startup
or -- @startup). Embedded mentions in prose comments no longer trigger
detection, so writing about the feature in your own scripts is safe.
Event handlers: print() is now visible
Previously, print() calls inside event handlers landed in a buffer that
was only drained on the next manual execute() — effectively invisible to
the user. Now print() also writes to the server log, so handler debugging
isn't a black box. Handler exceptions get a full stack trace alongside.
Editor: Refresh button
New Refresh toolbar button re-syncs the file tree from disk. Files added
externally (VSCode, Notepad, file manager) show up immediately without
closing+reopening the editor.
Smaller fixes
/scripteditorno longer crashes when reopening a singleplayer world (AsyncIO executor lifecycle).- Lua scripts no longer fail to execute with "bad argument: function expected,
got table" —
debug.sethooksignature was wrong. - Sanitized version comparison for the update check (0.11.10 > 0.11.2, not lexicographic).
- README and CurseForge description now clearly state the security model: no filesystem, no subprocesses, no reflection, no network from scripts. Source is at https://github.com/GrafKakashi/livescript.
This mod has no additional files

