IdentifierPattern.java
net.minecraft.util.IdentifierPattern
信息
- 全限定名:net.minecraft.util.IdentifierPattern
- 类型:public class
- 包:net.minecraft.util
- 源码路径:src/main/java/net/minecraft/util/IdentifierPattern.java
- 起始行号:L10
- 职责:
TODO
字段/常量
-
CODEC- 类型:
Codec<IdentifierPattern> - 修饰符:
public static final - 源码定位:
L11 - 说明:
TODO
- 类型:
-
namespacePattern- 类型:
Optional<Pattern> - 修饰符:
private final - 源码定位:
L18 - 说明:
TODO
- 类型:
-
namespacePredicate- 类型:
Predicate<String> - 修饰符:
private final - 源码定位:
L19 - 说明:
TODO
- 类型:
-
pathPattern- 类型:
Optional<Pattern> - 修饰符:
private final - 源码定位:
L20 - 说明:
TODO
- 类型:
-
pathPredicate- 类型:
Predicate<String> - 修饰符:
private final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
locationPredicate- 类型:
Predicate<Identifier> - 修饰符:
private final - 源码定位:
L22 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
private IdentifierPattern(Optional<Pattern> namespacePattern, Optional<Pattern> pathPattern) @ L24
- 构造器名:IdentifierPattern
- 源码定位:L24
- 修饰符:private
参数:
- namespacePattern: Optional
- pathPattern: Optional
说明:
TODO
方法
下面的方法块按源码顺序生成。
public Predicate<String> namespacePredicate() @ L32
- 方法名:namespacePredicate
- 源码定位:L32
- 返回类型:Predicate
- 修饰符:public
参数:
- 无
说明:
TODO
public Predicate<String> pathPredicate() @ L36
- 方法名:pathPredicate
- 源码定位:L36
- 返回类型:Predicate
- 修饰符:public
参数:
- 无
说明:
TODO
public Predicate<Identifier> locationPredicate() @ L40
- 方法名:locationPredicate
- 源码定位:L40
- 返回类型:Predicate
- 修饰符:public
参数:
- 无
说明:
TODO
代码
public class IdentifierPattern {
public static final Codec<IdentifierPattern> CODEC = RecordCodecBuilder.create(
i -> i.group(
ExtraCodecs.PATTERN.optionalFieldOf("namespace").forGetter(o -> o.namespacePattern),
ExtraCodecs.PATTERN.optionalFieldOf("path").forGetter(o -> o.pathPattern)
)
.apply(i, IdentifierPattern::new)
);
private final Optional<Pattern> namespacePattern;
private final Predicate<String> namespacePredicate;
private final Optional<Pattern> pathPattern;
private final Predicate<String> pathPredicate;
private final Predicate<Identifier> locationPredicate;
private IdentifierPattern(Optional<Pattern> namespacePattern, Optional<Pattern> pathPattern) {
this.namespacePattern = namespacePattern;
this.namespacePredicate = namespacePattern.map(Pattern::asPredicate).orElse(r -> true);
this.pathPattern = pathPattern;
this.pathPredicate = pathPattern.map(Pattern::asPredicate).orElse(r -> true);
this.locationPredicate = location -> this.namespacePredicate.test(location.getNamespace()) && this.pathPredicate.test(location.getPath());
}
public Predicate<String> namespacePredicate() {
return this.namespacePredicate;
}
public Predicate<String> pathPredicate() {
return this.pathPredicate;
}
public Predicate<Identifier> locationPredicate() {
return this.locationPredicate;
}
}引用的其他类
-
- 引用位置:
字段/返回值
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置: