maksym-pasichnyk / deepslate

Library for rendering and emulating parts of Minecraft

Home Page:https://misode.github.io/deepslate/docs/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Deepslate

Library for rendering and emulating parts of Minecraft

Install

npm install deepslate
<script src="https://unpkg.com/deepslate@0.11.0-beta.2"></script>

Examples

Reading and writing binary NBT files

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

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

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

Noise Sampler

image

Chunk Generator

image

About

Library for rendering and emulating parts of Minecraft

https://misode.github.io/deepslate/docs/

License:MIT License


Languages

Language:TypeScript 97.5%Language:JavaScript 2.2%Language:CSS 0.3%Language:Shell 0.1%