Write plugins for Basalt in TypeScript or JavaScript.
Basalt plugins are behaviour packs with scripts. They run against Basalt’s port of the @minecraft/server API, so most scripts written for vanilla work as they are, and Basalt adds a few modules and methods of its own.
Start here
Section titled “Start here”Your first plugin goes from an empty folder to a running plugin. The search box at the top of the sidebar finds any class, method, property or event by name.
Guides
Section titled “Guides”Each guide covers one area, with working examples in TypeScript.
Modules
Section titled “Modules”The reference is generated from Basalt’s typings. The typings follow Mojang’s API closely and declare more than Basalt implements; Differences from BDS lists what is missing.
@minecraft/serverThe world, players, entities, blocks, items, events, commands and scoreboards.
@minecraft/server-uiAction, message and modal forms.
@minecraft/server-netHTTP requests and WebSockets from plugins.
@basalt/menusBasalt's own container menus: chest-style windows with no block behind them.
Installing a plugin
Section titled “Installing a plugin”Drop the plugin’s folder, with its manifest.json and scripts/, into plugins/.
Typings
Section titled “Typings”TypeScript typings for every module ship with Basalt in typings/, and Basalt writes them into plugins/node_modules on every start. The reference pages here are generated from them.