UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

53 lines (48 loc) 5.14 kB
'use strict'; Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const math = require('@jsprismarine/math'); class Position extends math.Vector3 { /** * 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; } } exports.Position = Position; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9zaXRpb24uY2pzLmNqcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dvcmxkL1Bvc2l0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlY3RvcjMgfSBmcm9tICdAanNwcmlzbWFyaW5lL21hdGgnO1xuaW1wb3J0IHR5cGUgeyBXb3JsZCB9IGZyb20gJy4vJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBjb29yZGluYXRlcyBvZiBhIFZlY3RvcjMgaW4gYSBnaXZlbiBXb3JsZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFBvc2l0aW9uIGV4dGVuZHMgVmVjdG9yMyB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgbmV3IHBvc2l0aW9uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHggLSBUaGUgeCBjb29yZGluYXRlIG9mIHRoZSBwb3NpdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0geSAtIFRoZSB5IGNvb3JkaW5hdGUgb2YgdGhlIHBvc2l0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB6IC0gVGhlIHogY29vcmRpbmF0ZSBvZiB0aGUgcG9zaXRpb24uXG4gICAgICogQHBhcmFtIHtXb3JsZH0gd29ybGQgLSBUaGUgd29ybGQgb2YgdGhlIHBvc2l0aW9uLlxuICAgICAqIEByZXR1cm5zIHtQb3NpdGlvbn0gVGhlIG5ldyBwb3NpdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHg6IG51bWJlcixcbiAgICAgICAgeTogbnVtYmVyLFxuICAgICAgICB6OiBudW1iZXIsXG4gICAgICAgIHByaXZhdGUgd29ybGQ6IFdvcmxkXG4gICAgKSB7XG4gICAgICAgIC8vIFRPRE86IGFzc2VydCB0aGUgd29ybGQgZXhpc3RzIGFuZCBpcyBsb2FkZWRcbiAgICAgICAgc3VwZXIoeCwgeSwgeik7XG4gICAgfVxuXG4gICAgcHVibGljIHRvU3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gYCR7c3VwZXIudG9TdHJpbmcoKX0sIHdvcmxkOiDCp2Ike3RoaXMud29ybGQuZ2V0TmFtZSgpfcKncmA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIFBvc2l0aW9uIGZyb20gYSBWZWN0b3IzIGFuZCBhIFdvcmxkLlxuICAgICAqIEBwYXJhbSB7VmVjdG9yM30gdmVjdG9yIC0gVGhlIHZlY3RvciB0byBjcmVhdGUgdGhlIHBvc2l0aW9uIGZyb20uXG4gICAgICogQHBhcmFtIHtXb3JsZH0gd29ybGQgLSBUaGUgd29ybGQgb2YgdGhlIHBvc2l0aW9uLlxuICAgICAqIEByZXR1cm5zIHtQb3NpdGlvbn0gVGhlIG5ldyBwb3NpdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGZyb21WZWN0b3IzKHZlY3RvcjogVmVjdG9yMywgd29ybGQ6IFdvcmxkKTogUG9zaXRpb24ge1xuICAgICAgICByZXR1cm4gbmV3IFBvc2l0aW9uKHZlY3Rvci5nZXRYKCksIHZlY3Rvci5nZXRZKCksIHZlY3Rvci5nZXRaKCksIHdvcmxkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHdvcmxkIG9mIHRoZSBwb3NpdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7V29ybGR9IFRoZSB3b3JsZCBvZiB0aGUgcG9zaXRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldFdvcmxkKCk6IFdvcmxkIHtcbiAgICAgICAgaWYgKCh0aGlzLndvcmxkIGFzIGFueSkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzLndvcmxkIGlzIHVuZGVmaW5lZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVE9ETzogYXNzZXJ0IHRoZSB3b3JsZCBpcyBsb2FkZWQsIGVsc2UgdGhyb3dcbiAgICAgICAgcmV0dXJuIHRoaXMud29ybGQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSB3b3JsZCBvZiB0aGUgcG9zaXRpb24uXG4gICAgICogQHBhcmFtIHtXb3JsZH0gd29ybGQgLSBUaGUgd29ybGQgdG8gc2V0LlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRXb3JsZCh3b3JsZDogV29ybGQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53b3JsZCA9IHdvcmxkO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJWZWN0b3IzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFNTyxNQUFNLGlCQUFpQkEsWUFBUSxDQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUzNCLFdBQ0gsQ0FBQSxDQUFBLEVBQ0EsQ0FDQSxFQUFBLENBQUEsRUFDUSxLQUNWLEVBQUE7QUFFRSxJQUFNLEtBQUEsQ0FBQSxDQUFBLEVBQUcsR0FBRyxDQUFDLENBQUE7QUFITCxJQUFBLElBQUEsQ0FBQSxLQUFBLEdBQUEsS0FBQTtBQUFBO0FBSVosRUFFTyxRQUFXLEdBQUE7QUFDZCxJQUFPLE9BQUEsQ0FBQSxFQUFHLE1BQU0sUUFBUyxFQUFDLGNBQWMsSUFBSyxDQUFBLEtBQUEsQ0FBTSxTQUFTLENBQUEsRUFBQSxDQUFBO0FBQUE7QUFDaEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLFdBQVksQ0FBQSxNQUFBLEVBQWlCLEtBQXdCLEVBQUE7QUFDL0QsSUFBTyxPQUFBLElBQUksUUFBUyxDQUFBLE1BQUEsQ0FBTyxJQUFLLEVBQUEsRUFBRyxNQUFPLENBQUEsSUFBQSxFQUFRLEVBQUEsTUFBQSxDQUFPLElBQUssRUFBQSxFQUFHLEtBQUssQ0FBQTtBQUFBO0FBQzFFO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxRQUFrQixHQUFBO0FBQ3JCLElBQUssSUFBQSxJQUFBLENBQUssVUFBa0IsS0FBVyxDQUFBLEVBQUE7QUFDbkMsTUFBTSxNQUFBLElBQUksTUFBTSx5QkFBeUIsQ0FBQTtBQUFBO0FBSTdDLElBQUEsT0FBTyxJQUFLLENBQUEsS0FBQTtBQUFBO0FBQ2hCO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxTQUFTLEtBQW9CLEVBQUE7QUFDaEMsSUFBQSxJQUFBLENBQUssS0FBUSxHQUFBLEtBQUE7QUFBQTtBQUVyQjs7OzsifQ==