Library for rendering and emulating parts of Minecraft
npm install deepslate
<script src="https://unpkg.com/deepslate@0.11.0-beta.2"></script>
import { readNbt, writeNbt } from 'deepslate'
fetch('./example.nbt')
.then(res => res.arrayBuffer())
.then(data => {
const { value, name, compression } = readNbt(new Uint8Array(data))
const newData = writeNbt(value, { name, compression })
})
import { Structure, StructureRenderer } from 'deepslate'
import { mat4 } from 'gl-matrix'
const structure = new Structure([4, 3, 4])
structure.addBlock([0, 0, 3], "minecraft:stone")
structure.addBlock([0, 1, 3], "minecraft:cactus", { "age": "1" })
// Obtain the WebGL context of a canvas element
const gl = canvas.getContext('webgl')
// See the example on how to create a resources object
const renderer = new StructureRenderer(gl, structure, resources)
const view = mat4.create()
mat4.translate(view, view, [0, 0, -5])
renderer.drawStructure(view)
A collection of examples showcasing the use cases of deepslate.
Rendering a simple structure to a canvas, read from an NBT file. Includes mouse controls and loading of an arbitrary resource pack.