Deepslate Save

Library for rendering and emulating parts of Minecraft

Project README

Deepslate

Library for rendering and emulating parts of Minecraft

Install

npm install deepslate
<script src="https://unpkg.com/[email protected]"></script>

Quick Examples

Reading and writing binary NBT files

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)
	})

Rendering a structure

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)

Docs

A collection of examples showcasing the use cases of deepslate.

Render

Rendering a simple structure to a canvas, read from an NBT file. Includes mouse controls and loading of an arbitrary resource pack.

image

Splines

image

Noise

image

MultiNoise

image

Chunk Generator

image

Open Source Agenda is not affiliated with "Deepslate" Project. README Source: misode/deepslate
Stars
114
Open Issues
2
Last Commit
2 months ago
Repository
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating