Merge pull request #331 from PrismarineJS/version_support

Bring (static) multi-version support
This commit is contained in:
mhsjlw 2018-05-13 13:14:28 -04:00 committed by GitHub
commit 988e3fde96
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 18 additions and 13 deletions

View file

@ -1,7 +1,5 @@
const spiralloop = require('spiralloop')
const World = require('prismarine-world')(require('../version'))
const generations = require('flying-squid').generations
const { promisify } = require('util')
const fs = require('fs')
@ -10,7 +8,9 @@ const { level } = require('prismarine-provider-anvil')
const fsStat = promisify(fs.stat)
const fsMkdir = promisify(fs.mkdir)
module.exports.server = async function (serv, {worldFolder, generation = {'name': 'diamond_square', 'options': {'worldHeight': 80}}} = {}) {
module.exports.server = async function (serv, {version, worldFolder, generation = {'name': 'diamond_square', 'options': {'worldHeight': 80}}} = {}) {
const World = require('prismarine-world')(version)
const newSeed = generation.options.seed || Math.floor(Math.random() * Math.pow(2, 31))
let seed
let regionFolder
@ -31,10 +31,11 @@ module.exports.server = async function (serv, {worldFolder, generation = {'name'
}
} else { seed = newSeed }
generation.options.seed = seed
generation.options.version = version
serv.emit('seed', generation.options.seed)
const generationModule = generations[generation.name] ? generations[generation.name] : require(generation.name)
serv.overworld = new World(generationModule(generation.options), regionFolder)
serv.netherworld = new World(generations['nether']({}))
serv.netherworld = new World(generations['nether'](generation.options))
// serv.endworld = new World(generations["end"]({}));
// WILL BE REMOVED WHEN ACTUALLY IMPLEMENTED

View file

@ -1,8 +1,9 @@
const Chunk = require('prismarine-chunk')(require('../version'))
const Vec3 = require('vec3').Vec3
const blocks = require('minecraft-data')(require('../version')).blocks
function generation () {
function generation ({version}) {
const Chunk = require('prismarine-chunk')(version)
const blocks = require('minecraft-data')(version).blocks
function generateSimpleChunk () {
const chunk = new Chunk()

View file

@ -1,7 +1,8 @@
const Chunk = require('prismarine-chunk')(require('../version'))
const Vec3 = require('vec3').Vec3
function generation () {
function generation ({version}) {
const Chunk = require('prismarine-chunk')(version)
function generateSimpleChunk () {
const chunk = new Chunk()

View file

@ -1,8 +1,9 @@
const Chunk = require('prismarine-chunk')(require('../version'))
const Vec3 = require('vec3').Vec3
const rand = require('random-seed')
function generation ({seed, level = 50} = {}) {
function generation ({version, seed, level = 50} = {}) {
const Chunk = require('prismarine-chunk')(version)
function generateChunk (chunkX, chunkZ) {
const seedRand = rand.create(seed + ':' + chunkX + ':' + chunkZ)
const chunk = new Chunk()

View file

@ -1,7 +1,8 @@
const Chunk = require('prismarine-chunk')(require('../version'))
const Vec3 = require('vec3').Vec3
function generation ({opt = 'default', bottomId = 7, middleId = 1, topId = 2, middleThickness = 3, debug = false} = {}) {
function generation ({version, opt = 'default', bottomId = 7, middleId = 1, topId = 2, middleThickness = 3, debug = false} = {}) {
const Chunk = require('prismarine-chunk')(version)
function generateChunk () {
const chunk = new Chunk()
const height = middleThickness + 1