SectionBufferBuilderPack.java
net.minecraft.client.renderer.SectionBufferBuilderPack
信息
- 全限定名:net.minecraft.client.renderer.SectionBufferBuilderPack
- 类型:public class
- 包:net.minecraft.client.renderer
- 源码路径:src/main/java/net/minecraft/client/renderer/SectionBufferBuilderPack.java
- 起始行号:L12
- 实现:AutoCloseable
- 职责:
TODO
字段/常量
-
TOTAL_BUFFERS_SIZE- 类型:
int - 修饰符:
public static final - 源码定位:
L13 - 说明:
TODO
- 类型:
-
buffers- 类型:
Map<ChunkSectionLayer,ByteBufferBuilder> - 修饰符:
private final - 源码定位:
L14 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public ByteBufferBuilder buffer(ChunkSectionLayer layer) @ L18
- 方法名:buffer
- 源码定位:L18
- 返回类型:ByteBufferBuilder
- 修饰符:public
参数:
- layer: ChunkSectionLayer
说明:
TODO
public void clearAll() @ L22
- 方法名:clearAll
- 源码定位:L22
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public void discardAll() @ L26
- 方法名:discardAll
- 源码定位:L26
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public void close() @ L30
- 方法名:close
- 源码定位:L30
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class SectionBufferBuilderPack implements AutoCloseable {
public static final int TOTAL_BUFFERS_SIZE = Arrays.stream(ChunkSectionLayer.values()).mapToInt(ChunkSectionLayer::bufferSize).sum();
private final Map<ChunkSectionLayer, ByteBufferBuilder> buffers = Util.makeEnumMap(
ChunkSectionLayer.class, layer -> new ByteBufferBuilder(layer.bufferSize())
);
public ByteBufferBuilder buffer(ChunkSectionLayer layer) {
return this.buffers.get(layer);
}
public void clearAll() {
this.buffers.values().forEach(ByteBufferBuilder::clear);
}
public void discardAll() {
this.buffers.values().forEach(ByteBufferBuilder::discard);
}
@Override
public void close() {
this.buffers.values().forEach(ByteBufferBuilder::close);
}
}引用的其他类
-
- 引用位置:
字段/构造调用/返回值 - 关联成员:
ByteBufferBuilder()
- 引用位置:
-
- 引用位置:
参数/字段/方法调用 - 关联成员:
ChunkSectionLayer.values()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Util.makeEnumMap()
- 引用位置: