Schematic/Structureの実装に悩んでます。どうも。

SNLでNBTTagなんたらはOrangeNBT.NBTにあります。

  • 初期化など
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
var tag = new TagCompound()
{
  new TagInt("DataVersion", 1),
  new TagCompound("Level")
  {
    new TagInt("xPos", _coord.X), 
    new TagInt("zPos", _coord.Z), 
    new TagLong("LastUpdate", DateTime.Now.Ticks), 
    new TagByte("V", 1), 
    new TagByte("TerrainPopulated", (byte)(_isTerrainPopulated? 1 : 0)), 
    new TagByte("LightPopulated", (byte)(_isLightPopulated? 1 : 0)), 
    new TagIntArray("HeightMap", _heights), 
    new TagByteArray("Biomes", _biomes)
  }
};

TagCompoundのクラスにはAdd(val)関数は実装されていません。 using OrangeNBT.Helper; ってやるといろいろ追加されます。拡張メソッドで定義されています

1
2
3
4
5
using OrangeNBT.Helper;

c._heights = level.GetIntArray("HeightMap");
c._isTerrainPopulated = level.GetBool("TerrainPopulated");
c._isLightPopulated = level.GetBool("LightPopulated");

ところで、アルファ版というかDev版は破壊的変更し放題ですね。最高。ネームスペースが突然変わったり引数が増えたり減ったりします。

LongArrayもあるので使ってね!(いつから追加されたのだろう)(使い用途不明)(コマンド用?)

https://github.com/noto0648/OrangeNBT

Githubに上がってます。気になったところは教えてください。 ちなみにいつになってもgit苦手です。つらい。 またひと段落したらPushします

バイナリは前記事よりDLしてください。

bedrock版では、どうも1.4になってしまったようですね。よさそう。建築したいです。