Library for rendering and emulating parts of Minecraft
npm install deepslate
<script src="https://unpkg.com/deepslate@0.25.1"></script>
import { NbtFile, NbtString } from 'deepslate' fetch('./example.nbt') .then(res => res.arrayBuffer()) .then(data => { const file = NbtFile.read(new Uint8Array(data)) file.root.set('Hello', new NbtString('World!')) const newData = file.write() console.log(newData) })
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 demo 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.