using HarmonyLib; using OWML.Common; using QSB.Patches; using QSB.Utility; using System; using UnityEngine; namespace QSB; /// /// "TEMPORARY": this is for trying to solve this stupid fucking bug (gorp) /// [HarmonyPatch(typeof(OWRigidbody))] public class TeleportingPlanetsPatch : QSBPatch { public override QSBPatchTypes Type => QSBPatchTypes.OnModStart; [HarmonyPostfix] [HarmonyPatch(nameof(OWRigidbody.SetPosition))] private static void SetPosition(OWRigidbody __instance, Vector3 worldPosition) { if (__instance.TryGetComponent(out var astroObject) && astroObject._name != AstroObject.Name.ProbeCannon) { DebugLog.ToConsole($"AHHHHHHHHH!!!!!!!!!\nPlanet {__instance.name} teleported! Please screenshot this and contact devs!\n{Environment.StackTrace}", MessageType.Fatal); } } }