@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
47 lines (46 loc) • 4.53 kB
JavaScript
;
Object.defineProperties(exports, {
__esModule: { value: true },
[Symbol.toStringTag]: { value: "Module" }
});
const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs.cjs");
const require_world_providers_BaseProvider = require("../BaseProvider.cjs.cjs");
let node_fs = require("node:fs");
node_fs = require_runtime.__toESM(node_fs, 1);
let node_path = require("node:path");
node_path = require_runtime.__toESM(node_path, 1);
//#region src/world/providers/anvil/Anvil.ts
var DEFAULT_FOLDERS = [
"data",
"entities",
"playerdata",
"region"
];
var Anvil = class extends require_world_providers_BaseProvider.default {
constructor(folderPath, server) {
super(folderPath, server);
}
async prepareFolderStructure() {
if (!node_fs.default.existsSync(this.path)) await node_fs.default.promises.mkdir(this.path, { recursive: true });
await Promise.all(DEFAULT_FOLDERS.map((dir) => node_path.default.join(this.path, dir)).filter((dir) => !node_fs.default.existsSync(dir)).map((dir) => node_fs.default.promises.mkdir(dir, { recursive: true })));
}
/**
* On enable hook.
* @group Lifecycle
*/
async enable() {
await this.prepareFolderStructure();
}
/**
* On disable hook.
* @group Lifecycle
*/
async disable() {}
async readChunk(cx, cz, seed, generator, config) {
return generator.generateChunk(cx, cz, seed, config);
}
async writeChunk(_chunk) {}
};
//#endregion
exports.default = Anvil;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW52aWwuY2pzLmNqcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ybGQvcHJvdmlkZXJzL2FudmlsL0FudmlsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIFNlcnZlciBmcm9tICcuLi8uLi8uLi9TZXJ2ZXInO1xuaW1wb3J0IHR5cGUgeyBHZW5lcmF0b3IgfSBmcm9tICcuLi8uLi9HZW5lcmF0b3InO1xuaW1wb3J0IHR5cGUgQ2h1bmsgZnJvbSAnLi4vLi4vY2h1bmsvQ2h1bmsnO1xuaW1wb3J0IEJhc2VQcm92aWRlciBmcm9tICcuLi9CYXNlUHJvdmlkZXInO1xuXG5pbXBvcnQgZnMgZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuXG5jb25zdCBERUZBVUxUX0ZPTERFUlMgPSBbJ2RhdGEnLCAnZW50aXRpZXMnLCAncGxheWVyZGF0YScsICdyZWdpb24nXTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQW52aWwgZXh0ZW5kcyBCYXNlUHJvdmlkZXIge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihmb2xkZXJQYXRoOiBzdHJpbmcsIHNlcnZlcjogU2VydmVyKSB7XG4gICAgICAgIHN1cGVyKGZvbGRlclBhdGgsIHNlcnZlcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlRm9sZGVyU3RydWN0dXJlKCkge1xuICAgICAgICBpZiAoIWZzLmV4aXN0c1N5bmModGhpcy5wYXRoKSkge1xuICAgICAgICAgICAgYXdhaXQgZnMucHJvbWlzZXMubWtkaXIodGhpcy5wYXRoLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgREVGQVVMVF9GT0xERVJTLm1hcCgoZGlyKSA9PiBwYXRoLmpvaW4odGhpcy5wYXRoLCBkaXIpKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGRpcikgPT4gIWZzLmV4aXN0c1N5bmMoZGlyKSlcbiAgICAgICAgICAgICAgICAubWFwKChkaXIpID0+IGZzLnByb21pc2VzLm1rZGlyKGRpciwgeyByZWN1cnNpdmU6IHRydWUgfSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT24gZW5hYmxlIGhvb2suXG4gICAgICogQGdyb3VwIExpZmVjeWNsZVxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBlbmFibGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMucHJlcGFyZUZvbGRlclN0cnVjdHVyZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBPbiBkaXNhYmxlIGhvb2suXG4gICAgICogQGdyb3VwIExpZmVjeWNsZVxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBkaXNhYmxlKCk6IFByb21pc2U8dm9pZD4ge31cblxuICAgIHB1YmxpYyBhc3luYyByZWFkQ2h1bmsoY3g6IG51bWJlciwgY3o6IG51bWJlciwgc2VlZDogbnVtYmVyLCBnZW5lcmF0b3I6IEdlbmVyYXRvciwgY29uZmlnPzogYW55KTogUHJvbWlzZTxDaHVuaz4ge1xuICAgICAgICByZXR1cm4gZ2VuZXJhdG9yLmdlbmVyYXRlQ2h1bmsoY3gsIGN6LCBzZWVkLCBjb25maWcpO1xuICAgIH1cbiAgICBwdWJsaWMgYXN5bmMgd3JpdGVDaHVuayhfY2h1bms6IENodW5rKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vIFRPRE8uXG4gICAgICAgIHJldHVybjtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQVFBLElBQU0sa0JBQWtCO0NBQUM7Q0FBUTtDQUFZO0NBQWM7QUFBUTtBQUVuRSxJQUFxQixRQUFyQixjQUFtQyxxQ0FBQSxRQUFhO0NBQzVDLFlBQW1CLFlBQW9CLFFBQWdCO0VBQ25ELE1BQU0sWUFBWSxNQUFNO0NBQzVCO0NBRUEsTUFBYyx5QkFBeUI7RUFDbkMsSUFBSSxDQUFDLFFBQUEsUUFBRyxXQUFXLEtBQUssSUFBSSxHQUN4QixNQUFNLFFBQUEsUUFBRyxTQUFTLE1BQU0sS0FBSyxNQUFNLEVBQUUsV0FBVyxLQUFLLENBQUM7RUFHMUQsTUFBTSxRQUFRLElBQ1YsZ0JBQWdCLEtBQUssUUFBUSxVQUFBLFFBQUssS0FBSyxLQUFLLE1BQU0sR0FBRyxDQUFDLEVBQ2pELFFBQVEsUUFBUSxDQUFDLFFBQUEsUUFBRyxXQUFXLEdBQUcsQ0FBQyxFQUNuQyxLQUFLLFFBQVEsUUFBQSxRQUFHLFNBQVMsTUFBTSxLQUFLLEVBQUUsV0FBVyxLQUFLLENBQUMsQ0FBQyxDQUNqRTtDQUNKOzs7OztDQU1BLE1BQWEsU0FBd0I7RUFDakMsTUFBTSxLQUFLLHVCQUF1QjtDQUN0Qzs7Ozs7Q0FLQSxNQUFhLFVBQXlCLENBQUM7Q0FFdkMsTUFBYSxVQUFVLElBQVksSUFBWSxNQUFjLFdBQXNCLFFBQThCO0VBQzdHLE9BQU8sVUFBVSxjQUFjLElBQUksSUFBSSxNQUFNLE1BQU07Q0FDdkQ7Q0FDQSxNQUFhLFdBQVcsUUFBOEIsQ0FHdEQ7QUFDSiJ9