Enhancement/advanced gearbox - #9
Merged
Merged
Conversation
将原来的三元运算符判断替换为直接使用AxisDirection的getStep()方法获取方向系数,代码更简洁易懂,同时保持功能一致
1. 重构两种齿轮箱的轴状态枚举类,将渲染判断方法重命名为hasShaft,同时更新字段名和注释 2. 替换所有使用shouldRenderShaft的地方为hasShaft,统一动力传输和渲染的判断逻辑 3. 简化getSpeedForDirection方法的空值判断代码 4. 修复AdvancedGearboxBlockEntity中cycleShaftState获取状态不正确的问题
将代码中零散使用的tag变量统一重命名为nbt,保持命名一致性,提升代码可读性
移除了两个齿轮箱方块实体、渲染器和可视化类中冗余的动力源朝向计算代码,统一了速度计算接口,将速度计算逻辑简化为直接通过方块面自身状态和轴方向计算,不再依赖动力源朝向参数。同时更新了 ponder 测试脚本和注释,调整了部分静态导入代码。
将硬编码的TextureAtlas.LOCATION_BLOCKS替换为InventoryMenu.BLOCK_ATLAS,修正纹理加载的正确图集引用,同时简化了缓存加载的注释逻辑。
将原本的 FaceStateContainer 拆分为抽象基类和 EnumFaceContainer 实现: 1. 抽象 FaceStateContainer 只负责6方向NBT骨架通用逻辑 2. 新增 EnumFaceContainer 作为枚举类型的默认实现 3. 调整高级变速箱方块实体使用新的枚举容器实现
- 将FaceStateData常量化为EnumFaceContainer.FACE_ROOT_KEY统一管理 - 简化transform方法内的旋转步数计算和注释表述 - 调整类内代码结构顺序,将NBT读写逻辑移至文件末尾
1. 新增高级齿轮箱的转速/倍率滑条交互系统,每个面独立配置 2. 添加动态纹理模型,支持根据轴状态切换高级齿轮箱纹理 3. 新增多语言界面文本,包括转速和倍率显示 4. 新增基础框架类,支持面向面的状态与数据存储 5. 重构万向齿轮箱模型类,复用动态纹理逻辑
1. 新增通用序列化器体系:IntSerializer、FloatSerializer、StringSerializer、EnumSerializer、EnumOrdinalSerializer、AbstractSerializer 2. 替换旧FaceStateContainer为CompositeFaceContainer + FieldSlot组合,实现字段化管理 3. 重构AdvancedGearboxFaceContainer,使用新系统管理轴状态、转速和倍率字段 4. 移除废弃的FaceStateContainer、旧EnumFaceContainer实现 5. 新增示例选项行为类,演示如何扩展自定义面UI选项 6. 统一NBT序列化流程,简化读写逻辑
1. 移除 EnumFaceContainer 过时的 toArray 方法 2. 新增 CompositeFaceContainer 通用多字段面容器,补充字段查找和数组导出能力 3. 重构 AdvancedGearboxModel 的状态传递逻辑,使用 CompositeFaceContainer 替代原数组方案
1. 统一修正 casing 部件命名为 Z/X/Y 标准轴命名 2. 合并重复的面定义,补全缺失的朝向纹理 3. 调整底部 casing 的尺寸范围,修正模型高度 4. 移除冗余的子项索引,修正模型层级
优化了两个容器类的代码格式,移除多余的空行,将移动的常量按逻辑重新排版,提升代码可读性
1. 简化EnumFaceContainer构造函数,移除冗余的defaultValue字段 2. 为AdvancedGearboxFaceContainer新增选项模式字段与访问方法 3. 更新模型读取与配置行为代码以适配新的字段访问方式
1. 新增面向面的示例选项功能行为类 2. 添加简体中文与默认英文的多语言配置 3. 为高级变速箱方块实体新增选项模式访问方法
…ainer 将获取选项模式枚举的逻辑从方块实体类提取到面容器类中,统一代码调用方式,移除冗余的javadoc注释
重命名FaceExampleOptionBehaviour为FaceRotationModeBehaviour,更新所有引用的导入和变量名,替换语言文件中的示例选项文本为旋向模式相关翻译,调整对应UI显示文本和配置注册逻辑
1. 新增模组专用GUI图标类CVGIcons,加载自定义icons.png图集 2. 为旋转模式行为添加数值钳位方法,修复非法配置值溢出问题 3. 将旋转模式枚举的图标替换为自定义图标
1. 移除硬编码的BehaviourType数组,改为通过前缀+后缀动态创建 2. 统一使用传入的netId替代faceIndex+ordinal计算方式 3. 新增FaceNaturalSpeedBehaviour自然数滑条行为类 4. 简化父类逻辑,移除冗余的faceIndex和ordinal字段
将FaceSpeed和FaceMultiplierBehaviour的重复代码提取到AbstractDualRowValueBehaviour, 简化FaceNaturalSpeedBehaviour的单排实现,重构父类AbstractFaceValueBehaviour的通用逻辑。
将 formatSettings 方法从抽象父类改为抽象方法,让子类自行实现格式逻辑,修复父类硬编码格式的问题
1. 重构类以支持绑定多个面方向,替换原单个face字段为faces集合 2. 添加单面快捷构造方法兼容原有使用方式 3. 完善类注释和字段注释,补充代码说明 4. 实现多面匹配的交互显示逻辑
- 将 FaceRotationModeBehaviour 重命名为 RotationModeBehaviour - 将 FaceSpeedBehaviour 重命名为 SpeedBehaviour - 将 FaceMultiplierBehaviour 重命名为 MultiplierBehaviour - 新增抽象基类统一滑条行为逻辑:AbstractValueBehaviour、AbstractOptionBehaviour - 新增 NaturalSpeedBehaviour 支持单排自然数滑条 - 新增 AbstractSignBehaviour 实现双排符号滑条通用逻辑
1. 重命名RotationModeBehaviour为RotModeBehaviour并更新所有引用 2. 重构抽象基类文档与构造逻辑,统一类型名拼接规则 3. 新增Signed/Count/Int/Pow2数值行为类替换原有实现 4. 优化高级变速箱的滑块配置与同步逻辑
新增4个带符号数值行为的类: 1. 抽象基类AbstractSignedBehaviour实现双排滑条通用逻辑 2. IntBehaviour实现整数域带符号滑条 3. ExpBehaviour实现2的整数次幂带符号倍率滑条 4. Pow2Behaviour实现对称分布的2的幂次倍率滑条
1. 将ExpBehaviour、IntBehaviour等带符号数值行为类移动到signed子包 2. 导入路径同步更新,移除冗余的Pow2Behaviour相关代码 3. 简化高级变速箱的配置行为初始化逻辑
…hods 统一将高级变速箱的转速值相关的SpeedValue、getSpeedValue等命名改为ArgValue,修正多处不匹配的命名调用,移除冗余的链式返回this代码
移除了AdvancedGearbox相关类中未使用的倍率值存取方法和相关字段,清理冗余代码
… rot mode 统一高级变速箱面数据中选项模式相关的命名,将optionMode相关的变量、方法、常量统一重命名为rotMode,保持代码命名一致性
优化了图标类的静态计数器变量命名,将gridX/gridY改为x/y,新增iconX/iconY实例变量,调整了newRow和next方法的实现逻辑,移除了多余的加粗样式图标常量定义
更新旋转模式的枚举命名、图标引用与语言文件,将原有的转速/倍率分类改为正反转方向分类,调整注释说明以匹配新的逻辑
1. 为RotModeBehaviour新增absolute和forward状态字段及对应的判断方法 2. 将速度值行为从IntBehaviour替换为CountBehaviour 3. 调整旋转模式配置UI的绘制尺寸 4. 更新相关字段引用和同步逻辑
…ion mode 1. 新增操作模式行为类,实现保持、设定、加减幅值、乘除等转速运算模式 2. 重构旋转模式相关类和命名,统一代码风格 3. 更新GUI图标、语言文件和NBT存储结构,适配新的功能 4. 重构高级变速箱容器和BE逻辑,新增操作模式访问接口
1. 为CountBehaviour、ExpBehaviour、IntBehaviour、Pow2Behaviour添加刻度间隔和自定义行标签参数 2. 新增简化构造器,提供默认的行标签配置 3. 为AdvancedGearboxConfigBehaviours添加V型加粗行标签与32刻度间隔 4. 统一调整所有数值UI的构造调用逻辑
将各个数值滑条子类的 createBoard 实现和相关字段抽移到 AbstractValueBehaviour 父类,减少重复代码,统一配置面板创建逻辑
1. 新增maxExponent工具方法通过整数位运算计算log₂(maxValue) 2. 简化ExpBehaviour和Pow2Behaviour构造参数,传入maxValue替代手动传入maxExponent 3. 修正类注释中的值域说明,统一通过maxValue推导maxExponent 4. 重命名相关方法和变量提升语义清晰度,统一方法命名风格
调整了三个配置项对应的FaceValueBoxTransform的坐标参数,修正GUI图标显示错位的问题
将operation_mode.idle改为hold,同步更新所有语言文件,为枚举和类添加详细中文注释
1. 统一重命名转速值相关变量为设定值,对齐代码语义 2. 为操作模式和旋转模式枚举添加计算方法,简化动力计算逻辑 3. 更新NBT存储键名和注释文档,保持代码一致性
1. 重命名面状态判断注释与字段变量,提升代码可读性 2. 注释掉活塞推送反应配置,恢复默认行为 3. 重构滑条行为类,统一raw值设置接口与注释 4. 重命名变速箱面容器的模式字段与方法,修正递归调用bug 5. 重构滑条变换类,支持自定义宽高与偏移,优化渲染定位 6. 更新配置行为类,调整UI位置、添加回调同步与初始值设置 7. 重构动力传播逻辑,添加速度倍率计算注释与修正双向传播规则
1. 替换FWD/REV/VAR为统一的SHAFT状态,简化轴状态逻辑 2. 重构转速计算逻辑,新增旋转模式转动判断 3. 调整UI交互与方块纹理的状态适配 4. 移除冗余的倍率属性与相关方法
1. 添加全套高级变速箱方块与物品纹理,新增占位纹理与动画配置 2. 重构操作模式应用逻辑,修复符号对齐问题 3. 调整UI控件偏移位置,修正模型层级与纹理映射 4. 重写动力传播逻辑,优化源销毁时的重连流程
1. 将Advanced和Versatile齿轮箱的getSpeedForDirection重命名为getVisualSpeed,明确其仅用于渲染用途 2. 更新所有调用该方法的渲染和视觉类代码 3. 修正AdvancedGearboxConfigBehaviours中的isOutputShaft参数名错误 4. 完善方法注释说明其仅用于视觉展示不参与动力网络计算
1. 修正旋转模式注释描述,将"转动"改为"传动"更准确 2. 移除冗余的动力源面输出保底逻辑,简化计算代码 3. 调整高级变速箱轴接口判断逻辑,同时校验轴存在性和传动模式状态 4. 简化动力输出的前置判断条件
Owner
Author
|
目前仅完成传动部分,红石部分在下一个分支增加,这不是最终形态 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
advanced gearbox的功能增加,移除旧的实验性功能,目前仅传动功能实现