NamespacedSchema.java
net.minecraft.util.datafix.schemas.NamespacedSchema
信息
- 全限定名:net.minecraft.util.datafix.schemas.NamespacedSchema
- 类型:public class
- 包:net.minecraft.util.datafix.schemas
- 源码路径:src/main/java/net/minecraft/util/datafix/schemas/NamespacedSchema.java
- 起始行号:L12
- 继承:Schema
- 职责:
TODO
字段/常量
-
NAMESPACED_STRING_CODEC- 类型:
PrimitiveCodec<String> - 修饰符:
public static final public public public - 源码定位:
L13 - 说明:
TODO
- 类型:
-
NAMESPACED_STRING- 类型:
Type<String> - 修饰符:
private static final - 源码定位:
L28 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public NamespacedSchema(int versionKey, Schema parent) @ L30
- 构造器名:NamespacedSchema
- 源码定位:L30
- 修饰符:public
参数:
- versionKey: int
- parent: Schema
说明:
TODO
方法
下面的方法块按源码顺序生成。
public static String ensureNamespaced(String input) @ L34
- 方法名:ensureNamespaced
- 源码定位:L34
- 返回类型:String
- 修饰符:public static
参数:
- input: String
说明:
TODO
public static Type<String> namespacedString() @ L39
- 方法名:namespacedString
- 源码定位:L39
- 返回类型:Type
- 修饰符:public static
参数:
- 无
说明:
TODO
public Type<?> getChoiceType(TypeReference type, String choiceName) @ L43
- 方法名:getChoiceType
- 源码定位:L43
- 返回类型:Type<?>
- 修饰符:public
参数:
- type: TypeReference
- choiceName: String
说明:
TODO
代码
public class NamespacedSchema extends Schema {
public static final PrimitiveCodec<String> NAMESPACED_STRING_CODEC = new PrimitiveCodec<String>() {
@Override
public <T> DataResult<String> read(DynamicOps<T> ops, T input) {
return ops.getStringValue(input).map(NamespacedSchema::ensureNamespaced);
}
public <T> T write(DynamicOps<T> ops, String value) {
return ops.createString(value);
}
@Override
public String toString() {
return "NamespacedString";
}
};
private static final Type<String> NAMESPACED_STRING = new PrimitiveType<>(NAMESPACED_STRING_CODEC);
public NamespacedSchema(int versionKey, Schema parent) {
super(versionKey, parent);
}
public static String ensureNamespaced(String input) {
Identifier identifier = Identifier.tryParse(input);
return identifier != null ? identifier.toString() : input;
}
public static Type<String> namespacedString() {
return NAMESPACED_STRING;
}
@Override
public Type<?> getChoiceType(TypeReference type, String choiceName) {
return super.getChoiceType(type, ensureNamespaced(choiceName));
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
Identifier.tryParse()
- 引用位置:
-
- 引用位置:
参数/继承
- 引用位置: