Thermoo 7.0.0
on 2025 Jun 27适用于 Minecraft 1.21.6 的 Thermoo 7
此更新将 Thermoo 带到 1.21.6 版本。根据长期支持 (LTS) 政策,此版本也代表 1.21.5 版本的支持结束。当 1.21.7 版本发布时,此版本可能也能正常工作。
此更新中有一个显著的破坏性更改:状态栏叠加事件已进行重构,以降低复杂性、防止错误,并在未来更新(如果需要)时更具可扩展性。有关详细信息,请参阅 #82。
总结来说,主要更改如下所示:
-状态栏叠加渲染事件.健康条之后注册(
- (绘制上下文 ctx, 玩家实体 player, 向量 2i[] 位置, 显示健康 int, 最大显示健康 int) -> {
- // 渲染代码
- });
+状态栏叠加渲染事件.健康条之后注册(
+ (绘制上下文 ctx, 玩家实体 player, 心脏条上下文 heartBarContext) -> {
+ 序列集合<向量 2i> 位置 = heartBarContext.位置();
+ 显示健康 int = heartBarContext.当前显示半心();
+ 最大显示健康 int = heartBarContext.最大显示半心();
+
+ // 渲染代码
+ });
Thermoo 6.0.4
on 2025 Jun 19- 添加了一条消息,以帮助用户在需要时找到模组“热修补丁(Thermoo Patches)”
- 在“thermoo.properties”中添加了一个新的配置文件,可用于禁用此消息
Thermoo 4.5.4
on 2025 Jun 19- 添加了一条消息,以帮助用户在需要时找到Thermoo Patches模组
- 在
thermoo.properties
中添加了一个新的配置文件,可用于禁用此消息
Thermoo 6.0.3
on 2025 May 12- 修复了在土耳其语环境下Thermoo温度单位编解码器无法正确解码的问题
Thermoo 5.3.3
on 2025 May 12- 修复了在土耳其语区域设置下,Thermoo温度单位编解码器无法正确解码的问题
Thermoo 4.5.3
on 2025 May 12- 修复了在土耳其语环境下,热动力学(Thermoo)温度单位编解码器无法正确解码的问题
Thermoo 6.0.2
on 2025 May 01Thermoo 5.3.2
on 2025 May 01Thermoo 4.5.2
on 2025 May 01- 添加了阿根廷西班牙语翻译(Texaliuz)
Thermoo 6.0.1
on 2025 Apr 25- 修复骑乘具有特定最大生命值的坐骑时的崩溃问题
Thermoo 5.3.1
on 2025 Apr 25Thermoo 4.5.1
on 2025 Apr 25- 修复骑乘具有特定最大生命值的坐骑时发生的崩溃问题
Thermoo 6.0
on 2025 Apr 04更新至《我的世界》1.21.5版本
这是《我的世界》1.21.5版本的首个稳定发布版。它还包含了来自Thermoo 4.4和5.3版本的一些新特性,旨在提供更大的灵活性和深度。
- 已更新至《我的世界》1.21.5版本
- 移除了所有已废弃的应用程序编程接口(API),包括“环境控制器(EnvironmentController)”、“温度转换器(TemperatureConverter)”以及“配置温度效果(ConfiguredTemperatureEffect)”和“温度效果(TemperatureEffects)”的一些方法。
- 许多类,如“环境命令(EnvironmentCommand)”和“温度命令(TemperatureCommand)”类已被设为最终类,并且所有仅为静态的类现在都有一个私有构造函数。从技术上讲,这是一个重大变更,但不太可能影响到任何人。
- 更新了游戏测试以使用新框架
- 用“可变冷(canBeCold)”和“可变暖(canBeWarm)”替换了Kotlin中感知温度的函数扩展“可冻结(canFreeze)”和“可过热(canOverheat)”,以解决与“实体(Entity)#可冻结(canFreeze)”方法的冲突。
- 环境耐热和抗寒能力现在可以接受负值。负的环境抗性现在提供了一个随机机会,可使来自环境源的温度下降加倍。
- 在环境定义中添加了一个“优先级(priority)”字段。这用于在查找期间对应用于生物群系的环境提供者的顺序进行排序。
- 仅实现细节:环境提供者现在作为“生物群系(Biome)”类的一个字段存储,这应该能使查找时间略微加快。
Thermoo 5.3
on 2025 Apr 04环境优化
本次更新为环境API添加了一些新特性,使其更具灵活性并更有深度。
- 环境耐热与耐寒属性现在可以接受负值。负的环境抗性现在会提供一个随机几率,使来自环境源的温度降幅翻倍。
- 在环境定义中添加了一个
优先级
字段。这用于在查找期间对应用于生物群系的环境提供者的顺序进行排序。 - 仅实现细节:环境提供者现在作为
生物群系
类的一个字段存储,这应该能使查找时间略微加快。
Thermoo 4.5
on 2025 Apr 04环境优化
本次更新为环境API添加了一些新特性,使其更具灵活性并更有深度。
- 环境耐热与耐寒属性现在可接受负值。负的环境抗性现在会提供一个随机机会,使来自环境源的温度降幅翻倍。
- 在环境定义中添加了一个
优先级
字段。这用于在查找期间对应用于生物群系的环境提供者的顺序进行排序。 - 仅实现细节:环境提供者现在作为
生物群系
类的一个字段存储,这应该能使查找时间略微加快。
Thermoo 6.0-beta.1
on 2025 Apr 04更新至《我的世界》1.21.5版本
这是针对《我的世界》1.21.5版本的首次发布。由于核心组件API(Cardinal Components API)尚不稳定,所以最初是以测试版(Beta)形式发布的,不过从我的测试情况来看,它似乎运行良好。如果你发现任何问题,请随时将其反馈至https://github.com/TheDeathlyCow/thermoo/issues。
- 已更新至《我的世界》1.21.5版本
- 移除了所有已弃用的API,包括“环境控制器(EnvironmentController)”、“温度转换器(TemperatureConverter)”以及“已配置温度效果(ConfiguredTemperatureEffect)”和“温度效果(TemperatureEffects)”的部分方法。
- 许多类,如“环境指令(EnvironmentCommand)”和“温度指令(TemperatureCommand)”类已被设为最终类(final),并且所有仅含静态成员的类现在都只有私有构造函数。从技术上讲,这是一个重大变更,但不太可能影响到任何人。
- 已更新游戏测试以使用新框架
- 将“是否能冻结(canFreeze)”和“是否会过热(canOverheat)”这两个感知温度的Kotlin函数扩展替换为“是否能变冷(canBeCold)”和“是否能变热(canBeWarm)”,以解决与“实体(Entity)#是否能冻结(canFreeze)”方法的冲突。
[1.21.5-rc1] Thermoo 6.0-alpha.1
on 2025 Apr 04更新至《我的世界》1.21.5版本
这是针对《我的世界》1.21.5版本的首个发布版本,目标版本为“1.21.5-rc1”。此版本目前不稳定,应当仅用于早期移植。
- 已更新至《我的世界》1.21.5版本
- 移除了所有已废弃的API,包括“环境控制器”、“温度转换器”以及“已配置温度效果”和“温度效果”的部分方法。
- 暂时禁用了游戏测试功能,以便日后能够重写它们。
- “环境命令”和“温度命令”类已设为最终类,并且现在拥有私有构造函数。其他类似的仅静态类不久也将接受类似处理。
Thermoo 5.2.1
on 2025 Apr 04- 已更新至我的世界1.21.4版本
- 我的世界1.21.2 - 1.21.3版本似乎仍可与此版本兼容,然而对这些版本的支持可能随时会被移除
- 我的世界1.20.1版本现已正式不再受支持
Thermoo 5.2
on 2025 Apr 04新开发者维基
- 热力(Thermoo)维基已迁移!它已迁至一个由MkDocs驱动的新维基,网址为https://thermoo.thedeathlycow.com/
- 随着新维基站点的推出,维基已进行了大幅重构,许多页面都已更新。
- 贡献者现在也可以通过在GitHub上发起拉取请求来为维基做出贡献。
环境API
这是一个全新的大型API,由数据包和基于模组的组件混合而成。我强烈建议在着手尝试在你的模组中实现它之前,先在新维基上阅读环境API概述。
- 引入了一个新的基于数据包的环境API,用于控制环境温度变化。
- 环境控制器中的所有方法都已被替换为一种新的、更符合用途的替代方法。
- 这里的根本变化在于,环境数据包注册表现在会以某种广为人知的温度单位(摄氏、华氏、开尔文或兰金)以及其他一些参数来计算一个生物群系的温度,然后这些参数会由一个事件监听器转换为温度点变化。
- 添加了数据包注册表
thermoo/environment
。格式:https://thermoo.thedeathlycow.com/datapacks/environment_definition/ - 添加了数据包注册表
thermoo/environment_provider
。格式:https://thermoo.thedeathlycow.com/datapacks/environment_provider_definition/ - 添加了环境抗性属性,
thermoo:environment_heat_resistance
和thermoo:environment_frost_resistance
。 - 环境抗性属性表示每次应用时“躲避”由
ServerPlayerEnvironmentTickEvents
中的事件所计算出的温度变化的百分比几率。
方法替换的完整列表如下:
getBaseValueForAttribute()
->ThermooAttributes#baseValueEvent()
getLocalTemperatureChange()
-> 环境数据包注册表getEnvironmentTemperatureForPlayer()
->ServerPlayerEnvironmentTickEvents.GET_TEMPERATURE_CHANGE
getTemperatureEffectsChange()
->LivingEntityTemperatureTickEvents.GET_ACTIVE_TEMPERATURE_CHANGE
getFloorTemperature()
->LivingEntityTemperatureTickEvents.GET_PASSIVE_TEMPERATURE_CHANGE
getMaxWetTicks()
-> 实体属性thermoo:max_soaking_tick_multiplier
(在1.21.1版本中,名称为thermoo:generic.max_soaking_tick_multiplier
)getSoakChange()
->LivingEntitySoakingTickEvents.GET_SOAKING_CHANGE
getHeatAtLocation()
->LivingEntityTemperatureTickEvents.GET_PASSIVE_TEMPERATURE_CHANGE
applyAwareHeat()
->LivingEntityTemperatureTickEvents.ALLOW_ACTIVE_TEMPERATURE_CHANGE
getHeatFromBlockState()
-> 已移除isHeatSource()
-> 已移除isColdSource()
-> 已移除isAreaHeated()
-> 已移除
物品属性修饰符事件
- 添加了一个实验性的
ModifyItemAttributeModifiersCallback.EVENT
,它与之前同名的Fabric API事件非常相似。 - 当实体装备或卸下物品时,这会将属性修饰符应用于该实体,它实际上并不会修改物品堆叠的底层
minecraft:attribute_modifiers
组件。
Kotlin绑定
- 为
TemperatureAware
和Soakable
添加了新的特定于Kotlin的方法和字段扩展。 - 这些方法允许Kotlin用户以一种直观的方式使用这些接口,而无需为所有方法添加
thermoo$
前缀。
Thermoo 4.4
on 2025 Apr 04新开发者维基
- 热力(Thermoo)维基已迁移!它已迁移至一个由MkDocs驱动的新维基,网址为https://thermoo.thedeathlycow.com/
- 随着新维基站点的推出,维基已进行了大幅重构,许多页面都已更新。
- 贡献者现在也可以通过在GitHub上发起拉取请求来为维基做出贡献。
环境API
这是一个全新的大型API,由数据包和基于模组的组件混合而成。我强烈建议在尝试在你的模组中实现它之前,先在新维基上阅读环境API概述。
- 引入了一个新的基于数据包的环境API,用于控制环境温度变化。
- 环境控制器中的所有方法都已被替换为一种全新的、更符合用途的替代方法。
- 这里的根本变化是,环境数据包注册表现在会以一些广泛认可的温度单位(摄氏、华氏、开尔文或兰金)以及其他一些参数来计算一个生物群系的温度,然后这些参数会由一个事件监听器转换为温度点变化。
- 添加了数据包注册表
thermoo/environment
。格式:https://thermoo.thedeathlycow.com/datapacks/environment_definition/ - 添加了数据包注册表
thermoo/environment_provider
。格式:https://thermoo.thedeathlycow.com/datapacks/environment_provider_definition/ - 添加了环境抗性属性,
thermoo:environment_heat_resistance
和thermoo:environment_frost_resistance
。 - 环境抗性属性表示每次应用时“躲避”由
ServerPlayerEnvironmentTickEvents
中的事件所计算出的温度变化的百分比几率。
方法替换的完整列表如下:
getBaseValueForAttribute()
->ThermooAttributes#baseValueEvent()
getLocalTemperatureChange()
-> 环境数据包注册表getEnvironmentTemperatureForPlayer()
->ServerPlayerEnvironmentTickEvents.GET_TEMPERATURE_CHANGE
getTemperatureEffectsChange()
->LivingEntityTemperatureTickEvents.GET_ACTIVE_TEMPERATURE_CHANGE
getFloorTemperature()
->LivingEntityTemperatureTickEvents.GET_PASSIVE_TEMPERATURE_CHANGE
getMaxWetTicks()
-> 实体属性thermoo:max_soaking_tick_multiplier
(在1.21.1版本中,名称为thermoo:generic.max_soaking_tick_multiplier
)getSoakChange()
->LivingEntitySoakingTickEvents.GET_SOAKING_CHANGE
getHeatAtLocation()
->LivingEntityTemperatureTickEvents.GET_PASSIVE_TEMPERATURE_CHANGE
applyAwareHeat()
->LivingEntityTemperatureTickEvents.ALLOW_ACTIVE_TEMPERATURE_CHANGE
getHeatFromBlockState()
-> 已移除isHeatSource()
-> 已移除isColdSource()
-> 已移除isAreaHeated()
-> 已移除
物品属性修饰符事件
- 添加了一个实验性的
ModifyItemAttributeModifiersCallback.EVENT
,它与之前同名的Fabric API事件非常相似。 - 当实体装备或卸下物品时,这会将属性修饰符应用于该实体,它实际上并不会修改物品堆叠的底层
minecraft:attribute_modifiers
组件。
Kotlin绑定
- 为
TemperatureAware
和Soakable
添加了新的特定于Kotlin的方法和字段扩展。 - 这些方法允许Kotlin用户以一种直观的方式使用这些接口,而无需在所有方法前添加
thermoo$
前缀。