Defining Elements
Learn how to define and structure elements using AsaJS.
How It Works
AsaJS takes an object-oriented programming (OOP) approach to defining UI. Instead of writing raw JSON, you use JavaScript/TypeScript APIs to build UI structures that are easier to reuse and reason about.
Here’s a comparison between standard JSON-UI and AsaJS:
AsaJS
JSON-UI
AsaJS automatically compiles your code into valid JsonUI format, making it compatible with Minecraft: Bedrock Edition. It also adds the benefit of abstraction, composition, and logic — features you can’t achieve directly with static JSON.
Supported Element Types
AsaJS supports all standard JsonUI element types, which means anything you could build with JsonUI, you can build here — but with cleaner syntax and logic support.
- Containers:
panel
,stack_panel
,collection_panel
,grid
- Text/Media:
label
,image
- Inputs:
input_panel
,button
,toggle
,dropdown
,slider
,slider_box
,edit_box
- Scrolling:
scroll_view
,scrollbar_track
,scrollbar_box
- Interactive:
screen
,custom
- Screens:
screen
You can use any of these element types as building blocks for your UI.
Why Use AsaJS?
- Write UI in JavaScript with logic, reusability, and structure
- Avoid copy-pasting JSON blocks manually
- Use variables, conditions, and binding expressions natively
- Easier to scale and maintain large UI projects
Next: Modify Elements
Modify Elements: Learn how to modify and extend Minecraft UI using AsaJS.