渲染模式与采样配置

基本信息

属性 值
实现类 Config(Config.java)
加载路径 event.getSuggestedConfigurationFile() → <worldDir>/holoinventory.cfg(HoloInventory.preInit)
写入触发 Config.save() 仅在 configuration.hasChanged() 时落盘

公开字段(Config.java:31-52,static)

字段 类型 默认 含义
requireGlasses boolean Loader.isModLoaded("dreamcraft") 是否强制佩戴 HoloGlasses 才能渲染;GTNH 整合包默认 true
colorEnable boolean false 是否在 hologram 后面渲染半透明彩色背景
colorAlpha int 200 背景透明度 0-255
colorR int 14 背景红
colorG int 157 背景绿
colorB int 196 背景蓝
syncFreq int 2 实体类 hologram 在客户端的重复请求节流系数:worldTime > request + 20*syncFreq 才允许再次请求(同 Renderer.doEvent 第 237 行)
renderText boolean true 是否在每个物品图标下显示堆叠数量
renderSuffixDarkened boolean true K/M/B/L 后缀是否使用灰色显示
renderThirdPerson boolean false 第三人称视角下是否也渲染
renderMultiple boolean true false 时每个 stackSize>1 的物品仅显示 1 个(除非带 NBT_KEY_AMOUNT 标记)
enableStacking boolean true (保留选项,仅在源码中以字段出现)
renderName boolean true 在 hologram 顶部显示原始 inventory 名称(可通过 overrideName 改写)
hideItemsNotSelected boolean true 当 NEI 搜索激活时是否过滤 hologram 内物品
mode int 0 「最丰富优先」裁剪模式:0=全部;2=1 件;3=3 件;4=5 件;5=7 件;6=9 件
cycle int 0 循环显示时间(ticks):>0 时按 worldTime/cycle % size 单项显示
keyMode int 1 控制 HoloGlasses 热键行为(详见 HoloGlasses 热键)
enableEntities boolean true 是否对实体(IInventory、IMerchant)也渲染 hologram
keyState boolean true keyMode=1 时持久化 toggle 状态
rotateItems boolean true hologram 内物品图标是否每帧旋转(time = currentTimeMillis & 0x3FFF)
debug boolean false 调试输出开关
renderScaling double 1.0 hologram 整体 UI 缩放系数(最小夹紧 0.1)

可变集合

集合 类型 填充时机
bannedTiles ArrayList<String> 通过 /holoinventory ban 右键 TileEntity 时由 PlayerInteractEvent 监听写入
bannedEntities ArrayList<String> 通过 /holoinventory ban 右键实体时由 EntityInteractEvent 监听写入
nameOverrides HashMap<String, String> 通过 /holoinventory overrideName <new Name> 右键后由 RenameMessage 写入

行为

  • Config.doConfig() 解析配置文件 → 覆盖上方字段;Config.reload() 重新调用 doConfig 并触发 overrideBannedThings()、overrideNameThings()。
  • Config.overrideBannedThings() 把 bannedTiles/bannedEntities 中的条目按对大小写分别写入小写与原始大小写两种键(兼容多人客户端缓存按 canonicalName 检索)。
  • Config.overrideNameThings() 把 nameOverrides 写入配置。
  • Helper.weWant(util/Helper.java:33)判定 hologram 触发条件,包含 IInventory || IMerchant || TileEntityEnderChest || BlockJukebox.TileEntityJukebox || (AE2 加载 && IPartHost)。

数值

数值 默认
MAX_CACHED(服务端缓存上限) 1024
syncFreq 默认(秒) 20*ticks × 2 = 每 2 秒
stackSizeTextCache 客户端缓存上限 4096

相关条目