
SDF - HUD 罗盘
面向Super Duper Fuel整合包的简易指南针HUD,带有便捷的标记API
HUD 指南针
一个轻量级的指南针 HUD 模组,在屏幕顶部显示实时指南针,并支持外部标记模组。
指南针在屏幕顶部中央绘制一条水平条带。当你转身时,条带会滚动以显示 N / E / S / W(以及四个中间方向 - NE、SE、SW、NW 的小刻度线),其位置精确对应真实指南针上相对于你视线方向的位置。正前方的内容位于条带中央;其他内容在你转身时平滑滑动,并在边缘被干净地裁剪,而不是突然弹出或消失。
配置
首次启动时会生成客户端配置文件(config/hudcompass-client.toml):
enabled- 完全启用/禁用指南针条带barWidth/barHeight- 条带的像素尺寸offsetX/offsetY- 微调条带的位置(默认:居中,靠近顶部)visibleSpanDegrees- 条带上一次可见的指南针度数范围,以你面对的方向为中心(默认 270)markerIconSize- 下方 API 添加的标记的绘制尺寸showMarkerLabels- 切换每个标记下方的小文字标签
标记 API(供其他模组/整合包开发者使用)
HUD 指南针提供了一个简单的公共 API,其他模组可以用它来在条带上显示自己的标记——一个图标加上一段简短的文字标签,位置由玩家到标记位置的现实世界方位角决定。
// 一次性操作 - 例如在客户端设置期间:注册一个标记类型(唯一 ID + 要使用的图标,
// 一个独立的 PNG 纹理)。
static final ResourceLocation DEATH_MARKER_TYPE =
ResourceLocation.fromNamespaceAndPath("mydeathmod", "death");CompassMarkerApi.registerMarkerType(DEATH_MARKER_TYPE,
ResourceLocation.fromNamespaceAndPath("mydeathmod", "textures/gui/skull_marker.png"));
// 每当你想让一个标记出现时:用世界坐标和维度添加它。
// 你会得到一个句柄,以便稍后移动或移除它。
Deque<MarkerHandle> recentDeaths = new ArrayDeque<>();
void onPlayerDeath(Vec3 deathPos, ResourceKey<Level> dimension) {
if (recentDeaths.size() >= 10) {
CompassMarkerApi.removeMarker(recentDeaths.removeFirst());
}
String label = String.valueOf(recentDeaths.size() + 1);
recentDeaths.addLast(CompassMarkerApi.addMarker(DEATH_MARKER_TYPE, label, deathPos, dimension));
}
// 追踪移动目标(Boss、其他玩家)?只需在位置变化时用新位置再次调用此方法。
CompassMarkerApi.updateMarkerPosition(handle, newPos, dimension);
// 当不再需要某个标记时:
CompassMarkerApi.removeMarker(handle);
需求
- Minecraft 1.21.1
- NeoForge
21.1.176
免责声明: 本模组专为 Super Duper Fuel (SDF) 整合包构建,并仅支持该整合包,针对上述列出的确切 Minecraft/NeoForge 版本。它不会更新以兼容其他 Minecraft 版本、其他模组加载器(Forge、Fabric、Quilt 等)或 SDF 整合包自身所用之外的未来 NeoForge 版本。目前没有扩大支持范围的计划。在 Super Duper Fuel 之外使用是可行的,但完全不受支持。欢迎制作自己的版本,并用于你自己的整合包!
许可证: MIT 许可证
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。