AsaJS is a Node.js framework for programmatically generating and managing Add-ons for Minecraft: Bedrock Edition.
This repository has been archived on 2026-04-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
Find a file
2026-02-12 20:47:59 +07:00
resources trollface 2026-02-09 17:14:00 +07:00
scripts build for mc preview 2026-02-08 18:58:08 +07:00
src bump for minecraft v26 2026-02-12 20:47:59 +07:00
test add readme 2026-02-02 10:45:17 +07:00
.gitignore port lexer to cpp 2026-01-18 20:46:18 +07:00
.npmignore add npmignore and LICENSE 2026-01-18 12:41:46 +07:00
config.d.ts build system 2026-02-02 15:12:31 +07:00
LICENSE add npmignore and LICENSE 2026-01-18 12:41:46 +07:00
package-lock.json Remove node-addon-api because it is slower than native Node.js 2026-01-18 21:54:59 +07:00
package.json asajs v4.0.4 2026-02-09 17:16:41 +07:00
README.md edit readme 2026-02-05 14:33:29 +07:00
tsconfig.json asajs configuration file 2026-01-30 03:33:27 +07:00

AsaJS - The Minecraft: Bedrock Edition JSON-UI Framework

asajs version asajs license asajs downloads

AsaJS is a NodeJS library designed to empower developers to create JSON-UI packages for Minecraft: Bedrock Edition using JavaScript or TypeScript.

Say goodbye to the tedious and repetitive nature of manual JSON editing. AsaJS streamlines your workflow by bringing the programmatic flexibility to Minecraft UI development.

🛠 Installation

To use AsaJS, ensure you have Node.js installed on your system.

Latest stable version:

npm install asajs

For our nightly builds:

npm install asajs@indev

📖 "Hello World!" Example

Creating a custom UI with AsaJS is straightforward. Here is how you can insert a custom label onto the Minecraft Start Screen:

import { Anchor, Label, Modify } from "asajs"

const label = Label({
	text: "Hello World from my Custom UI!",
	shadow: true,
	anchor: Anchor.TOP_MIDDLE,
	offset: [0, 10],
})

// This code injects the label into the top of the start screen
Modify("start", "start_screen_content").insertChild(label)

🤝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.