对于我的个人项目,我需要编辑存储在 .mca 文件中的块中每个部分的每个字节。我已经可以生成块所需的字节。我唯一的问题是我无法理解如何在 java 中很容易地编辑这些类型的文件。
问问题
110 次
1 回答
0
这是一个使用此Java NBT 库的示例,它提供了有关在自述文件中包含项目的说明。希望这可以帮助!
byte[][][] generatedBytes = new byte[16][256][16];
MCAFile mcaFile = new MCAFile(0, 0);
Chunk chunk = Chunk.newChunk();
// Generate bytes to be put into chunk, here we just generate some stripes
for (int y=0; y < 256; y++) {
for (int z = 0; z < 16; z++) {
for (int x = 0; x < 16; x++) {
generatedBytes[x][y][z] = (byte) (x % 3);
}
}
}
// Write our generated bytes to a chunk
for (int y=0; y < 256; y++) {
for (int z = 0; z < 16; z++) {
for (int x = 0; x < 16; x++) {
CompoundTag blockTag = new CompoundTag();
String blockType = "minecraft:air";
switch (generatedBytes[x][y][z]) {
case 1:
blockType = "minecraft:stone";
break;
case 2:
blockType = "minecraft:grass_block";
break;
default:
break;
}
blockTag.putString("Name", blockType);
chunk.setBlockStateAt(x, y, z, blockTag, false);
}
}
}
mcaFile.setChunk(0, 0, chunk);
MCAUtil.write(mcaFile, "r.0.0.mca");
于 2021-01-07T17:39:52.330 回答