渲染模式与采样配置
基本信息
| 属性 | 值 |
|---|---|
| 实现类 | 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 |
相关条目
- HoloInventory 指令 -
/holoinventory重载/ban/overrideName 子命令均与本配置联动 - HoloGlasses - 渲染目标物品与触发渲染的钥匙