基本信息
我的世界Java版本
26.1.x
1.21.8–1.21.11
1.21–1.21.6
1.20.4
1.20–1.20.2
1.19.4
1.19.2
平台
Fabric
运行环境
分类
搬运团队
搬运资源声明
对于可进行 JAR 文件搬运的许可证,我们提供站内下载服务;其他资源会跳转到原帖下载。资源更新可能不及时,建议前往资源内提供的原帖链接下载最新版本。
详情信息
许可证 LGPL-3.0-only
发布于 2024-12-01
更新于 2026-06-09
更新日志
Thermoo 10.0.0 Alpha 2 for Minecraft 26.1-snapshot-11
面向 Minecraft 26.1 的 Thermoo 10 的第二个预发布版本。这是一个 Alpha 版本,并且 API 仍然极其不稳定,因为**计划进行更多破坏性改动。**因此,**文档也尚未更新!**当面向 26.1 的 API 改动最终确定后,Thermoo 文档将会完整更新。
此版本主要是为了让我能抢先开始更新 霜冻 (Frostiful) 和 焦土 (Scorchful),同时也将 Thermoo 开放给任何想参与的人进行公开 Bug 测试。
Alpha 1
- 开始为 API 包添加版本号。
- 目前已影响以下包:
com.github.thedeathlycow.thermoo.api.command->com.github.thedeathlycow.thermoo.api.command.v1com.github.thedeathlycow.thermoo.api.temperature.effect->com.github.thedeathlycow.thermoo.api.temperature.status.v2
- 在 26.1 正式发布前还会迁移更多包。
- 目前已影响以下包:
- 从 API 中移除了命令定义类。
- 这些现在属于实现类。
- 在命令 API 中,将
*ArgumentType类重命名为*Argument。 - 用 Temperature Status API 替换了 Temperature Effect API(#104)。
- 添加了 Temperature Status Tags(#106)。
Alpha 2
- 用数据驱动的温度来源 API 替换了
HeatingMode(#109)。 - 将所有剩余的 API 包移动到带版本号的包中,如下:
com.github.thedeathlycow.thermoo.api.environment.*->com.github.thedeathlycow.thermoo.api.environment.v2.*com.github.thedeathlycow.thermoo.api.item.*->com.github.thedeathlycow.thermoo.api.item.v2.*com.github.thedeathlycow.thermoo.api.season.*->com.github.thedeathlycow.thermoo.api.season.v2.*com.github.thedeathlycow.thermoo.api.util.*->com.github.thedeathlycow.thermoo.api.util.v1.*(这些类仍可能会被拆分到更具体的包中)com.github.thedeathlycow.thermoo.api.client.*->com.github.thedeathlycow.thermoo.api.client.v1.*
- 将
ThermooRegistries与ThermooRegistryKeys类移动到核心 API 中的registry包 - 将
predicate包和ThermooAttributes类移动到新的实体 API 包:com.github.thedeathlycow.thermoo.api.entity.v1 - 将
ThermooTags中的Item与EntityType标签拆分为实体 API(ThermooEntityTypeTags)与物品 API(ThermooItemTags)中的各自类 - 移除了
ThermooTags。 - 在
StatusBarOverlayRenderEvents中,将对GuiGraphics的使用替换为GuiGraphicsExtractor
数据驱动的温度来源
- 将
com.github.thedeathlycow.thermoo.api.temperature.*下除status包以外的所有类与包移动到com.github.thedeathlycow.thermoo.api.core.v1。 - 移除了
HeatingMode与HeatingModes类。 - 将方法
TemperatureAware#thermoo$addTemperature(int, HeatingMode)改为TemperatureAware#thermoo$addTemperature(int, TemperatureChange)。 TemperatureChange现在会存储单次温度变化的上下文信息,包括来源、原因、直接原因与位置,并且这些数据现在会被传递给多个与温度变化相关的事件。- 新增
ThermooLevel接口,并通过 mixin 注入到所有Level实例上。ThermooLevel提供对一组共享TemperatureChange实例的访问。
- 移除了
LivingEntityTemperatureTickEvents中的ALLOW_X_UPDATE与ALLOW_X_CHANGE事件,并用TemperatureChangeEvents中更通用的事件替代。 LivingEntityTemperatureTickEvents中的GET_X_CHANGE事件现在是由getTemperatureChange返回的、按 source-key 映射的事件,允许同一类事件应用到任意温度来源——但绝对来源与环境来源除外。/thermoo temperature (add|remove)子命令现在通过at与by语法,提供了更多指定温度变化上下文的能力,本质上是为TemperatureChange类提供数据。
迁移示例
添加温度的简单迁移:
void foo(LivingEntity e) {
- e.thermoo$addTemperature(10, HeatingModes.ACTIVE);
+ e.thermoo$addTemperature(10, e.level().thermoo$temperatureSources().active());
}
Temperature Status API
Temperature Effect API 被重写并更名为 Temperature Status API,以更好地区分 JSON 文件(status)与实际执行逻辑的效果类型。该 API 在整体上仍做同样的事情,但以下是改动摘要:
- 将
thermoo/temperature_effect注册表替换为thermoo/temperature_status注册表 - 新的 status 注册表现在是真正的注册表,支持标签、同步、
Holder等全部功能。 - 用直接的
effects列表条目替换了config对象。 - 将类型委托移动到 effects 的条目中,而不是放在注册表对象的根层级。
- 将
attribute_modifier与scaling_attribute_modifier合并为单一类型,通过一个字段区分。 - 移除了
empty与sequence类型,它们不再需要。 - 添加了一种通过
thermoo:application_order温度状态标签来定义 status 应用顺序的方法。
这也移除了一些功能:
- 温度状态不再支持“热重载”;你必须重启服务器才能重新加载它们。
- 不再有
loading_priority字段。其原本意图是允许 Thermoo Patches 在检查 Origin 后,用 Frostiful/Scorchful 的效果进行覆盖。这个用途已被启用 API 取代。目前不清楚是否还有其他人将其用于某些确实必要的功能,因此它将被移除。
迁移示例
旧 effect
{
"type": "thermoo:damage",
"temperature_scale_range": {
"max": -0.99
},
"config": {
"amount": 1,
"damage_interval": 20,
"damage_type": "minecraft:freeze"
}
}
新 status
{
"temperature_scale_range": {
"max": -0.99
},
"interval": 20,
"effects": [
{
"type": "thermoo:damage",
"amount": 1,
"damage_type": "minecraft:freeze"
}
]
}


