All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Spice of Life: Fabric Flavor

Spice of Life: Fabric Flavor

by XianFish • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Switch Language:

Click the link to go to the English version


概述

一个简单的食物机制扩充mod,包含一些生活调味料的功能

mod 食用 指南

该指南的config和GUI说明部分为最新版本(3.2.0)维护,其他版本呢详情请参考游戏内配置页面提示。

关于配置

服务端配置

这些配置存放于 /config/spice-of-life-fabric-flavor.json。 这些配置在服务端生效,本地游戏版本的配置影响本地游戏存档。

生命增益系统

所有配置项以health计算,2health=1heart(红心)

maxHealth | 最大血量
  • 类型: int
  • 默认值: 5000
  • 取值范围: 2~5000
  • 说明: 设置本 Mod 能提供的最大额外生命值(玩家最终血量 = 原版血量 + 其他 Mod 增益 + 本 Mod 增益。此选项仅限制“本 Mod 增益”的上限,防止数值无限膨胀)
healthGain | 生命值增益
  • 类型: int
  • 默认值: 2
  • 取值范围: 0~20
  • 说明: 每发现一个食物的生命值增益(设置此为0则等于禁用)
resetOnDeath | 死亡重置
  • 类型: boolean
  • 默认值: false
  • 说明: 启用后,玩家死亡时血量将重置为默认值,且删除所有已发现记录
healthToMaxOnIncrease | 增益时恢复血量
  • 类型: int
  • 默认值: 0
  • 取值范围: 任意
  • 说明: 每次生命值增益时恢复血量数值,若大于上限则恢复到上限
healthIncreaseOnIncrease | 增益时恢复满血
  • 类型: boolean
  • 默认值: false
  • 说明: 每次生命值增益时恢复血量至上限
Expression | 生命值增益计算函数
  • 类型: string
  • 默认值: 0
  • 说明: 写法详见下文函数编写指南 可用变量: uniqueFoods食用过的食物数
blacklist | 黑名单
  • 类型: List
  • 默认值:
[
  "minecraft:rotten_flesh",
  "minecraft:spider_eye"
],
  • 说明:列表中的食物不再会被记录(在黑名单修改后,玩家已发现的食物不受影响,未发现的食物不再计入统计) 相关机制和操作说明: 客户端的tooltip会显示所有已发现食物(不管是否存在于黑名单,机制应用于保存黑名单前已发现某一食物),未发现且处于黑名单内的食物不显示.修改后使用 /sol2f sync AllFoodList 同步数据以确保tooltip显示正常 客户端的GUI在修改配置后需要使用sync命令同步数据.包括: 在修改了血量增益计算相关配置后,血量概述在执行sync后会重新计算并显示在客户端;在重设黑名单后,执行同步以同步客户端GUI的食物概述. 客户端的食物概述显示的是所有已发现食物/非黑名单食物,而不是所有已发现食物/所有已发现食物+非黑名单食物的并集
whitelist | 白名单
  • 类型: List
  • 默认值:
[],
  • 说明:列表存在大于等于1项时,启用白名单,启用后则只有白名单内食物可提供增益,同时黑名单也会阻止白名单的项目,所以如果希望启用白名单建议同时删除所有黑名单项目(在黑白名单修改后,玩家已发现的食物不受影响,未发现的食物不再计入统计) 相关机制和操作说明: 客户端的tooltip会显示所有已发现食物(不管是否存在于黑名单,机制应用于保存黑名单前已发现某一食物),未发现且处于黑名单内的食物不显示.修改后使用 /sol2f sync AllFoodList 同步数据以确保tooltip显示正常 客户端的GUI在修改配置后需要使用sync命令同步数据.包括: 在修改了血量增益计算相关配置后,血量概述在执行sync后会重新计算并显示在客户端;在重设黑名单后,执行同步以同步客户端GUI的食物概述. 客户端的食物概述显示的是所有已发现食物/非黑名单食物,而不是所有已发现食物/所有已发现食物+非黑名单食物的并集

在修改血量配置后,食用未发现食物,或重生(未开启死亡重置配置)以重新计算血量增益值 机制: 在每次食用新食物、死亡重生时会按照最新配置计算血量增益值

饱食度衰减系统

所有配置项以FoodLevel(饱食度)计算,2 FoodLevel=1 小鸡腿图标

EnableNaturalHunger | 启用自然饥饿
  • 类型: boolean
  • 默认值: false
  • 说明: 启用后,玩家会随时间损失饥饿值
NaturalHungerPeriod | 自然饥饿周期
NaturalHungerExpression | 自然饥饿衰减计算函数
  • 类型: string
  • 默认值: "1"
  • 说明: 用于计算每次自然衰减值的函数(将玩家的饱食度减少此函数的结果,而非设置为此函数的结果),写法详见下文函数编写指南 可用变量 (Variables):
    • 动作: isSprinting (疾跑), isSwimming (游泳), isSneaking (潜行), isCrawling (爬行)
    • 环境: isTouchingWater (接触水), isBeingRainedOn (淋雨), isWet (潮湿(接触水或淋雨或接触气泡柱)), BrightnessAtEyes (玩家眼镜坐标的渲染亮度(0.0-1.0) ↗ 渲染亮度|Minecraft Wiki)
    • 状态: FoodLevel (当前饥饿值), Saturation (饱食度), Exhaustion (消耗度) ↗ 饥饿机制详解-Minecraft Wiki 注:所有布尔变量在公式中为 1.0 (真) 或 0.0 (假) 配方示例:
    1. 基础固定消耗: 每周期扣 0.5 点。
      "NaturalHungerExpression": "0.5"
    2. 环境动态消耗: 疾跑或游泳:扣 4 点,淋雨或站在水中:扣 2 点,其他情况:扣 1 点
      "NaturalHungerExpression": "if(or(isSprinting, isSwimming), 4, if(or(isBeingRainedOn, isTouchingWater), 2, 1))"
    3. 黑暗生存挑战: 在黑暗处 (BrightnessAtEyes < 0.1) 消耗加倍。
      "NaturalHungerExpression": "if(lt(BrightnessAtEyes, 0.1), 2, 1)"
EnableSleepHunger | 启用睡眠饥饿
  • 类型: boolean
  • 默认值: false
  • 说明: 启用后,玩家睡醒时会根据函数扣除一定饥饿值
SleepHungerExpression | 睡眠饥饿衰减计算函数
MinFoodLevel | 饥饿衰减下限
  • 类型: int
  • 默认值: 1
  • 说明: 本mod的饥饿衰减(包括自然饥饿衰减和睡眠饥饿衰减)所能扣除到的最小值,若小于该值则不再扣除,若扣除后小于该值则扣除至该值,否则按照函数默认扣除

函数使用指南:

函数编写指南
  • 你可以使用e和pi代表e和π

运算

  • 普通四则运算(加+减-乘除/),用括号表示的优先级(例如 `( 1 + 2 ) 3`)
  • 幂运算 pow(底数, 指数)
  • 约数:
    • 向下取整数:floor(num)
    • 四舍五入数:round(num)
    • 向上取整数:ceil(num)
  • 取大小值
    • 取大值:max(num1, num2)
    • 取小值:min(num1, num2)
  • 对数:log(底数, 真数)

逻辑

  • 判断:if(condition, A, B) ,如果 condition > 0 返回 A ,否则返回 B
  • 逻辑与:and(A, B) ,两者都大于 0 返回 1 ,否则返回 0
  • 逻辑或:or(A, B) ,A或B任意一个超过 0 返回 1 ,否则返回 0
  • 逻辑非:not(A) ,大于 0 返回 0 ,否则返回 1

比较逻辑

  • 大于:gt(A, B) ,如果 A > B ,返回 1 ,否则返回 0
  • 小于:lt(A, B) ,如果 A < B ,返回 1 ,否则返回 0
  • 等于:eq(A, B) ,如果 A = B ,返回 1 ,否则返回 0
  • 不等于:neq(A, B) ,如果A ≠ B ,返回 1 ,否则返回 0

客户端配置

这些配置存放于 /config/spice-of-life-fabric-flavor-client.json。 这些配置仅影响本地客户端显示,服务端的该配置无效。

ShowConsumedTooltips | 显示已发现食物tooltip
  • 类型: boolean
  • 默认值: true
  • 说明: 控制客户端的tooltip显示。
ShowUnconsumedTooltips | 显示未发现食物tooltip
  • 类型: boolean
  • 默认值: true
  • 说明: 控制客户端的tooltip显示。

关于命令

CleanHealth | 重置玩家数据
/sol2f clearhealthy

重置当前玩家的生命值上限与所有食物摄入记录,需管理员权限。(版本:2.0+)

GetPlayerData | 获取玩已发现列表
/sol2f getlist <player>

获取玩家已发现食物列表。

Sync | 同步数据
/sol2f sync

同步所有数据。

  • /sol2f sync PlayerData同步玩家数据。主要用于GUI显示和tooltip显示控制。
  • /sol2f sunc AllFoodList同步食物数据:最新的非黑名单食物数据,玩家最大血量上限数据。主要用于GUI显示和tooltip显示控制。

关于食物簿

在修改配置后请使用命令同步数据以确保GUI显示的数据为最新数据。

食物簿页面

GUI_foodbook

  • 4.0.0之前的版本,使用鼠标滚轮翻页。

使用FluentUI-MC重构了GUI

  • 4.0.0之后的版本,支持动态布局,平滑滚动。
概述页面

GUI_overview

  • 血量概述:当前获得的mod增益 / 最大可获得的mod增益。
按键绑定

打开GUI的快捷键在minecraft的按键绑定中配置 GUI_keybinding

物品

食物簿

通过合成"食物簿"打开食物簿: food book

依赖

该模组根据 Apache 2.0 协议 重新分发了 exp4j 。


Switch Language:

点击跳转到中文版本


Notice: The translation is completed by AI and may be not correct.

Overview

This mod encourages players to try a variety of foods by rewarding them with a permanent maximum health bonus for each new food they eat. It's designed to give mod packs a reason to expand their food systems and provides a new way to balance game difficulty.

Mod Guide

Note: The configuration and GUI sections below are accurate for mod version 3.2.0. For other versions, please refer to in-game tooltips and config screens.

Configuration

Important: Health Values

All health-related values are in health points. 2 health points = 1 heart.

Server-Side Configuration (/config/spice-of-life-fabric-flavor.json)

These settings are controlled by the server. In a single-player world, they affect your local save.

Health Gain System

maxHealth - Maximum Bonus Cap
  • Type: int
  • Default: 5000
  • Range: 2 ~ 5000
  • What it does: Sets the absolute maximum bonus this mod can add to a player's health.
    • Final player health = (Base Health + Bonuses from other mods) + This Mod's Bonus.
    • This setting only caps "This Mod's Bonus" to prevent runaway scaling.
healthGain - Bonus per New Food
  • Type: int
  • Default: 2
  • Range: 0 ~ 20
  • What it does: The amount of health (in HP) granted for each new food discovered. Set to 0 to disable the base gain.
resetOnDeath - Reset on Death
  • Type: boolean
  • Default: false
  • What it does: If true, dying resets your bonus to zero and erases your entire food discovery history. This is a hardcore option.
healthToMaxOnIncrease - Heal to Max on Gain
  • Type: boolean
  • Default: false
  • What it does: If true, whenever you gain a health bonus (by eating a new food), your current health is instantly filled to your new maximum.
  • Note: If this is true, the healthIncreaseOnIncrease setting below is ignored.
healthIncreaseOnIncrease - Heal Amount on Gain
  • Type: int
  • Default: 0
  • Range: Any positive integer
  • What it does: Heals you by a specific amount whenever you gain a health bonus. If the heal amount would exceed your new max, it heals you to full instead.
  • Note: This only applies if healthToMaxOnIncrease is set to false.
Expression - Custom Bonus Formula
  • Type: string
  • Default: "0"
  • What it does: A custom formula for calculating your health bonus. The result is added to the healthGain value.
  • Variable: uniqueFoods (the total number of unique foods you've eaten).
  • Syntax: See the Function Guide below.
blacklist - Food Blacklist
  • Type: List
  • Default:
    ["minecraft:rotten_flesh", "minecraft:spider_eye"]
  • What it does: Foods in this list will not be counted towards your discovery progress.
  • How it works:
    • Existing data: Foods you already ate before they were added to the blacklist remain in your history (the mod doesn't erase your past meals).
    • New data: Foods on the blacklist that you haven't eaten yet will never count.
    • After changing the list: You must run /sol2f sync AllFoodList to update the client GUI and tooltips. This ensures the display matches the new blacklist.
  • GUI Display: The overview screen shows Discovered Foods / Total Non-Blacklisted Foods.
whitelist - Food Whitelist
  • Type: List
  • Default:
    []
  • What it does: When the list contains 1 or more items, the whitelist is enabled. Only foods on the whitelist can grant health bonuses. Note that the blacklist can still block items on the whitelist, so if you want to use the whitelist, it's recommended to clear all items from the blacklist. (After changing the blacklist/whitelist, foods already discovered by players are not affected; undiscovered foods will no longer be counted.)
  • How it works:
    • Tooltips: Client-side tooltips show all discovered foods (even if they are now on the blacklist—this only applies if you discovered them before they were blacklisted). Undiscovered foods on the blacklist are not shown. After making changes, run /sol2f sync AllFoodList to ensure tooltips display correctly.
    • GUI Sync: After changing configs, you must use the sync command to update the client GUI. For example, if you modify health gain calculation settings, the health overview will be recalculated and updated on the client after running the sync command. If you reset the blacklist/whitelist, sync to update the food overview in the client GUI.
    • Food Overview Display: The client's food overview shows All Discovered Foods / Non-Blacklisted Foods. It does not show the union of all discovered foods and all non-blacklisted foods.

Applying config changes: After changing health-related settings, the new values will apply the next time you eat a new food or respawn (if resetOnDeath is false). The mod recalculates your bonus whenever your uniqueFoods count changes or on death/respawn.

Hunger Decay System

Note: Values here use the vanilla Food Level, where 2 Food Level = 1 chicken drumstick.

EnableNaturalHunger - Time-Based Hunger
  • Type: boolean
  • Default: false
  • What it does: If true, the player will passively lose hunger over time.
NaturalHungerPeriod - Decay Interval
  • Type: int
  • Default: 1200
  • What it does: How often (in game ticks, 20 ticks = 1 second) the "Natural Hunger" decay triggers. Each time it triggers, it subtracts the amount calculated by NaturalHungerExpression.
NaturalHungerExpression - Decay Formula (Time-Based)
  • Type: string
  • Default: "1"
  • What it does: A custom formula that determines how much hunger (Food Level) is subtracted each decay interval.
  • Variables:
    • Actions: isSprinting, isSwimming, isSneaking, isCrawling
    • Environment: isTouchingWater, isBeingRainedOn, isWet, BrightnessAtEyes (render brightness at eye level, 0.0 - 1.0)
    • Status: FoodLevel (current hunger), Saturation, Exhaustion
    • Note: Boolean variables return 1.0 (true) or 0.0 (false).
  • Syntax: See the Function Guide below.
  • Example:
    • Basic fixed cost: Lose 0.5 hunger every period.
      "NaturalHungerExpression": "0.5"
    • Dynamic cost: Lose 4 if sprinting/swimming, 2 if in rain/water, otherwise 1.
      "NaturalHungerExpression": "if(or(isSprinting, isSwimming), 4, if(or(isBeingRainedOn, isTouchingWater), 2, 1))"
EnableSleepHunger - Wake-Up Hunger
  • Type: boolean
  • Default: false
  • What it does: If true, the player loses hunger upon waking up after sleeping.
SleepHungerExpression - Decay Formula (Wake-Up)
  • Type: string
  • Default: "SleepDuration / 3000"
  • What it does: A custom formula that determines how much hunger (Food Level) is subtracted when you wake up.
  • Variables:
    • Sleep: SleepDuration (time skipped in ticks)
    • Status: FoodLevel, Saturation, Exhaustion
  • Syntax: See the Function Guide below.
MinFoodLevel - Minimum Hunger Floor
  • Type: int
  • Default: 1
  • What it does: The lowest your food level can be reduced to by this mod's hunger systems (both time-based and wake-up). Decay will stop when you hit this value.

Function Syntax Guide

Click to expand
  • Constants: You can use e and pi .

  • Arithmetic:

    • Basic: + , - , * , / , and parentheses () .
    • Power: pow(base, exponent)
    • Rounding: floor(num), round(num), ceil(num)
    • Min/Max: min(a, b), max(a, b)
    • Logarithm: log(base, argument)
  • Logic:

    • Conditional: if(condition, value_if_true, value_if_false) (condition > 0 is true)
    • AND: and(a, b) (returns 1 if both > 0, else 0)
    • OR: or(a, b) (returns 1 if either > 0, else 0)
    • NOT: not(a) (returns 1 if a <= 0, else 0)
  • Comparisons:

    • Greater Than: gt(a, b) (1 if a > b, else 0)
    • Less Than: lt(a, b) (1 if a < b, else 0)
    • Equal: eq(a, b) (1 if a == b, else 0)
    • Not Equal: neq(a, b) (1 if a != b, else 0)

Client-Side Configuration (/config/spice-of-life-fabric-flavor-client.json)

These settings only affect your local display. The server doesn't care about them.

ShowConsumedTooltips - Show "Eaten" Tooltips
  • Type: boolean
  • Default: true
  • What it does: Shows a tooltip on foods you've already discovered.
ShowUnconsumedTooltips - Show "New" Tooltips
  • Type: boolean
  • Default: true
  • What it does: Shows a tooltip on foods you haven't discovered yet.

Commands

/sol2f clearhealthy - Reset Player
  • Usage: /sol2f clearhealthy
  • What it does: Resets your health bonus and food discovery list. Requires operator privileges. (Added in v2.0+)
/sol2f getlist - View Discovered Foods
  • Usage: /sol2f getlist <player>
  • What it does: Shows the list of foods a specific player has discovered.
/sol2f sync - Sync Data
  • Usage:
    • /sol2f sync PlayerData - Syncs player discovery lists. Use this if GUI tooltips seem wrong.
    • /sol2f sync AllFoodList - Syncs the global food list. You must run this after changing the blacklist to update the GUI and client displays.

The Food Book

After changing any config, run the appropriate /sol2f sync command to make sure the GUI shows the correct information.

Food Book Page

GUI_foodbook

  • Browse your discoveries. Use the scroll wheel to flip pages.
Overview Page

GUI_overview

  • Health Summary: Shows Current Mod Bonus / Maximum Possible Bonus.
Keybind

You can set a hotkey to open the Food Book in Minecraft's Controls menu. GUI_keybinding

The Food Book Item

Crafting Recipe

Craft the "Food Book" to access the interface without using the keybind. food book

Dependencies

This mod redistributes exp4j under the Apache 2.0 LICENSE.

How to Install Spice of Life: Fabric Flavor (Mod)

Spice of Life: Fabric Flavor by XianFish is verified for Fabric across Minecraft versions 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.21.1, 26.2 (latest release: 4.0.0-Alpha.dev1, file size: 553 KB). Follow the steps below to install it safely from ModCraft.tv:

  1. Click the Download button above and select your Minecraft version (1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.21.1, 26.2) and platform (Fabric).
  2. Make sure you have the compatible loader or environment installed for Fabric.
  3. Move the downloaded Spice of Life: Fabric Flavor file into your Minecraft .minecraft/mods folder and launch the game.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.2
Fabric
2mo ago 1
1.21.1
Fabric
4mo ago 1
1.20.1
Fabric
6mo ago 1
1.21.1
Fabric
6mo ago 1
1.21.1
Fabric
8mo ago 1
1.21.1
Fabric
8mo ago 1
1.21.1
Fabric
8mo ago 1
1.21.1
Fabric
9mo ago 1
1.20.x
Fabric
9mo ago 1
1.20.x
Fabric
10mo ago 1
1.20.x
Fabric
10mo ago 1
1.20.x
Fabric
11mo ago 1
1.20.x
Fabric
11mo ago 1
1.20.x
Fabric
11mo ago 1
1.20.x
Fabric
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.x
Fabric
last yr. 1
1.20.x
Fabric
last yr. 1
1.20.x
Fabric
last yr. 1
1.20.x
Fabric
last yr. 1
1.20.x
Fabric
last yr. 1
1.20.x
Fabric
last yr. 1
1.20.x
Fabric
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Fabric
last yr. 1
![使用FluentUI-MC重构了GUI](https://cdn.modrinth.com/data/cached_images/f06ba8dd89a6942e64b6a5de284aba85c8c6c9ef_0.webp)
  • 使用 `XianConfig 重构了配置系统
![使用XianConfig重构了配置系统](https://cdn.modrinth.com/data/cached_images/959af864679d104052b7a72fa6677063fc93dafa_0.webp)

<details>
<summary>English(AI-Translate)</summary>

  • Adapted for 26.2
  • Refactored the GUI using FluentUI-MC
![Refactored the GUI using FluentUI-MC](https://cdn.modrinth.com/data/cached_images/f06ba8dd89a6942e64b6a5de284aba85c8c6c9ef_0.webp)
  • Refactored the configuration system using XianConfig`
![Refactored the configuration system using XianConfig](https://cdn.modrinth.com/data/cached_images/959af864679d104052b7a72fa6677063fc93dafa_0.webp)

</details>



> - 反馈:xianfish@petalmail.com
> - FeedBack: xianfish@petalmail.com
## 功能更新
  • 增加了白名单功能
## 功能改进
本次更新修改了食物使用的检测方案,以增加兼容性。现在对《农夫乐事》《Adorable Hamster Pets》的支持更进一步。
## 功能改进
本次更新修改了食物使用的检测方案,以增加兼容性。现在对《农夫乐事》《Adorable Hamster Pets》的支持更进一步。
  • Warning: Test Version** <br>
  • 重要:该版本为预览版,功能尚不完善,可能出现bug。**
# 更新
增加了食物动态属性功能,现在每个玩家每次食用都允许按照最近食用记录来动态调整营养度(饱食度回复量),饱和度按照原版算法基于食物的默认系数,随着营养度调整。
增加了五个配置:
  • EnableNutritionModification<br>
是否启用动态属性。
  • RecentShortListSize<br>
短期记录列表长度。计算函数可获取短期列表内,玩家食用下的食物的数量计数。超过计数后每次记录食物食用会删除最后一项(最早记录,距离现在最久的一项)。
  • RecentLongListSize<br>
短期记录列表长度。计算函数可获取长期列表内,玩家食用下的食物的数量计数。超过计数后每次记录食物食用会删除最后一项(最早记录,距离现在最久的一项)。
  • Blacklist<br>
在该列表内的食物不会被修改(针对所有玩家)。
  • NutritionExpression<br>
默认为mutrition,你可以使用nutrition代表物品堆本身的食物组件原本的营养度,你可以使用shortCount获取短期列表内该食物的计数(每一次玩家食用回复的饱食度和饱和度都会被拦截为函数结果,你可以获取玩家原本食用的食物的这些数据,这一项不是表总的长度哦),longCount获取长期列表内该食物的计数,streakCount获取重复计数,玩家最后一次食用的食物一共连续食用了几次(例如玩家已经食用了A B B C,下一次食用A则该值为2,食用B则为0)。函数用法参考指南。

该版本带来了多个重大更新。
该版本的全新mod介绍
<details><summary>展开查看</summary>

### Switch Language:

[English](#EN)


<H1 id="CN">概述</H1>

本mod旨在通过增加血量上限奖励玩家食用新的食物,以加强玩家对整合包食物系统的动力,并平衡整合包的游戏难度。

# mod ~~*食用*~~ 指南

该指南的config和GUI说明部分为最新版本(3.2.0)维护,其他版本呢详情请参考游戏内配置页面提示。

## 关于配置

### 服务端配置

这些配置存放于 `/config/spice-of-life-fabric-flavor.json。
这些配置在服务端生效,本地游戏版本的配置影响本地游戏存档。

#### 生命增益系统

所有配置项以health计算,2health=1heart(红心)

<details><summary>maxHealth | 最大血量</summary>

  • 类型: int
  • 默认值: 5000
  • 取值范围: 2~5000
  • 说明: 设置本 Mod 能提供的最大额外生命值(玩家最终血量 = 原版血量 + 其他 Mod 增益 + 本 Mod 增益。此选项仅限制“本 Mod 增益”的上限,防止数值无限膨胀)

</details>

<details><summary>healthGain | 生命值增益</summary>

  • 类型: int
  • 默认值: 2
  • 取值范围: 0~20
  • 说明: 每发现一个食物的生命值增益(设置此为0则等于禁用)

</details>

<details><summary>resetOnDeath | 死亡重置</summary>

  • 类型: boolean
  • 默认值: false
  • 说明: 启用后,玩家死亡时血量将重置为默认值,且删除所有已发现记录

</details>

<details><summary>healthToMaxOnIncrease | 增益时恢复血量</summary>

  • 类型: int
  • 默认值: 0
  • 取值范围: 任意
  • 说明: 每次生命值增益时恢复血量数值,若大于上限则恢复到上限

</details>

<details><summary>healthIncreaseOnIncrease | 增益时恢复满血</summary>

  • 类型: boolean
  • 默认值: false
  • 说明: 每次生命值增益时恢复血量至上限

</details>

<details><summary>Expression | 生命值增益计算函数</summary>

  • 类型: string
  • 默认值: 0
  • 说明: 写法详见下文[函数编写指南](#ExpU)<br>
可用变量:
uniqueFoods食用过的食物数


</details>

<details><summary>blacklist | 黑名单</summary>

  • 类型: List
  • 默认值:

`json
[
"minecraft:rotten_flesh",
"minecraft:spider_eye"
],
`

  • 说明:列表中的食物不再会被记录(在黑名单修改后,玩家已发现的食物不受影响,未发现的食物不再计入统计)
  • 相关机制和操作说明**:
客户端的tooltip会显示所有已发现食物(不管是否存在于黑名单,机制应用于保存黑名单前已发现某一食物),未发现且处于黑名单内的食物不显示.修改后使用 /sol2f sync AllFoodList 同步数据以确保tooltip显示正常<br>
客户端的GUI在修改配置后需要使用sync命令同步数据.包括: 在修改了血量增益计算相关配置后,血量概述在执行sync后会重新计算并显示在客户端;在重设黑名单后,执行同步以同步客户端GUI的食物概述.<br>
客户端的食物概述显示的是所有已发现食物/非黑名单食物,而不是所有已发现食物/所有已发现食物+非黑名单食物的并集

</details>

> 在修改血量配置后,食用未发现食物,或重生(未开启死亡重置配置)以重新计算血量增益值 <br>
> 机制: 在每次食用新食物、死亡重生时会按照最新配置计算血量增益值

#### 饱食度衰减系统

所有配置项以FoodLevel(饱食度)计算,2 FoodLevel=1 小鸡腿图标

<details><summary>EnableNaturalHunger | 启用自然饥饿</summary>

  • 类型: boolean
  • 默认值: false
  • 说明: 启用后,玩家会随时间损失饥饿值

</details>

<details><summary>NaturalHungerPeriod | 自然饥饿周期</summary>


</details>

<details id="NaturalHungerExpression"><summary>NaturalHungerExpression | 自然饥饿衰减计算函数</summary>

  • 类型: string
  • 默认值: "1"
  • 说明: 用于计算每次自然衰减值的函数(将玩家的饱食度减少此函数的结果,而非设置为此函数的结果),写法详见下文[函数编写指南](#ExpU)<br>
  • 可用变量 (Variables):**
  • 动作**: isSprinting (疾跑), isSwimming (游泳), isSneaking (潜行), isCrawling (爬行)
  • 环境**: isTouchingWater (接触水), isBeingRainedOn (淋雨), isWet (潮湿(接触水或淋雨或接触气泡柱)), BrightnessAtEyes (玩家眼镜坐标的**渲染亮度**(0.0-1.0) [↗ 渲染亮度|Minecraft Wiki](https://zh.minecraft.wiki/w/%E4%BA%AE%E5%BA%A6#%E6%B8%B2%E6%9F%93%E4%BA%AE%E5%BA%A6))
  • 状态**: FoodLevel (当前饥饿值), Saturation (饱食度), Exhaustion` (消耗度) [↗ 饥饿机制详解-Minecraft Wiki](https://zh.minecraft.wiki/w/%E9%A5%A5%E9%A
...
  • 增加“已发现”tooltip。支持客户端控制tooltip显示(增加客户端专属配置文件,增加客户端配置项:显示"已发现"tooltip和显示"未发现"tooltip),优化了配置页面的i18n。
  • 增加黑名单,不参与统计和增益(在保存配置前已发现食物不会从已发现食物中删除,已食用的食物tooltip任然显示,在执行同步命令后即可对其客户端tooltip显示,未食用且在黑名单中的食物将不显示tooltip)
  • 增加命令:
  • `/sol2f sync同步所有数据
  • /sol2f sync AllFoodList同步食物数据(在修改配置后建议执行)
  • /sol2f sync PlayerData同步玩家数据(仅影响GUI显示,显示错误时执行)
  • 修改UI,现在概述页面显示的是 _已获得的增益/最大增益_ (不包含初始血量和别的mod的修改)
  • 删除函数配置中currentHealth变量支持(该变量原代表不包含本mod的血量增益的血量,包含别的mod+默认血量)。重新定义最大血量增益配置,现在代表mod增加的血量的最大值,详情见描述题。优化了一些逻辑。
现在,描述页面的指南基于3.1.0版本,旧版本移除的内容和不同的逻辑已不再标明,详见对于版本的配置页面


<details>
<summary>该版本的mod描述页面存档</summary>


### Switch Language:

<a href="#EN">English</a>


<H1 id="CN">概述</H1>

本mod旨在通过增加血量上限奖励玩家食用新的食物,以加强玩家对整合包食物系统的动力,并平衡整合包的游戏难度。

# mod~~食用~~指南

该指南的config和GUI说明部分为最新版本(3.1.0)维护,其他版本呢详情请参考游戏内配置页面提示。

## 关于配置

所有配置项以health计算,2health=1heart(红心)

### 服务端配置
这些配置存放于
`/config/spice-of-life-fabric-flavor.json`。
这些配置在服务端生效,本地游戏版本的配置影响本地游戏存档。

<details>
<summary>maxHealthy | 血量增益上限</summary>

`json
"maxHealthy": 5000,
`

配置本mod的增益上限,无关玩家默认血量和其他mod的修改,仅影响本mod的增益上限。
玩家血量=初始血量+其他mod的修改(若存在其他mod修改)+本mod增益。该选项控制最后一项。

</details>
<details>
<summary>healthGain | 单次生命值奖励幅度</summary>

`json
"healthGain": 2,
`
每次奖励血量数
</details>
<details>
<summary>resetOnDeath | 死亡时重置</summary>

`json
resetOnDeath: false,
`

死亡后是否重置生命值上限与所有食物记录。
</details>
<details>
<summary>developerMode | 调试模式</summary>

`json
"developerMode": false,
`
开发者模式,输出log记录玩家变更记录,建议不开启。
</details>
<details>
<summary>healthToMaxOnIncrease | 奖励时将生命增益至上限</summary>

`json
"healthToMaxOnIncrease": false
`
是否在增加生命上限时恢复满血。

</details>
<details>
<summary>Increasefrequency | 自定义奖励进度频率</summary>

`json
"Increasefrequency": 4,
`

食用X种食物而增加N点血量,该配置项作为X(区别于与前面的healthyGain,且共存)

</details>

<details>
<summary>frequencyGain | 自定义奖进度幅度</summary>

`json
"frequencyGain": 4,
`

食用X种食物后增加N点血量,该配置项作为N(区别于与前面的healthyGain,且共存)

</details>


<details>
<summary>healthIncreaseOnIncrease | 奖励时增益的血量</summary>

`json
"healthIncreaseOnIncrease": 2,
`

每次血量上限增益时回复的血量,若超过上限则回复至上限
</details>

<details>
<summary>Expression | 自定义奖励计算表达式</summary>

`json
"Expression": 0,
`

字符串类型,增益计算函数,与旧版本设置并存。

  • 函数使用文档:**

  • uniqueFoods食用过的食物数
  • 你可以使用e和pi代表e和π

运算:
  • 普通四则运算(加+减-乘*除/),用括号表示的优先级(例如( 1 + 2 ) * 3)
  • 幂运算 pow(底数, 指数)
  • 约数:
  • 向下取整数:floor(num)
  • 四舍五入数:round(num)
  • 向上取整数:ceil(num)
  • 比较大小
  • 取大值:max(num1, num2)
  • 取小值:min(num1, num2)
  • 对数:log(底数, 真数)
</details>

<details>
<summary>blacklist | 黑名单食物</summary>

`json
"blacklist": [
"minecraft:rotten_flesh",
"minecraft:spider_eye"
]
`

列表类型。列表中的食物不会被记录,已经食用的物品不会从统计中移除。在修改后,使用/sol2f sync AllFoodList 同步数据以确保tooltip显示正常,已经食用的食物tooltip仍然显示。

每行输入一个物品ID,例如:minecraft:golden_apple
</details>

### 客户端配置
这些配置存放于
`/config/spice-of-life-fabric-flavor-client.json`。
这些配置仅影响本地客户端显示,服务端的该配置无效。

<details>
<summary>ShowConsumedTooltips | 显示已发现食物tooltip</summary>

`json
"ShowConsumedTooltips": true,
``

控制客户端的tooltip显示。
<
...
# 版本移植
  • 现已将mod适配至1.21.1

  • 该版本可能并不稳定,请谨慎使用**
## 功能更新
  • 本次更新增加了一个命令:`/sol2f getlist <player>。获取玩家食物列表,输出格式:
`
[sol2f food list | player:<player> | time:yyyy,MM,dd-HH,mm,ss]
{FoodID, FoodID, ...}
``

## 追加更新
  • 增加食物簿合成配方:
minecraft:carrot(胡萝卜)+minecraft:book(书)->sol2f:food_book(食物簿)
[无序合成]
![Replace this with a description](https://cdn.modrinth.com/data/cached_images/eb67b04a5cd10951c497e5d90ac9703d7a2415f7.png)
## 功能更新
  • 增加 食物簿 物品,使用打开食物簿GUI
  • 使食物簿GUI的不再暂停游戏
![foodbook](https://cdn.modrinth.com/data/cached_images/db9d142a1561f6b13fb6a8909fe07d3bdbc23c93_0.webp)
## 函数支持
该版本内置了exp4j作函数解析,在配置中即可找到函数选项
![function](https://cdn.modrinth.com/data/cached_images/8100dbe95b0116e77beaad3a4b33b78d299bcf7e.png)
### **函数使用文档:**

  • 你可以在函数中使用这些变量:**

  • uniqueFoods食用过的食物数
  • currentHealth当前血量(不包含本mod添加的血量,包含别的mod添加的血量和基础血量)

  • 你可以使用这些运算:**
  • 普通四则运算(加+减-乘*除/),用括号表示的优先级(例如( 1 + 2 ) * 3)
  • 幂运算 pow(底数, 指数)
  • 约数:
  • 向下取整数:floor(num)
  • 四舍五入数:round(num)
  • 向上取整数:ceil(num)
  • 比较大小
  • 取大值:max(num1, num2)
  • 取小值:min(num1, num2)
  • 对数:log(底数, 真数)
  • 你可以使用e和pi代表e和π

## 杂项

  • 删除了文言文i18n
  • 做了一些优化和小型改动
  • 调整了配置项名称,具体参考简介,为最新版本内容

## 兼容性改进

  • 该版本移除了默认血量配置项,将兼容其他修改血量的MOD,不会覆盖其血量设置

## GUI改动

  • 修改了配置GUI
![configui](https://cdn.modrinth.com/data/cached_images/19c52c2df80ad7bd0e416470977825a99cd05138.png)
  • 将提示由物品id改为物品名称
![foodtip](https://cdn.modrinth.com/data/cached_images/249db960788c86d3359df83284d4473a2feda7e8.png)

</details>


<details>
<summary>English</summary>

  • This text was translated by AI and may contain errors.**

## Function Support
This version includes exp4j for function parsing—you can find the function option in the configuration.
![function](https://cdn.modrinth.com/data/cached_images/8100dbe95b0116e77beaad3a4b33b78d299bcf7e.png)

### **Function Usage Documentation:**

  • You can use the following variables in functions:**

  • uniqueFoods: number of unique foods eaten
  • currentHealth: current health (does not include health added by this mod, but includes health from other mods and base health)

  • You can use the following operations:**
  • Basic arithmetic (+, -, *, /), with parentheses for precedence (e.g., (1 + 2) * 3)
  • Exponentiation: pow(base, exponent)
  • Rounding functions:
  • Floor: floor(num)
  • Round: round(num)
  • Ceiling: ceil(num)
  • Comparisons:
  • Maximum: max(num1, num2)
  • Minimum: min(num1, num2)
  • Logarithm: log(base, argument)
  • You can use e and pi to represent Euler’s number and π, respectively.

## Other Improvements

  • This version removes the default health configuration option and now respects health values set by other mods—it will not override them.
  • Removed Classical Chinese(or called Acient Chinese,文言) i18n
  • Made some optimizations and minor changes
  • Adjusted configuration item names; refer to the README for details, as this reflects the latest version


## GUI Changes

  • Updated the configuration GUI
![configui](https://cdn.modrinth.com/data/cached_images/19c52c2df80ad7bd0e416470977825a99cd05138.png)
  • Changed tooltips from item IDs to item names
![foodtip](https://cdn.modrinth.com/data/cached_images/249db960788c86d3359df83284d4473a2feda7e8.png)

</details>


## 修复和优化
  • 恢复了在2.4.1修复中错误复制的纹理文件,恢复正常GUI样式
## 问题修复及优化
  • 完善了数据复制API,修复了末地回到主世界时数据未同步的问题
  • 改善了i18n
# 功能更新
## GUI
完成了所有GUI:
### 食物簿
  • 鼠标滚轮滑动翻页
  • 显示所有已食用食物
![GUI1](https://cdn.modrinth.com/data/cached_images/4f93d1c6f1f49cb83cca3954847041212fe58945.png)
### 概述页
  • 显示 已食用食物/所有食物
  • 显示 已增加血量/最大血量
![GUI2](https://cdn.modrinth.com/data/cached_images/c505c1e662cf59069f2e590b0e76631e83aaa22a.png)
### 按键绑定
  • 使用minecraft自带的案件绑定页面绑定开启GUI的按键
![key](https://cdn.modrinth.com/data/cached_images/4c0430cadb76f90f51a83419395ebc981ac96220.png)
# 错误修复
  • 修复了 若频率增益频率为0则血量应用逻辑无法运行的错误
# 杂项
完善了新版本的英语、中文i18n
Spice of Life: Fabric Flavor Icon
Download Spice of Life: Fabric Flavor
Select game version
Select platform