小编lan*_*cew的帖子

如何解码Minecraft示意图(nbt)文件中的数据(即块状态)字节?

我解析一个schematic file具有以下结构

.schematic文件格式是由社区创建到存储的Minecraft世界的部分与第三方程序使用。原理图为NBT格式

命名二进制变量(NBT)文件格式是使用的游戏的Minecraft为各种事情非常简单的结构化的二进制格式

Data Value小号定义的Minecraft地形的部分。

我检索block data每个Minecraft块,并需要弄清楚如何解码这些字节。这是《我的世界》Stairs方块的一个例子

例如,阶梯块数据包括:

在此处输入图片说明

我可以使用nbt-js解析整个原理图文件,这使我可以像这样访问块数据:

var b = schem.value.Data.value[index];
Run Code Online (Sandbox Code Playgroud)

我使用以下代码解码楼梯块数据位数据

var facing = b & 0x03;
var half = (b >> 2) & 0x01;
var shape = (b >> 3) & 0x03;
Run Code Online (Sandbox Code Playgroud)

这些配置值对于确定应如何渲染楼梯楼梯至关重要。例如,我使用面值旋转块:

block.rotateX(facing);
Run Code Online (Sandbox Code Playgroud)

但是,对于每种块类型,位的解释都不同,这在我能找到的任何地方都没有定义。

javascript decoding minecraft

11
推荐指数
1
解决办法
594
查看次数

标签 统计

decoding ×1

javascript ×1

minecraft ×1