我正在解析一个具有以下结构的原理图文件
.schematic文件格式是由社区创建的,用于存储Minecraft世界的部分以供第三方程序使用。原理图文件采用NBT格式
命名二进制标签(NBT)文件格式是一种极其简单的结构化二进制格式,Minecraft游戏用于各种事情
数据值
定义了Minecraft中地形的部分。
我正在检索每个Minecraft块的块数据,并需要找出如何解码这些字节。这是Stairs Minecraft块的示例
例如,楼梯块数据包括:
我可以使用nbt-js解析整个原理图文件,这使我能够像这样访问块数据:
var b = schem.value.Data.value[index];
我使用以下代码解码楼梯方块数据的位数据:
var facing = b & 0x03;
var half = (b >> 2) & 0x01;
var shape = (b >> 3) & 0x03;
这些配置值是确定楼梯方块应如何呈现的关键。例如,我使用朝向值来旋转方块:
block.rotateX(facing);
然而,对于每个块类型,比特位的解释都不同,而且我找不到任何定义。
schem.value.Data.value[index];
中b
变量和schem
的值是多少等等...也许你想创建一个fiddle
并存根值,以便我们可以快速重新创建你的场景。2)facing = data & 0x03;
和其他代码的输出是什么。尝试创建某种类型的fiddle或清楚地解释代码。 - Fabrizio Bertoglio