补丁适配请求
zeng-github01 opened this issue · 0 comments
@GlodBlock 我在刚刚提交了一个新的PR 为ME接口向后移植了 合成锁定功能。 该补丁需要在接口GUI左侧新增一个按钮。和流体合成一起安装时将会导致AE2 UEL 的按钮丢失一个,是模板显示的按钮。未来在该PR合并后,请作者将现有的新增按钮向下调整一格
更新:按钮重叠问题我已自行提交PR,但是二合一接口不兼容该功能,只有在设置从不锁定后才能正常进行合成
更新2:问题出在流体返回时使用的是内部的流体储罐逻辑,但是主产物模式的解锁逻辑包含在物品接口的onInventoryChanged 事件方法。需要从AE2FC 处进行反射,在流体返回时触发物品的InventoryChanged ,但是流体返回时只会提供
流体的inventory 和 slot 这难以实现修复,可能需要使用一个新的接口方法,并默认留空,保证兼容性
更新3: 已经提交了对AE2FC的兼容变更,流体接口的IHost 接口将新增一个流体返回事件,将在接收到流体时触发,AE2FC 只需要实现这个方法,在方法体内调用物品接口的onStackReturn方法,向其传递液滴的物品堆栈,则可解锁合成锁定。该接口方法默认实现为空方法体。
此次变更同时为物品接口和流体接口的IHost 接口添加了onStackReturn的事件触发函数。形参分别为IAEItemStack和IAEFluidStack。两个函数默认实现均为空方法体,提供较好的灵活性
目前该兼容问题导致当产物是液滴时接口输出死锁
相关PR: AE2-UEL/Applied-Energistics-2#423
更新4:已自行提交修复补丁