/cicada-lib

Library that improves Minecraft Bedrock Scripting API

Primary LanguageTypeScript

cicada-lib

This is a set of ECMAScript / TypeScript modules that makes the life of Minecraft Bedrock addon creators better. Modules include:

cicada-lib/shims/console.js
The scripting API doesn't provide a proper console object. Its debug(), info() and log() are non-working. It doesn't support pretty-printing or string substitutions. Importing cicada-lib/shims/console.js replaces the global console object that supports basically everything. It can even pretty-print ECMAScript objects with Minecraft formatting / colour codes.
cicada-lib/thread.js
This is a cooperative thread based on async generator functions. That is, threads continue running until they await or yield, and suspended threads will be automatically resumed on the next game tick.
cicada-lib/player.js
An improved Player class. As a notable extension it supports per-player preferences based on Protocol Buffers. You write a .proto file that describes your preferences object, and the library automatically serialises and saves it in a dynamic property. Note that you still need to create a UI for the preferences.

...and many more.

How to use

% npm init
...
% npm -i -S github:depressed-pho/cicada-lib

FIXME: documentation forthcoming

Release notes

See NEWS.

Why cicada?

Do you know cicadas spend their lives as nymphs underground for like 10 years, and once they emerge they die only after a few weeks or so? The experimental scripting engine was just like that. When it was introduced back in 2018 it looked really promising, but its development slowed down and finally ceased to exist. We hope the new scripting API won't die soon. We hope it will evolve to the extent that we can develop decent mods for Minecraft Bedrock just like we can do for Java Edition. We want to build insanely complicated factories like we do on JE with GregTech. We want to manage our storages and autocraft our items like we do on JE with Applied Energistics 2, or Refined Storage. We want to extend our vanilla gameplay with magical flowers like we do on JE with Botania. We want to refine our ores with acidic liquids and toxic gases like we do on JE with Mekanism. The name "cicada" is like memento mori.

Author

PHO

License

CC0 “No Rights Reserved”