@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
54 lines (53 loc) • 4.81 kB
JavaScript
;
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=