显示样式与配色
基本信息
| 属性 | 值 |
|---|---|
| 类型 | 渲染样式辅助类 |
| 源码 | squeek.wailaharvestability.helpers.ColorHelper(32 行) |
| 职责 | 把"是/否"与"是否附条件"映射为聊天颜色码 |
| 调用点 | 仅 WailaHandler(4 处) |
概述
模组不用任何自定义颜色,只复用原版 EnumChatFormatting 的 8 种颜色。ColorHelper 负责把判定布尔值翻译成颜色码字符串。
两套颜色数组
booleanColorRange(4 项,实际使用)
getBooleanColor(boolean val, boolean modified) 取下标 (val ? 2 : 0) + (modified ? 1 : 0):
val |
modified |
下标 | 颜色 | 含义 |
|---|---|---|---|---|
false |
false |
0 | DARK_RED(暗红) |
不满足,且无条件修饰 |
false |
true |
1 | RED(亮红) |
不满足,但"手持了相关工具/条件已具备,只差别的东西" |
true |
false |
2 | DARK_GREEN(暗绿) |
满足 |
true |
true |
3 | GREEN(亮绿) |
满足,且附带额外条件 |
modified 的作用是把颜色升一档(暗 → 亮),而不是换语义色。
getBooleanColor(boolean val) 是单参数重载,等价于 modified = false。
colorRange(7 项,本 fork 中未被使用)
DARK_RED, RED, GOLD, YELLOW, DARK_GREEN, GREEN, AQUA,仅供 getRelativeColor(val, min, max) 使用——把一个数值在 [min, max] 区间内线性映射到 7 档颜色。
⚠️
getRelativeColor在整个源码中没有任何调用点,colorRange因此也不可达。它是上游遗留的渐变染色功能,提示栏当前只用booleanColorRange。
四处调用的参数
| 位置 | 调用 | 着色对象 |
|---|---|---|
| 不可破坏方块 | getBooleanColor(false) |
恒为暗红的一行 ✘ |
第 1 行 ✔/✘ |
getBooleanColor(isCurrentlyHarvestable) |
当前手持物能否挖掘 |
第 1 行 ✂ |
getBooleanColor(isShearable, !isShearable && isHoldingShears) |
不手持剪刀 → 暗红;手持剪刀但不可剪 → 亮红 |
第 1 行 ✓ |
getBooleanColor(hasSilkTouch) |
手上是否有精准采集 |
| 第 2 行 所需工具 | getBooleanColor(isEffective && (!isHoldingTinkersTool || canHarvest), isHoldingTinkersTool && isEffective && !canHarvest) |
工具类别对得上;Tinkers 工具专属的 modified 逻辑 |
| 第 3 行 挖掘等级 | getBooleanColor(isAboveMinHarvestLevel && canHarvest) |
手持物是否满足该等级 |
⚠️ 上表共 6 行调用点,其中只有"所需工具"一行会传入
modified = true。该条件仅在手持 Tinkers 工具、工具类别对得上、但还没达到挖掘等级时成立——此时显示亮绿,表示"方向对了,但等级不够"。
最小模式
harvestability.minimal 为真时:
- 三行(或更少)被
StringHelper.concatenateStringList用EnumChatFormatting.RESET + MINIMAL_SEPARATOR_STRING(默认RESET + " : ")拼成单行; - 各字段的文字前缀(
Effectivetool/Harvest Level/Currently Harvestable的翻译)全部省略,只留符号与工具名/等级值; - 颜色逻辑完全不变。
分隔符 RESET 前缀的作用是在每个分隔符前重置颜色,避免上一段的暗红/绿色渗到下一段。
数值
| 数值 | 值 |
|---|---|
booleanColorRange 长度 |
4 |
colorRange 长度 |
7(本 fork 未使用) |
| 可用颜色种类 | 7(DARK_RED/RED/DARK_GREEN/GREEN/GOLD/YELLOW/AQUA) |
| 布尔取色档数 | 4 |
使用 modified 档的调用点 |
1 |
| 最小模式分隔符默认值 | " : "(前置换色码 RESET) |
相关条目
- Forge 配置项 - 分隔符
minimal.mode.separator与 4 个符号字符 - WailaHandler 插件与提示栏组装 - 各行输出条件与拼接位置
- WAILA 采集选项 -
harvestability.minimal开关