跳转至

7.0 迁移指南

  • Block#expanded 现已弃用且无操作,请改用 Block#clipSize。该字段保留以确保兼容性,但最终将被移除。
  • 所有 mindustry.world.meta.values.* 类已被替换为 lambda 表达式。请参见 StatValues 类。
  • BlockForge 已从实验包中移出,并可能会经历重大更改。如果您在 Java 模组中使用此类,建议将其复制粘贴,以便继续使用旧版本。其他实验块也可能会被移出。
  • CacheLayer 现在是一个可以重写方法的类,而不是枚举。可以使用 CacheLayer#add 注册新层。
  • 各种字段,如 variantsattributes 已从 Floor 移动到 Block
  • Iconc 和相关方法已被移除;请使用 UnlockableContent.uiIcon/fullIcon
  • SmelterAttributeSmelter 已被弃用。这些类具有硬编码的绘制功能。请尽快过渡到 GenericCrafterDrawSmelter。对于属性支持,请使用 AttributeCrafter
  • Cultivator 由于与 Smelter 相同的原因被弃用,请改用 AttributeCrafter
  • ExtendingItemBridgeLiquidExtendingBridge 已与 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
  • SimplexRidged 现在是无状态的;请使用静态方法生成噪声。种子是一个参数。

网络

  • 用于数据包的 Registrator 已移至 Net,并且注册方法已公开,以便在 Java 模组中使用。
  • InvokePacket 已被移除,并被直接处理事件的生成数据包类替代。
  • RemoteRead{Server, Client} 也已被移除。
  • Packet 现在是一个抽象类,而不是接口。

其他

  • BulletType#despawned 在许多情况下不再被调用,如果您需要监听所有移除事件,请使用 #removed
  • Attribute 现在是一个标准类,而不是枚举。请使用 Attribute.add 注册新的属性。
  • Vars.miningRange 已移至 UnitType
  • Tex 中的所有字段现在都是 Drawable,而不是 NinePatchDrawableTextureRegionDrawable。原因是这些字段是从图集加载的,这意味着更改 UI 精灵或过时图集的模组可能会导致 ClassCastException 崩溃。

精灵

  • 现在单位和武器精灵的轮廓会自动生成。腿部区域目前不包括在内。
  • 所有模组精灵在加载时会自动进行 alpha 混合,当启用线性过滤时 - 不再需要手动处理。