diff --git a/NewHorizons/Builder/Props/GeyserBuilder.cs b/NewHorizons/Builder/Props/GeyserBuilder.cs
index 7d45635c..35d8a3f1 100644
--- a/NewHorizons/Builder/Props/GeyserBuilder.cs
+++ b/NewHorizons/Builder/Props/GeyserBuilder.cs
@@ -13,10 +13,10 @@ namespace NewHorizons.Builder.Props
var pos = (Vector3)info.position;
- // Want half of it to be underground
- var length = pos.magnitude - 65;
+ // Offset height, default -97.5 pushes it underground so the spout is at the surface
+ var length = pos.magnitude + info.offset;
- // About 130 high and the surface is at 65
+ // About 130 high, bubbles start at 10, shaft starts at 67, spout starts at 97.5
geyserGO.transform.position = planetGO.transform.TransformPoint(pos.normalized * length);
geyserGO.transform.localScale = Vector3.one;
diff --git a/NewHorizons/External/Modules/PropModule.cs b/NewHorizons/External/Modules/PropModule.cs
index 5e424bbd..70454a8f 100644
--- a/NewHorizons/External/Modules/PropModule.cs
+++ b/NewHorizons/External/Modules/PropModule.cs
@@ -219,6 +219,11 @@ namespace NewHorizons.External.Modules
///
public MVector3 position;
+ ///
+ /// Vertical offset of the geyser. From 0, the bubbles start at a height of 10, the shaft at 67, and the spout at 97.5.
+ ///
+ [DefaultValue(-97.5f)] public float offset = -97.5f;
+
///
/// Disable the individual particle systems of the geyser
///