diff --git a/NewHorizons/External/Configs/StarSystemConfig.cs b/NewHorizons/External/Configs/StarSystemConfig.cs
index dac5e069..d190244a 100644
--- a/NewHorizons/External/Configs/StarSystemConfig.cs
+++ b/NewHorizons/External/Configs/StarSystemConfig.cs
@@ -43,8 +43,14 @@ namespace NewHorizons.External.Configs
///
/// Customize the skybox for this system
///
+ [Obsolete("skybox is deprecated, please use Skybox instead")]
public SkyboxConfig skybox;
+ ///
+ /// Customize the skybox for this system
+ ///
+ public SkyboxModule Skybox;
+
///
/// Set to `true` if you want to spawn here after dying, not Timber Hearth. You can still warp back to the main star
/// system.
@@ -117,6 +123,7 @@ namespace NewHorizons.External.Configs
public int[] z;
}
+ [Obsolete("SkyboxConfig is deprecated, please use SkyboxModule instead")]
[JsonObject]
public class SkyboxConfig
{
@@ -134,6 +141,52 @@ namespace NewHorizons.External.Configs
/// Path to the material within the asset bundle specified by `assetBundle` to use for the skybox
///
public string path;
+
+ }
+
+ [JsonObject]
+ public class SkyboxModule
+ {
+
+ ///
+ /// Whether to destroy the star field around the player
+ ///
+ public bool destroyStarField;
+
+ ///
+ /// Whether to use a cube for the skybox instead of a smooth sphere
+ ///
+ public bool useCube;
+
+ ///
+ /// Relative filepath to the texture to use for the skybox's positive X direction
+ ///
+ public string rightPath;
+
+ ///
+ /// Relative filepath to the texture to use for the skybox's negative X direction
+ ///
+ public string leftPath;
+
+ ///
+ /// Relative filepath to the texture to use for the skybox's positive Y direction
+ ///
+ public string topPath;
+
+ ///
+ /// Relative filepath to the texture to use for the skybox's negative Y direction
+ ///
+ public string bottomPath;
+
+ ///
+ /// Relative filepath to the texture to use for the skybox's positive Z direction
+ ///
+ public string frontPath;
+
+ ///
+ /// Relative filepath to the texture to use for the skybox's negative Z direction
+ ///
+ public string backPath;
}
///
@@ -162,7 +215,10 @@ namespace NewHorizons.External.Configs
// If current one is null take the other
factRequiredForWarp = string.IsNullOrEmpty(factRequiredForWarp) ? otherConfig.factRequiredForWarp : factRequiredForWarp;
+#pragma warning disable CS0618 // Type or member is obsolete
skybox = skybox == null ? otherConfig.skybox : skybox;
+#pragma warning restore CS0618 // Type or member is obsolete
+ Skybox = Skybox == null ? otherConfig.Skybox : Skybox;
travelAudio = string.IsNullOrEmpty(travelAudio) ? otherConfig.travelAudio : travelAudio;
// False by default so if one is true go true
@@ -187,6 +243,14 @@ namespace NewHorizons.External.Configs
#pragma warning disable 612, 618
if (!string.IsNullOrEmpty(travelAudioClip)) travelAudio = travelAudioClip;
if (!string.IsNullOrEmpty(travelAudioFilePath)) travelAudio = travelAudioFilePath;
+ if (skybox != null)
+ {
+ if (Skybox == null)
+ {
+ Skybox = new SkyboxModule();
+ Skybox.destroyStarField = skybox.destroyStarField;
+ }
+ }
}
}
}
\ No newline at end of file