My Airship Mod 我的飞艇mod
v0.8.2本mod包含一个飞艇和飞艇停靠台This mod includes an airship and an airship docking platform
- Source code
- No source provided
V7.0.4 2026年8月9日23:34:52
![F`RN@R]U]DEKJ4NJO0(6BJ1.png](/content-images/880548b5db3d6c665804724cf534a83f0c15ea5aa713280112530427d675bd1f/FRNRUDEKJ4NJO06BJ1.png?size=5)

v0.7.4 | 2026-08-09
- 加入一个Mining Airship 挖掘飞艇 设定为5000容量.
可挖掘矿物,可分配给控制塔.可自行运载货物. - 加入一个建筑Mining Airship 地面停机坪. 自带50万仓储空间.适合单矿物储存转运.
设置2个出口,只允许挖掘飞艇使用,不允许货物进入.他不是仓库,他是挖掘飞艇专属指定卸货平台. - 感谢中国玩家 你真俗,还看名(1029490594) 的提醒,加入禁止跨海飞艇的设定,免得有人跨海挖掘.
- 挖掘飞艇需要加油时将会停靠在飞艇停靠台.而卸货需要首先建设一个地面停机坪.他不会给其他建筑卸货.
& 使用自定义的飞控逻辑和导航逻辑,因此难免会有bug,有问题请及时反馈,我将会及时更新. - Add a Mining Airship with a capacity of 5000.
It can mine minerals, assign resources to the control tower, and carry cargo on its own. - Add a building: Mining Airship Ground Landing Pad. It comes with 500,000 storage space, suitable for storage and transshipment of a single type of mineral.
Set up 2 exits that are only accessible to mining airships; no cargo is allowed to enter. This is not a general‑purpose warehouse, but a dedicated unloading platform exclusively for mining airships. - Thanks to Chinese player 你真俗,还看名(1029490594) for the reminder. Added a setting to block cross‑sea airships to prevent cross‑sea mining.
- The mining airship will dock at the airship berth when refueling. A ground landing pad must be built first for unloading. It will not unload cargo to other buildings.
& Custom flight‑control and navigation logic are used, so bugs may occur. Please report issues promptly and I will release updates in a timely manner.
V5.0发布 2026年7月15日23:34:23
本次更新加入了燃料补给功能在飞艇停靠台.This update adds a fuel refueling function to the airship docking platform.
现在飞艇停靠台将会提供燃料补给功能.The airship docking platform will now feature a fuel refueling function.
提高了飞艇巡航高度,规避建筑,可以在建筑高空飞行,避免建筑碰撞问题.初步解决了一些路径和规避原则.加入大量逻辑来处理这一部分.
It increases the cruising altitude of the airship to avoid buildings, enabling flight above building heights and preventing building collision issues. It preliminarily optimizes several pathfinding and obstacle avoidance rules, with extensive logic added to handle these functions.
添加了氢气原料的飞艇!Airships with hydrogen fuel added
提高了飞艇的装卸速度和油料使用参数比,对飞行高度逻辑做了修正
It improved the loading and unloading speed of the airship and the fuel consumption parameter ratio, and revised the flight altitude logic
修复地形匹配,水面匹配,山体匹配的路径逻辑和飞行姿态.
屏蔽了一直困扰我很久的一个材质报错的问题.
加入大量调试断言.
Fixed the path logic and flight attitude for terrain matching, water surface matching and mountain body matching.
Fixed a material error issue that has plagued me for a long time.
Added a large number of debugging assertions.
本次更新,飞艇飞控系统和管理系统占用了总代码百分之41.In this update, the airship flight control system and management system account for 41 percent of the total code.
加入警告抑制系统!空闲监控.可以说我的飞行逻辑极其简洁,飞控地形的代码量极少,而对bug抑制和逻辑性的规避障碍啊,各种环节的判定做了优化.寻路方面做了修正.Added a warning suppression system and idle monitoring. My flight logic is extremely concise with very little code for the flight control terrain system. I have optimized bug suppression, logical obstacle avoidance and judgment in various links, and revised the pathfinding system.
更加详细的内容需要大家摸索,有问题即时给我反馈.More detailed content needs to be explored by everyone, and please give me timely feedback if there are any problems.
2026年7月12日15:33:46发布
本mod包含一个飞艇和飞艇停靠台 This mod includes an airship and an airship docking platform

在每一个级别车库都可以生产一个飞艇.
容量是2000,可以跨地形悬停空中运输货物.不要试图用它运输小容量的产品,毕竟他是基洛夫.

添加了一个新的建筑飞艇停靠台.在飞艇没有任务的时候,他会飞往最近的飞艇停靠台.这样能够省油.
本mod设计设想在25年7月就已经技术实现一直没有合适的预制体,现在使用了免费的模型预制件,重新适应085版本进行发布.
已知一直存在的一个预制体加载时的报错问题,现在还没解决,有空修复bug.
A new building, the airship docking platform, has been added. When the airship has no tasks, it will fly to the nearest airship docking platform to save fuel.
The technical design concept of this mod was realized in July 2025, but there was no suitable prefab available at that time. Now it adopts free model prefabs and is re-adapted for version 085 for release.
There is a long-standing error issue during prefab loading that remains unresolved, and the bug will be fixed when time permits.

V0.2.0 添加了建筑皮肤,然后修改了一下螺旋桨的运转方向.
V0.2.0 added building skins and adjusted the rotation direction of the propellers.
v0.2.1 修复发布0.2.0是忘记打包的预制体 2026年7月14日10:40:54
v0.2.1 Fixed the prefab that was not packaged during the v0.2.0 release on July 14, 2026, 10:40:54
蜂功伟业为大家倾情奉献
Dedicated Wholeheartedly to Everyone BY WTMXHYY
# **Copyright Notice 版权声明**
Copyright Notice 版权声明
作为本mod作者,有鉴于中国QQ群号:458776254 发布共享盗版游戏,侵犯作者权益违背社区公约.
本人宣布,在任何时候,任何情况下,永久禁止该群用户使用本人设计的任何mod.
As the author of this mod, given that Chinese QQ Group No. 458776254 has distributed and shared pirated games, infringing upon the author's rights and violating community rules.
I hereby announce that users from this group are permanently prohibited from using any mods created by me at any time and under any circumstances.
已知不修复BUG公告
现在已知0.7版本 ,存在一个明显bug.
按照游戏规则,应该建设飞艇停靠台,然后飞艇停靠.
但是科技和产能在实际生产中,首先实现的是飞艇,然后才是飞艇停靠台科技.
也就是此时,用户应该拥有了多个飞艇,而才开始建设停靠台.可如果此时,用户材料不足,飞艇停靠台建筑将会始终在建设中.
本建筑,虽然视觉上没有建成,但已经具备停靠功能.甚至具备加油站功能.
此时暂停建设建筑,可以节省大量建设用的资源,特别是在初期.
经过综合评估,本bug不影响游戏运行,不影响最终用户使用.暂时不予修复.特此公告
We have identified an obvious bug in Version 0.7.
Per the game rules, players need to construct an airship dock first before airships can berth there.
However, under the actual tech tree and production logic, airship technology is unlocked prior to airship dock technology.
This means players will already own multiple airships by the time they start building the airship dock. If the player lacks sufficient materials at this stage, the airship dock building will remain stuck in the construction queue indefinitely.
Despite the building visually appearing unfinished, it already fully supports airship berthing and even refueling functionality.
Pausing construction of this building at this stage can save a large amount of construction resources, which is especially valuable in the early game.
After comprehensive evaluation, this bug does not disrupt game operation or hinder player experience, so it will not be fixed for the time being. This announcement is hereby released.
感谢提醒
V2.0发布时候忘记了包含更新的模型预制体文件.造成模型文件丢失的问题.
现在重新发布V2.01,填补了应该携带的飞艇停靠台的相关预制体.感谢warrenc提醒🦀🦀
v0.8.2
Latest- Game version
- 0.8.6 - 0.8.7
- Released
- Aug 19, 2026
- File size
- 20.1 MB
- License
- CoI-Keep
* 修复0.8.1打包时丢失的地面停机坪图标 Fix the missing ground apron icon during packaging in version 0.8.1
v0.8.1
- Game version
- 0.8.6 - 0.8.7
- Released
- Aug 18, 2026
- File size
- 20.7 MB
- License
- CoI-Keep
* 加入对分拣机的支持,没有地面停机坪时,自动找寻附近的分拣厂卸货 * 使用新的模型应用于挖掘飞艇. * 修正了相关动画和下降高度和速度等问题. * 修复了其他几个bug * Added support for sorters; automatically find nearby sorting plants for unloading when no ground landing pad is available * Applied the new model to mining airships. * Fixed issues with related animations, descent height, speed and other problems. * Fixed several other bugs
v0.8.0
- Game version
- 0.8.6 - 0.8.7
- Released
- Aug 17, 2026
- File size
- 6.1 MB
- License
- CoI-Keep
* 感谢中国玩家 五毛辣条(523004259) 反馈的bug.
* 修复:OverclockingMod 共存时 4 缓冲区不显示(核心修复)
问题:单独加载 MyAirshipMod 时地面停机坪 4 个缓冲区正常,但只要加上 OverclockingMod,停机坪瞬间只显示 1 个主存储区。
根因:HelipadInspectorRedirect 在 Initialize 阶段手动 new 了一个 StorageInspector 单例,跳过了 Harmony 的 CtorPostfix(构造函数补丁),所以辅助槽面板从未被创建。同时,由于单例不在 InspectorsManager 的正常生命周期里 ,Activate(entity) 后 OnActivatedPostfix 也不触发。单独跑时还能凑合,加上 OverclockingMod 后对方 patch 了 Inspector 基类调用链,把这个脆弱的凑合也给打破了。
* 修复:在 HelipadInspectorRedirect.cs 的 TryActivateForPrefix 命中 Helipad 并调用 Activate(entity) 后,主动调用 HelipadInspectorPatch.EnsurePanelsForHelipad(s_helipadInspector),不再依赖游戏框架触发 CtorPostfix/OnActivatedPostfix,保证 3 个辅助槽面板 + 端口映射面板被创建,并启动 500ms Schedule 持续刷新。
* 修复:辅助缓冲区存档加载丢失(严重 bug)
问题:保存游戏后重新读档,3 个辅助缓冲区的产品类型和数量全部丢失,只有主缓冲区被保留。
根因:HelipadSaveLoad.cs 的 ParseBufferLine 和 ParsePortLine 存在数组索引越界——存档格式是 entityId:slotIndex=productId,quantity(只有 2 段),但解析代码写成了 header[4]、parts[4]、data[4](应为 header[1]、parts [1]、data[1])。每次解析都抛 IndexOutOfRangeException,被 catch { } 静默吞掉,所以永远加载不出来。
* 修复:纠正所有索引:header[4]→header[1]、parts[4]→parts[1]、data[4]→data[1]
Split 时用 Split(new[] {'='}, 2) 避免产品 ID 里有 = 被误伤
保存格式升级 v2:缓冲区一行从 entityId:slotIndex=productId,quantity 升级为 entityId:slotIndex=productId,quantity,capacity(多带 capacity),加载时向后兼容 v1 格式
ParseBufferLine 返回 bool、ParsePortLine 返回 int,LoadAll 统计已加载条数
失败时打印 Warning(含原始 line 内容),不再 silent swallow
* 修复:AirshipHQManager 编译错误
问题:AirshipHQManager.cs 同时引入了 Mafi.Core 和 UnityEngine 两个命名空间,两者都有 EntityId 类型,导致 12 处 EntityId 引用产生二义性编译错误。
* 修复:在 AirshipHQManager.cs 顶部 using 区添加别名 using EntityId = Mafi.Core.EntityId;,统一指向 Mafi 的 EntityId。
* 修复:BufferWithSlider 初值硬编码
问题:HelipadInspectorPatch.cs 的 CreateHelipadPanels 里 BufferWithSlider 初值硬编码为 new Quantity(500000)。
修复:改为引用 HelipadMultiBufferManager.DEFAULT_EXTRA_CAPACITY,避免后续调整辅助缓冲区容量时漏改。
* 修复:清理调试日志
移除以下文件中的刷屏级 -Debug 诊断日志,只保留 Error / Warning 和存档结果日志:
MyAirshipMod.cs:RegisterPrototypes 11 步成功日志
HelipadStorageHooks.cs:补丁绑定成功、CanReceive/ReceiveFromPort 每实体首次日志、HashSet<int> 去重容器
HelipadInspectorPatch.cs:ApplyPatch/PatchOnActivated/CtorPostfix/OnActivatedPostfix/EnsurePanelsForHelipad 成功日志、UpdatePanelVisibility 状态变化诊断、Dictionary<int,int> / HashSet<int> 去重容器
HelipadInspectorRedirect.cs:Initialize/ApplyPatch/TryActivateForPrefix 成功日志、HashSet<int> 去重容器
保留的日志:
存档保存/加载结果:[MyAirshipMod] HelipadSaveLoad 已保存/已加载: 辅助缓冲区=X条, 端口映射=Y条
所有 Error / Warning(绑定失败、反射失败、解析失败含原始行内容)**
* Thanks to Chinese player 五毛辣条(523004259) for reporting the bug.
* Fix: 4‑buffer display failure when OverclockingMod is present (core fix)
Issue: The 4 buffers on the ground helipad work correctly when MyAirshipMod runs alone. However, once OverclockingMod is enabled, only 1 main storage area is shown on the helipad.
Root Cause: HelipadInspectorRedirect manually instantiated a StorageInspector singleton during the Initialize phase, bypassing Harmony’s CtorPostfix (constructor patch). As a result, auxiliary slot panels were never created. Furthermore, since this singleton lived outside the normal lifecycle of InspectorsManager, OnActivatedPostfix would not fire after Activate(entity). The setup barely worked on its own, but adding OverclockingMod broke this fragile workaround because the mod patched the Inspector base‑class call chain.
* Fix: After TryActivateForPrefix in HelipadInspectorRedirect.cs matches a Helipad and calls Activate(entity), explicitly invoke HelipadInspectorPatch.EnsurePanelsForHelipad(s_helipadInspector). Remove reliance on the game framework to trigger CtorPostfix / OnActivatedPostfix. This guarantees creation of the 3 auxiliary‑slot panels plus the port‑mapping panel, and starts a 500ms Schedule for continuous refreshing.
* Fix: Auxiliary buffers data lost on save‑game load (critical bug)
Issue: After saving and reloading a save file, product types and quantities for all 3 auxiliary buffers are lost; only the main buffer remains intact.
Root Cause: Array index out‑of‑bounds errors in ParseBufferLine and ParsePortLine within HelipadSaveLoad.cs. The save format is entityId:slotIndex=productId,quantity (two segments only), yet the parsing code accessed header[4], parts[4], data[4] (should be header[1], parts[1], data[1]). Each parse threw an IndexOutOfRangeException which was silently swallowed by catch { }, so the data never loaded.
* Fix: Correct all indices: header[4] → header[1], parts[4] → parts[1], data[4] → data[1].
Use Split(new[] {'='}, 2) during splitting to prevent unintended parsing when product IDs contain '=' characters.
Save format upgraded to v2: each buffer line changes from entityId:slotIndex=productId,quantity to entityId:slotIndex=productId,quantity,capacity (added capacity field). Loader maintains backward compatibility with v1 format.
ParseBufferLine now returns bool, ParsePortLine returns int; LoadAll counts successfully loaded entries.
Print Warning (including the raw line content) on failure instead of silent swallowing.
* Fix: Compilation error in AirshipHQManager
Issue: AirshipHQManager.cs imports both Mafi.Core and UnityEngine namespaces. Both define an EntityId type, causing ambiguous reference compile errors at 12 EntityId usages.
* Fix: Add alias `using EntityId = Mafi.Core.EntityId;` in the top‑level using block of AirshipHQManager.cs to uniformly reference Mafi’s EntityId.
* Fix: Hard‑coded initial value in BufferWithSlider
Issue: In CreateHelipadPanels of HelipadInspectorPatch.cs, BufferWithSlider was hard‑initialized as new Quantity(500000).
* Fix: Reference HelipadMultiBufferManager.DEFAULT_EXTRA_CAPACITY instead, to avoid missing updates when adjusting auxiliary‑buffer capacity in the future.
* Fix: Clean up debug logs
Remove spam‑heavy‑Debug diagnostic logs from the listed files; keep only Error / Warning logs and save‑game result logs:
MyAirshipMod.cs: RegisterPrototypes 11‑step success logs
HelipadStorageHooks.cs: patch‑binding success logs, first‑time per‑entity logs for CanReceive/ReceiveFromPort, HashSet<int> deduplication containers
HelipadInspectorPatch.cs: success logs for ApplyPatch/PatchOnActivated/CtorPostfix/OnActivatedPostfix/EnsurePanelsForHelipad, state‑change diagnostics for UpdatePanelVisibility, Dictionary<int,int> / HashSet<int> deduplication containers
HelipadInspectorRedirect.cs: success logs for Initialize/ApplyPatch/TryActivateForPrefix, HashSet<int> deduplication containers
Preserved logs:
Save‑game save / load results: [MyAirshipMod] HelipadSaveLoad Saved / Loaded: Auxiliary buffers=X entries, Port mappings=Y entries
All Error / Warning logs (binding failures, reflection failures, parse failures with raw line content)
v0.7.9
- Game version
- 0.8.6 - 0.8.7
- Released
- Aug 15, 2026
- File size
- 6.1 MB
- License
- CoI-Keep
* 感谢社区玩家 Denis多次反馈模型脱模现象. * 经查,我的测试环境正常,但是发布环境里面的模组信息一直没有同步,造成了氢气飞艇模型实际没有被加载. * 现在修复这个问题. * Thanks to community player Denis for repeatedly reporting the model‑detaching issue. * After investigation, my test environment works properly, but the mod information in the release environment was never synchronized, resulting in the hydrogen airship model failing to load in practice. * This issue has now been fixed.
v0.7.8
- Game version
- 0.8.6 - 0.8.7
- Released
- Aug 15, 2026
- File size
- 6.1 MB
- License
- CoI-Keep
* 感谢中国玩家 梁家二公子(81994673) 由2026/8/14 21:38:43反馈实测BUG结果数据. * 已经重构400多行底层飞控逻辑,在挖掘飞艇被四面传送包围情况下可以任意飞行离开不再受困. * 解决了地面停机坪被传送带围困后挖掘飞艇无法找到地面停机坪的问题. Thanks to Chinese player Second Young Master Liang (81994673) for submitting real‑world test bug result data at 21:38:43, 14/8/2026. * Over 400 lines of underlying flight‑control logic have been refactored. The Dig Airship can now fly away freely when surrounded on all sides by conveyors and will no longer get trapped. * Fixed the issue where the Dig Airship could not locate the ground landing pad after the pad was enclosed by conveyors.
v0.7.7
- Game version
- 0.8.6 - 0.8.7
- Released
- Aug 14, 2026
- File size
- 6.1 MB
- License
- CoI-Keep
* 发现本mod和FGWYStorageMOD同时加载时,会受到FGWYStorageMOD的影响,而地面停机坪界面会恢复成单缓冲区.功能不受到影响,但是 造成了0.7.6版本的部分新修改的建筑属性不会有视觉效果.现在已经修复和FGWYStorageMOD的兼容扩展. * 彻底解决了挖掘机报错的提示日志过于频繁的问题.
v0.7.6
- Game version
- 0.8.6 - 0.8.7
- Released
- Aug 13, 2026
- File size
- 6.1 MB
- License
- CoI-Keep
* 感谢中国玩家 五毛辣条(523004259) 反馈的bug. * 感谢社区玩家 Denis 反馈的脱模问题. * 关于模型丢失的问题,已经查明是氢气飞艇的模型文件名没有写入mafi_bundles造成.现已修复. * 关于中国玩家 五毛辣条(523004259) 反馈的挖掘飞艇会卡在建筑中无法重置的问题已经修复,现在将会采取更高的飞艇高度躲避建筑 * 关于中国玩家 五毛辣条(523004259) 反馈的飞艇挖掘大量矿产和多个品种矿产时会出现挖掘飞艇不工作现象.其实这是因为地面停机坪是单货物卸载地这个设定造成. 为了解决这个问题,学习了Gameplay++ MOD(by Moriarty)的先进经验.对地面停机坪进行了深度改造. * 现在地面停机坪是可以支持4种货物的,自动识别,自动卸载分配. 用户可以不指定产品而让飞艇自己根据自身携带的矿物来决定这个地面停机坪应该有什么货物,然后用户自己决定由哪一个端口 进行输出. * 现在地面停机坪已经由以前的2个输出端口,修改为4个输出端口. * 地面停机坪设计参阅Gameplay++ MOD(by Moriarty)这个优秀的mod设计理念,对其作者 Moriarty 表示感谢. * Thanks to Chinese player Wumaolatiao (523004259) for reporting the bug. * Thanks to community player Denis for reporting the demoulding‑related issue. * Regarding the missing‑model issue: It has been identified that the model file name for the hydrogen airship was not written into mafi_bundles. This issue has now been fixed. * The bug reported by Chinese player Wumaolatiao (523004259), where the mining airship would get stuck inside buildings and could not be reset, has been fixed. The airship will now use a higher altitude to avoid buildings. * The issue reported by Chinese player Wumaolatiao (523004259), in which the mining airship stops working when mining large quantities and multiple types of minerals, stems from the ground landing pad being designed as a single‑cargo unloading point. To resolve this problem, we drew on advanced experience from the Gameplay++ MOD (by Moriarty) and carried out an in‑depth rework for the ground landing pad. * The ground landing pad now supports four types of cargo with automatic identification and automatic unloading allocation. Players may skip specifying products and let the airship determine which cargo the ground landing pad should handle based on the minerals it carries. Players can then select which port to use for output. * The ground landing pad has been updated from 2 output ports to 4 output ports. * The ground landing pad design references the excellent design philosophy of the Gameplay++ MOD (by Moriarty). Special thanks go to its author Moriarty.
v0.7.5
- Game version
- 0.8.6 - 0.8.6c
- Released
- Aug 10, 2026
- File size
- 6.1 MB
- License
- CoI-Keep
* 修改挖掘飞艇的飞行朝向 * 补充地面停机坪图标和挖掘飞艇的图标. * 修改挖掘飞艇飞行路径计算方式避免日志崩溃输出. * 调整参数适配问题. * 解决着陆反馈的字段获取逻辑 * 增加单货品唯一性的判定逻辑 * Modify the flight orientation of the mining airship * Add icons for the ground apron and the mining airship. * Modify the calculation method for the mining airship's flight path to prevent log‑output crashes. * Adjust parameters for adaptation issues. * Fix the field acquisition logic for landing feedback * Add judgment logic for the uniqueness of single‑goods items
v0.7.4
- Game version
- 0.8.6 - 0.8.6c
- Released
- Aug 09, 2026
- File size
- 6 MB
- License
- CoI-Keep
* 加入一个Mining Airship 挖掘飞艇 设定为5000容量. 可挖掘矿物,可分配给控制塔.可自行运载货物. * 加入一个建筑Mining Airship 地面停机坪. 自带50万仓储空间.适合单矿物储存转运. 设置2个出口,只允许挖掘飞艇使用,不允许货物进入.他不是仓库,他是挖掘飞艇专属指定卸货平台. * 感谢中国玩家 你真俗,还看名(1029490594) 的提醒,加入禁止跨海飞艇的设定,免得有人跨海挖掘. * 挖掘飞艇需要加油时将会停靠在飞艇停靠台.而卸货需要首先建设一个地面停机坪.他不会给其他建筑卸货. & 使用自定义的飞控逻辑和导航逻辑,因此难免会有bug,有问题请及时反馈,我将会及时更新. * Add a Mining Airship with a capacity of 5000. It can mine minerals, assign resources to the control tower, and carry cargo on its own. * Add a building: Mining Airship Ground Landing Pad. It comes with 500,000 storage space, suitable for storage and transshipment of a single type of mineral. Set up 2 exits that are only accessible to mining airships; no cargo is allowed to enter. This is not a general‑purpose warehouse, but a dedicated unloading platform exclusively for mining airships. * Thanks to Chinese player 你真俗,还看名(1029490594) for the reminder. Added a setting to block cross‑sea airships to prevent cross‑sea mining. * The mining airship will dock at the airship berth when refueling. A ground landing pad must be built first for unloading. It will not unload cargo to other buildings. & Custom flight‑control and navigation logic are used, so bugs may occur. Please report issues promptly and I will release updates in a timely manner.
v0.8.2 | 2026-08-19
* 修复0.8.1打包时丢失的地面停机坪图标 Fix the missing ground apron icon during packaging in version 0.8.1
v0.8.1 | 2026-08-18
* 加入对分拣机的支持,没有地面停机坪时,自动找寻附近的分拣厂卸货 * 使用新的模型应用于挖掘飞艇. * 修正了相关动画和下降高度和速度等问题. * 修复了其他几个bug * Added support for sorters; automatically find nearby sorting plants for unloading when no ground landing pad is available * Applied the new model to mining airships. * Fixed issues with related animations, descent height, speed and other problems. * Fixed several other bugs
v0.8.0 | 2026-08-17
* 感谢中国玩家 五毛辣条(523004259) 反馈的bug.
* 修复:OverclockingMod 共存时 4 缓冲区不显示(核心修复)
问题:单独加载 MyAirshipMod 时地面停机坪 4 个缓冲区正常,但只要加上 OverclockingMod,停机坪瞬间只显示 1 个主存储区。
根因:HelipadInspectorRedirect 在 Initialize 阶段手动 new 了一个 StorageInspector 单例,跳过了 Harmony 的 CtorPostfix(构造函数补丁),所以辅助槽面板从未被创建。同时,由于单例不在 InspectorsManager 的正常生命周期里 ,Activate(entity) 后 OnActivatedPostfix 也不触发。单独跑时还能凑合,加上 OverclockingMod 后对方 patch 了 Inspector 基类调用链,把这个脆弱的凑合也给打破了。
* 修复:在 HelipadInspectorRedirect.cs 的 TryActivateForPrefix 命中 Helipad 并调用 Activate(entity) 后,主动调用 HelipadInspectorPatch.EnsurePanelsForHelipad(s_helipadInspector),不再依赖游戏框架触发 CtorPostfix/OnActivatedPostfix,保证 3 个辅助槽面板 + 端口映射面板被创建,并启动 500ms Schedule 持续刷新。
* 修复:辅助缓冲区存档加载丢失(严重 bug)
问题:保存游戏后重新读档,3 个辅助缓冲区的产品类型和数量全部丢失,只有主缓冲区被保留。
根因:HelipadSaveLoad.cs 的 ParseBufferLine 和 ParsePortLine 存在数组索引越界——存档格式是 entityId:slotIndex=productId,quantity(只有 2 段),但解析代码写成了 header[4]、parts[4]、data[4](应为 header[1]、parts [1]、data[1])。每次解析都抛 IndexOutOfRangeException,被 catch { } 静默吞掉,所以永远加载不出来。
* 修复:纠正所有索引:header[4]→header[1]、parts[4]→parts[1]、data[4]→data[1]
Split 时用 Split(new[] {'='}, 2) 避免产品 ID 里有 = 被误伤
保存格式升级 v2:缓冲区一行从 entityId:slotIndex=productId,quantity 升级为 entityId:slotIndex=productId,quantity,capacity(多带 capacity),加载时向后兼容 v1 格式
ParseBufferLine 返回 bool、ParsePortLine 返回 int,LoadAll 统计已加载条数
失败时打印 Warning(含原始 line 内容),不再 silent swallow
* 修复:AirshipHQManager 编译错误
问题:AirshipHQManager.cs 同时引入了 Mafi.Core 和 UnityEngine 两个命名空间,两者都有 EntityId 类型,导致 12 处 EntityId 引用产生二义性编译错误。
* 修复:在 AirshipHQManager.cs 顶部 using 区添加别名 using EntityId = Mafi.Core.EntityId;,统一指向 Mafi 的 EntityId。
* 修复:BufferWithSlider 初值硬编码
问题:HelipadInspectorPatch.cs 的 CreateHelipadPanels 里 BufferWithSlider 初值硬编码为 new Quantity(500000)。
修复:改为引用 HelipadMultiBufferManager.DEFAULT_EXTRA_CAPACITY,避免后续调整辅助缓冲区容量时漏改。
* 修复:清理调试日志
移除以下文件中的刷屏级 -Debug 诊断日志,只保留 Error / Warning 和存档结果日志:
MyAirshipMod.cs:RegisterPrototypes 11 步成功日志
HelipadStorageHooks.cs:补丁绑定成功、CanReceive/ReceiveFromPort 每实体首次日志、HashSet<int> 去重容器
HelipadInspectorPatch.cs:ApplyPatch/PatchOnActivated/CtorPostfix/OnActivatedPostfix/EnsurePanelsForHelipad 成功日志、UpdatePanelVisibility 状态变化诊断、Dictionary<int,int> / HashSet<int> 去重容器
HelipadInspectorRedirect.cs:Initialize/ApplyPatch/TryActivateForPrefix 成功日志、HashSet<int> 去重容器
保留的日志:
存档保存/加载结果:[MyAirshipMod] HelipadSaveLoad 已保存/已加载: 辅助缓冲区=X条, 端口映射=Y条
所有 Error / Warning(绑定失败、反射失败、解析失败含原始行内容)**
* Thanks to Chinese player 五毛辣条(523004259) for reporting the bug.
* Fix: 4‑buffer display failure when OverclockingMod is present (core fix)
Issue: The 4 buffers on the ground helipad work correctly when MyAirshipMod runs alone. However, once OverclockingMod is enabled, only 1 main storage area is shown on the helipad.
Root Cause: HelipadInspectorRedirect manually instantiated a StorageInspector singleton during the Initialize phase, bypassing Harmony’s CtorPostfix (constructor patch). As a result, auxiliary slot panels were never created. Furthermore, since this singleton lived outside the normal lifecycle of InspectorsManager, OnActivatedPostfix would not fire after Activate(entity). The setup barely worked on its own, but adding OverclockingMod broke this fragile workaround because the mod patched the Inspector base‑class call chain.
* Fix: After TryActivateForPrefix in HelipadInspectorRedirect.cs matches a Helipad and calls Activate(entity), explicitly invoke HelipadInspectorPatch.EnsurePanelsForHelipad(s_helipadInspector). Remove reliance on the game framework to trigger CtorPostfix / OnActivatedPostfix. This guarantees creation of the 3 auxiliary‑slot panels plus the port‑mapping panel, and starts a 500ms Schedule for continuous refreshing.
* Fix: Auxiliary buffers data lost on save‑game load (critical bug)
Issue: After saving and reloading a save file, product types and quantities for all 3 auxiliary buffers are lost; only the main buffer remains intact.
Root Cause: Array index out‑of‑bounds errors in ParseBufferLine and ParsePortLine within HelipadSaveLoad.cs. The save format is entityId:slotIndex=productId,quantity (two segments only), yet the parsing code accessed header[4], parts[4], data[4] (should be header[1], parts[1], data[1]). Each parse threw an IndexOutOfRangeException which was silently swallowed by catch { }, so the data never loaded.
* Fix: Correct all indices: header[4] → header[1], parts[4] → parts[1], data[4] → data[1].
Use Split(new[] {'='}, 2) during splitting to prevent unintended parsing when product IDs contain '=' characters.
Save format upgraded to v2: each buffer line changes from entityId:slotIndex=productId,quantity to entityId:slotIndex=productId,quantity,capacity (added capacity field). Loader maintains backward compatibility with v1 format.
ParseBufferLine now returns bool, ParsePortLine returns int; LoadAll counts successfully loaded entries.
Print Warning (including the raw line content) on failure instead of silent swallowing.
* Fix: Compilation error in AirshipHQManager
Issue: AirshipHQManager.cs imports both Mafi.Core and UnityEngine namespaces. Both define an EntityId type, causing ambiguous reference compile errors at 12 EntityId usages.
* Fix: Add alias `using EntityId = Mafi.Core.EntityId;` in the top‑level using block of AirshipHQManager.cs to uniformly reference Mafi’s EntityId.
* Fix: Hard‑coded initial value in BufferWithSlider
Issue: In CreateHelipadPanels of HelipadInspectorPatch.cs, BufferWithSlider was hard‑initialized as new Quantity(500000).
* Fix: Reference HelipadMultiBufferManager.DEFAULT_EXTRA_CAPACITY instead, to avoid missing updates when adjusting auxiliary‑buffer capacity in the future.
* Fix: Clean up debug logs
Remove spam‑heavy‑Debug diagnostic logs from the listed files; keep only Error / Warning logs and save‑game result logs:
MyAirshipMod.cs: RegisterPrototypes 11‑step success logs
HelipadStorageHooks.cs: patch‑binding success logs, first‑time per‑entity logs for CanReceive/ReceiveFromPort, HashSet<int> deduplication containers
HelipadInspectorPatch.cs: success logs for ApplyPatch/PatchOnActivated/CtorPostfix/OnActivatedPostfix/EnsurePanelsForHelipad, state‑change diagnostics for UpdatePanelVisibility, Dictionary<int,int> / HashSet<int> deduplication containers
HelipadInspectorRedirect.cs: success logs for Initialize/ApplyPatch/TryActivateForPrefix, HashSet<int> deduplication containers
Preserved logs:
Save‑game save / load results: [MyAirshipMod] HelipadSaveLoad Saved / Loaded: Auxiliary buffers=X entries, Port mappings=Y entries
All Error / Warning logs (binding failures, reflection failures, parse failures with raw line content)
v0.7.9 | 2026-08-15
* 感谢社区玩家 Denis多次反馈模型脱模现象. * 经查,我的测试环境正常,但是发布环境里面的模组信息一直没有同步,造成了氢气飞艇模型实际没有被加载. * 现在修复这个问题. * Thanks to community player Denis for repeatedly reporting the model‑detaching issue. * After investigation, my test environment works properly, but the mod information in the release environment was never synchronized, resulting in the hydrogen airship model failing to load in practice. * This issue has now been fixed.
v0.7.8 | 2026-08-15
* 感谢中国玩家 梁家二公子(81994673) 由2026/8/14 21:38:43反馈实测BUG结果数据. * 已经重构400多行底层飞控逻辑,在挖掘飞艇被四面传送包围情况下可以任意飞行离开不再受困. * 解决了地面停机坪被传送带围困后挖掘飞艇无法找到地面停机坪的问题. Thanks to Chinese player Second Young Master Liang (81994673) for submitting real‑world test bug result data at 21:38:43, 14/8/2026. * Over 400 lines of underlying flight‑control logic have been refactored. The Dig Airship can now fly away freely when surrounded on all sides by conveyors and will no longer get trapped. * Fixed the issue where the Dig Airship could not locate the ground landing pad after the pad was enclosed by conveyors.
v0.7.7 | 2026-08-14
* 发现本mod和FGWYStorageMOD同时加载时,会受到FGWYStorageMOD的影响,而地面停机坪界面会恢复成单缓冲区.功能不受到影响,但是 造成了0.7.6版本的部分新修改的建筑属性不会有视觉效果.现在已经修复和FGWYStorageMOD的兼容扩展. * 彻底解决了挖掘机报错的提示日志过于频繁的问题.
v0.7.6 | 2026-08-13
* 感谢中国玩家 五毛辣条(523004259) 反馈的bug. * 感谢社区玩家 Denis 反馈的脱模问题. * 关于模型丢失的问题,已经查明是氢气飞艇的模型文件名没有写入mafi_bundles造成.现已修复. * 关于中国玩家 五毛辣条(523004259) 反馈的挖掘飞艇会卡在建筑中无法重置的问题已经修复,现在将会采取更高的飞艇高度躲避建筑 * 关于中国玩家 五毛辣条(523004259) 反馈的飞艇挖掘大量矿产和多个品种矿产时会出现挖掘飞艇不工作现象.其实这是因为地面停机坪是单货物卸载地这个设定造成. 为了解决这个问题,学习了Gameplay++ MOD(by Moriarty)的先进经验.对地面停机坪进行了深度改造. * 现在地面停机坪是可以支持4种货物的,自动识别,自动卸载分配. 用户可以不指定产品而让飞艇自己根据自身携带的矿物来决定这个地面停机坪应该有什么货物,然后用户自己决定由哪一个端口 进行输出. * 现在地面停机坪已经由以前的2个输出端口,修改为4个输出端口. * 地面停机坪设计参阅Gameplay++ MOD(by Moriarty)这个优秀的mod设计理念,对其作者 Moriarty 表示感谢. * Thanks to Chinese player Wumaolatiao (523004259) for reporting the bug. * Thanks to community player Denis for reporting the demoulding‑related issue. * Regarding the missing‑model issue: It has been identified that the model file name for the hydrogen airship was not written into mafi_bundles. This issue has now been fixed. * The bug reported by Chinese player Wumaolatiao (523004259), where the mining airship would get stuck inside buildings and could not be reset, has been fixed. The airship will now use a higher altitude to avoid buildings. * The issue reported by Chinese player Wumaolatiao (523004259), in which the mining airship stops working when mining large quantities and multiple types of minerals, stems from the ground landing pad being designed as a single‑cargo unloading point. To resolve this problem, we drew on advanced experience from the Gameplay++ MOD (by Moriarty) and carried out an in‑depth rework for the ground landing pad. * The ground landing pad now supports four types of cargo with automatic identification and automatic unloading allocation. Players may skip specifying products and let the airship determine which cargo the ground landing pad should handle based on the minerals it carries. Players can then select which port to use for output. * The ground landing pad has been updated from 2 output ports to 4 output ports. * The ground landing pad design references the excellent design philosophy of the Gameplay++ MOD (by Moriarty). Special thanks go to its author Moriarty.
v0.7.5 | 2026-08-10
* 修改挖掘飞艇的飞行朝向 * 补充地面停机坪图标和挖掘飞艇的图标. * 修改挖掘飞艇飞行路径计算方式避免日志崩溃输出. * 调整参数适配问题. * 解决着陆反馈的字段获取逻辑 * 增加单货品唯一性的判定逻辑 * Modify the flight orientation of the mining airship * Add icons for the ground apron and the mining airship. * Modify the calculation method for the mining airship's flight path to prevent log‑output crashes. * Adjust parameters for adaptation issues. * Fix the field acquisition logic for landing feedback * Add judgment logic for the uniqueness of single‑goods items
v0.7.4 | 2026-08-09
* 加入一个Mining Airship 挖掘飞艇 设定为5000容量. 可挖掘矿物,可分配给控制塔.可自行运载货物. * 加入一个建筑Mining Airship 地面停机坪. 自带50万仓储空间.适合单矿物储存转运. 设置2个出口,只允许挖掘飞艇使用,不允许货物进入.他不是仓库,他是挖掘飞艇专属指定卸货平台. * 感谢中国玩家 你真俗,还看名(1029490594) 的提醒,加入禁止跨海飞艇的设定,免得有人跨海挖掘. * 挖掘飞艇需要加油时将会停靠在飞艇停靠台.而卸货需要首先建设一个地面停机坪.他不会给其他建筑卸货. & 使用自定义的飞控逻辑和导航逻辑,因此难免会有bug,有问题请及时反馈,我将会及时更新. * Add a Mining Airship with a capacity of 5000. It can mine minerals, assign resources to the control tower, and carry cargo on its own. * Add a building: Mining Airship Ground Landing Pad. It comes with 500,000 storage space, suitable for storage and transshipment of a single type of mineral. Set up 2 exits that are only accessible to mining airships; no cargo is allowed to enter. This is not a general‑purpose warehouse, but a dedicated unloading platform exclusively for mining airships. * Thanks to Chinese player 你真俗,还看名(1029490594) for the reminder. Added a setting to block cross‑sea airships to prevent cross‑sea mining. * The mining airship will dock at the airship berth when refueling. A ground landing pad must be built first for unloading. It will not unload cargo to other buildings. & Custom flight‑control and navigation logic are used, so bugs may occur. Please report issues promptly and I will release updates in a timely manner.
v0.7.3 | 2026-08-03
* 根据Hoochie的建议! * 调整燃料管道口位置为同位置并行. * Per Hoochie's recommendation! * Adjust the fuel pipe openings to run parallel at the same location.
v0.7.2 | 2026-08-03
* 分割燃油和氢气飞艇的模型.氢气飞艇使用单独的模型. * 单独设定氢气飞艇的飞控姿态调节和燃油飞艇数据匹配协调. * 修正氢气飞艇的寻路避障 * 修正两处参数的调用极值,避免负数id的调用问题,解决了一个日志报错问题. * Model separation for fuel-powered airships and hydrogen airships. Hydrogen airships adopt an independent model. * Independently configure the flight control attitude adjustment of hydrogen airships to achieve data matching and coordination with fuel-powered airships. * Fix pathfinding and obstacle avoidance for hydrogen airships. * Correct the extreme values for invoking two sets of parameters to prevent invocation of negative IDs and resolve a log error.
v0.7.1 | 2026-07-28
* 删除占位状态界面,状态识别系统内置. * Remove the placeholder status interface; the status recognition system is built-in.
v0.7.0 | 2026-07-28
* 社区玩家 Hoochie 等玩家不断提醒. * 添加更加繁琐的地形匹配代码.添加新的判断逻辑. * 新增 - 动态高度计算管理器 * 修改 - 飞行控制补丁 * 修改 - 停靠台管理 * 修改 - 停靠台实体补丁 * 修改 - 修改停靠台高度,和默认巡航高度. * 修复 - 动态高度计算(修复穿山问题) * 修复 -螺旋桨控制 * 修复- 飞艇停靠管理 * Community players including Hoochie and others kept sending reminders. * Added more cumbersome terrain matching code and new judgment logic. * New Feature - Dynamic Height Calculation Manager * Modified - Flight Control Patch * Modified - Docking Station Management * Modified - Docking Station Entity Patch * Modified - Adjusted the height of docking stations and the default cruising altitude. * Fixed - Dynamic height calculation (resolved the terrain penetration issue) * Fixed - Propeller control * Fixed - Airship docking management
v0.6.0 | 2026-07-17
* 根据Denis和NightFury提供的建议 * 1,现在用户可以根据自己喜好进行参数自定义,自己决定油料消耗,容量,污染等参数完全可以自定义. * 2,已经解决了氢气飞艇产生污染的问题. * 3,研究后置,现在要大型汽车研发后才会出现飞艇. * Based on suggestions provided by Denis and NightFury * Players can now customize parameters to their preference, including fuel consumption, tank capacity, pollution output and other fully adjustable values. * The pollution generation issue of hydrogen airships has been resolved. * Tech tree rebalancing: Airship research is now locked behind heavy vehicle development. Airships can only be unlocked after researching large vehicles. v0.5.0 | 2026-07-15 * 提高巡航高度,提高装卸速度. * 修正高度计算逻辑 * 大量针对各种装卸逻辑的补充和修正. * 永久吐槽游戏的寻路系统,太烂了!各种bug头疼
v0.2.1 | 2026-07-12
* 添加了0.2.0缺失的飞艇停靠台预制体文件
v0.2.0 | 2026-07-12
* 添加了飞艇停靠台
v0.1.0 | 2026-07-12
* 添加飞艇在车库
This mod has no dependencies.
No other mods depend on this mod yet.
