mirror of
https://github.com/danbulant/flying-squid
synced 2026-07-08 12:40:52 +00:00
make worldFolder optional, fix tests
This commit is contained in:
parent
255791b577
commit
1412722d8c
2 changed files with 22 additions and 16 deletions
|
|
@ -8,23 +8,29 @@ import {fs} from 'node-promise-es6';
|
||||||
import {level} from 'prismarine-provider-anvil';
|
import {level} from 'prismarine-provider-anvil';
|
||||||
|
|
||||||
module.exports.server=async function(serv,{worldFolder,generation={"name":"diamond_square","options":{"worldHeight":80}}}={}) {
|
module.exports.server=async function(serv,{worldFolder,generation={"name":"diamond_square","options":{"worldHeight":80}}}={}) {
|
||||||
const regionFolder=worldFolder+"/region";
|
const newSeed=generation.options.seed || Math.floor(Math.random()*Math.pow(2, 31));
|
||||||
try {
|
|
||||||
const stats = await fs.stat(regionFolder);
|
|
||||||
}
|
|
||||||
catch(err) {
|
|
||||||
await fs.mkdir(regionFolder);
|
|
||||||
}
|
|
||||||
|
|
||||||
let seed;
|
let seed;
|
||||||
try {
|
let regionFolder;
|
||||||
const levelData=await level.readLevel(worldFolder+"/level.dat");
|
if(worldFolder) {
|
||||||
seed=levelData["RandomSeed"][0];
|
regionFolder = worldFolder + "/region";
|
||||||
}
|
try {
|
||||||
catch(err){
|
const stats = await fs.stat(regionFolder);
|
||||||
seed=generation.options.seed || Math.floor(Math.random()*Math.pow(2, 31));
|
}
|
||||||
await level.writeLevel(worldFolder+"/level.dat",{"RandomSeed":[seed,0]});
|
catch (err) {
|
||||||
|
await fs.mkdir(regionFolder);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const levelData = await level.readLevel(worldFolder + "/level.dat");
|
||||||
|
seed = levelData["RandomSeed"][0];
|
||||||
|
}
|
||||||
|
catch (err) {
|
||||||
|
seed = newSeed;
|
||||||
|
await level.writeLevel(worldFolder + "/level.dat", {"RandomSeed": [seed, 0]});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
seed=newSeed;
|
||||||
generation.options.seed=seed;
|
generation.options.seed=seed;
|
||||||
serv.emit("seed",generation.options.seed);
|
serv.emit("seed",generation.options.seed);
|
||||||
serv.overworld = new World(generations[generation.name](generation.options), regionFolder);
|
serv.overworld = new World(generations[generation.name](generation.options), regionFolder);
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ describe("Server with mineflayer connection", function() {
|
||||||
options["online-mode"]=false;
|
options["online-mode"]=false;
|
||||||
options["port"]=25566;
|
options["port"]=25566;
|
||||||
options["view-distance"]=2;
|
options["view-distance"]=2;
|
||||||
options["regionFolder"]=undefined;
|
options["worldFolder"]=undefined;
|
||||||
|
|
||||||
serv=mcServer.createMCServer(options);
|
serv=mcServer.createMCServer(options);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue