Skip to content

Conversation

@AaAdoniSsS
Copy link
Contributor

No description provided.

AaAdoniSsS and others added 30 commits June 13, 2025 14:27
fix(api): 修复配方处理逻辑中的并发问题
perf(api): 提升配方查找和处理的性能
feat(core): 新增部分配方失败提示
fix(core): 修复部分bug
fix(core): 修复电压判断问题
fix(core): 删掉多余的的提示信息
修改GTMJEI扩展加载为异步加载
feat(core): 添加me输出的手动输出按钮(用于部分情况)
fix(core): 修复一点小问题
feat(core): 新增小型样板总成和配方
feat(core): 样板可编写编程电路放入样板总成自动配置,下单不会显示编程电路
Dragonators and others added 30 commits October 8, 2025 09:40
1.不直接持有PartMachine引用,仿照重构RecipeHandlePart的Trait形式
2.Map->使用Item与Fluid字段直接引用对应Handler
3.统一handle方法,part内slotCache与非Cache共享一次initMEHandleContents

重构RecipeHandlePart(保证其Part语义):
1.获取指定Part内容的API对于非完全隔离模式保持语义一致性
2.对于非隔离模式下的特殊handle行为支持
3.移除冗余Getter

重构ME相关机器接口
1.使用MachineTrait形式提供所需方法,更符合GTM代码逻辑
2.MutiPart Machine现在提供不同对应子类的IMEIOTrait

重构IRecipeCapabilityMachine与其实现
1.精简并细分单一职责功能
2.提供多对多的GTRecipe <-> HandlePart Cache
3.提供FILO形式与Set结合的Cache Iter, 按照最后一次match成功的顺序逐个尝试某一GTRecipe对应的HandleParts
4.重新排版实现,更加清晰的划分逻辑功能

重构RecipeRunner
1.取缔字段混淆的类创建,全部更换为static调用,节约GC开销
2.使用RecipeCacheStrategy,提供不同的Cache逻辑,用于支持多种中间态RecipeModifier与直接使用容器内容的虚拟Recipe input handle情形
(1)需要对Dummy Recipe计算并行的情形:提供HANDLE_PART_CACHE_ONLY,让ParallelLogic能够找到对应Part进行计算,但不污染可能存在的MEPatternBuffer内部持久化的GTRecipe缓存
(2)使用MachineIO静态方法直接消耗对应数量,对应CAP的Stack的情形:提供NO_CACHE,对HandlePart进行遍历搜索,不污染任何缓存
(3)标准GTRecipe Handle情形:对应FULL_CACHE
3.适配新的IRecipeCapabilityMachine API,使得缓存符合最后一次match成功的顺序出入栈

修改RecipeRunnerHelper
1.提供对应不同RecipeCacheStrategy的方法入口

修改IParallelLogic
1.为输出并行限制计算提供更加标准化且语义清晰的的二分查找
2.对接重构后HandlePart的API,支持多对多映射,使用最近一次match对应的Part进行并行计算
3.更好的适配非完全隔离的流体情形,现在能够找到对应的缓存HandlePart进行计算

修改ChanceLogic
1.使用LongChanceLogic类代替对于ChanceLogic+ILongChance接口的Mixin实现,减少类型转换开销

移动部分文件位置;优化双向map实现;修复ME增广输出流体过滤;Tooltip修改
…peRunner返回值与处理;调整UI,修复ldlib UI重叠导致进入过滤设定页面时会误取消第一个流体过滤设定的问题;调整NoCacheInput优先尝试非ME舱室
This reverts commit 2eb1c88.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants