|
|
本帖最后由 AnyIDElse 于 2026-9-8 10:23 编辑
早期问题,解决方法选择一种:
方法1:
更新到最新版,然后重开存档
方法2:
先更新到最新版,然后把以下 一行 内容完整地复制到控制台里并按下回车:
runcode { Global.getSector().getPersistentData().put("TEMModPlugin_Gen2", true); StarSystemAPI system = data.scripts.world.templars.TEM_Antioch.getAntiochSystem(Global.getSector()); if (system == null) return; LocationAPI hyper = Global.getSector().getHyperspace(); List<JumpPointAPI> inSystem = new ArrayList<JumpPointAPI>(); for (Object curr : system.getJumpPoints()) { JumpPointAPI jp = (JumpPointAPI) curr; if (!jp.isWormhole()) inSystem.add(jp); } JumpPointAPI keep = inSystem.isEmpty() ? null : (JumpPointAPI) inSystem.get(0); for (Object jp : inSystem) if (jp != keep) system.removeEntity((SectorEntityToken) jp); SectorEntityToken keptTwin = null; for (Object curr : new ArrayList<SectorEntityToken>(hyper.getJumpPoints())) { JumpPointAPI t = (JumpPointAPI) curr; if (t.isWormhole() || t.getDestinationStarSystem() != system) continue; boolean reserve = keep == null && keptTwin == null; if (!reserve && keep != null) { for (Object destObj : t.getDestinations()) { com.fs.starfarer.api.campaign.JumpPointAPI.JumpDestination dest = (com.fs.starfarer.api.campaign.JumpPointAPI.JumpDestination) destObj; if (dest.getDestination() == keep) { reserve = true; break; } } for (Object destObj : keep.getDestinations()) { com.fs.starfarer.api.campaign.JumpPointAPI.JumpDestination dest = (com.fs.starfarer.api.campaign.JumpPointAPI.JumpDestination) destObj; if (dest.getDestination() == t) { reserve = true; break; } } } if (reserve) { keptTwin = t; continue; } hyper.removeEntity(t); } }
这非常可能解决问题,足以覆盖几乎所有带主流MOD的兼容性情况。但不保证,因为还取决于你的环境里是否存在更多未考虑的MOD
|
|