Skip to content

Bedrock-OSS/stylish

Repository files navigation

stylish

npm version

Stylish is a decorator library aimed at simplifying development for the Minecraft Bedrock Script API. It focuses on automatic registration of custom components and convenience helpers for method binding.

Features

  • @ItemComponent – automatically registers a custom item component.
  • @BlockComponent – automatically registers a custom block component.
  • @BindThis – binds a method to its instance when accessed.

Installation

  1. Install the package:
npm install @bedrock-oss/stylish
  1. Enable decorators in your tsconfig.json:
{
  "compilerOptions": {
    "experimentalDecorators": true
  }
}

Usage

Register a custom item component:

ExampleComponent.ts:

import { ItemComponentUseEvent } from '@minecraft/server';
import { ItemComponent, BindThis } from '@bedrock-oss/stylish';

@ItemComponent
class ExampleComponent {
  static componentId = 'example:component';
  message = 'Hello world!';

  @BindThis
  onUse(event: ItemComponentUseEvent) {
    event.source.sendMessage(this.message);
  }
}

main.ts:

import { initV1 } from '@bedrock-oss/stylish';
export * from './ExampleComponent';

initV1(); // Registers all decorated components on world load
// Replace with initV2() when using Script API v2
// Alternatively, you can register your own event handler and call registerAllComponents()

Important

When splitting components into multiple files, remember to import/export the file containing the component class.

Documentation

See the docs folder for details on decorators:

Contributing

Feel free to raise an issue or submit a pull request if you have any improvements or features to suggest.

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published