diff --git a/NewHorizons/Builder/Props/VolcanoBuilder.cs b/NewHorizons/Builder/Props/VolcanoBuilder.cs index 54cf68e0..a5ddd810 100644 --- a/NewHorizons/Builder/Props/VolcanoBuilder.cs +++ b/NewHorizons/Builder/Props/VolcanoBuilder.cs @@ -45,6 +45,7 @@ namespace NewHorizons.Builder.Props } }); } + private static void FixMeteor(MeteorController meteor, PropModule.VolcanoInfo info) { meteor.transform.localScale = Vector3.one * info.scale; @@ -53,24 +54,16 @@ namespace NewHorizons.Builder.Props mat.SetColor(Color1, info.stoneTint?.ToColor() ?? defaultStoneTint); mat.SetColor(EmissionColor, info.lavaTint?.ToColor() ?? defaultLavaTint); - var detectors = meteor.transform.Find("ConstantDetectors").gameObject; - GameObject.Destroy(detectors.GetComponent()); - GameObject.Destroy(detectors.GetComponent()); + GameObject.Destroy(meteor.transform.Find("ConstantDetectors").gameObject); + + var detectors = meteor.transform.Find("DynamicDetector").gameObject; + + meteor._constantFluidDetector = null; + meteor._constantForceDetector = null; var forceDetector = detectors.gameObject.AddComponent(); - detectors.gameObject.AddComponent(); - detectors.layer = LayerMask.NameToLayer("BasicDetector"); - - var sphere = detectors.AddComponent(); - sphere.radius = 1; - - var sphere2 = detectors.AddComponent(); - sphere2._collisionMode = Shape.CollisionMode.Detector; - sphere2.radius = 1; - - forceDetector._collider = sphere; - forceDetector._shape = sphere2; + meteor._owColliders = meteor.gameObject.GetComponentsInChildren(); } } }