客户端配置项
基本信息
| 属性 | 值 |
|---|---|
| 配置类 | serverutils.client.ServerUtilitiesClientConfig |
| 源码 | src/main/java/serverutils/client/ServerUtilitiesClientConfig.java:10-63 |
| 字段总数 | 10 |
| 字段风格 | 与服务端配置不同:全部是 public static(非 static final) |
| 目录 | configSubDirectory = "../serverutilities/client/"(:8) |
| 语言键 | @Config.LangKeyPattern(pattern = "serverutilities_client.%field")(:9) |
| 打开方式 | /client_config 指令(见 客户端指令) |
字段表
| 字段 | 行 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
item_ore_names |
14 | boolean |
false |
背包中显示物品的矿物词典名 |
item_nbt |
18 | boolean |
false |
背包中显示物品 NBT |
sidebar_buttons |
22 | EnumSidebarLocation |
UNLOCKED |
侧边栏按钮位置 |
sidebar_buttons_above_potion |
26 | boolean |
false |
锁定到 INVENTORY_SIDE 且玩家有药水效果时,按钮上移到药水标签之上 |
sidebar_placement |
33 | EnumPlacement |
GROUPED |
按钮排布方式 |
show_dotted_lines |
37 | boolean |
true |
在已加载区块上画虚线以提高可见度 |
show_shutdown_timer |
41 | boolean |
true |
角落显示服务器关机倒计时 |
shutdown_timer_start |
45 | String |
"1m" |
距离关机还有多久时开始显示倒计时 |
button_daytime |
48 | int |
6000 |
侧边栏「切换白天」按钮的目标 tick |
button_nighttime |
51 | int |
18000 |
侧边栏「切换夜晚」按钮的目标 tick |
button_daytime / button_nighttime 对应原版 tick 时间:0 早晨、6000 正午、12000 傍晚、18000 午夜。
侧边栏位置枚举
serverutils.client.EnumSidebarLocation(src/main/java/serverutils/client/EnumSidebarLocation.java:5-8)4 个值,各带一个 locked 标志:
| 值 | locked | 含义 |
|---|---|---|
DISABLED |
true |
关闭侧边栏按钮 |
TOP_LEFT |
true |
固定在屏幕左上 |
INVENTORY_SIDE |
true |
固定在物品栏侧边 |
UNLOCKED |
false |
跟随 HUD 布局浮动(默认值) |
above()(EnumSidebarLocation.java:20-23)是一个组合判定:仅当值为 INVENTORY_SIDE、玩家当前有生效药水效果、且 sidebar_buttons_above_potion 为真时返回 true,按钮才上移。
[!NOTE]
above()直接解引用Minecraft.getMinecraft().thePlayer且未做 null 检查。玩家为 null 时(例如还在主菜单/加载阶段被调用)会 NPE。本条目只记录事实,不推断是否存在实际触发路径。
按钮排布枚举
serverutils.client.EnumPlacement(src/main/java/serverutils/client/EnumPlacement.java:5-7)带一个 maxInRow 字段,直接参与布局计算:
| 值 | maxInRow | 含义(源码注释 :28-31) |
|---|---|---|
GROUPED |
2 | 按钮按组聚合在一起 |
VERTICAL |
10 | 垂直排成一行(纵向) |
HORIZONTAL |
10 | 水平排成一行(横向) |
惰性解析
shutdown_timer_start 是字符串,运行时用 Ticks.get(...) 解析并缓存到 @Config.Ignore private static long show_shutdown_timer_ms = -1L(:53-54):
public static long getShowShutdownTimer() {
if (show_shutdown_timer_ms == -1L) {
show_shutdown_timer_ms = Ticks.get(shutdown_timer_start).millis();
}
return show_shutdown_timer_ms;
}
@Config.Ignore 字段不进入配置文件,10 个可配置项的计数不含它。
侧边栏按钮定义
按钮本身不由本配置类定义,而在 src/main/resources/assets/serverutilities/sidebar_buttons.json,共 11 个按钮:
| 按钮 ID | 分组 | 点击动作 | 条件 |
|---|---|---|---|
my_team |
info |
custom:serverutilities:my_team_gui |
需要服务端模组;hide_if_server_disabled |
settings |
info |
custom:serverutilities:client_config_gui |
无 |
admin_panel |
info |
custom:serverutilities:admin_panel_gui |
requires_op: true |
leaderboards |
util |
custom:serverutilities:leaderboards_gui |
需要服务端模组 |
claimed_chunks |
util |
serverutilities:claims_gui |
hide_if_server_disabled |
trash_can |
util |
command:/trash_can |
hide_if_server_disabled |
heal |
cheat |
command:/heal |
requires_op;hide_with_nei |
toggle.gamemode |
cheat |
serverutilities:toggle_gamemode |
requires_op;hide_with_nei |
toggle.rain |
cheat |
command:/toggledownfall |
requires_op;config: true;hide_with_nei |
toggle.day |
cheat |
serverutilities:daytime |
requires_op;hide_with_nei |
toggle.night |
cheat |
serverutilities:nighttime |
requires_op;hide_with_nei |
3 个分组在 sidebar_button_groups.json 中定义纵向偏移:info y=0、cheat y=100、util y=200。
hide_with_nei: true 的 5 个作弊类按钮在安装了 NEI 时隐藏(由 OtherMods.isNEILoaded() 判定,lib/OtherMods.java:16)。
相关条目
- 客户端指令 -
/client_config的注册与其余客户端指令 - 服务端配置 -
tab组的 5 个同步到客户端的选项 - 服务端指令总表 -
/view(invsee)等服务端指令 - Invsee 背包查看 -
/view可查看的 9 类背包