UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

25 lines (24 loc) 3.55 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const require_world_generators_Generators = require("./generators/Generators.cjs.cjs"); //#region src/world/GeneratorManager.ts var GeneratorManager = class { generators = /* @__PURE__ */ new Map(); constructor(server) { const keys = Object.keys(require_world_generators_Generators.Generators_exports); for (const key of keys) this.registerClassGenerator(key, require_world_generators_Generators.Generators_exports[key], server); server.getLogger().verbose(`Registered §b${keys.length}§r generator(s)!`); } registerClassGenerator(id, generator, server) { this.generators.set(id.toLowerCase(), new generator(server.getBlockManager())); server.getLogger().debug(`Generator with id §b${id}§r registered`); } getGenerator(id) { id = id.toLowerCase(); if (!this.generators.has(id)) throw new Error(`Invalid generator with id ${id}`); return this.generators.get(id); } }; //#endregion exports.GeneratorManager = GeneratorManager; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2VuZXJhdG9yTWFuYWdlci5janMuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93b3JsZC9HZW5lcmF0b3JNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEdlbmVyYXRvcnMgZnJvbSAnLi9nZW5lcmF0b3JzL0dlbmVyYXRvcnMnO1xuaW1wb3J0IHR5cGUgeyBHZW5lcmF0b3IgfSBmcm9tICcuLyc7XG5pbXBvcnQgdHlwZSBTZXJ2ZXIgZnJvbSAnLi4vU2VydmVyJztcbmltcG9ydCB0eXBlIEJhc2VHZW5lcmF0b3IgZnJvbSAnLi9CYXNlR2VuZXJhdG9yJztcblxuZXhwb3J0IGNsYXNzIEdlbmVyYXRvck1hbmFnZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZ2VuZXJhdG9yczogTWFwPHN0cmluZywgR2VuZXJhdG9yPiA9IG5ldyBNYXAoKSBhcyBNYXA8c3RyaW5nLCBHZW5lcmF0b3I+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHNlcnZlcjogU2VydmVyKSB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhHZW5lcmF0b3JzKTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckNsYXNzR2VuZXJhdG9yKGtleSwgKEdlbmVyYXRvcnMgYXMgYW55KVtrZXldIGFzIHR5cGVvZiBCYXNlR2VuZXJhdG9yLCBzZXJ2ZXIpO1xuICAgICAgICB9XG4gICAgICAgIHNlcnZlci5nZXRMb2dnZXIoKS52ZXJib3NlKGBSZWdpc3RlcmVkIMKnYiR7a2V5cy5sZW5ndGh9wqdyIGdlbmVyYXRvcihzKSFgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJDbGFzc0dlbmVyYXRvcihpZDogc3RyaW5nLCBnZW5lcmF0b3I6IGFueSwgc2VydmVyOiBTZXJ2ZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZW5lcmF0b3JzLnNldChpZC50b0xvd2VyQ2FzZSgpLCBuZXcgZ2VuZXJhdG9yKHNlcnZlci5nZXRCbG9ja01hbmFnZXIoKSkpO1xuICAgICAgICBzZXJ2ZXIuZ2V0TG9nZ2VyKCkuZGVidWcoYEdlbmVyYXRvciB3aXRoIGlkIMKnYiR7aWR9wqdyIHJlZ2lzdGVyZWRgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0R2VuZXJhdG9yKGlkOiBzdHJpbmcpOiBHZW5lcmF0b3Ige1xuICAgICAgICBpZCA9IGlkLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmdlbmVyYXRvcnMuaGFzKGlkKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGdlbmVyYXRvciB3aXRoIGlkICR7aWR9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2VuZXJhdG9ycy5nZXQoaWQpITtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFLQSxJQUFhLG1CQUFiLE1BQThCO0NBQzFCLDZCQUFzRCxJQUFJLElBQUk7Q0FFOUQsWUFBbUIsUUFBZ0I7RUFDL0IsTUFBTSxPQUFPLE9BQU8sS0FBSyxvQ0FBQSxrQkFBVTtFQUNuQyxLQUFLLE1BQU0sT0FBTyxNQUNkLEtBQUssdUJBQXVCLEtBQU0sb0NBQUEsbUJBQW1CLE1BQThCLE1BQU07RUFFN0YsT0FBTyxVQUFVLEVBQUUsUUFBUSxnQkFBZ0IsS0FBSyxPQUFPLGlCQUFpQjtDQUM1RTtDQUVBLHVCQUE4QixJQUFZLFdBQWdCLFFBQXNCO0VBQzVFLEtBQUssV0FBVyxJQUFJLEdBQUcsWUFBWSxHQUFHLElBQUksVUFBVSxPQUFPLGdCQUFnQixDQUFDLENBQUM7RUFDN0UsT0FBTyxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsR0FBRyxjQUFjO0NBQ3JFO0NBRUEsYUFBb0IsSUFBdUI7RUFDdkMsS0FBSyxHQUFHLFlBQVk7RUFFcEIsSUFBSSxDQUFDLEtBQUssV0FBVyxJQUFJLEVBQUUsR0FDdkIsTUFBTSxJQUFJLE1BQU0sNkJBQTZCLElBQUk7RUFFckQsT0FBTyxLQUFLLFdBQVcsSUFBSSxFQUFFO0NBQ2pDO0FBQ0oifQ==