提示配置(tips 段)
基本信息
| 属性 | 值 |
|---|---|
| 配置段名 | tips |
| 默认切换频率 | 18 秒 |
| 默认开关 | true |
| 默认语言 | en_US(随 Minecraft 语言) |
配置项
tipsEnabled
- 类型:Boolean
- 默认:
true - 作用:是否启用 tip 随机轮播。
baseTipsTextPos
- 类型:String
- 默认:
BOTTOM_CENTER - 可选:
TOP_CENTER / TOP_RIGHT / CENTER_LEFT / CENTER / CENTER_RIGHT / BOTTOM_LEFT / BOTTOM_CENTER / BOTTOM_RIGHT(对应 位置栅格 枚举的字符串名) - 说明:注释提醒"其它元素固定用 CENTER"——只有 tip 文本支持可配置的位置。
tipsTextPos
- 类型:int[]
- 默认:
[0, 5] - 作用:相对
baseTipsTextPos的偏移坐标。
tipsTextShadow
- 类型:Boolean
- 默认:
true - 作用:tip 文字是否带阴影。
tipsColor
- 类型:String(hex)
- 默认:
ffffff - 校验:
validateTextColor归一为 6 位 hex,非法回退ffffff。
tipsChangeFrequency
- 类型:int
- 默认:
18 - 范围:
[1, 9000]秒 - 作用:两次 tip 切换间隔。
useCustomTips
- 类型:Boolean
- 默认:
false - 作用:是否使用自定义 tip 文件(不跟随 Minecraft 语言)。
customTipFilename
- 类型:String
- 默认:
en_US - 作用:自定义 tip 文件名(去掉
.txt),文件需放在config/Betterloadingscreen/tips/下。
加载流程
MinecraftDisplayer.handleTips:- 未启用自定义 → 读
Minecraft.getMinecraft().getLanguageManager().getCurrentLanguage().getLanguageCode(),截前 5 位作为 locale(如en_US)。 - 启用自定义 → locale=
customTipFilename。
- 未启用自定义 → 读
- 检查
config/Betterloadingscreen/tips/<locale>.txt:- 存在 → 直接
readTipsFile读取。 - 不存在 → 调
placeTipsFile()从assets/betterloadingscreen/tips/<locale>.txt拷贝到config/Betterloadingscreen/tips/<locale>.txt(若 en_US 也不存在则报错)。
- 存在 → 直接
randomTips装载后,初始 tip 用Random.nextInt抽取一条。- 用
Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(...)每tipsChangeFrequency秒调用randomTooltip(tip)切换(randomUnused防重复相邻)。
文件格式
en_US.txt 一行一条 tip,以 # 开头或空行被忽略:
# This is a comment
Tip line 1
Tip line 2
Tip line 3
文件为空时 fallback 为 ["No tips!"]。
数值
| 字段 | 默认 |
|---|---|
tipsEnabled |
true |
baseTipsTextPos |
BOTTOM_CENTER |
tipsTextPos |
[0, 5] |
tipsTextShadow |
true |
tipsColor |
ffffff |
tipsChangeFrequency |
18 秒 |
useCustomTips |
false |
customTipFilename |
en_US |