Changed stuff, added seeds, etc

This commit is contained in:
DemiPixel 2015-10-24 19:41:21 -07:00
parent c48dc8c2c0
commit bb80bd7c44
5 changed files with 14 additions and 10 deletions

View file

@ -98,7 +98,7 @@ function inject(serv,player)
flags: 0x00
});
player.spawnForOthers();
player.getNearbyPlayers();
player.sendNearbyPlayers();
player.emit('teleport');
}
player.setPosition = setPosition;

View file

@ -22,7 +22,7 @@ function inject(serv, player) {
});
}
function getNearbyPlayers() {
function sendNearbyPlayers() {
player.getOthers().forEach(function (otherPlayer) {
if (otherPlayer.world != player.world) return; // Also check distance from player?
player._client.write('named_entity_spawn', {
@ -108,7 +108,7 @@ function inject(serv, player) {
player.spawn = spawn;
player.spawnForOthers = spawnForOthers;
player.getNearbyPlayers = getNearbyPlayers;
player.sendNearbyPlayers = sendNearbyPlayers;
player.sendNearbyChunks = sendNearbyChunks;
player.changeWorld = changeWorld;
player.sendChunk = sendChunk;

View file

@ -20,7 +20,7 @@ function inject(serv,{regionFolder,generation={"name":"diamond_square","options"
serv.netherworld = new World(generations["nether"]({}));
//serv.endworld = new World(generations["end"]({}));
//serv._worldSync=new WorldSync(serv.worlds[0]);
serv._worldSync=new WorldSync(serv.overworld);
function pregenWorld(world, size=10) {
for (var x = -size; x < size; x++) {

View file

@ -1,5 +1,6 @@
var Chunk = require('prismarine-chunk')(require("../version"));
var Vec3 = require('vec3');
var rand = require('random-seed');
function DiamondSquare(size, roughness, seed) {
// public fields
@ -100,6 +101,7 @@ function generation({seed,worldHeight=80,waterline=20}={}) {
function generateSimpleChunk(chunkX, chunkZ) {
var chunk = new Chunk();
var seedRand = rand.create(seed+':'+chunkX+':'+chunkZ);
var worldX = chunkX * 16 + size / 2;
var worldZ = chunkZ * 16 + size / 2;
@ -107,8 +109,8 @@ function generation({seed,worldHeight=80,waterline=20}={}) {
for (var x = 0; x < 16; x++) {
for (var z = 0; z < 16; z++) {
var level = Math.floor(space.value(worldX + x, worldZ + z) * worldHeight);
var dirtheight = level - 4 + Math.round(Math.random()*2);
var bedrockheight = 1 + Math.round(Math.random()*3)
var dirtheight = level - 4 + seedRand(3);
var bedrockheight = 1 + seedRand(4);
for (var y = 0; y < 256; y++) {
let block;
let data;
@ -121,7 +123,7 @@ function generation({seed,worldHeight=80,waterline=20}={}) {
else if (y < level) block = 1; // Set stone inbetween
else if (y == level) block = surfaceblock; // Set surface sand/grass
else if (y <= waterline) block = 9; // Set the water
else if (y == level+1 && level >= waterline && Math.random() < 0.1) { // 1/10 chance of grass
else if (y == level+1 && level >= waterline && seedRand.rand(1) < 0.1) { // 1/10 chance of grass
block = 31;
data = 1;
}

View file

@ -1,13 +1,15 @@
var Chunk = require('prismarine-chunk')(require("../version"));
var Vec3 = require('vec3');
var rand = require('random-seed');
function generation({level=50}={}) {
function generation({seed,level=50}={}) {
function generateChunk(chunkX, chunkZ) {
var seedRand = rand.create(seed+':'+chunkX+':'+chunkZ);
var chunk=new Chunk();
for (var x = 0; x < 16; x++) {
for (var z = 0; z < 16; z++) {
var bedrockheighttop = 1 + Math.round(Math.random()*3)
var bedrockheightbottom = 1 + Math.round(Math.random()*3)
var bedrockheighttop = 1 + seedRand(4);
var bedrockheightbottom = 1 + seedRand(4);
for (var y = 0; y < 128; y++) { // Nether only goes up to 128
let block;
let data;