7.0 迁移指南
块
Block#expanded 现已弃用且无操作,请改用 Block#clipSize。该字段保留以确保兼容性,但最终将被移除。
- 所有
mindustry.world.meta.values.* 类已被替换为 lambda 表达式。请参见 StatValues 类。
BlockForge 已从实验包中移出,并可能会经历重大更改。如果您在 Java 模组中使用此类,建议将其复制粘贴,以便继续使用旧版本。其他实验块也可能会被移出。
CacheLayer 现在是一个可以重写方法的类,而不是枚举。可以使用 CacheLayer#add 注册新层。
- 各种字段,如
variants 和 attributes 已从 Floor 移动到 Block。
Iconc 和相关方法已被移除;请使用 UnlockableContent.uiIcon/fullIcon。
Smelter 和 AttributeSmelter 已被弃用。这些类具有硬编码的绘制功能。请尽快过渡到 GenericCrafter 和 DrawSmelter。对于属性支持,请使用 AttributeCrafter。
Cultivator 由于与 Smelter 相同的原因被弃用,请改用 AttributeCrafter。
ExtendingItemBridge 和 LiquidExtendingBridge 已与 ItemBridge / LiquidBridge 合并,请改用这些。
PayloadAcceptor 是一个误导性的名称,位于错误的包中,请改用 PayloadBlock。
- 生成的图标 必须 在
createIcons 中创建;尝试使用 Core.atlas.addRegion 将根本无法工作。
LiquidModule#total() 已被弃用;请改用 currentAmount()。
弹药
- 任何与单位弹药相关的模组代码现在都已失效。
ResupplyPoint 类已被移除。
AmmoType 现在是一个接口,而不是类。
AmmoTypes 已被移除,请自行创建新实例。
- 弹药类型类已移至
mindustry.type.ammo 包中。
ContentType.ammo 已被"移除",因为弹药不再是内容。
弧
Pixmap 的 API 已完全更改。大多数方法现在禁用了混合,颜色/混合/缩放参数不再是 Pixmap 状态机的一部分。大多数与图像相关的方法现在是纯 Java,而不是 JNI + C。
SettingsDialog (Vars.ui.settings) 已移入 Mindustry 的代码库。这在技术上并未改变 API;然而,使用 6.0 源代码编译的 Java 模组将尝试访问不存在的字段和类,导致崩溃。使用 v7 Mindustry/arc 依赖项重新编译应该足以修复此问题。
- TextureAtlas 现在使用更小、更快的
aatls 二进制格式。请更新您的 Arc 依赖项以读取它。
Core.net 已被移除,请改用 arc.util.Http 中的静态方法。
RidgedPerlin 已重命名为 Ridged。
Simplex 和 Ridged 现在是无状态的;请使用静态方法生成噪声。种子是一个参数。
网络
- 用于数据包的
Registrator 已移至 Net,并且注册方法已公开,以便在 Java 模组中使用。
InvokePacket 已被移除,并被直接处理事件的生成数据包类替代。
RemoteRead{Server, Client} 也已被移除。
Packet 现在是一个抽象类,而不是接口。
其他
BulletType#despawned 在许多情况下不再被调用,如果您需要监听所有移除事件,请使用 #removed。
Attribute 现在是一个标准类,而不是枚举。请使用 Attribute.add 注册新的属性。
Vars.miningRange 已移至 UnitType。
Tex 中的所有字段现在都是 Drawable,而不是 NinePatchDrawable 或 TextureRegionDrawable。原因是这些字段是从图集加载的,这意味着更改 UI 精灵或过时图集的模组可能会导致 ClassCastException 崩溃。
精灵
- 现在单位和武器精灵的轮廓会自动生成。腿部区域目前不包括在内。
- 所有模组精灵在加载时会自动进行 alpha 混合,当启用线性过滤时 - 不再需要手动处理。