Gui Natures Compass

基本信息

属性 值
类 com.chaosthedude.naturescompass.gui.GuiNaturesCompass
注册方 GuiHandler.getClientGuiElement()(GUI ID 0)
仅客户端 @SideOnly(Side.CLIENT)

行为

手持 Nature’s Compass 右键打开的主界面。包含 6 个按钮、1 个 checkBox、1 个搜索框、1 个群系列表(GuiListBiomes)。

按钮

ID 显示 默认位置 默认启用 触发动作
0 Cancel (10, height-30) 是 关闭 GUI
1 Sort By: <维度> (10, 90) 是 切换 sortingCategory.next()
2 Info (10, 65) 否(选中列表项后启用) 弹出 GuiBiomeInfo
3 Search (10, 40) 否(选中列表项后启用) 触发 searchForBiome(biomeID) 发 PacketCompassSearch
4 Teleport (10, height-55) 仅 FOUND 状态且 OP/cheat 模式 发 PacketTeleport
5 Found Only (CheckBox) (10, 115) 默认 false 切到 availableBiomes 过滤列表

搜索框

  • 位置 (130, 10),宽 width - 200,高 20。
  • 接收单行文本,支持 category: value 形式的 AND 过滤(: 前后都 trim)。
  • 单段输入会同时匹配当前 sortingCategory 显示名(除 CategoryName 外)。
  • 已识别的搜索分类:name / climate / bh / hv / rain / temp / humidity / tag(或对应 i18n 键)。
  • 多段以逗号分隔;每段独立做交集 (retainAll)。

列表

  • 自定义 GuiListBiomes(继承 GuiListExtended),slot 高 36。
  • 渲染每条:[群系名] + [当前排序维度: 值] + [Precipitation: Rain/Snow/None]。

“Found Only” CheckBox 行为

  • 勾选时 baseBiomeList = availableBiomes;取消恢复 allowedBiomes。
  • 在单机集成服务器下首次勾选会阻塞地跑 worker(while (worker.hasWork()) worker.doWork()),已用注释明示属于极端 hack。

传送按钮

  • updateScreen() 每 tick 检查:NaturesCompass.canTeleport || PlayerUtils.cheatModeEnabled(player) 决定可见;natureCompass.getState(stack) == FOUND 决定启用。

数值

数值 默认值
Info/Search 按钮启用条件 选中群系列表项
Teleport 按钮可见条件 NaturesCompass.canTeleport 或 cheat mode
Teleport 按钮启用条件 compass 状态 FOUND
默认排序 CategoryName

限制

  • 一次只能选一个群系。
  • 搜索按 i18n 字符串匹配,非英文语言下输入不同关键词。

相关条目