Skip to main content

Components

Built-in JSX components for layout, text, and interactivity.

Components

  • <Panel> — basic container with optional background and flexbox layout.
  • <Text> — display text with Minecraft formatting codes, font, and scale.
  • <Button> — interactive button with an onPress callback.
  • <Image> — display a texture from your resource pack.
  • <Scroll> — independent scroll regions (columns, rows, horizontal strips).
  • <Fragment> — group multiple children without a wrapper node (<>...</>).

Form Fields

Modal-backed input components. Native ActionFormData can't take typed input, so each renders as a Button that opens a single-control ModalFormData on press. They share Modal Field Props.

  • <Input> — single-line text field.
  • <Dropdown> — select one option from a fixed list.
  • <Slider> — pick a number within a range.

Experimental Components

caution

These components are experimental and may change or be removed. They have known limitations in multi-addon worlds — read each component's page before use.

  • <ItemRenderer> — render an item icon. Requires a manual ItemAuxContext wrapping the tree.

Control Props

All components support Control Props for layout and visibility, including flexbox props and manual x/y positioning.

Next Steps

  • Hooks — add state and effects to your components
  • API — top-level APIs for rendering and context