天依蓝
Nbt一共有12种类型
End = 0
Byte = 1
Short = 2
Int = 3
Long = 4
Float = 5
Double = 6
ByteArray = 7
String = 8
List = 9
Compound = 10
IntArray = 11
LongArray = 12
NbtTag
Name
Type
Value
一个NBT的是由无数个的NbtTag构造的,根据上述结构,我们就能造出一个简易的NBT类
使用NBT类来构造一个Lore Nbt
End = 0
Byte = 1
Short = 2
Int = 3
Long = 4
Float = 5
Double = 6
ByteArray = 7
String = 8
List = 9
Compound = 10
IntArray = 11
LongArray = 12
NbtTag
Name
Type
Value
一个NBT的是由无数个的NbtTag构造的,根据上述结构,我们就能造出一个简易的NBT类
JavaScript:
class Nbt {
constructor(keyName, NbtNameOrType, valueName, NbtValue, baseNbt) {
this.keyValue = {};
this.keyName = keyName;
this.valueName = valueName;
this.keyValue[keyName] = NbtNameOrType;
this.keyValue[valueName] = NbtValue;
this.baseNbt = baseNbt;
}
AppendNbt(k, kv, v) {
this.keyValue[this.valueName] = this.AppendNbt(k, kv, v, null);
return this;
}
AppendNbt(k, kv, v, vv) {
let nbt;
if (",7,9,10,11,12,".indexOf("," + this.keyValue[this.keyName] + ",") != -1) {
if (this.keyValue[this.valueName] == null)
this.keyValue[this.valueName] = [];
nbt = new Nbt(k, kv, v, vv, this);
try {
this.keyValue[this.valueName].push(nbt.getThisNbt());
} catch (e) {
console.log(e);
}
}
else {
nbt = new Nbt(k, kv, v, vv, this);
nbt.baseNbt = this;
this.keyValue[this.valueName] = nbt.getThisNbt();
}
return nbt;
}
getNbt() {
return this.baseNbt == null ? this.getThisNbt() : this.baseNbt.getNbt();
}
getBaseNbt() {
return this.baseNbt == null ? null : this.baseNbt.getThisNbt();
}
getThisNbt() {
return this.keyValue;
}
}
使用NBT类来构造一个Lore Nbt
JavaScript:
var lore = new Nbt("k","tag","v").AppendNbt("k",10,"v").AppendNbt("k","display","v").AppendNbt("k",10,"v").AppendNbt("k","Lore","v").AppendNbt("k",9,"v").AppendNbt("k",8,"v","第一行lore");
最后编辑: