我的世界The Spice of Life配置文件汉化与注释
专有名词解释
营养价值:指食物本身所能恢复的饥饿值和饱和度,是一个相对值,所有食物在未被食用过的情况下营养价值都是满的。营养价值会随着同一食物的食用次数变多而降低,营养价值越低,食物所能恢复的饥饿值和饱和度越低
膳食记录:指玩家所食用过的食物,默认只记录玩家最近12次食用过的食物
初始食用阈值 (new.player.food.eaten.threshold):指一个新出生的玩家在食用食物多少次后,mod开始生效
本教程为方便读者观看删除了所有英文注释,如有需要可以自行下载mod对照查看
关于食物黑名单添加和FoodGroups的内容,请参考另一篇教程
" main " {
# 若为false,将使整个模组无效化
B:food.modifier.enabled=true
}
client {
# 若为true,对空气按左键将会开启食物容器(如午餐盒)
B:left.click.opens.food.containers=false
}
#所有对此项的修改都会在重启游戏时被清空
#(foodgroups的相关设置请查看/config/SpiceOfLife/example-food-group.json,并在/config/SpiceOfLife/目录下进行)
foodgroups {
}
server {
# 若为true,食物恢复的饥饿值将会受营养价值影响
B:affect.food.hunger.values=true
# 若为true,食物恢复的饱和度将会受营养价值影响
B:affect.food.saturation.modifiers=false
# 注:
# 当hunger.values为true & saturation.modifiers为false时,饱和度将会自动随着饥饿值的减少而减少(默认)
# 当hunger.values为true & saturation.modifiers为true时,饱和度将会不成比例的进一步减少
# 当hunger.values为false & saturation.modifiers为true时,营养价值将只会影响饱和度
# 当hunger.values为false & saturation.modifiers为false时,营养价值将不会影响饥饿值和饱和度
# 若为true,恢复饥饿值为负数的食物将会随着营养价值的减少而进一步减少
# (affect.food.hunger.values必须为true才能生效)
B:affect.negative.food.hunger.values=false
# 若为true,恢复饱和度为负数的食物将会随着营养价值的减少而进一步减少
# (affect.food.saturation.modifiers为true才能生效)
B:affect.negative.food.saturation.modifiers=false
# 若为true,玩家在超过初始食用阈值后,膳食记录将被清空
B:clear.history.after.food.eaten.threshold.reached=false
# 此项未设计完成,暂时被作者无效化
D:food.containers.chance.to.drop.food=0.25
# 食物容器内每个格子最多可以堆叠的物品数量
I:food.containers.max.stacksize=2
# 食用食物的最长时间上限
# 默认最长食用时间为32.设置该项为0将会取消食用时间上限
# (如果该项为0且food.eating.speed.modifier>0,一个营养价值为0%的食物食用时间将会变为几乎无限长)
I:food.eating.duration.max=0
# 若设置值大于0,则食物的食用速度将会受营养价值的影响(营养价值越低,食物食用速度越慢)
# 食用时间计算公式 (eating_duration / (nutritional_value^eating_speed_modifier))
D:food.eating.speed.modifier=1.0
# 玩家膳食记录的记录上限
I:food.history.length=12
# 若为true,玩家每次死亡后膳食记录将不会被重置
B:food.history.persists.through.death=false
# 食物恢复饥饿值时,小数点的舍入计算模式
# 可选模式: 'round'(四舍五入), 'floor'(向下取整), 'ceiling'(向上取整)
S:food.hunger.rounding.mode=round
# 此处为营养价值计算式
# 使用EvalEx表达式解析器
# 参考 https://github.com/uklimaschewski/EvalEx 获取 语法/函数 文档
#
# 可用变量:
# count : 膳食记录内,食物的食用次数
# hunger_count : 膳食记录内,食物恢复的总饥饿值(1饥饿值=1/2鸡腿)
# saturation_count : 膳食记录内,食物恢复的总饱和度
# max_history_length : 玩家膳食记录的记录上限
# cur_history_length : 当前玩家膳食记录的记录数
# food_hunger_value : 食物默认恢复的饥饿值
# food_saturation_mod : 食物默认恢复的饱和度
# cur_hunger : 玩家当前饥饿值
# cur_saturation : 玩家当前饱和度
# total_food_eaten : 玩家食用食物的总次数
# food_group_count : 该食物一共属于几个FoodGroups
# distinct_food_groups_eaten : 玩家当前膳食记录内,不同FoodGroups的数量
# total_food_groups : 有效的FoodGroups的总数
# exact_count : 被膳食记录记录过的,玩家食用食物的总次数
#
S:food.modifier.formula=MAX(0, (1 - count/12))^MIN(8, food_hunger_value)
# 若为true,将会在每个玩家出生时给予一本膳食记录书
B:give.food.journal.as.starting.item=false
# 若为true,将会在每个玩家超过初始食用阈值时给予一本膳食记录书
# (若give.food.journal.as.starting.item为true则不会再额外给予)
B:give.food.journal.on.dimishing.returns.start=false
# 一个新玩家食用食物多少次后,mod开始生效
I:new.player.food.eaten.threshold=6
# 若为true,任何不在foodgroups内的食物都将不受mod影响
# (foodgroups相关请参考/config/SpiceOfLife/example-food-group.json)
B:use.food.groups.as.whitelists=false
# 若为true,膳食记录上限(food.history.length)将会由"恢复饥饿值总值"而非"食用次数"决定
# 举例: 若膳食记录上限为12,在开启此项后,食用2个6饥饿值食物 或 食用3个4饥饿值食物 或 食用 12个1饥饿值食物都会更新膳食记录
# (此处1饥饿值=1/2个鸡腿)
B:use.hunger.restored.for.food.history.length=false
# 若为true,膳食记录上限(food.history.length)将会由"玩家时间"而非"食用次数"决定
# 举例: 若膳食记录上限为12,在开启此项后,每过12个游戏日都会更新膳食记录
# (use.hunger.restored.for.food.history.length为false才能生效)
# (此处的"时间"为客户端时间而非服务器时间,即只有玩家在线时才会计算时间)
B:use.time.for.food.history.length=false
# 若为true,膳食记录上限(food.history.length)将会由"服务器时间"而非"食用次数"决定
# (use.hunger.restored.for.food.history.length为false才能生效)
# (use.time.for.food.history.length must为true时才会生效)
# (此处的"时间"为服务器时间,即玩家离线时也会计算时间)
B:use.time.progress.time.while.logged.off=false
}