SavedDataNbt.java
net.minecraft.util.filefix.access.SavedDataNbt
信息
- 全限定名:net.minecraft.util.filefix.access.SavedDataNbt
- 类型:public class
- 包:net.minecraft.util.filefix.access
- 源码路径:src/main/java/net/minecraft/util/filefix/access/SavedDataNbt.java
- 起始行号:L12
- 继承:CompressedNbt
- 职责:
TODO
字段/常量
-
type- 类型:
TypeReference - 修饰符:
private final - 源码定位:
L13 - 说明:
TODO
- 类型:
-
targetVersion- 类型:
int - 修饰符:
private final - 源码定位:
L14 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public SavedDataNbt(TypeReference type, Path path, int targetVersion, CompressedNbt.MissingSeverity missingSeverity) @ L16
- 构造器名:SavedDataNbt
- 源码定位:L16
- 修饰符:public
参数:
- type: TypeReference
- path: Path
- targetVersion: int
- missingSeverity: CompressedNbt.MissingSeverity
说明:
TODO
方法
下面的方法块按源码顺序生成。
public Optional<Dynamic<Tag>> read() @ L22
- 方法名:read
- 源码定位:L22
- 返回类型:Optional<Dynamic
> - 修饰符:public
参数:
- 无
说明:
TODO
public <T> void write(Dynamic<T> data) @ L30
- 方法名:write
- 源码定位:L30
- 返回类型:
void - 修饰符:public
参数:
- data: Dynamic
说明:
TODO
代码
public class SavedDataNbt extends CompressedNbt {
private final TypeReference type;
private final int targetVersion;
public SavedDataNbt(TypeReference type, Path path, int targetVersion, CompressedNbt.MissingSeverity missingSeverity) {
super(path, missingSeverity);
this.type = type;
this.targetVersion = targetVersion;
}
@Override
public Optional<Dynamic<Tag>> read() throws IOException {
return this.readFile().map(readData -> {
int version = NbtUtils.getDataVersion((Dynamic<?>)readData);
return DataFixers.getDataFixer().update(this.type, (Dynamic<Tag>)readData, version, this.targetVersion).get("data").orElseEmptyMap();
});
}
@Override
public <T> void write(Dynamic<T> data) {
Dynamic<T> dataTag = data.emptyMap().set("data", data);
Dynamic<T> wrappedAndWithDataVersion = NbtUtils.addDataVersion(dataTag, this.targetVersion);
this.writeFile(wrappedAndWithDataVersion);
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
NbtUtils.addDataVersion(), NbtUtils.getDataVersion()
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
DataFixers.getDataFixer()
- 引用位置:
-
- 引用位置:
参数/继承
- 引用位置:
-
- 引用位置:
参数/返回值
- 引用位置: