1.21.1: Origins 1.13.0-alpha.12
on 2025 Feb 02本次更新对动作/条件类型进行了些许重构。请务必查看https://gist.github.com/eggohito/510eb0cf7d36d40f906ac1fcef74ee96#alpha-12以获取更多详情!
新增内容
- [
apoli
] 添加了新的通用容器类型(带有_AxB
后缀,其中A是列数,B是行数);通用_9x1
通用_9x2
通用_9x4
通用_9x5
更改内容
- [
apoli
] 将按键绑定引用中的key
字段重命名为id
(并将旧名称添加为别名)。 - [
apoli
] 将一些容器类型重命名以匹配其相应的屏幕处理器(并将其旧名称添加为别名);双箱
-->通用_9x6
箱子
-->通用_9x3
投掷器
/发射器
-->通用_3x3
- [
apoli
] 方块动作现在仅在服务器上执行,以防止与客户端不同步。 - [
apoli
] 物品动作现在仅在服务器上执行,以防止与客户端不同步。 - [
apoli
]on_block
实体条件类型现在检查当前所踩的方块,而不是实体下方的方块(例如:灵魂沙上的地毯 --> 地毯将是所踩的方块)。 - [
apoli
] {对于插件开发者} 重构了动作/条件类型和上下文;- 动作/条件类型不再分别具有
execute(...)
/test(...)
方法。要实现动作/条件逻辑,分别重写accept(ActionContext)
/test(ConditionContext)
方法,并直接访问动作/条件上下文。 - 将
TypeActionContext
和TypeConditionContext
分别重命名为ActionContext
和ConditionContext
。 - 为动作类型添加了
shouldExecute(ActionContext)
,以便在执行动作逻辑之前评估动作上下文。 - 为条件类型添加了
shouldTest(ConditionContext)
,以便在执行条件逻辑之前评估条件上下文。 - 添加了
BiEntityRequirement
枚举,用于双实体动作/条件类型,以确定是否需要BOTH
(两者都)、EITHER
(任一)或DEFAULT
(无要求)的执行者/目标实体。 - 在双实体动作/条件类型中添加了
getRequirement()
以指示其要求。
- 动作/条件类型不再分别具有
- [
apoli
] {对于插件开发者} 修复并调整了能力按键绑定引用;- 将
Active$Key
类重命名为KeyBindingReference
,并将其移至io.github.apace100.apoli.util.keybinding
包中。 - 修复了使用服务器端条件触发激活能力类型的问题。
- 将
修复内容
- [
calio
] 修复了检查正浮点数数据类型边界的逻辑。 - [
apoli
] 修复了局域网服务器中能力的同步问题。 - [
apoli
] 修复了raycast
实体动作/条件类型的原点位置。 - [
apoli
] 修复了raycast
实体动作类型中command_along_ray
命令的执行方式。 - [
apoli
] 修复了passenger
实体条件类型的comparison
字段的默认值。 - [
apoli
] 修复了passenger_action
实体动作类型中的执行者/目标上下文。 - [
apoli
] 修复了与粒子相关的能力/动作类型的字段顺序和编码问题。 - [
apoli
] 修复了stacking_status_effect
能力类型不能正确减少其堆叠数的问题。 - [
apoli
] 修复了action_on_block_place
能力类型无法正确编码的问题(例如:使用/power dump
或在将能力同步到客户端时)。 - [
apoli
] 修复了spawn_entity
实体动作类型不能正确将其bientity_action
字段中的动作识别为双实体动作的问题。 - [
apoli
] 修复了starting_equipment
能力类型的问题;- 修复了该能力类型无法正确编码的问题(例如:使用
/power dump
或在将能力同步到客户端时)。 - 修复了该能力类型阻止服务器重新加载(或导致客户端崩溃)的问题。
- 修复了该能力类型无法正确编码的问题(例如:使用
- [
apoli
] 修复了game_event_listener
能力类型的问题;- 修复了创建该能力类型新实例时的类转换崩溃问题。
- 修复了该能力类型无法监听游戏事件的问题。
- [
origins
] 修复了局域网服务器中原点/原点层的同步问题。 - [
origins
] 修复了局域网服务器中徽章的同步问题。 - [
origins
] 修复了origins:origin
物品组件在设置原点时不消耗物品的问题。
变更日志
1.21.1: Origins 1.13.0-alpha.11
on 2024 Dec 24更改
- [
apoli
] 在modify_item_cooldown
能力类型中,modifier
/modifiers
字段现在是必需的 - [
apoli
] 在序列化到 NBT 时,tooltip
能力类型中的工具提示文本不再用字符串包装 - [
origins
] 格式化了/origin
命令的代码风格,以匹配 Apoli 中的代码风格 - [
origins
] 调整了起源窗口的文本区域
修复
- [
apoli
] 修复了offset
块条件类型中的类强制转换问题 - [
apoli
] 修复了action_on_key_press
能力类型的 ID - [
apoli
] 修复了能力类型的初始化问题 - [
apoli
] 修复了add_velocity
实体/双实体动作类型的异常行为 - [
apoli
] 修复了spawn_particles
实体动作类型的默认偏移值 - [
apoli
] 修复了area_of_effect
实体/块动作类型分别接受正整数/浮点数radius
值而不是非负整数/浮点数值的问题 - [
apoli
] 修复了action_on_block_break
能力类型评估其块条件太晚(在块被挖掘后评估挖掘位置的块)的问题 - [
apoli
] 修复了modify_food
能力类型编码字段中的拼写错误 - [
apoli
] 修复了choice
元动作类型执行所有定义的动作而不是仅执行一个的问题 - [
apoli
] 修复了give
实体动作类型仅在一次(每次游戏/服务器重启)起作用,因为提供的物品堆栈未被复制 - [
apoli
] 修复了*_inventory
实体动作/条件类型提供的槽不在实体库存(或使用inventory
能力类型的能力的库存)范围内的问题 - [
apoli
] 修复了modify_harvest
能力类型评估其块条件太晚(在块被挖掘后评估挖掘位置的块)的问题 - [
apoli
] 修复了attacker
伤害条件类型需要实体条件的问题 - [
origins
] 修复了在起源屏幕中无法看到自定义起源层的问题 - [
origins
] 修复了origins:origin
物品组件未设置玩家起源的问题