DebugEntryHeightmap.java
net.minecraft.client.gui.components.debug.DebugEntryHeightmap
信息
- 全限定名:net.minecraft.client.gui.components.debug.DebugEntryHeightmap
- 类型:public class
- 包:net.minecraft.client.gui.components.debug
- 源码路径:src/main/java/net/minecraft/client/gui/components/debug/DebugEntryHeightmap.java
- 起始行号:L19
- 实现:DebugScreenEntry
- 职责:
TODO
字段/常量
-
HEIGHTMAP_NAMES- 类型:
Map<Heightmap.Types,String> - 修饰符:
private static final - 源码定位:
L20 - 说明:
TODO
- 类型:
-
GROUP- 类型:
Identifier - 修饰符:
private static final - 源码定位:
L36 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public void display(DebugScreenDisplayer displayer, Level serverOrClientLevel, LevelChunk clientChunk, LevelChunk serverChunk) @ L38
- 方法名:display
- 源码定位:L38
- 返回类型:void
- 修饰符:public
参数:
- displayer: DebugScreenDisplayer
- serverOrClientLevel: Level
- clientChunk: LevelChunk
- serverChunk: LevelChunk
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class DebugEntryHeightmap implements DebugScreenEntry {
private static final Map<Heightmap.Types, String> HEIGHTMAP_NAMES = Maps.newEnumMap(
Map.of(
Heightmap.Types.WORLD_SURFACE_WG,
"SW",
Heightmap.Types.WORLD_SURFACE,
"S",
Heightmap.Types.OCEAN_FLOOR_WG,
"OW",
Heightmap.Types.OCEAN_FLOOR,
"O",
Heightmap.Types.MOTION_BLOCKING,
"M",
Heightmap.Types.MOTION_BLOCKING_NO_LEAVES,
"ML"
)
);
private static final Identifier GROUP = Identifier.withDefaultNamespace("heightmaps");
@Override
public void display(DebugScreenDisplayer displayer, @Nullable Level serverOrClientLevel, @Nullable LevelChunk clientChunk, @Nullable LevelChunk serverChunk) {
Minecraft minecraft = Minecraft.getInstance();
Entity entity = minecraft.getCameraEntity();
if (entity != null && minecraft.level != null && clientChunk != null) {
BlockPos feetPos = entity.blockPosition();
List<String> result = new ArrayList<>();
StringBuilder heightmaps = new StringBuilder("CH");
for (Heightmap.Types type : Heightmap.Types.values()) {
if (type.sendToClient()) {
heightmaps.append(" ").append(HEIGHTMAP_NAMES.get(type)).append(": ").append(clientChunk.getHeight(type, feetPos.getX(), feetPos.getZ()));
}
}
result.add(heightmaps.toString());
heightmaps.setLength(0);
heightmaps.append("SH");
for (Heightmap.Types typex : Heightmap.Types.values()) {
if (typex.keepAfterWorldgen()) {
heightmaps.append(" ").append(HEIGHTMAP_NAMES.get(typex)).append(": ");
if (serverChunk != null) {
heightmaps.append(serverChunk.getHeight(typex, feetPos.getX(), feetPos.getZ()));
} else {
heightmaps.append("??");
}
}
}
result.add(heightmaps.toString());
displayer.addToGroup(GROUP, result);
}
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
Minecraft.getInstance()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
字段/方法调用 - 关联成员:
Identifier.withDefaultNamespace()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段/方法调用 - 关联成员:
Heightmap.Types.values()
- 引用位置: