UNPKG

@bedrock-oss/stylish

Version:

A decorator package with for developing add-ons with Script API in Minecraft Bedrock Edition

110 lines (105 loc) 3.14 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.ts var src_exports = {}; __export(src_exports, { BindThis: () => BindThis, BlockComponent: () => BlockComponent, ItemComponent: () => ItemComponent, initV1: () => initV1, initV2: () => initV2, registerAllComponents: () => registerAllComponents }); module.exports = __toCommonJS(src_exports); var import_server = require("@minecraft/server"); // src/itemRegistry.ts var registry = []; function ItemComponent(ctor) { if (!ctor.componentId) { throw new Error(`Component ${ctor.name} is missing static componentId`); } registry.push(ctor); } function registerAllItemComponents(itemComponentRegistry) { for (const Ctor of registry) { itemComponentRegistry.registerCustomComponent( Ctor.componentId, new Ctor() ); } } // src/blockRegistry.ts var registry2 = []; function BlockComponent(ctor) { if (!ctor.componentId) { throw new Error(`Component ${ctor.name} is missing static componentId`); } registry2.push(ctor); } function registerAllBlockComponents(blockComponentRegistry) { for (const Ctor of registry2) { blockComponentRegistry.registerCustomComponent( Ctor.componentId, new Ctor() ); } } // src/autobind.ts function BindThis(_target, propertyKey, descriptor) { const original = descriptor.value; return { configurable: true, enumerable: descriptor.enumerable, get() { const bound = original.bind(this); Object.defineProperty(this, propertyKey, { value: bound, configurable: true, writable: true, enumerable: false }); return bound; } }; } // src/index.ts function initV1() { import_server.world.beforeEvents.worldInitialize.subscribe((e) => { registerAllComponents(e.itemComponentRegistry, e.blockComponentRegistry); }); } function initV2() { import_server.system.beforeEvents.startup.subscribe((e) => { registerAllComponents(e.itemComponentRegistry, e.blockComponentRegistry); }); } function registerAllComponents(itemRegistry, blockRegistry) { registerAllItemComponents(itemRegistry); registerAllBlockComponents(blockRegistry); } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { BindThis, BlockComponent, ItemComponent, initV1, initV2, registerAllComponents }); //# sourceMappingURL=index.js.map