Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Library for rendering and emulating parts of Minecraft

License

Notifications You must be signed in to change notification settings

misode/deepslate

Repository files navigation

Deepslate

Library for rendering and emulating parts of Minecraft

Install

npm install deepslate
<script src="https://unpkg.com/deepslate@0.25.1"></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)

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.

image

image

image

image

image

About

Library for rendering and emulating parts of Minecraft

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 10

Languages

AltStyle によって変換されたページ (->オリジナル) /