Blocks is a voxel engine created for jMonkeyEngine.
Next to the default cube shape, Blocks also supports more complicated shapes like pyramids, rounded blocks, wedges, slabs, stairs, ... This will make your creations feel even more vibrant!
Don't like the look and feel of the blocks? You can easily change the default textures by creating and using a different theme. You can even supply your own custom jMonkeyEngine material files. Even physically based rendering (or PBR) of blocks is supported by default.
Blocks comes with a fully fledged pager implementation that will load the blocks around the player, blocks that are out of sight will be unloaded to save resources.
Add the generated collision meshes to the physics space of your application to create and simulate solid environments. Blocks uses the Minie physics library for real-time physics simulation.
Using multithreading, high demanding tasks like chunk generation and mesh creation can be run in parallel to maximize the CPU time.
Blocks is build with modularity and reuse in mind. If a part of the framework doesn't match your requirements you can easily swap it out and replace it with something else.
The lifecycle of the Blocks framework is managed by AppState objects. This way the Blocks framework can easily and safely be plugged into the StateManager of jMonkeyEngine.
General documentation can be found on the wiki. The javadoc of the latest stable version can be found at the gh-pages. Documentation can only take you so far, so make sure to take a look at the different examples.
Make sure to check out the FAQ page on the wiki. There is also a Blocks topic on the jMonkeyEngine forum. Or just create your own topic.
If you have a bug or an idea, you can create a ticket for it here. See the CONTRIBUTING file for more details.
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details