Schematic/Structureの実装に悩んでます。どうも。
SNLでNBTTagなんたらはOrangeNBT.NBTにあります。
・初期化など
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;
ってやるといろいろ追加されます。拡張メソッドで定義されています
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になってしまったようですね。よさそう。建築したいです。