UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

54 lines (53 loc) 4.81 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); require("../_virtual/_rolldown/runtime.cjs.cjs"); let _jsprismarine_math = require("@jsprismarine/math"); //#region src/world/Position.ts /** * Represents the coordinates of a Vector3 in a given World. */ var Position = class Position extends _jsprismarine_math.Vector3 { world; /** * Create a new position * @param {number} x - The x coordinate of the position. * @param {number} y - The y coordinate of the position. * @param {number} z - The z coordinate of the position. * @param {World} world - The world of the position. * @returns {Position} The new position. */ constructor(x, y, z, world) { super(x, y, z); this.world = world; } toString() { return `${super.toString()}, world: §b${this.world.getName()}§r`; } /** * Creates a Position from a Vector3 and a World. * @param {Vector3} vector - The vector to create the position from. * @param {World} world - The world of the position. * @returns {Position} The new position. */ static fromVector3(vector, world) { return new Position(vector.getX(), vector.getY(), vector.getZ(), world); } /** * Get the world of the position. * @returns {World} The world of the position. */ getWorld() { if (this.world === void 0) throw new Error("this.world is undefined"); return this.world; } /** * Set the world of the position. * @param {World} world - The world to set. */ setWorld(world) { this.world = world; } }; //#endregion exports.Position = Position; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9zaXRpb24uY2pzLmNqcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvd29ybGQvUG9zaXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVjdG9yMyB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvbWF0aCc7XG5pbXBvcnQgdHlwZSB7IFdvcmxkIH0gZnJvbSAnLi8nO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGNvb3JkaW5hdGVzIG9mIGEgVmVjdG9yMyBpbiBhIGdpdmVuIFdvcmxkLlxuICovXG5leHBvcnQgY2xhc3MgUG9zaXRpb24gZXh0ZW5kcyBWZWN0b3IzIHtcbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBuZXcgcG9zaXRpb25cbiAgICAgKiBAcGFyYW0ge251bWJlcn0geCAtIFRoZSB4IGNvb3JkaW5hdGUgb2YgdGhlIHBvc2l0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB5IC0gVGhlIHkgY29vcmRpbmF0ZSBvZiB0aGUgcG9zaXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHogLSBUaGUgeiBjb29yZGluYXRlIG9mIHRoZSBwb3NpdGlvbi5cbiAgICAgKiBAcGFyYW0ge1dvcmxkfSB3b3JsZCAtIFRoZSB3b3JsZCBvZiB0aGUgcG9zaXRpb24uXG4gICAgICogQHJldHVybnMge1Bvc2l0aW9ufSBUaGUgbmV3IHBvc2l0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgeDogbnVtYmVyLFxuICAgICAgICB5OiBudW1iZXIsXG4gICAgICAgIHo6IG51bWJlcixcbiAgICAgICAgcHJpdmF0ZSB3b3JsZDogV29ybGRcbiAgICApIHtcbiAgICAgICAgLy8gVE9ETzogYXNzZXJ0IHRoZSB3b3JsZCBleGlzdHMgYW5kIGlzIGxvYWRlZFxuICAgICAgICBzdXBlcih4LCB5LCB6KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9TdHJpbmcoKSB7XG4gICAgICAgIHJldHVybiBgJHtzdXBlci50b1N0cmluZygpfSwgd29ybGQ6IMKnYiR7dGhpcy53b3JsZC5nZXROYW1lKCl9wqdyYDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgUG9zaXRpb24gZnJvbSBhIFZlY3RvcjMgYW5kIGEgV29ybGQuXG4gICAgICogQHBhcmFtIHtWZWN0b3IzfSB2ZWN0b3IgLSBUaGUgdmVjdG9yIHRvIGNyZWF0ZSB0aGUgcG9zaXRpb24gZnJvbS5cbiAgICAgKiBAcGFyYW0ge1dvcmxkfSB3b3JsZCAtIFRoZSB3b3JsZCBvZiB0aGUgcG9zaXRpb24uXG4gICAgICogQHJldHVybnMge1Bvc2l0aW9ufSBUaGUgbmV3IHBvc2l0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZnJvbVZlY3RvcjModmVjdG9yOiBWZWN0b3IzLCB3b3JsZDogV29ybGQpOiBQb3NpdGlvbiB7XG4gICAgICAgIHJldHVybiBuZXcgUG9zaXRpb24odmVjdG9yLmdldFgoKSwgdmVjdG9yLmdldFkoKSwgdmVjdG9yLmdldFooKSwgd29ybGQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgd29ybGQgb2YgdGhlIHBvc2l0aW9uLlxuICAgICAqIEByZXR1cm5zIHtXb3JsZH0gVGhlIHdvcmxkIG9mIHRoZSBwb3NpdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0V29ybGQoKTogV29ybGQge1xuICAgICAgICBpZiAoKHRoaXMud29ybGQgYXMgYW55KSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMud29ybGQgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUT0RPOiBhc3NlcnQgdGhlIHdvcmxkIGlzIGxvYWRlZCwgZWxzZSB0aHJvd1xuICAgICAgICByZXR1cm4gdGhpcy53b3JsZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIHdvcmxkIG9mIHRoZSBwb3NpdGlvbi5cbiAgICAgKiBAcGFyYW0ge1dvcmxkfSB3b3JsZCAtIFRoZSB3b3JsZCB0byBzZXQuXG4gICAgICovXG4gICAgcHVibGljIHNldFdvcmxkKHdvcmxkOiBXb3JsZCk6IHZvaWQge1xuICAgICAgICB0aGlzLndvcmxkID0gd29ybGQ7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQU1BLElBQWEsV0FBYixNQUFhLGlCQUFpQixtQkFBQSxRQUFRO0NBYXRCOzs7Ozs7Ozs7Q0FKWixZQUNJLEdBQ0EsR0FDQSxHQUNBLE9BQ0Y7RUFFRSxNQUFNLEdBQUcsR0FBRyxDQUFDO0VBSEwsS0FBQSxRQUFBO0NBSVo7Q0FFQSxXQUFrQjtFQUNkLE9BQU8sR0FBRyxNQUFNLFNBQVMsRUFBRSxhQUFhLEtBQUssTUFBTSxRQUFRLEVBQUU7Q0FDakU7Ozs7Ozs7Q0FRQSxPQUFjLFlBQVksUUFBaUIsT0FBd0I7RUFDL0QsT0FBTyxJQUFJLFNBQVMsT0FBTyxLQUFLLEdBQUcsT0FBTyxLQUFLLEdBQUcsT0FBTyxLQUFLLEdBQUcsS0FBSztDQUMxRTs7Ozs7Q0FNQSxXQUF5QjtFQUNyQixJQUFLLEtBQUssVUFBa0IsS0FBQSxHQUN4QixNQUFNLElBQUksTUFBTSx5QkFBeUI7RUFJN0MsT0FBTyxLQUFLO0NBQ2hCOzs7OztDQU1BLFNBQWdCLE9BQW9CO0VBQ2hDLEtBQUssUUFBUTtDQUNqQjtBQUNKIn0=