ChunkResult.java
net.minecraft.server.level.ChunkResult
信息
- 全限定名:net.minecraft.server.level.ChunkResult
- 类型:public interface
- 包:net.minecraft.server.level
- 源码路径:src/main/java/net/minecraft/server/level/ChunkResult.java
- 起始行号:L8
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
-
net.minecraft.server.level.ChunkResult.Fail- 类型:
record - 修饰符:
public - 源码定位:
L38 - 说明:
TODO
- 类型:
-
net.minecraft.server.level.ChunkResult.Success- 类型:
record - 修饰符:
public - 源码定位:
L70 - 说明:
TODO
- 类型:
构造器
- 无
方法
下面的方法块按源码顺序生成。
static <T> ChunkResult<T> of(T value) @ L9
- 方法名:of
- 源码定位:L9
- 返回类型:
ChunkResult - 修饰符:static
参数:
- value: T
说明:
TODO
static <T> ChunkResult<T> error(String error) @ L13
- 方法名:error
- 源码定位:L13
- 返回类型:
ChunkResult - 修饰符:static
参数:
- error: String
说明:
TODO
static <T> ChunkResult<T> error(Supplier<String> errorSupplier) @ L17
- 方法名:error
- 源码定位:L17
- 返回类型:
ChunkResult - 修饰符:static
参数:
- errorSupplier: Supplier
说明:
TODO
boolean isSuccess() @ L21
- 方法名:isSuccess
- 源码定位:L21
- 返回类型:boolean
- 修饰符:package-private
参数:
- 无
说明:
TODO
T orElse(T orElse) @ L23
- 方法名:orElse
- 源码定位:L23
- 返回类型:T
- 修饰符:package-private
参数:
- orElse: T
说明:
TODO
static <R> R orElse(ChunkResult<?extends R> chunkResult, R orElse) @ L25
- 方法名:orElse
- 源码定位:L25
- 返回类型:
R - 修饰符:static
参数:
- chunkResult: ChunkResult<?extends R>
- orElse: R
说明:
TODO
String getError() @ L30
- 方法名:getError
- 源码定位:L30
- 返回类型:String
- 修饰符:package-private
参数:
- 无
说明:
TODO
ChunkResult<T> ifSuccess(Consumer<T> consumer) @ L32
- 方法名:ifSuccess
- 源码定位:L32
- 返回类型:ChunkResult
- 修饰符:package-private
参数:
- consumer: Consumer
说明:
TODO
<R> ChunkResult<R> map(Function<T,R> map) @ L34
- 方法名:map
- 源码定位:L34
- 返回类型:
ChunkResult - 修饰符:package-private
参数:
- map: Function<T,R>
说明:
TODO
<E extends Throwable> T orElseThrow(Supplier<E> exceptionSupplier) @ L36
- 方法名:orElseThrow
- 源码定位:L36
- 返回类型:
T - 修饰符:package-private
参数:
- exceptionSupplier: Supplier
说明:
TODO
代码
public interface ChunkResult<T> {
static <T> ChunkResult<T> of(T value) {
return new ChunkResult.Success<>(value);
}
static <T> ChunkResult<T> error(String error) {
return error(() -> error);
}
static <T> ChunkResult<T> error(Supplier<String> errorSupplier) {
return new ChunkResult.Fail<>(errorSupplier);
}
boolean isSuccess();
@Nullable T orElse(@Nullable T orElse);
static <R> @Nullable R orElse(ChunkResult<? extends R> chunkResult, @Nullable R orElse) {
R result = (R)chunkResult.orElse(null);
return result != null ? result : orElse;
}
@Nullable String getError();
ChunkResult<T> ifSuccess(Consumer<T> consumer);
<R> ChunkResult<R> map(Function<T, R> map);
<E extends Throwable> T orElseThrow(Supplier<E> exceptionSupplier) throws E;
public record Fail<T>(Supplier<String> error) implements ChunkResult<T> {
@Override
public boolean isSuccess() {
return false;
}
@Override
public @Nullable T orElse(@Nullable T orElse) {
return orElse;
}
@Override
public String getError() {
return this.error.get();
}
@Override
public ChunkResult<T> ifSuccess(Consumer<T> consumer) {
return this;
}
@Override
public <R> ChunkResult<R> map(Function<T, R> map) {
return new ChunkResult.Fail(this.error);
}
@Override
public <E extends Throwable> T orElseThrow(Supplier<E> exceptionSupplier) throws E {
throw exceptionSupplier.get();
}
}
public record Success<T>(T value) implements ChunkResult<T> {
@Override
public boolean isSuccess() {
return true;
}
@Override
public T orElse(@Nullable T orElse) {
return this.value;
}
@Override
public @Nullable String getError() {
return null;
}
@Override
public ChunkResult<T> ifSuccess(Consumer<T> consumer) {
consumer.accept(this.value);
return this;
}
@Override
public <R> ChunkResult<R> map(Function<T, R> map) {
return new ChunkResult.Success<>(map.apply(this.value));
}
@Override
public <E extends Throwable> T orElseThrow(Supplier<E> exceptionSupplier) throws E {
return this.value;
}
}
}引用的其他类
- 无