JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 48
  • Score
    100M100P100Q66235F
  • License MIT

Load voxel.js chunks asynchronously from a server

Package Exports

  • voxel-async-simulation

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (voxel-async-simulation) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

VoxelSimulation

A client/server abstraction for wrapping voxeljs and doing chunk generation on the server.

Server

    var Server = require('voxel-async-simulation/server');
    var app = new Server();
    //you're probably on localhost and will need these headers
    app.use(function(req,res,next){
        res.header("Access-Control-Allow-Origin", "*"); //this gets served on localhost
        res.header('Access-Control-Allow-Methods', 'PUT, PATCH, GET, POST, DELETE, OPTIONS');
        res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
        res.setHeader('Access-Control-Allow-Credentials', true);
        next();
    });
    app.setGenerator(/*chunk generator factory function*/);
    //app.setStorage(Server.Storage.memory()); //if you want to cache in memory
    app.setStorage(Server.Storage.files('./data')); //to save to disk
    app.listen(8081, function(){
        console.log('Server listening on port 8081.');
    });

Client

Next make a client that will connect to your chunkserver javascript var client = new VoxelSimulation.Client({ texturePack : 'freeture', //assumes a minecraft-like directory layout container : document.body, weatherCycle : [ 'clear', 'cloudy', 'sprinkle', 'rain', 'stormy', 'rain', 'sprinkle', 'cloudy', 'clear', 'clear', 'clear', 'clear' ], quality : 1, //1, 2 or 3 where 1 is lowest quality save : true }); return client; Running it

Now let's build the app(with browserify):

browserify example-client.js -o app.js

then run the example server:

node example-server.js

and access the html root

Biomes

Using voxel-biomes you can support biomes as a series of different generators. See an example of this in the source. To execute this inside this project, you need to manually npm install voxel-biomes;

Testing

Eventually it'll be:

mocha

Enjoy,

-Abbey Hawk Sparrow