ByteCodecs

[!INFO] Git Commit: 7808254 | Updated: 2026-10-02

属性 值
类名 codechicken.multipart.asm.ByteCodecs
类型 object,8 个方法,212 行
启用版本 Minecraft 1.7.10
NBT 变长整数编解码:Forge 的 NBT 用 7 位一段、每段最高位为续位的方式
压缩整数。这里额外实现了「零值压缩」,让常见的小值只占 1 字节。

关键点

  • encode / decode:7 位基础编解码。
  • encode8to7 / decode7to8:在 8 位与 7 位表示间转换。
  • avoidZero / regenerateZero:写出时把 0 编码成最短形式、读回时还原为 0。 这是 Forge NBT 的既有约定,不做这步会导致读出的数值整体偏移 1。
  • src / dst:ByteCodecs.scala 内对输入输出缓冲区的写入游标。

相关条目