提示配置(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/ 下。

加载流程

  1. MinecraftDisplayer.handleTips:
    • 未启用自定义 → 读 Minecraft.getMinecraft().getLanguageManager().getCurrentLanguage().getLanguageCode(),截前 5 位作为 locale(如 en_US)。
    • 启用自定义 → locale=customTipFilename。
  2. 检查 config/Betterloadingscreen/tips/<locale>.txt:
    • 存在 → 直接 readTipsFile 读取。
    • 不存在 → 调 placeTipsFile() 从 assets/betterloadingscreen/tips/<locale>.txt 拷贝到 config/Betterloadingscreen/tips/<locale>.txt(若 en_US 也不存在则报错)。
  3. randomTips 装载后,初始 tip 用 Random.nextInt 抽取一条。
  4. 用 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

相关条目