From efa6016fe5f4f07fadacaf87a242f2eaedf57a5c Mon Sep 17 00:00:00 2001 From: devbeni Date: Sat, 13 Dec 2025 16:08:37 +0100 Subject: [PATCH] =?UTF-8?q?=C3=ADyx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Main.cs | 13 +++++++++++-- README.md | 3 +++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Main.cs b/Main.cs index 6b7f49d..8d516c5 100644 --- a/Main.cs +++ b/Main.cs @@ -2144,8 +2144,17 @@ namespace KCM { Assembly assembly = typeof(Building).Assembly; - var types = assembly - .GetTypes() + Type[] allTypes; + try + { + allTypes = assembly.GetTypes(); + } + catch (ReflectionTypeLoadException e) + { + allTypes = e.Types.Where(t => t != null).ToArray(); + } + + var types = allTypes .Where(t => t != null && typeof(Building).IsAssignableFrom(t) && !t.IsAbstract) .ToArray(); diff --git a/README.md b/README.md index 38f13d2..a2b0c32 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ A mellékelt log (`output.txt`) alapján több tipikus hiba okozta a szerver ind - `FieldSystem` `Player.inst` referenciáinak patch-elése (farm/termés állapotkezelés több helyen erre támaszkodik) - Mentés betöltéskor a `ProcessBuilding` útvonal kiegészítése `World.inst.PlaceFromLoad(...)` + `UnpackStage2(...)` hívásokkal (különösen fontos a “világba helyezés” mellékhatásai miatt, pl. farm/field regisztráció) - Save transfer kliens oldalon robusztusabb inicializálás/reset (ne ragadjon be a statikus állapot több betöltés után, plusz bounds/null ellenőrzések) +- Kompatibilitási fix: `World.inst.liverySets` lista esetén `.Count` használata `.Length` helyett (különben `Compilation failed` lehet egyes verziókon) Érintett fájlok (főbb pontok): @@ -54,6 +55,8 @@ Ha továbbra is hibát látsz: - Küldd el a `output.txt` releváns részét (a hiba előtti/utáni stack trace-t), vagy írd le a pontos üzenetet. - Írd meg, hogy: hostoltál-e, hány kliens csatlakozott, és mindenkin ugyanaz a mod-verzió van-e. +- Teszthez kapcsold ki a többi modot (különösen azokat, amik Harmony patch-elnek). A logban egy `Profiler` mod (`Profiler.ProfilerMod`) is hibázott, ez meg tudja zavarni a betöltést. +- Farm/termés desync esetén írd meg: host vagy kliens oldalon nem látszik-e a termés, új világban történik-e vagy save betöltés után, és hány perc játék után jön elő. ## Repo higiénia