@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
45 lines (42 loc) • 3.86 kB
JavaScript
import fs from 'node:fs';
class BaseProvider {
path;
server;
world;
constructor(path, server) {
this.server = server;
this.path = path;
if (!fs.existsSync(path)) {
fs.mkdirSync(path);
}
}
setWorld(world) {
this.world = world;
}
getWorld() {
return this.world;
}
/**
* On enable hook.
* @group Lifecycle
*/
async enable() {
}
/**
* On disable hook.
* @group Lifecycle
*/
async disable() {
}
getServer() {
return this.server;
}
/**
* Returns the path to the world folder.
*/
getPath() {
return this.path;
}
}
export { BaseProvider as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVByb3ZpZGVyLmVzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd29ybGQvcHJvdmlkZXJzL0Jhc2VQcm92aWRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEdlbmVyYXRvciwgV29ybGQgfSBmcm9tICcuLi8nO1xuaW1wb3J0IHR5cGUgeyBTZXJ2ZXIgfSBmcm9tICcuLi8uLi8nO1xuaW1wb3J0IHR5cGUgQ2h1bmsgZnJvbSAnLi4vY2h1bmsvQ2h1bmsnO1xuaW1wb3J0IHR5cGUgUHJvdmlkZXIgZnJvbSAnLi9Qcm92aWRlcic7XG5cbmltcG9ydCBmcyBmcm9tICdub2RlOmZzJztcblxuZXhwb3J0IGRlZmF1bHQgYWJzdHJhY3QgY2xhc3MgQmFzZVByb3ZpZGVyIGltcGxlbWVudHMgUHJvdmlkZXIge1xuICAgIHByb3RlY3RlZCBwYXRoOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIHNlcnZlcjogU2VydmVyO1xuICAgIHByb3RlY3RlZCB3b3JsZCE6IFdvcmxkO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHBhdGg6IHN0cmluZywgc2VydmVyOiBTZXJ2ZXIpIHtcbiAgICAgICAgdGhpcy5zZXJ2ZXIgPSBzZXJ2ZXI7XG4gICAgICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gICAgICAgIGlmICghZnMuZXhpc3RzU3luYyhwYXRoKSkge1xuICAgICAgICAgICAgZnMubWtkaXJTeW5jKHBhdGgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNldFdvcmxkKHdvcmxkOiBXb3JsZCkge1xuICAgICAgICB0aGlzLndvcmxkID0gd29ybGQ7XG4gICAgfVxuICAgIHB1YmxpYyBnZXRXb3JsZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud29ybGQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT24gZW5hYmxlIGhvb2suXG4gICAgICogQGdyb3VwIExpZmVjeWNsZVxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBlbmFibGUoKTogUHJvbWlzZTx2b2lkPiB7fVxuICAgIC8qKlxuICAgICAqIE9uIGRpc2FibGUgaG9vay5cbiAgICAgKiBAZ3JvdXAgTGlmZWN5Y2xlXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIGRpc2FibGUoKTogUHJvbWlzZTx2b2lkPiB7fVxuXG4gICAgcHVibGljIGdldFNlcnZlcigpOiBTZXJ2ZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2ZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgcGF0aCB0byB0aGUgd29ybGQgZm9sZGVyLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhdGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIGNodW5rIGRlY29kZWQgZnJvbSB0aGUgcHJvdmlkZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY3ggLSB0aGUgY2h1bmsgeCBjb29yZGluYXRlLlxuICAgICAqIEBwYXJhbSBjeiAtIHRoZSBjaHVuayB5IGNvb3JkaW5hdGUuXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IHJlYWRDaHVuayhjeDogbnVtYmVyLCBjejogbnVtYmVyLCBzZWVkOiBudW1iZXIsIGdlbmVyYXRvcjogR2VuZXJhdG9yLCBjb25maWc/OiBhbnkpOiBQcm9taXNlPENodW5rPjtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlcyBhIGNodW5rLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNodW5rIC0gdGhlIGNodW5rIGRhdGEuXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IHdyaXRlQ2h1bmsoY2h1bms6IENodW5rKTogUHJvbWlzZTx2b2lkPjtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU9BLE1BQThCLFlBQWlDLENBQUE7QUFBQSxFQUNqRCxJQUFBO0FBQUEsRUFDQSxNQUFBO0FBQUEsRUFDQSxLQUFBO0FBQUEsRUFFSCxXQUFBLENBQVksTUFBYyxNQUFnQixFQUFBO0FBQzdDLElBQUEsSUFBQSxDQUFLLE1BQVMsR0FBQSxNQUFBO0FBQ2QsSUFBQSxJQUFBLENBQUssSUFBTyxHQUFBLElBQUE7QUFDWixJQUFBLElBQUksQ0FBQyxFQUFBLENBQUcsVUFBVyxDQUFBLElBQUksQ0FBRyxFQUFBO0FBQ3RCLE1BQUEsRUFBQSxDQUFHLFVBQVUsSUFBSSxDQUFBO0FBQUE7QUFDckI7QUFDSixFQUVPLFNBQVMsS0FBYyxFQUFBO0FBQzFCLElBQUEsSUFBQSxDQUFLLEtBQVEsR0FBQSxLQUFBO0FBQUE7QUFDakIsRUFDTyxRQUFXLEdBQUE7QUFDZCxJQUFBLE9BQU8sSUFBSyxDQUFBLEtBQUE7QUFBQTtBQUNoQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsTUFBYSxNQUF3QixHQUFBO0FBQUE7QUFBQztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS3RDLE1BQWEsT0FBeUIsR0FBQTtBQUFBO0FBQUMsRUFFaEMsU0FBb0IsR0FBQTtBQUN2QixJQUFBLE9BQU8sSUFBSyxDQUFBLE1BQUE7QUFBQTtBQUNoQjtBQUFBO0FBQUE7QUFBQSxFQUtPLE9BQWtCLEdBQUE7QUFDckIsSUFBQSxPQUFPLElBQUssQ0FBQSxJQUFBO0FBQUE7QUFpQnBCOzs7OyJ9