From 565f3a1c24191ce0a3950183b81a568beb6ab1f0 Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Fri, 10 Oct 2025 01:37:29 +0200
Subject: [PATCH 01/50] Fixed items being added in nested container instead of
player inventory
---
.../Helper/InventoryContainerHelper.cs | 23 +++++++++++--------
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/NitroxClient/GameLogic/Helper/InventoryContainerHelper.cs b/NitroxClient/GameLogic/Helper/InventoryContainerHelper.cs
index c240853e3..ea8938270 100644
--- a/NitroxClient/GameLogic/Helper/InventoryContainerHelper.cs
+++ b/NitroxClient/GameLogic/Helper/InventoryContainerHelper.cs
@@ -14,9 +14,21 @@ public class InventoryContainerHelper
private const string LOCKER_BASE_NAME = "submarine_locker_01_0";
private const string PLAYER_OBJECT_NAME = "Player";
private const string ESCAPEPOD_OBJECT_NAME = "EscapePod";
-
+
+ ///
+ /// Gets inventory container of game object. Returns player inventory first, then child inventories.
+ ///
public static Optional TryGetContainerByOwner(GameObject owner)
{
+ if (owner.name == PLAYER_OBJECT_NAME)
+ {
+ return Optional.Of(Inventory.Get().container);
+ }
+ RemotePlayerIdentifier remotePlayerId = owner.GetComponent();
+ if (remotePlayerId)
+ {
+ return Optional.Of(remotePlayerId.RemotePlayer.Inventory);
+ }
SeamothStorageContainer seamothStorageContainer = owner.GetComponent();
if (seamothStorageContainer)
{
@@ -32,15 +44,6 @@ public static Optional TryGetContainerByOwner(GameObject owner)
{
return Optional.Of(baseBioReactor.container);
}
- if (owner.name == PLAYER_OBJECT_NAME)
- {
- return Optional.Of(Inventory.Get().container);
- }
- RemotePlayerIdentifier remotePlayerId = owner.GetComponent();
- if (remotePlayerId)
- {
- return Optional.Of(remotePlayerId.RemotePlayer.Inventory);
- }
return Optional.Empty;
}
From 09365b5d0f642dc009f99fe6b5349fb06e2e2517 Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Fri, 10 Oct 2025 02:15:52 +0200
Subject: [PATCH 02/50] Moved extensions in NitroxClient to
NitroxCient.Extensions namespace
---
.../Processors/BuildingResyncProcessor.cs | 1 +
...yclopsDamagePointHealthChangedProcessor.cs | 1 +
.../Processors/CyclopsDamageProcessor.cs | 1 +
.../Processors/EntityReparentedProcessor.cs | 1 +
.../Packets/Processors/FireDousedProcessor.cs | 1 +
.../MedicalCabinetClickedProcessor.cs | 1 +
.../OpenableStateChangedProcessor.cs | 1 +
.../SeaTreaderSpawnedChunkProcessor.cs | 3 +-
.../Processors/ToggleLightsProcessor.cs | 1 +
.../Processors/VehicleUndockingProcessor.cs | 1 +
NitroxClient/Debuggers/SceneDebugger.cs | 1 +
.../CoroutineExtensions.cs} | 4 +-
.../Extensions/GameObjectExtensions.cs | 185 ++++++++++++++++++
.../GameObjectReferenceHolderExtensions.cs | 2 +-
.../NitroxEntityExtensions.cs | 3 +-
.../PlanterExtensions.cs | 3 +-
.../RendererExtensions.cs} | 4 +-
NitroxClient/Extensions/StringExtensions.cs | 37 ++++
.../UnityObjectExtensions.cs | 3 +-
.../VFXConstructingExtensions.cs} | 4 +-
NitroxClient/GameLogic/Bases/BuildUtils.cs | 1 +
.../GameLogic/Bases/BuildingHandler.cs | 1 +
.../GameLogic/Bases/GhostMetadataApplier.cs | 1 +
.../GameLogic/Bases/GhostMetadataRetriever.cs | 1 +
NitroxClient/GameLogic/BulletManager.cs | 3 +-
NitroxClient/GameLogic/Cyclops.cs | 1 +
NitroxClient/GameLogic/Entities.cs | 1 +
NitroxClient/GameLogic/EquipmentSlots.cs | 1 +
NitroxClient/GameLogic/ExosuitModuleEvent.cs | 1 +
NitroxClient/GameLogic/Fires.cs | 1 +
.../GameLogic/Helper/EquipmentHelper.cs | 2 +-
.../Helper/InventoryContainerHelper.cs | 6 +-
.../EquippedItemInitialSyncProcessor.cs | 1 +
.../InitialSync/PlayerInitialSyncProcessor.cs | 1 +
.../PlayerPreferencesInitialSyncProcessor.cs | 1 +
.../QuickSlotInitialSyncProcessor.cs | 1 +
NitroxClient/GameLogic/ItemContainers.cs | 1 +
NitroxClient/GameLogic/Items.cs | 1 +
NitroxClient/GameLogic/LiveMixinManager.cs | 1 +
NitroxClient/GameLogic/LocalPlayer.cs | 1 +
NitroxClient/GameLogic/MedkitFabricator.cs | 1 +
NitroxClient/GameLogic/MobileVehicleBay.cs | 1 +
.../ColorSwap/DiveSuitColorSwapManager.cs | 1 +
.../ColorSwap/FinColorSwapManager.cs | 1 +
.../RadiationHelmetColorSwapManager.cs | 1 +
.../RadiationSuitColorSwapManager.cs | 1 +
.../RadiationSuitVestColorSwapManager.cs | 1 +
.../RadiationTankColorSwapManager.cs | 1 +
.../ColorSwap/RebreatherColorSwapManager.cs | 1 +
.../ReinforcedSuitColorSwapManager.cs | 1 +
.../ColorSwap/ScubaTankColorSwapManager.cs | 1 +
.../ColorSwap/StillSuitColorSwapManager.cs | 1 +
NitroxClient/GameLogic/RemotePlayer.cs | 1 +
NitroxClient/GameLogic/Rockets.cs | 1 +
NitroxClient/GameLogic/SeamothModulesEvent.cs | 1 +
.../Spawning/Bases/BuildEntitySpawner.cs | 1 +
.../Spawning/Bases/GhostEntitySpawner.cs | 1 +
.../Bases/InteriorPieceEntitySpawner.cs | 1 +
.../Spawning/Bases/ModuleEntitySpawner.cs | 1 +
.../Spawning/InstalledBatteryEntitySpawner.cs | 5 +-
.../Spawning/InstalledModuleEntitySpawner.cs | 3 +-
.../Spawning/InventoryItemEntitySpawner.cs | 3 +-
.../Metadata/EntityMetadataManager.cs | 1 +
.../Extractor/CyclopsMetadataExtractor.cs | 1 +
.../Extractor/EscapePodMetadataExtractor.cs | 1 +
.../Extractor/FlashlightMetadataExtractor.cs | 1 +
.../Extractor/PlayerMetadataExtractor.cs | 1 +
.../Extractor/RocketMetadataExtractor.cs | 1 +
.../Abstract/VehicleMetadataProcessor.cs | 1 +
.../Processor/CrafterMetadataProcessor.cs | 1 +
.../CyclopsLightingMetadataProcessor.cs | 1 +
.../Processor/CyclopsMetadataProcessor.cs | 1 +
.../Processor/EatableMetadataProcessor.cs | 1 +
.../Processor/PlayerMetadataProcessor.cs | 1 +
.../Processor/RocketMetadataProcessor.cs | 1 +
.../WorldEntities/CrashEntitySpawner.cs | 5 +-
.../CreatureRespawnEntitySpawner.cs | 5 +-
.../DefaultWorldEntitySpawner.cs | 2 +-
.../WorldEntities/GeyserWorldEntitySpawner.cs | 5 +-
.../WorldEntities/GlobalRootEntitySpawner.cs | 3 +-
.../WorldEntities/OxygenPipeEntitySpawner.cs | 5 +-
.../WorldEntities/PlacedWorldEntitySpawner.cs | 5 +-
.../WorldEntities/PlayerEntitySpawner.cs | 1 +
.../ReefbackChildEntitySpawner.cs | 5 +-
.../WorldEntities/ReefbackEntitySpawner.cs | 5 +-
.../WorldEntities/VehicleEntitySpawner.cs | 1 +
NitroxClient/GameLogic/Terrain.cs | 1 +
NitroxClient/GameLogic/Vehicles.cs | 1 +
NitroxClient/GlobalUsings.cs | 1 +
.../Helpers/NitroxProtobufSerializer.cs | 2 +-
.../MonoBehaviours/BaseLeakManager.cs | 1 +
.../MultiplayerCinematicReference.cs | 1 +
.../MonoBehaviours/Cyclops/NitroxCyclops.cs | 1 +
.../MonoBehaviours/Cyclops/VirtualCyclops.cs | 1 +
.../EntityPositionBroadcaster.cs | 1 +
.../MonoBehaviours/FMODEmitterController.cs | 1 +
.../Gui/HUD/RemotePlayerVitals.cs | 1 +
.../Gui/MainMenu/MainMenuNotificationPanel.cs | 1 +
.../MainMenu/NitroxMainMenuModifications.cs | 5 +-
.../ServerJoin/MainMenuColorPickerPreview.cs | 1 +
.../ServerJoin/MainMenuEnterPasswordPanel.cs | 1 +
.../ServerJoin/MainMenuJoinServerPanel.cs | 1 +
.../ServersList/MainMenuCreateServerPanel.cs | 1 +
.../ServersList/MainMenuServerButton.cs | 1 +
.../ServersList/MainMenuServerListPanel.cs | 1 +
.../MonoBehaviours/MoonpoolManager.cs | 1 +
.../MonoBehaviours/MovementBroadcaster.cs | 1 +
.../MonoBehaviours/MovementReplicator.cs | 1 +
.../MonoBehaviours/OutOfCellEntity.cs | 1 +
.../Overrides/MultiplayerBench.cs | 1 +
.../MonoBehaviours/PlayerDeathBroadcaster.cs | 1 +
.../PlayerMovementBroadcaster.cs | 1 +
.../MonoBehaviours/PlayerStatsBroadcaster.cs | 1 +
.../MonoBehaviours/PrecursorTracker.cs | 1 +
.../MonoBehaviours/UnderwaterStateTracker.cs | 1 +
.../Vehicles/CyclopsMovementReplicator.cs | 1 +
.../Vehicles/ExosuitMovementReplicator.cs | 1 +
.../Vehicles/SeaMothMovementReplicator.cs | 1 +
NitroxClient/Unity/Helper/GameObjectHelper.cs | 181 -----------------
NitroxClient/Unity/Helper/StringUtils.cs | 38 ----
.../Unity/Smoothing/ExosuitSmoothRotation.cs | 35 ----
NitroxPatcher/GlobalUsings.cs | 1 +
NitroxPatcher/Main.cs | 2 +-
.../Patches/Dynamic/FruitPlant_Start_Patch.cs | 1 +
.../Dynamic/FruitPlant_Update_Patch.cs | 1 +
...GrowingPlant_SpawnGrownModelAsync_Patch.cs | 1 +
.../Dynamic/PickPrefab_SetPickedUp_Patch.cs | 1 +
.../Patches/Dynamic/Planter_AddItem_Patch.cs | 1 +
.../Dynamic/Planter_ResetStorage_Patch.cs | 1 +
.../uGUI_SceneIntro_IntroSequence_Patch.cs | 1 +
130 files changed, 375 insertions(+), 297 deletions(-)
rename NitroxClient/{Unity/Helper/CoroutineHelper.cs => Extensions/CoroutineExtensions.cs} (91%)
create mode 100644 NitroxClient/Extensions/GameObjectExtensions.cs
rename NitroxClient/{Helpers => Extensions}/GameObjectReferenceHolderExtensions.cs (97%)
rename NitroxClient/{Helpers => Extensions}/NitroxEntityExtensions.cs (98%)
rename NitroxClient/{Helpers => Extensions}/PlanterExtensions.cs (96%)
rename NitroxClient/{Unity/Helper/RendererHelpers.cs => Extensions/RendererExtensions.cs} (98%)
create mode 100644 NitroxClient/Extensions/StringExtensions.cs
rename NitroxClient/{Helpers => Extensions}/UnityObjectExtensions.cs (97%)
rename NitroxClient/{Helpers/VFXConstructingHelper.cs => Extensions/VFXConstructingExtensions.cs} (92%)
delete mode 100644 NitroxClient/Unity/Helper/GameObjectHelper.cs
delete mode 100644 NitroxClient/Unity/Helper/StringUtils.cs
delete mode 100644 NitroxClient/Unity/Smoothing/ExosuitSmoothRotation.cs
diff --git a/NitroxClient/Communication/Packets/Processors/BuildingResyncProcessor.cs b/NitroxClient/Communication/Packets/Processors/BuildingResyncProcessor.cs
index a4a0df199..b82a23d23 100644
--- a/NitroxClient/Communication/Packets/Processors/BuildingResyncProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/BuildingResyncProcessor.cs
@@ -4,6 +4,7 @@
using System.Diagnostics;
using System.Linq;
using NitroxClient.Communication.Packets.Processors.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.Spawning.Bases;
diff --git a/NitroxClient/Communication/Packets/Processors/CyclopsDamagePointHealthChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/CyclopsDamagePointHealthChangedProcessor.cs
index f63e67770..3b7aa7258 100644
--- a/NitroxClient/Communication/Packets/Processors/CyclopsDamagePointHealthChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/CyclopsDamagePointHealthChangedProcessor.cs
@@ -1,5 +1,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.Packets;
diff --git a/NitroxClient/Communication/Packets/Processors/CyclopsDamageProcessor.cs b/NitroxClient/Communication/Packets/Processors/CyclopsDamageProcessor.cs
index 59c452ec6..ab4d32206 100644
--- a/NitroxClient/Communication/Packets/Processors/CyclopsDamageProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/CyclopsDamageProcessor.cs
@@ -2,6 +2,7 @@
using System.Linq;
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/Communication/Packets/Processors/EntityReparentedProcessor.cs b/NitroxClient/Communication/Packets/Processors/EntityReparentedProcessor.cs
index 96d8c9e95..0a0f4e772 100644
--- a/NitroxClient/Communication/Packets/Processors/EntityReparentedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/EntityReparentedProcessor.cs
@@ -1,5 +1,6 @@
using System;
using NitroxClient.Communication.Packets.Processors.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Helper;
using NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/Communication/Packets/Processors/FireDousedProcessor.cs b/NitroxClient/Communication/Packets/Processors/FireDousedProcessor.cs
index 73b385b20..d24bf4f93 100644
--- a/NitroxClient/Communication/Packets/Processors/FireDousedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/FireDousedProcessor.cs
@@ -1,5 +1,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
using NitroxModel.Packets;
diff --git a/NitroxClient/Communication/Packets/Processors/MedicalCabinetClickedProcessor.cs b/NitroxClient/Communication/Packets/Processors/MedicalCabinetClickedProcessor.cs
index 43e82a4f3..bd78087de 100644
--- a/NitroxClient/Communication/Packets/Processors/MedicalCabinetClickedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/MedicalCabinetClickedProcessor.cs
@@ -1,4 +1,5 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/Communication/Packets/Processors/OpenableStateChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/OpenableStateChangedProcessor.cs
index e4a2fe6a1..558609062 100644
--- a/NitroxClient/Communication/Packets/Processors/OpenableStateChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/OpenableStateChangedProcessor.cs
@@ -1,5 +1,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
using NitroxModel.Packets;
diff --git a/NitroxClient/Communication/Packets/Processors/SeaTreaderSpawnedChunkProcessor.cs b/NitroxClient/Communication/Packets/Processors/SeaTreaderSpawnedChunkProcessor.cs
index 53534062b..a6bffc9c6 100644
--- a/NitroxClient/Communication/Packets/Processors/SeaTreaderSpawnedChunkProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/SeaTreaderSpawnedChunkProcessor.cs
@@ -1,4 +1,5 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
using NitroxModel.Packets;
@@ -14,7 +15,7 @@ public override void Process(SeaTreaderSpawnedChunk packet)
if (NitroxEntity.TryGetComponentFrom(packet.CreatureId, out SeaTreader seaTreader) &&
seaTreader.TryGetComponentInChildren(out SeaTreaderSounds seaTreaderSounds))
{
- GameObject chunkObject = GameObjectHelper.InstantiateWithId(seaTreaderSounds.stepChunkPrefab, packet.ChunkId);
+ GameObject chunkObject = GameObjectExtensions.InstantiateWithId(seaTreaderSounds.stepChunkPrefab, packet.ChunkId);
chunkObject.transform.position = packet.Position.ToUnity();
chunkObject.transform.rotation = packet.Rotation.ToUnity();
}
diff --git a/NitroxClient/Communication/Packets/Processors/ToggleLightsProcessor.cs b/NitroxClient/Communication/Packets/Processors/ToggleLightsProcessor.cs
index 02033264a..81b094c87 100644
--- a/NitroxClient/Communication/Packets/Processors/ToggleLightsProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/ToggleLightsProcessor.cs
@@ -1,4 +1,5 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/Communication/Packets/Processors/VehicleUndockingProcessor.cs b/NitroxClient/Communication/Packets/Processors/VehicleUndockingProcessor.cs
index 741fd3182..5bb0eb7de 100644
--- a/NitroxClient/Communication/Packets/Processors/VehicleUndockingProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/VehicleUndockingProcessor.cs
@@ -1,5 +1,6 @@
using System.Collections;
using NitroxClient.Communication.Packets.Processors.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/Debuggers/SceneDebugger.cs b/NitroxClient/Debuggers/SceneDebugger.cs
index 6948144e9..1f0dd4b74 100644
--- a/NitroxClient/Debuggers/SceneDebugger.cs
+++ b/NitroxClient/Debuggers/SceneDebugger.cs
@@ -6,6 +6,7 @@
using System.Reflection;
using System.Text;
using NitroxClient.Debuggers.Drawer;
+using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
using UnityEngine;
diff --git a/NitroxClient/Unity/Helper/CoroutineHelper.cs b/NitroxClient/Extensions/CoroutineExtensions.cs
similarity index 91%
rename from NitroxClient/Unity/Helper/CoroutineHelper.cs
rename to NitroxClient/Extensions/CoroutineExtensions.cs
index a6d0257df..a78ec21a7 100644
--- a/NitroxClient/Unity/Helper/CoroutineHelper.cs
+++ b/NitroxClient/Extensions/CoroutineExtensions.cs
@@ -1,9 +1,9 @@
using System;
using System.Collections;
-namespace NitroxClient.Unity.Helper;
+namespace NitroxClient.Extensions;
-public static class CoroutineHelper
+public static class CoroutineExtensions
{
public static IEnumerator OnYieldError(this IEnumerator enumerator, Action exceptionCallback)
{
diff --git a/NitroxClient/Extensions/GameObjectExtensions.cs b/NitroxClient/Extensions/GameObjectExtensions.cs
new file mode 100644
index 000000000..94a51ffb9
--- /dev/null
+++ b/NitroxClient/Extensions/GameObjectExtensions.cs
@@ -0,0 +1,185 @@
+using System;
+using System.Text;
+using NitroxClient.MonoBehaviours;
+using NitroxModel.DataStructures;
+using NitroxModel.Helper;
+using UnityEngine;
+using Object = UnityEngine.Object;
+
+namespace NitroxClient.Extensions;
+
+public static class GameObjectExtensions
+{
+ ///
+ /// Returns true if game object is the local player, playing on the executing machine.
+ ///
+ public static bool IsLocalPlayer(this GameObject gameObject) => gameObject == Player.main.gameObject;
+
+ public static bool TryGetComponentInChildren(this GameObject go, out T component, bool includeInactive = false) where T : Component
+ {
+ component = go.GetComponentInChildren(includeInactive);
+ return component;
+ }
+
+ public static bool TryGetComponentInParent(this GameObject go, out T component, bool includeInactive = false) where T : Component
+ {
+ component = go.GetComponentInParent(includeInactive);
+ return component;
+ }
+
+ public static bool TryGetComponentInChildren(this Component co, out T component, bool includeInactive = false) where T : Component => TryGetComponentInChildren(co.gameObject, out component, includeInactive);
+ public static bool TryGetComponentInParent(this Component co, out T component, bool includeInactive = false) where T : Component => TryGetComponentInParent(co.gameObject, out component, includeInactive);
+
+ public static T RequireComponent(this GameObject o) where T : Component
+ {
+ T component = o.GetComponent();
+ Validate.IsTrue(component, $"{o.name} did not have a component of type {typeof(T)}");
+
+ return component;
+ }
+
+ public static T RequireComponentInChildren(this GameObject o, bool includeInactive = false) where T : Component
+ {
+ T component = o.GetComponentInChildren(includeInactive);
+ Validate.IsTrue(component, $"{o.name} did not have a component of type {typeof(T)} in its children");
+
+ return component;
+ }
+
+ public static T RequireComponentInParent(this GameObject o) where T : Component
+ {
+ T component = o.GetComponentInParent();
+ Validate.IsTrue(component, $"{o.name} did not have a component of type {typeof(T)} in its parent");
+
+ return component;
+ }
+
+ public static T RequireComponent(this Component co) where T : Component => RequireComponent(co.gameObject);
+ public static T RequireComponentInChildren(this Component co, bool includeInactive = false) where T : Component => RequireComponentInChildren(co.gameObject, includeInactive);
+ public static T RequireComponentInParent(this Component co) where T : Component => RequireComponentInParent(co.gameObject);
+
+ public static Transform RequireTransform(this Transform tf, string name)
+ {
+ Transform child = tf.Find(name);
+
+ if (!child)
+ {
+ throw new ArgumentNullException($@"{tf} does not contain ""{name}""");
+ }
+
+ return child;
+ }
+
+ public static Transform RequireTransform(this GameObject go, string name) => go.transform.RequireTransform(name);
+ public static Transform RequireTransform(this MonoBehaviour mb, string name) => mb.transform.RequireTransform(name);
+
+ public static GameObject RequireGameObject(this Transform tf, string name) => tf.RequireTransform(name).gameObject;
+ public static GameObject RequireGameObject(this GameObject go, string name) => go.transform.RequireGameObject(name);
+ public static GameObject RequireGameObject(this MonoBehaviour mb, string name) => mb.transform.RequireGameObject(name);
+
+ public static GameObject RequireGameObject(string name)
+ {
+ GameObject go = GameObject.Find(name);
+ Validate.IsTrue(go, $"No global GameObject found with {name}!");
+
+ return go;
+ }
+
+ public static string GetFullHierarchyPath(this Component component)
+ {
+ return component ? $"{component.gameObject.GetFullHierarchyPath()} -> {component.GetType().Name}.cs" : "";
+ }
+
+ public static string GetHierarchyPath(this GameObject go, GameObject end)
+ {
+ if (!go || go == end)
+ {
+ return "";
+ }
+
+ if (!go.transform.parent)
+ {
+ return go.name;
+ }
+
+ StringBuilder sb = new(go.name);
+ for (GameObject gameObject = go.transform.parent.gameObject;
+ gameObject && gameObject != end;
+ gameObject = gameObject.transform.parent ? gameObject.transform.parent.gameObject : null)
+ {
+ sb.Insert(0, $"{gameObject.name}/");
+ }
+
+ return sb.ToString();
+ }
+
+ public static Transform GetRootParent(this Component co) => co.transform.GetRootParent();
+ public static Transform GetRootParent(this GameObject go) => go.transform.GetRootParent();
+
+ public static Transform GetRootParent(this Transform root)
+ {
+ while (root.parent)
+ {
+ root = root.parent;
+ }
+
+ return root;
+ }
+
+ public static bool TryGetComponentInAscendance(this Transform transform, int degree, out T component)
+ {
+ while (degree > 0)
+ {
+ if (!transform.parent)
+ {
+ component = default;
+ return false;
+ }
+ transform = transform.parent;
+ degree--;
+ }
+ return transform.TryGetComponent(out component);
+ }
+
+ ///
+ /// Custom wrapper for prefab spawning which ensures a NitroxEntity is present
+ /// on the newly created object before its components are enabled (Awake is not fired).
+ ///
+ public static GameObject InstantiateInactiveWithId(GameObject original, NitroxId nitroxId, Vector3 position = default, Quaternion rotation = default)
+ {
+ GameObject copy = Object.Instantiate(original, position, rotation, false);
+ NitroxEntity.SetNewId(copy, nitroxId);
+ return copy;
+ }
+
+ ///
+ ///
+ /// Sets the GameObject to active after spawning it with a NitroxEntity.
+ ///
+ public static GameObject InstantiateWithId(GameObject original, NitroxId nitroxId, Vector3 position = default, Quaternion rotation = default)
+ {
+ GameObject copy = InstantiateInactiveWithId(original, nitroxId, position, rotation);
+ copy.SetActive(true);
+ return copy;
+ }
+
+ ///
+ /// Override for using our own wrapper
+ ///
+ public static GameObject CreateGenericLoot(TechType techType, NitroxId nitroxId)
+ {
+ GameObject gameObject = SpawnFromPrefab(Utils.genericLootPrefab, nitroxId);
+ gameObject.GetComponent().SetTechTypeOverride(techType, lootCube: true);
+ return gameObject;
+ }
+
+ ///
+ /// Override for using our own wrapper
+ ///
+ public static GameObject SpawnFromPrefab(GameObject prefab, NitroxId nitroxId, Transform parent = null)
+ {
+ GameObject gameObject = InstantiateWithId(prefab, nitroxId);
+ gameObject.transform.parent = parent;
+ return gameObject;
+ }
+}
diff --git a/NitroxClient/Helpers/GameObjectReferenceHolderExtensions.cs b/NitroxClient/Extensions/GameObjectReferenceHolderExtensions.cs
similarity index 97%
rename from NitroxClient/Helpers/GameObjectReferenceHolderExtensions.cs
rename to NitroxClient/Extensions/GameObjectReferenceHolderExtensions.cs
index 35cf591a3..3922e907a 100644
--- a/NitroxClient/Helpers/GameObjectReferenceHolderExtensions.cs
+++ b/NitroxClient/Extensions/GameObjectReferenceHolderExtensions.cs
@@ -1,7 +1,7 @@
using NitroxClient.MonoBehaviours;
using UnityEngine;
-namespace NitroxClient.Helpers;
+namespace NitroxClient.Extensions;
public static class GameObjectReferenceHolderExtensions
{
diff --git a/NitroxClient/Helpers/NitroxEntityExtensions.cs b/NitroxClient/Extensions/NitroxEntityExtensions.cs
similarity index 98%
rename from NitroxClient/Helpers/NitroxEntityExtensions.cs
rename to NitroxClient/Extensions/NitroxEntityExtensions.cs
index bfffbb8e3..676590930 100644
--- a/NitroxClient/Helpers/NitroxEntityExtensions.cs
+++ b/NitroxClient/Extensions/NitroxEntityExtensions.cs
@@ -1,12 +1,11 @@
using System;
using System.Runtime.CompilerServices;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.Util;
using UnityEngine;
-namespace NitroxClient.Helpers;
+namespace NitroxClient.Extensions;
public static class NitroxEntityExtensions
{
diff --git a/NitroxClient/Helpers/PlanterExtensions.cs b/NitroxClient/Extensions/PlanterExtensions.cs
similarity index 96%
rename from NitroxClient/Helpers/PlanterExtensions.cs
rename to NitroxClient/Extensions/PlanterExtensions.cs
index f85a539e0..12376a7b2 100644
--- a/NitroxClient/Helpers/PlanterExtensions.cs
+++ b/NitroxClient/Extensions/PlanterExtensions.cs
@@ -1,8 +1,7 @@
using System.Diagnostics.CodeAnalysis;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
-namespace NitroxClient.Helpers;
+namespace NitroxClient.Extensions;
public static class PlanterExtensions
{
diff --git a/NitroxClient/Unity/Helper/RendererHelpers.cs b/NitroxClient/Extensions/RendererExtensions.cs
similarity index 98%
rename from NitroxClient/Unity/Helper/RendererHelpers.cs
rename to NitroxClient/Extensions/RendererExtensions.cs
index 3d5835eff..be201fd39 100644
--- a/NitroxClient/Unity/Helper/RendererHelpers.cs
+++ b/NitroxClient/Extensions/RendererExtensions.cs
@@ -3,9 +3,9 @@
using UnityEngine;
using UnityEngine.UI;
-namespace NitroxClient.Unity.Helper;
+namespace NitroxClient.Extensions;
-public static class RendererHelpers
+public static class RendererExtensions
{
//This entire method is necessary in order to deal with the fact that UWE compiles Subnautica in a mode
//that prevents us from accessing the pixel map of the 2D textures they apply to their materials.
diff --git a/NitroxClient/Extensions/StringExtensions.cs b/NitroxClient/Extensions/StringExtensions.cs
new file mode 100644
index 000000000..e6dc18f7e
--- /dev/null
+++ b/NitroxClient/Extensions/StringExtensions.cs
@@ -0,0 +1,37 @@
+using System.Text;
+using NitroxModel.Helper;
+
+namespace NitroxClient.Extensions;
+
+public static class StringExtensions
+{
+ public static string TruncateRight(this string value, int maxChars, string appendix = "...")
+ {
+ Validate.NotNull(value);
+ Validate.NotNull(appendix);
+
+ return value.Length <= maxChars ? value : value.Substring(0, maxChars) + appendix;
+ }
+
+ public static string TruncateLeft(this string value, int maxChars, string appendix = "...")
+ {
+ Validate.NotNull(value);
+ Validate.NotNull(appendix);
+
+ return value.Length <= maxChars ? value : appendix + value.Substring(value.Length - maxChars, maxChars);
+ }
+
+ public static string ByteArrayToHexString(this byte[] bytes)
+ {
+ StringBuilder hex = new StringBuilder(bytes.Length * 2);
+
+ foreach (byte b in bytes)
+ {
+ hex.Append("0x");
+ hex.Append(b.ToString("X2"));
+ hex.Append(" ");
+ }
+
+ return hex.ToString();
+ }
+}
diff --git a/NitroxClient/Helpers/UnityObjectExtensions.cs b/NitroxClient/Extensions/UnityObjectExtensions.cs
similarity index 97%
rename from NitroxClient/Helpers/UnityObjectExtensions.cs
rename to NitroxClient/Extensions/UnityObjectExtensions.cs
index 70ff6d9a1..cd63be4a4 100644
--- a/NitroxClient/Helpers/UnityObjectExtensions.cs
+++ b/NitroxClient/Extensions/UnityObjectExtensions.cs
@@ -1,10 +1,9 @@
using System;
-using System.Collections.Generic;
using System.Reflection;
using NitroxModel.Core;
using UnityEngine;
-namespace NitroxClient.Helpers;
+namespace NitroxClient.Extensions;
public static class UnityObjectExtensions
{
diff --git a/NitroxClient/Helpers/VFXConstructingHelper.cs b/NitroxClient/Extensions/VFXConstructingExtensions.cs
similarity index 92%
rename from NitroxClient/Helpers/VFXConstructingHelper.cs
rename to NitroxClient/Extensions/VFXConstructingExtensions.cs
index 2cb48a24d..5b6cc3b62 100644
--- a/NitroxClient/Helpers/VFXConstructingHelper.cs
+++ b/NitroxClient/Extensions/VFXConstructingExtensions.cs
@@ -1,6 +1,6 @@
-namespace NitroxClient.Helpers;
+namespace NitroxClient.Extensions;
-public static class VFXConstructingHelper
+public static class VFXConstructingExtensions
{
public static void EndGracefully(this VFXConstructing vfxConstructing)
{
diff --git a/NitroxClient/GameLogic/Bases/BuildUtils.cs b/NitroxClient/GameLogic/Bases/BuildUtils.cs
index 50acf096b..35f77705c 100644
--- a/NitroxClient/GameLogic/Bases/BuildUtils.cs
+++ b/NitroxClient/GameLogic/Bases/BuildUtils.cs
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Settings;
using NitroxClient.GameLogic.Spawning.Bases;
using NitroxClient.GameLogic.Spawning.Metadata;
diff --git a/NitroxClient/GameLogic/Bases/BuildingHandler.cs b/NitroxClient/GameLogic/Bases/BuildingHandler.cs
index aee5348f3..0dda67633 100644
--- a/NitroxClient/GameLogic/Bases/BuildingHandler.cs
+++ b/NitroxClient/GameLogic/Bases/BuildingHandler.cs
@@ -4,6 +4,7 @@
using System.Linq;
using NitroxClient.Communication;
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Bases;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/GameLogic/Bases/GhostMetadataApplier.cs b/NitroxClient/GameLogic/Bases/GhostMetadataApplier.cs
index 7abece911..d95d012f7 100644
--- a/NitroxClient/GameLogic/Bases/GhostMetadataApplier.cs
+++ b/NitroxClient/GameLogic/Bases/GhostMetadataApplier.cs
@@ -1,4 +1,5 @@
using System.Collections;
+using NitroxClient.Extensions;
using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
diff --git a/NitroxClient/GameLogic/Bases/GhostMetadataRetriever.cs b/NitroxClient/GameLogic/Bases/GhostMetadataRetriever.cs
index ee174fb59..9cf419558 100644
--- a/NitroxClient/GameLogic/Bases/GhostMetadataRetriever.cs
+++ b/NitroxClient/GameLogic/Bases/GhostMetadataRetriever.cs
@@ -1,3 +1,4 @@
+using NitroxClient.Extensions;
using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/BulletManager.cs b/NitroxClient/GameLogic/BulletManager.cs
index dfed0ab2f..5a927781b 100644
--- a/NitroxClient/GameLogic/BulletManager.cs
+++ b/NitroxClient/GameLogic/BulletManager.cs
@@ -1,5 +1,6 @@
using System.Collections;
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.WorldEntities;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
@@ -44,7 +45,7 @@ public void ShootSeamothTorpedo(NitroxId bulletId, TechType techType, Vector3 po
return;
}
- GameObject torpedoClone = GameObjectHelper.SpawnFromPrefab(prefab, bulletId);
+ GameObject torpedoClone = GameObjectExtensions.SpawnFromPrefab(prefab, bulletId);
// We mark it to be able to ignore events from remote bullets
torpedoClone.AddComponent();
diff --git a/NitroxClient/GameLogic/Cyclops.cs b/NitroxClient/GameLogic/Cyclops.cs
index d61e15086..153c36f2d 100644
--- a/NitroxClient/GameLogic/Cyclops.cs
+++ b/NitroxClient/GameLogic/Cyclops.cs
@@ -3,6 +3,7 @@
using System.Linq;
using NitroxClient.Communication;
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/Entities.cs b/NitroxClient/GameLogic/Entities.cs
index 46ec8e46a..4d0eeb0cd 100644
--- a/NitroxClient/GameLogic/Entities.cs
+++ b/NitroxClient/GameLogic/Entities.cs
@@ -4,6 +4,7 @@
using System.Linq;
using NitroxClient.Communication;
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.GameLogic.Spawning.Bases;
diff --git a/NitroxClient/GameLogic/EquipmentSlots.cs b/NitroxClient/GameLogic/EquipmentSlots.cs
index 2fdf1cba8..6dd8edb45 100644
--- a/NitroxClient/GameLogic/EquipmentSlots.cs
+++ b/NitroxClient/GameLogic/EquipmentSlots.cs
@@ -1,4 +1,5 @@
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxModel.DataStructures;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxClient/GameLogic/ExosuitModuleEvent.cs b/NitroxClient/GameLogic/ExosuitModuleEvent.cs
index 64b1a3f35..ac4c54981 100644
--- a/NitroxClient/GameLogic/ExosuitModuleEvent.cs
+++ b/NitroxClient/GameLogic/ExosuitModuleEvent.cs
@@ -1,4 +1,5 @@
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxModel_Subnautica.DataStructures;
using NitroxModel.DataStructures;
using NitroxModel_Subnautica.Packets;
diff --git a/NitroxClient/GameLogic/Fires.cs b/NitroxClient/GameLogic/Fires.cs
index f2adb687e..af7f67c9c 100644
--- a/NitroxClient/GameLogic/Fires.cs
+++ b/NitroxClient/GameLogic/Fires.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors;
+using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
using NitroxModel.Packets;
diff --git a/NitroxClient/GameLogic/Helper/EquipmentHelper.cs b/NitroxClient/GameLogic/Helper/EquipmentHelper.cs
index 4fc645e3b..1ed78371a 100644
--- a/NitroxClient/GameLogic/Helper/EquipmentHelper.cs
+++ b/NitroxClient/GameLogic/Helper/EquipmentHelper.cs
@@ -17,7 +17,7 @@ public class EquipmentHelper
o => o.GetComponent().AliveOrNull()?.modules,
o => o.GetComponent().AliveOrNull()?.modules,
o => o.GetComponent().AliveOrNull()?.equipment,
- o => string.Equals("Player", o.GetComponent().AliveOrNull()?.name, StringComparison.InvariantCulture) ? Inventory.main.equipment : null
+ o => o.IsLocalPlayer() ? Inventory.main.equipment : null
};
public static Optional FindEquipmentComponent(GameObject owner)
diff --git a/NitroxClient/GameLogic/Helper/InventoryContainerHelper.cs b/NitroxClient/GameLogic/Helper/InventoryContainerHelper.cs
index ea8938270..be11fcaaa 100644
--- a/NitroxClient/GameLogic/Helper/InventoryContainerHelper.cs
+++ b/NitroxClient/GameLogic/Helper/InventoryContainerHelper.cs
@@ -1,4 +1,5 @@
using System.Text.RegularExpressions;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxClient.Unity.Helper;
@@ -12,7 +13,6 @@ public class InventoryContainerHelper
{
private static readonly Regex LockerRegex = new(@"Locker0([0-9])StorageRoot$", RegexOptions.IgnoreCase);
private const string LOCKER_BASE_NAME = "submarine_locker_01_0";
- private const string PLAYER_OBJECT_NAME = "Player";
private const string ESCAPEPOD_OBJECT_NAME = "EscapePod";
///
@@ -20,9 +20,9 @@ public class InventoryContainerHelper
///
public static Optional TryGetContainerByOwner(GameObject owner)
{
- if (owner.name == PLAYER_OBJECT_NAME)
+ if (owner.IsLocalPlayer())
{
- return Optional.Of(Inventory.Get().container);
+ return Optional.Of(Inventory.main.container);
}
RemotePlayerIdentifier remotePlayerId = owner.GetComponent();
if (remotePlayerId)
diff --git a/NitroxClient/GameLogic/InitialSync/EquippedItemInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/EquippedItemInitialSyncProcessor.cs
index c27a4d91e..eb821bde2 100644
--- a/NitroxClient/GameLogic/InitialSync/EquippedItemInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/EquippedItemInitialSyncProcessor.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using NitroxClient.Communication;
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Helper;
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/GameLogic/InitialSync/PlayerInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/PlayerInitialSyncProcessor.cs
index 88b684ea2..667eb8ce3 100644
--- a/NitroxClient/GameLogic/InitialSync/PlayerInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/PlayerInitialSyncProcessor.cs
@@ -1,5 +1,6 @@
using System.Collections;
using System.Text;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
diff --git a/NitroxClient/GameLogic/InitialSync/PlayerPreferencesInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/PlayerPreferencesInitialSyncProcessor.cs
index 0a746326f..777a954c1 100644
--- a/NitroxClient/GameLogic/InitialSync/PlayerPreferencesInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/PlayerPreferencesInitialSyncProcessor.cs
@@ -3,6 +3,7 @@
using System.Collections.Generic;
using System.Linq;
using NitroxClient.Communication;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/GameLogic/InitialSync/QuickSlotInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/QuickSlotInitialSyncProcessor.cs
index 35667cc09..152da3d93 100644
--- a/NitroxClient/GameLogic/InitialSync/QuickSlotInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/QuickSlotInitialSyncProcessor.cs
@@ -1,5 +1,6 @@
using System.Collections;
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.Util;
diff --git a/NitroxClient/GameLogic/ItemContainers.cs b/NitroxClient/GameLogic/ItemContainers.cs
index 2feb70994..56deda22a 100644
--- a/NitroxClient/GameLogic/ItemContainers.cs
+++ b/NitroxClient/GameLogic/ItemContainers.cs
@@ -1,5 +1,6 @@
using NitroxClient.Communication;
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Helper;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxClient.GameLogic.Spawning.Metadata;
diff --git a/NitroxClient/GameLogic/Items.cs b/NitroxClient/GameLogic/Items.cs
index 1f3b476f5..9be6c0966 100644
--- a/NitroxClient/GameLogic/Items.cs
+++ b/NitroxClient/GameLogic/Items.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Helper;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/GameLogic/LiveMixinManager.cs b/NitroxClient/GameLogic/LiveMixinManager.cs
index 0565b3e0c..4a7e1369a 100644
--- a/NitroxClient/GameLogic/LiveMixinManager.cs
+++ b/NitroxClient/GameLogic/LiveMixinManager.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxModel.DataStructures;
using UnityEngine;
diff --git a/NitroxClient/GameLogic/LocalPlayer.cs b/NitroxClient/GameLogic/LocalPlayer.cs
index e58f8d62a..b87dbe0ab 100644
--- a/NitroxClient/GameLogic/LocalPlayer.cs
+++ b/NitroxClient/GameLogic/LocalPlayer.cs
@@ -1,5 +1,6 @@
using System;
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/GameLogic/MedkitFabricator.cs b/NitroxClient/GameLogic/MedkitFabricator.cs
index f0d0e30e0..aa2ec2fc4 100644
--- a/NitroxClient/GameLogic/MedkitFabricator.cs
+++ b/NitroxClient/GameLogic/MedkitFabricator.cs
@@ -1,4 +1,5 @@
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxModel.DataStructures;
using NitroxModel.Packets;
diff --git a/NitroxClient/GameLogic/MobileVehicleBay.cs b/NitroxClient/GameLogic/MobileVehicleBay.cs
index f316cef35..0ac99d95d 100644
--- a/NitroxClient/GameLogic/MobileVehicleBay.cs
+++ b/NitroxClient/GameLogic/MobileVehicleBay.cs
@@ -1,4 +1,5 @@
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/DiveSuitColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/DiveSuitColorSwapManager.cs
index 023dc1094..d1847f0ec 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/DiveSuitColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/DiveSuitColorSwapManager.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/FinColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/FinColorSwapManager.cs
index 62434038d..48e0cf335 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/FinColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/FinColorSwapManager.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationHelmetColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationHelmetColorSwapManager.cs
index 1ae556a24..a95fc84d3 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationHelmetColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationHelmetColorSwapManager.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitColorSwapManager.cs
index df3ffcf06..2dcce7138 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitColorSwapManager.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitVestColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitVestColorSwapManager.cs
index a23d2a427..0a82750ea 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitVestColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitVestColorSwapManager.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationTankColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationTankColorSwapManager.cs
index f2b09dd3a..0c730e805 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationTankColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationTankColorSwapManager.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RebreatherColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RebreatherColorSwapManager.cs
index 819bc382a..520f064b5 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RebreatherColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RebreatherColorSwapManager.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ReinforcedSuitColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ReinforcedSuitColorSwapManager.cs
index f63db9090..a653ce8ae 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ReinforcedSuitColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ReinforcedSuitColorSwapManager.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ScubaTankColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ScubaTankColorSwapManager.cs
index a0548f353..83e316d17 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ScubaTankColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ScubaTankColorSwapManager.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/StillSuitColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/StillSuitColorSwapManager.cs
index ace024db4..650a40774 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/StillSuitColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/StillSuitColorSwapManager.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/GameLogic/RemotePlayer.cs b/NitroxClient/GameLogic/RemotePlayer.cs
index e3ec9cb84..a284ac3a6 100644
--- a/NitroxClient/GameLogic/RemotePlayer.cs
+++ b/NitroxClient/GameLogic/RemotePlayer.cs
@@ -1,5 +1,6 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.HUD;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel;
diff --git a/NitroxClient/GameLogic/Rockets.cs b/NitroxClient/GameLogic/Rockets.cs
index 887753df4..b2f81ea8a 100644
--- a/NitroxClient/GameLogic/Rockets.cs
+++ b/NitroxClient/GameLogic/Rockets.cs
@@ -1,4 +1,5 @@
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
diff --git a/NitroxClient/GameLogic/SeamothModulesEvent.cs b/NitroxClient/GameLogic/SeamothModulesEvent.cs
index 1eb411489..0e13038a1 100644
--- a/NitroxClient/GameLogic/SeamothModulesEvent.cs
+++ b/NitroxClient/GameLogic/SeamothModulesEvent.cs
@@ -1,4 +1,5 @@
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxModel.DataStructures;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/Spawning/Bases/BuildEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Bases/BuildEntitySpawner.cs
index 38b13aa56..0f4c3d179 100644
--- a/NitroxClient/GameLogic/Spawning/Bases/BuildEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Bases/BuildEntitySpawner.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.Helper;
using NitroxClient.GameLogic.Spawning.Abstract;
diff --git a/NitroxClient/GameLogic/Spawning/Bases/GhostEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Bases/GhostEntitySpawner.cs
index 8facd1d1e..4382f5861 100644
--- a/NitroxClient/GameLogic/Spawning/Bases/GhostEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Bases/GhostEntitySpawner.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.GameLogic.Spawning.WorldEntities;
diff --git a/NitroxClient/GameLogic/Spawning/Bases/InteriorPieceEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Bases/InteriorPieceEntitySpawner.cs
index 5a91ff8fc..749b311fc 100644
--- a/NitroxClient/GameLogic/Spawning/Bases/InteriorPieceEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Bases/InteriorPieceEntitySpawner.cs
@@ -1,6 +1,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.GameLogic.Spawning.WorldEntities;
diff --git a/NitroxClient/GameLogic/Spawning/Bases/ModuleEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Bases/ModuleEntitySpawner.cs
index 506c93bd0..2143bb517 100644
--- a/NitroxClient/GameLogic/Spawning/Bases/ModuleEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Bases/ModuleEntitySpawner.cs
@@ -1,5 +1,6 @@
using System.Collections;
using System.Linq;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.Helper;
using NitroxClient.GameLogic.Spawning.Abstract;
diff --git a/NitroxClient/GameLogic/Spawning/InstalledBatteryEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/InstalledBatteryEntitySpawner.cs
index 93c3896cb..3a3a7d83e 100644
--- a/NitroxClient/GameLogic/Spawning/InstalledBatteryEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/InstalledBatteryEntitySpawner.cs
@@ -1,6 +1,7 @@
using System.Collections;
using System.Linq;
using NitroxClient.Communication;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.GameLogic.Spawning.WorldEntities;
using NitroxClient.MonoBehaviours;
@@ -26,7 +27,7 @@ protected override IEnumerator SpawnAsync(InstalledBatteryEntity entity, TaskRes
TaskResult prefabResult = new();
yield return DefaultWorldEntitySpawner.RequestPrefab(entity.TechType.ToUnity(), prefabResult);
- GameObject gameObject = GameObjectHelper.InstantiateWithId(prefabResult.Get(), entity.Id);
+ GameObject gameObject = GameObjectExtensions.InstantiateWithId(prefabResult.Get(), entity.Id);
SetupObject(gameObject, energyMixin);
@@ -45,7 +46,7 @@ protected override bool SpawnSync(InstalledBatteryEntity entity, TaskResult parent, E
prefab = prefabResult.Get();
}
- GameObject gameObject = GameObjectHelper.InstantiateWithId(prefab, entity.Id);
+ GameObject gameObject = GameObjectExtensions.InstantiateWithId(prefab, entity.Id);
if (!VerifyCanSpawnOrError(entity, gameObject, parent.Value, out Crash crash, out CrashHome crashHome))
{
yield break;
@@ -43,7 +44,7 @@ public bool SpawnSync(WorldEntity entity, Optional parent, EntityCel
return false;
}
- GameObject gameObject = GameObjectHelper.InstantiateWithId(prefab, entity.Id);
+ GameObject gameObject = GameObjectExtensions.InstantiateWithId(prefab, entity.Id);
if (!VerifyCanSpawnOrError(entity, gameObject, parent.Value, out Crash crash, out CrashHome crashHome))
{
return true;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/CreatureRespawnEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/CreatureRespawnEntitySpawner.cs
index 20ca07bd1..56af03cd2 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/CreatureRespawnEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/CreatureRespawnEntitySpawner.cs
@@ -1,4 +1,5 @@
using System.Collections;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Simulation;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
@@ -38,7 +39,7 @@ public IEnumerator SpawnAsync(WorldEntity entity, Optional parent, E
prefab = prefabResult.Get();
}
- GameObject gameObject = GameObjectHelper.InstantiateInactiveWithId(prefab, entity.Id);
+ GameObject gameObject = GameObjectExtensions.InstantiateInactiveWithId(prefab, entity.Id);
if (!VerifyCanSpawnOrError(creatureRespawnEntity, gameObject, out Respawn respawn))
{
yield break;
@@ -61,7 +62,7 @@ public bool SpawnSync(WorldEntity entity, Optional parent, EntityCel
return false;
}
- GameObject gameObject = GameObjectHelper.InstantiateInactiveWithId(prefab, entity.Id);
+ GameObject gameObject = GameObjectExtensions.InstantiateInactiveWithId(prefab, entity.Id);
if (!VerifyCanSpawnOrError(creatureRespawnEntity, gameObject, out Respawn respawn))
{
return true;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/DefaultWorldEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/DefaultWorldEntitySpawner.cs
index edc1398b5..938f0f167 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/DefaultWorldEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/DefaultWorldEntitySpawner.cs
@@ -6,7 +6,7 @@
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
using UWE;
-using static NitroxClient.Unity.Helper.GameObjectHelper;
+using static NitroxClient.Extensions.GameObjectExtensions;
namespace NitroxClient.GameLogic.Spawning.WorldEntities;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/GeyserWorldEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/GeyserWorldEntitySpawner.cs
index c120ea956..6f0e40052 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/GeyserWorldEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/GeyserWorldEntitySpawner.cs
@@ -1,4 +1,5 @@
using System.Collections;
+using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities;
@@ -37,7 +38,7 @@ public IEnumerator SpawnAsync(WorldEntity entity, Optional parent, E
prefab = prefabResult.Get();
}
- GameObject gameObject = GameObjectHelper.InstantiateInactiveWithId(prefab, entity.Id);
+ GameObject gameObject = GameObjectExtensions.InstantiateInactiveWithId(prefab, entity.Id);
if (!VerifyCanSpawnOrError(geyserWorldEntity, gameObject, out Geyser geyser))
{
yield break;
@@ -60,7 +61,7 @@ public bool SpawnSync(WorldEntity entity, Optional parent, EntityCel
return false;
}
- GameObject gameObject = GameObjectHelper.InstantiateInactiveWithId(prefab, entity.Id);
+ GameObject gameObject = GameObjectExtensions.InstantiateInactiveWithId(prefab, entity.Id);
if (!VerifyCanSpawnOrError(geyserWorldEntity, gameObject, out Geyser geyser))
{
return true;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/GlobalRootEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/GlobalRootEntitySpawner.cs
index 1a643a9a6..e58f47a7d 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/GlobalRootEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/GlobalRootEntitySpawner.cs
@@ -1,5 +1,6 @@
using System.Collections;
using NitroxClient.Communication;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
@@ -31,7 +32,7 @@ protected override bool SpawnSync(GlobalRootEntity entity, TaskResult parent, E
prefab = prefabResult.Get();
}
- GameObject gameObject = GameObjectHelper.InstantiateWithId(prefab, entity.Id);
+ GameObject gameObject = GameObjectExtensions.InstantiateWithId(prefab, entity.Id);
if (!VerifyCanSpawnOrError(reefbackChildEntity, out ReefbackLife parentReefbackLife))
{
yield break;
@@ -57,7 +58,7 @@ public bool SpawnSync(WorldEntity entity, Optional parent, EntityCel
return true;
}
- GameObject gameObject = GameObjectHelper.InstantiateWithId(prefab, entity.Id);
+ GameObject gameObject = GameObjectExtensions.InstantiateWithId(prefab, entity.Id);
SetupObject(reefbackChildEntity, gameObject, parentReefbackLife);
result.Set(gameObject);
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackEntitySpawner.cs
index 43854a0fc..1a559e337 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackEntitySpawner.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections;
+using NitroxClient.Extensions;
using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.Util;
@@ -36,7 +37,7 @@ public IEnumerator SpawnAsync(WorldEntity entity, Optional parent, E
prefab = prefabResult.Get();
}
- GameObject gameObject = GameObjectHelper.InstantiateWithId(prefab, entity.Id);
+ GameObject gameObject = GameObjectExtensions.InstantiateWithId(prefab, entity.Id);
if (!VerifyCanSpawnOrError(reefbackEntity, gameObject, out ReefbackLife reefbackLife))
{
yield break;
@@ -59,7 +60,7 @@ public bool SpawnSync(WorldEntity entity, Optional parent, EntityCel
return false;
}
- GameObject gameObject = GameObjectHelper.InstantiateWithId(prefab, entity.Id);
+ GameObject gameObject = GameObjectExtensions.InstantiateWithId(prefab, entity.Id);
if (!VerifyCanSpawnOrError(reefbackEntity, gameObject, out ReefbackLife reefbackLife))
{
return true;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs
index e37ee39b3..13caf1f96 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs
@@ -1,4 +1,5 @@
using System.Collections;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.CinematicController;
diff --git a/NitroxClient/GameLogic/Terrain.cs b/NitroxClient/GameLogic/Terrain.cs
index 6001900fc..cad983fc8 100644
--- a/NitroxClient/GameLogic/Terrain.cs
+++ b/NitroxClient/GameLogic/Terrain.cs
@@ -1,6 +1,7 @@
using System.Collections;
using System.Collections.Generic;
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.Packets;
diff --git a/NitroxClient/GameLogic/Vehicles.cs b/NitroxClient/GameLogic/Vehicles.cs
index 8968a5548..535ace3fe 100644
--- a/NitroxClient/GameLogic/Vehicles.cs
+++ b/NitroxClient/GameLogic/Vehicles.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using NitroxClient.Communication;
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Helper;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor;
diff --git a/NitroxClient/GlobalUsings.cs b/NitroxClient/GlobalUsings.cs
index 8f228860e..96cf02c54 100644
--- a/NitroxClient/GlobalUsings.cs
+++ b/NitroxClient/GlobalUsings.cs
@@ -1,3 +1,4 @@
global using NitroxClient.Helpers;
+global using NitroxClient.Extensions;
global using NitroxModel.Extensions;
global using NitroxModel.Logger;
diff --git a/NitroxClient/Helpers/NitroxProtobufSerializer.cs b/NitroxClient/Helpers/NitroxProtobufSerializer.cs
index 95212df8d..1b4565d6d 100644
--- a/NitroxClient/Helpers/NitroxProtobufSerializer.cs
+++ b/NitroxClient/Helpers/NitroxProtobufSerializer.cs
@@ -11,7 +11,7 @@ namespace NitroxClient.Helpers
public class NitroxProtobufSerializer
{
public readonly RuntimeTypeModel model;
- public readonly Dictionary NitroxTypes = new Dictionary();
+ public readonly Dictionary NitroxTypes = [];
protected RuntimeTypeModel Model => model;
diff --git a/NitroxClient/MonoBehaviours/BaseLeakManager.cs b/NitroxClient/MonoBehaviours/BaseLeakManager.cs
index 4dca29c6f..0baaf34c8 100644
--- a/NitroxClient/MonoBehaviours/BaseLeakManager.cs
+++ b/NitroxClient/MonoBehaviours/BaseLeakManager.cs
@@ -1,5 +1,6 @@
using System.Collections.Generic;
using NitroxClient.Communication;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.Packets;
diff --git a/NitroxClient/MonoBehaviours/CinematicController/MultiplayerCinematicReference.cs b/NitroxClient/MonoBehaviours/CinematicController/MultiplayerCinematicReference.cs
index 19358f847..d50544aa7 100644
--- a/NitroxClient/MonoBehaviours/CinematicController/MultiplayerCinematicReference.cs
+++ b/NitroxClient/MonoBehaviours/CinematicController/MultiplayerCinematicReference.cs
@@ -1,5 +1,6 @@
using System.Collections.Generic;
using System.Linq;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic;
diff --git a/NitroxClient/MonoBehaviours/Cyclops/NitroxCyclops.cs b/NitroxClient/MonoBehaviours/Cyclops/NitroxCyclops.cs
index 926c143af..aa94dc2a9 100644
--- a/NitroxClient/MonoBehaviours/Cyclops/NitroxCyclops.cs
+++ b/NitroxClient/MonoBehaviours/Cyclops/NitroxCyclops.cs
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
diff --git a/NitroxClient/MonoBehaviours/Cyclops/VirtualCyclops.cs b/NitroxClient/MonoBehaviours/Cyclops/VirtualCyclops.cs
index e28fbf851..347988c25 100644
--- a/NitroxClient/MonoBehaviours/Cyclops/VirtualCyclops.cs
+++ b/NitroxClient/MonoBehaviours/Cyclops/VirtualCyclops.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using NitroxClient.Communication;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.WorldEntities;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/EntityPositionBroadcaster.cs b/NitroxClient/MonoBehaviours/EntityPositionBroadcaster.cs
index 05053f2d0..1979463ac 100644
--- a/NitroxClient/MonoBehaviours/EntityPositionBroadcaster.cs
+++ b/NitroxClient/MonoBehaviours/EntityPositionBroadcaster.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Linq;
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxModel.Core;
using NitroxModel.DataStructures;
diff --git a/NitroxClient/MonoBehaviours/FMODEmitterController.cs b/NitroxClient/MonoBehaviours/FMODEmitterController.cs
index eaccb992f..2d7074e62 100644
--- a/NitroxClient/MonoBehaviours/FMODEmitterController.cs
+++ b/NitroxClient/MonoBehaviours/FMODEmitterController.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using FMOD.Studio;
using FMODUnity;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.FMOD;
using NitroxModel.GameLogic.FMOD;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/Gui/HUD/RemotePlayerVitals.cs b/NitroxClient/MonoBehaviours/Gui/HUD/RemotePlayerVitals.cs
index 8ad18653e..e08b3d805 100644
--- a/NitroxClient/MonoBehaviours/Gui/HUD/RemotePlayerVitals.cs
+++ b/NitroxClient/MonoBehaviours/Gui/HUD/RemotePlayerVitals.cs
@@ -1,4 +1,5 @@
using System;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.Unity.Helper;
using TMPro;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/MainMenuNotificationPanel.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/MainMenuNotificationPanel.cs
index 4c80e2f38..b118ff023 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/MainMenuNotificationPanel.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/MainMenuNotificationPanel.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections;
using System.Linq;
+using NitroxClient.Extensions;
using NitroxClient.Unity.Helper;
using TMPro;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/NitroxMainMenuModifications.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/NitroxMainMenuModifications.cs
index 5d53be770..67e336591 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/NitroxMainMenuModifications.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/NitroxMainMenuModifications.cs
@@ -1,4 +1,5 @@
-using NitroxClient.MonoBehaviours.Discord;
+using NitroxClient.Extensions;
+using NitroxClient.MonoBehaviours.Discord;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServerJoin;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServersList;
using NitroxClient.Unity.Helper;
@@ -29,7 +30,7 @@ private void SceneManager_sceneLoaded(Scene scene, LoadSceneMode loadMode)
private void MultiplayerMenuMods()
{
- GameObject startButton = GameObjectHelper.RequireGameObject("Menu canvas/Panel/MainMenu/PrimaryOptions/MenuButtons/ButtonPlay");
+ GameObject startButton = GameObjectExtensions.RequireGameObject("Menu canvas/Panel/MainMenu/PrimaryOptions/MenuButtons/ButtonPlay");
GameObject showLoadedMultiplayer = Instantiate(startButton, startButton.transform.parent);
showLoadedMultiplayer.name = "ButtonMultiplayer";
showLoadedMultiplayer.transform.SetSiblingIndex(3);
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuColorPickerPreview.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuColorPickerPreview.cs
index fcb4eaf41..5393f8a29 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuColorPickerPreview.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuColorPickerPreview.cs
@@ -1,3 +1,4 @@
+using NitroxClient.Extensions;
using NitroxClient.Unity.Helper;
using UnityEngine;
using UnityEngine.EventSystems;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuEnterPasswordPanel.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuEnterPasswordPanel.cs
index f1300fda2..0756df009 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuEnterPasswordPanel.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuEnterPasswordPanel.cs
@@ -2,6 +2,7 @@
using System.Collections;
using System.Linq;
using FMODUnity;
+using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServersList;
using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.Util;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuJoinServerPanel.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuJoinServerPanel.cs
index 4fdf4450f..986c2f220 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuJoinServerPanel.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuJoinServerPanel.cs
@@ -2,6 +2,7 @@
using System.Linq;
using System.Text.RegularExpressions;
using FMODUnity;
+using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServersList;
using NitroxClient.Unity.Helper;
using TMPro;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuCreateServerPanel.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuCreateServerPanel.cs
index 4f7cc0756..19255edeb 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuCreateServerPanel.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuCreateServerPanel.cs
@@ -2,6 +2,7 @@
using System.Collections;
using System.Linq;
using FMODUnity;
+using NitroxClient.Extensions;
using NitroxClient.Unity.Helper;
using NitroxModel.Serialization;
using TMPro;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerButton.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerButton.cs
index 31860fc5f..dc4e7df6e 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerButton.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerButton.cs
@@ -3,6 +3,7 @@
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Settings;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServerJoin;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerListPanel.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerListPanel.cs
index 2a3dea0b7..65ea6c6af 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerListPanel.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerListPanel.cs
@@ -6,6 +6,7 @@
using System.Threading.Tasks;
using FMODUnity;
using NitroxClient.Communication;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Settings;
using NitroxClient.Unity.Helper;
using NitroxModel;
diff --git a/NitroxClient/MonoBehaviours/MoonpoolManager.cs b/NitroxClient/MonoBehaviours/MoonpoolManager.cs
index db81c5038..feb443257 100644
--- a/NitroxClient/MonoBehaviours/MoonpoolManager.cs
+++ b/NitroxClient/MonoBehaviours/MoonpoolManager.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
diff --git a/NitroxClient/MonoBehaviours/MovementBroadcaster.cs b/NitroxClient/MonoBehaviours/MovementBroadcaster.cs
index 26a719d7c..467e4d6d0 100644
--- a/NitroxClient/MonoBehaviours/MovementBroadcaster.cs
+++ b/NitroxClient/MonoBehaviours/MovementBroadcaster.cs
@@ -1,5 +1,6 @@
using System.Collections.Generic;
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours.Vehicles;
using NitroxModel.DataStructures;
diff --git a/NitroxClient/MonoBehaviours/MovementReplicator.cs b/NitroxClient/MonoBehaviours/MovementReplicator.cs
index da426fe93..d70e24911 100644
--- a/NitroxClient/MonoBehaviours/MovementReplicator.cs
+++ b/NitroxClient/MonoBehaviours/MovementReplicator.cs
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Settings;
using NitroxClient.MonoBehaviours.Cyclops;
diff --git a/NitroxClient/MonoBehaviours/OutOfCellEntity.cs b/NitroxClient/MonoBehaviours/OutOfCellEntity.cs
index 959edd3ca..e0fa0d208 100644
--- a/NitroxClient/MonoBehaviours/OutOfCellEntity.cs
+++ b/NitroxClient/MonoBehaviours/OutOfCellEntity.cs
@@ -1,4 +1,5 @@
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxModel.DataStructures;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/Overrides/MultiplayerBench.cs b/NitroxClient/MonoBehaviours/Overrides/MultiplayerBench.cs
index 4aa1c7f37..cb8a9d003 100644
--- a/NitroxClient/MonoBehaviours/Overrides/MultiplayerBench.cs
+++ b/NitroxClient/MonoBehaviours/Overrides/MultiplayerBench.cs
@@ -1,4 +1,5 @@
using System;
+using NitroxClient.Extensions;
using NitroxClient.Unity.Helper;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/PlayerDeathBroadcaster.cs b/NitroxClient/MonoBehaviours/PlayerDeathBroadcaster.cs
index 32ff57821..0269a8cd5 100644
--- a/NitroxClient/MonoBehaviours/PlayerDeathBroadcaster.cs
+++ b/NitroxClient/MonoBehaviours/PlayerDeathBroadcaster.cs
@@ -1,3 +1,4 @@
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/PlayerMovementBroadcaster.cs b/NitroxClient/MonoBehaviours/PlayerMovementBroadcaster.cs
index f8c242076..d2398d39d 100644
--- a/NitroxClient/MonoBehaviours/PlayerMovementBroadcaster.cs
+++ b/NitroxClient/MonoBehaviours/PlayerMovementBroadcaster.cs
@@ -1,4 +1,5 @@
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/MonoBehaviours/PlayerStatsBroadcaster.cs b/NitroxClient/MonoBehaviours/PlayerStatsBroadcaster.cs
index 360343071..edd388df4 100644
--- a/NitroxClient/MonoBehaviours/PlayerStatsBroadcaster.cs
+++ b/NitroxClient/MonoBehaviours/PlayerStatsBroadcaster.cs
@@ -1,3 +1,4 @@
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/PrecursorTracker.cs b/NitroxClient/MonoBehaviours/PrecursorTracker.cs
index dd9e13374..d2ad676de 100644
--- a/NitroxClient/MonoBehaviours/PrecursorTracker.cs
+++ b/NitroxClient/MonoBehaviours/PrecursorTracker.cs
@@ -1,3 +1,4 @@
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/UnderwaterStateTracker.cs b/NitroxClient/MonoBehaviours/UnderwaterStateTracker.cs
index bd0d619c0..85cb42e19 100644
--- a/NitroxClient/MonoBehaviours/UnderwaterStateTracker.cs
+++ b/NitroxClient/MonoBehaviours/UnderwaterStateTracker.cs
@@ -1,3 +1,4 @@
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxModel.GameLogic.PlayerAnimation;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/Vehicles/CyclopsMovementReplicator.cs b/NitroxClient/MonoBehaviours/Vehicles/CyclopsMovementReplicator.cs
index 269342c51..3958a2bce 100644
--- a/NitroxClient/MonoBehaviours/Vehicles/CyclopsMovementReplicator.cs
+++ b/NitroxClient/MonoBehaviours/Vehicles/CyclopsMovementReplicator.cs
@@ -1,4 +1,5 @@
using FMOD.Studio;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxModel.GameLogic.FMOD;
using NitroxModel.Packets;
diff --git a/NitroxClient/MonoBehaviours/Vehicles/ExosuitMovementReplicator.cs b/NitroxClient/MonoBehaviours/Vehicles/ExosuitMovementReplicator.cs
index a816038f6..f4dc91f18 100644
--- a/NitroxClient/MonoBehaviours/Vehicles/ExosuitMovementReplicator.cs
+++ b/NitroxClient/MonoBehaviours/Vehicles/ExosuitMovementReplicator.cs
@@ -1,4 +1,5 @@
using FMOD.Studio;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.FMOD;
using NitroxModel.GameLogic.FMOD;
diff --git a/NitroxClient/MonoBehaviours/Vehicles/SeaMothMovementReplicator.cs b/NitroxClient/MonoBehaviours/Vehicles/SeaMothMovementReplicator.cs
index 80d82a9c3..98a7caf3a 100644
--- a/NitroxClient/MonoBehaviours/Vehicles/SeaMothMovementReplicator.cs
+++ b/NitroxClient/MonoBehaviours/Vehicles/SeaMothMovementReplicator.cs
@@ -1,4 +1,5 @@
using FMOD.Studio;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxModel.GameLogic.FMOD;
using NitroxModel.Packets;
diff --git a/NitroxClient/Unity/Helper/GameObjectHelper.cs b/NitroxClient/Unity/Helper/GameObjectHelper.cs
deleted file mode 100644
index 5aa8a12fe..000000000
--- a/NitroxClient/Unity/Helper/GameObjectHelper.cs
+++ /dev/null
@@ -1,181 +0,0 @@
-using System;
-using System.Text;
-using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using UnityEngine;
-using Object = UnityEngine.Object;
-
-namespace NitroxClient.Unity.Helper
-{
- public static class GameObjectHelper
- {
- public static bool TryGetComponentInChildren(this GameObject go, out T component, bool includeInactive = false) where T : Component
- {
- component = go.GetComponentInChildren(includeInactive);
- return component;
- }
-
- public static bool TryGetComponentInParent(this GameObject go, out T component, bool includeInactive = false) where T : Component
- {
- component = go.GetComponentInParent(includeInactive);
- return component;
- }
-
- public static bool TryGetComponentInChildren(this Component co, out T component, bool includeInactive = false) where T : Component => TryGetComponentInChildren(co.gameObject, out component, includeInactive);
- public static bool TryGetComponentInParent(this Component co, out T component, bool includeInactive = false) where T : Component => TryGetComponentInParent(co.gameObject, out component, includeInactive);
-
- public static T RequireComponent(this GameObject o) where T : Component
- {
- T component = o.GetComponent();
- Validate.IsTrue(component, $"{o.name} did not have a component of type {typeof(T)}");
-
- return component;
- }
-
- public static T RequireComponentInChildren(this GameObject o, bool includeInactive = false) where T : Component
- {
- T component = o.GetComponentInChildren(includeInactive);
- Validate.IsTrue(component, $"{o.name} did not have a component of type {typeof(T)} in its children");
-
- return component;
- }
-
- public static T RequireComponentInParent(this GameObject o) where T : Component
- {
- T component = o.GetComponentInParent();
- Validate.IsTrue(component, $"{o.name} did not have a component of type {typeof(T)} in its parent");
-
- return component;
- }
-
- public static T RequireComponent(this Component co) where T : Component => RequireComponent(co.gameObject);
- public static T RequireComponentInChildren(this Component co, bool includeInactive = false) where T : Component => RequireComponentInChildren(co.gameObject, includeInactive);
- public static T RequireComponentInParent(this Component co) where T : Component => RequireComponentInParent(co.gameObject);
-
- public static Transform RequireTransform(this Transform tf, string name)
- {
- Transform child = tf.Find(name);
-
- if (!child)
- {
- throw new ArgumentNullException($@"{tf} does not contain ""{name}""");
- }
-
- return child;
- }
-
- public static Transform RequireTransform(this GameObject go, string name) => go.transform.RequireTransform(name);
- public static Transform RequireTransform(this MonoBehaviour mb, string name) => mb.transform.RequireTransform(name);
-
- public static GameObject RequireGameObject(this Transform tf, string name) => tf.RequireTransform(name).gameObject;
- public static GameObject RequireGameObject(this GameObject go, string name) => go.transform.RequireGameObject(name);
- public static GameObject RequireGameObject(this MonoBehaviour mb, string name) => mb.transform.RequireGameObject(name);
-
- public static GameObject RequireGameObject(string name)
- {
- GameObject go = GameObject.Find(name);
- Validate.IsTrue(go, $"No global GameObject found with {name}!");
-
- return go;
- }
-
- public static string GetFullHierarchyPath(this Component component)
- {
- return component ? $"{component.gameObject.GetFullHierarchyPath()} -> {component.GetType().Name}.cs" : "";
- }
-
- public static string GetHierarchyPath(this GameObject go, GameObject end)
- {
- if (!go || go == end)
- {
- return "";
- }
-
- if (!go.transform.parent)
- {
- return go.name;
- }
-
- StringBuilder sb = new(go.name);
- for (GameObject gameObject = go.transform.parent.gameObject;
- gameObject && gameObject != end;
- gameObject = gameObject.transform.parent ? gameObject.transform.parent.gameObject : null)
- {
- sb.Insert(0, $"{gameObject.name}/");
- }
-
- return sb.ToString();
- }
-
- public static Transform GetRootParent(this Component co) => co.transform.GetRootParent();
- public static Transform GetRootParent(this GameObject go) => go.transform.GetRootParent();
-
- public static Transform GetRootParent(this Transform root)
- {
- while (root.parent)
- {
- root = root.parent;
- }
-
- return root;
- }
-
- public static bool TryGetComponentInAscendance(this Transform transform, int degree, out T component)
- {
- while (degree > 0)
- {
- if (!transform.parent)
- {
- component = default;
- return false;
- }
- transform = transform.parent;
- degree--;
- }
- return transform.TryGetComponent(out component);
- }
-
- ///
- /// Custom wrapper for prefab spawning which ensures a NitroxEntity is present
- /// on the newly created object before its components are enabled (Awake is not fired).
- ///
- public static GameObject InstantiateInactiveWithId(GameObject original, NitroxId nitroxId, Vector3 position = default, Quaternion rotation = default)
- {
- GameObject copy = Object.Instantiate(original, position, rotation, false);
- NitroxEntity.SetNewId(copy, nitroxId);
- return copy;
- }
-
- ///
- ///
- /// Sets the GameObject to active after spawning it with a NitroxEntity.
- ///
- public static GameObject InstantiateWithId(GameObject original, NitroxId nitroxId, Vector3 position = default, Quaternion rotation = default)
- {
- GameObject copy = InstantiateInactiveWithId(original, nitroxId, position, rotation);
- copy.SetActive(true);
- return copy;
- }
-
- ///
- /// Override for using our own wrapper
- ///
- public static GameObject CreateGenericLoot(TechType techType, NitroxId nitroxId)
- {
- GameObject gameObject = SpawnFromPrefab(Utils.genericLootPrefab, nitroxId);
- gameObject.GetComponent().SetTechTypeOverride(techType, lootCube: true);
- return gameObject;
- }
-
- ///
- /// Override for using our own wrapper
- ///
- public static GameObject SpawnFromPrefab(GameObject prefab, NitroxId nitroxId, Transform parent = null)
- {
- GameObject gameObject = InstantiateWithId(prefab, nitroxId);
- gameObject.transform.parent = parent;
- return gameObject;
- }
- }
-}
diff --git a/NitroxClient/Unity/Helper/StringUtils.cs b/NitroxClient/Unity/Helper/StringUtils.cs
deleted file mode 100644
index 3fd53ade8..000000000
--- a/NitroxClient/Unity/Helper/StringUtils.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System.Text;
-using NitroxModel.Helper;
-
-namespace NitroxClient.Unity.Helper
-{
- public static class StringUtils
- {
- public static string TruncateRight(this string value, int maxChars, string appendix = "...")
- {
- Validate.NotNull(value);
- Validate.NotNull(appendix);
-
- return value.Length <= maxChars ? value : value.Substring(0, maxChars) + appendix;
- }
-
- public static string TruncateLeft(this string value, int maxChars, string appendix = "...")
- {
- Validate.NotNull(value);
- Validate.NotNull(appendix);
-
- return value.Length <= maxChars ? value : appendix + value.Substring(value.Length - maxChars, maxChars);
- }
-
- public static string ByteArrayToHexString(this byte[] bytes)
- {
- StringBuilder hex = new StringBuilder(bytes.Length * 2);
-
- foreach (byte b in bytes)
- {
- hex.Append("0x");
- hex.Append(b.ToString("X2"));
- hex.Append(" ");
- }
-
- return hex.ToString();
- }
- }
-}
diff --git a/NitroxClient/Unity/Smoothing/ExosuitSmoothRotation.cs b/NitroxClient/Unity/Smoothing/ExosuitSmoothRotation.cs
deleted file mode 100644
index 9e2bf88ac..000000000
--- a/NitroxClient/Unity/Smoothing/ExosuitSmoothRotation.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using UnityEngine;
-
-namespace NitroxClient.Unity.Smoothing
-{
- class ExosuitSmoothRotation : SmoothRotation
- {
- private const float SMOOTHING_SPEED = 20f;
- private float timeCount = 0;
- private Quaternion target;
- public new Quaternion Target
- {
- get => target;
- set
- {
- timeCount = 0;
- target = value;
- }
- }
-
- public ExosuitSmoothRotation(Quaternion initial)
- {
- Target = Current = initial;
- }
-
- public ExosuitSmoothRotation()
- {
- }
-
- public new void FixedUpdate()
- {
- Current = Quaternion.Slerp(Current, Target, timeCount + SMOOTHING_SPEED * Time.fixedDeltaTime);
- timeCount += SMOOTHING_SPEED * Time.fixedDeltaTime;
- }
- }
-}
diff --git a/NitroxPatcher/GlobalUsings.cs b/NitroxPatcher/GlobalUsings.cs
index ae09737a5..97fdba4d9 100644
--- a/NitroxPatcher/GlobalUsings.cs
+++ b/NitroxPatcher/GlobalUsings.cs
@@ -1,2 +1,3 @@
global using NitroxModel.Extensions;
global using NitroxModel.Helper;
+global using NitroxClient.Extensions;
diff --git a/NitroxPatcher/Main.cs b/NitroxPatcher/Main.cs
index d3311c696..317f3a9da 100644
--- a/NitroxPatcher/Main.cs
+++ b/NitroxPatcher/Main.cs
@@ -1,6 +1,6 @@
extern alias JB;
global using NitroxModel.Logger;
-global using static NitroxClient.Helpers.NitroxEntityExtensions;
+global using static NitroxClient.Extensions.NitroxEntityExtensions;
using System;
using System.IO;
using System.Reflection;
diff --git a/NitroxPatcher/Patches/Dynamic/FruitPlant_Start_Patch.cs b/NitroxPatcher/Patches/Dynamic/FruitPlant_Start_Patch.cs
index 7afd4d630..80c529e71 100644
--- a/NitroxPatcher/Patches/Dynamic/FruitPlant_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FruitPlant_Start_Patch.cs
@@ -1,4 +1,5 @@
using System.Reflection;
+using NitroxClient.Extensions;
using NitroxClient.Helpers;
using NitroxModel.Helper;
diff --git a/NitroxPatcher/Patches/Dynamic/FruitPlant_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/FruitPlant_Update_Patch.cs
index af44f0f1b..67e185aa1 100644
--- a/NitroxPatcher/Patches/Dynamic/FruitPlant_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FruitPlant_Update_Patch.cs
@@ -1,5 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor;
using NitroxClient.Helpers;
diff --git a/NitroxPatcher/Patches/Dynamic/GrowingPlant_SpawnGrownModelAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/GrowingPlant_SpawnGrownModelAsync_Patch.cs
index c1ea6c788..d18403d08 100644
--- a/NitroxPatcher/Patches/Dynamic/GrowingPlant_SpawnGrownModelAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/GrowingPlant_SpawnGrownModelAsync_Patch.cs
@@ -2,6 +2,7 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning;
using NitroxClient.GameLogic.Spawning.Metadata.Processor;
using NitroxClient.Helpers;
diff --git a/NitroxPatcher/Patches/Dynamic/PickPrefab_SetPickedUp_Patch.cs b/NitroxPatcher/Patches/Dynamic/PickPrefab_SetPickedUp_Patch.cs
index aeaf38288..c541e7af0 100644
--- a/NitroxPatcher/Patches/Dynamic/PickPrefab_SetPickedUp_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PickPrefab_SetPickedUp_Patch.cs
@@ -1,5 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor;
using NitroxClient.Helpers;
using NitroxModel.DataStructures;
diff --git a/NitroxPatcher/Patches/Dynamic/Planter_AddItem_Patch.cs b/NitroxPatcher/Patches/Dynamic/Planter_AddItem_Patch.cs
index 4323ec877..a465b0c5e 100644
--- a/NitroxPatcher/Patches/Dynamic/Planter_AddItem_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Planter_AddItem_Patch.cs
@@ -1,4 +1,5 @@
using System.Reflection;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.Helpers;
using NitroxModel.DataStructures;
diff --git a/NitroxPatcher/Patches/Dynamic/Planter_ResetStorage_Patch.cs b/NitroxPatcher/Patches/Dynamic/Planter_ResetStorage_Patch.cs
index c68509dbf..3bdb0f219 100644
--- a/NitroxPatcher/Patches/Dynamic/Planter_ResetStorage_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Planter_ResetStorage_Patch.cs
@@ -1,5 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.Helpers;
using NitroxModel.DataStructures;
diff --git a/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_IntroSequence_Patch.cs b/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_IntroSequence_Patch.cs
index b5e6c2fd9..f54965b7c 100644
--- a/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_IntroSequence_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_IntroSequence_Patch.cs
@@ -2,6 +2,7 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
+using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxClient.Helpers;
From 0d42f7f9e2b5165d4f7efbad84f79a7252bf989e Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Fri, 10 Oct 2025 02:22:55 +0200
Subject: [PATCH 03/50] Removed redundant usings from NitroxClient and
NitroxPatcher
---
NitroxClient/ClientAutoFacRegistrar.cs | 1 -
.../Packets/Processors/BuildingResyncProcessor.cs | 1 -
.../Processors/CyclopsDamagePointHealthChangedProcessor.cs | 2 --
.../Packets/Processors/CyclopsDamageProcessor.cs | 2 --
.../Packets/Processors/EntityReparentedProcessor.cs | 2 --
.../Communication/Packets/Processors/FireDousedProcessor.cs | 2 --
.../Packets/Processors/MedicalCabinetClickedProcessor.cs | 2 --
.../Packets/Processors/OpenableStateChangedProcessor.cs | 2 --
.../Packets/Processors/PDAScanFinishedProcessor.cs | 1 -
.../Packets/Processors/PlaySunbeamEventProcessor.cs | 1 -
.../Packets/Processors/PlayerTeleportedProcessor.cs | 1 -
.../Packets/Processors/SeaTreaderSpawnedChunkProcessor.cs | 2 --
.../Packets/Processors/StoryGoalExecutedClientProcessor.cs | 1 -
.../Packets/Processors/ToggleLightsProcessor.cs | 3 ---
.../Packets/Processors/VehicleUndockingProcessor.cs | 1 -
NitroxClient/Debuggers/Drawer/UnityUI/DropdownDrawer.cs | 4 +---
NitroxClient/Debuggers/Drawer/UnityUI/ImageDrawer.cs | 3 +--
NitroxClient/Debuggers/Drawer/UnityUI/LayoutGroupDrawer.cs | 3 +--
NitroxClient/Debuggers/NetworkDebugger.cs | 1 -
NitroxClient/Debuggers/SceneDebugger.cs | 1 -
NitroxClient/GameLogic/Bases/BuildUtils.cs | 2 --
NitroxClient/GameLogic/Bases/BuildingHandler.cs | 2 --
NitroxClient/GameLogic/Bases/GhostMetadataApplier.cs | 2 --
NitroxClient/GameLogic/Bases/GhostMetadataRetriever.cs | 2 --
NitroxClient/GameLogic/BulletManager.cs | 2 --
NitroxClient/GameLogic/Cyclops.cs | 1 -
NitroxClient/GameLogic/CyclopsPawn.cs | 1 -
NitroxClient/GameLogic/Entities.cs | 2 --
NitroxClient/GameLogic/EquipmentSlots.cs | 1 -
NitroxClient/GameLogic/ExosuitModuleEvent.cs | 1 -
NitroxClient/GameLogic/Fires.cs | 1 -
NitroxClient/GameLogic/Helper/InventoryContainerHelper.cs | 2 --
.../InitialSync/EquippedItemInitialSyncProcessor.cs | 3 ---
.../GameLogic/InitialSync/PdaInitialSyncProcessor.cs | 1 -
.../GameLogic/InitialSync/PlayerInitialSyncProcessor.cs | 1 -
.../InitialSync/PlayerPreferencesInitialSyncProcessor.cs | 1 -
.../GameLogic/InitialSync/QuickSlotInitialSyncProcessor.cs | 1 -
NitroxClient/GameLogic/ItemContainers.cs | 2 --
NitroxClient/GameLogic/Items.cs | 2 --
NitroxClient/GameLogic/LiveMixinManager.cs | 1 -
NitroxClient/GameLogic/LocalPlayer.cs | 2 --
NitroxClient/GameLogic/MedkitFabricator.cs | 1 -
NitroxClient/GameLogic/MobileVehicleBay.cs | 1 -
.../PlayerModel/ColorSwap/DiveSuitColorSwapManager.cs | 2 --
.../PlayerLogic/PlayerModel/ColorSwap/FinColorSwapManager.cs | 2 --
.../PlayerModel/ColorSwap/RadiationHelmetColorSwapManager.cs | 2 --
.../PlayerModel/ColorSwap/RadiationSuitColorSwapManager.cs | 2 --
.../ColorSwap/RadiationSuitVestColorSwapManager.cs | 2 --
.../PlayerModel/ColorSwap/RadiationTankColorSwapManager.cs | 2 --
.../PlayerModel/ColorSwap/RebreatherColorSwapManager.cs | 2 --
.../PlayerModel/ColorSwap/ReinforcedSuitColorSwapManager.cs | 2 --
.../PlayerModel/ColorSwap/ScubaTankColorSwapManager.cs | 2 --
.../PlayerModel/ColorSwap/StillSuitColorSwapManager.cs | 2 --
NitroxClient/GameLogic/RemotePlayer.cs | 2 --
NitroxClient/GameLogic/Rockets.cs | 2 --
NitroxClient/GameLogic/SeamothModulesEvent.cs | 1 -
NitroxClient/GameLogic/Spawning/Bases/BuildEntitySpawner.cs | 1 -
NitroxClient/GameLogic/Spawning/Bases/GhostEntitySpawner.cs | 2 --
.../GameLogic/Spawning/Bases/InteriorPieceEntitySpawner.cs | 2 --
NitroxClient/GameLogic/Spawning/Bases/ModuleEntitySpawner.cs | 2 --
.../GameLogic/Spawning/InstalledBatteryEntitySpawner.cs | 2 --
.../GameLogic/Spawning/InstalledModuleEntitySpawner.cs | 2 --
.../GameLogic/Spawning/InventoryItemEntitySpawner.cs | 2 --
.../GameLogic/Spawning/Metadata/EntityMetadataManager.cs | 1 -
.../Spawning/Metadata/Extractor/CyclopsMetadataExtractor.cs | 2 --
.../Metadata/Extractor/EscapePodMetadataExtractor.cs | 2 --
.../Metadata/Extractor/FlashlightMetadataExtractor.cs | 2 --
.../Spawning/Metadata/Extractor/PlayerMetadataExtractor.cs | 1 -
.../Spawning/Metadata/Extractor/RocketMetadataExtractor.cs | 2 --
.../Metadata/Extractor/SubNameInputMetadataExtractor.cs | 1 -
.../Metadata/Processor/Abstract/VehicleMetadataProcessor.cs | 2 --
.../Spawning/Metadata/Processor/CrafterMetadataProcessor.cs | 2 --
.../Metadata/Processor/CyclopsLightingMetadataProcessor.cs | 2 --
.../Spawning/Metadata/Processor/CyclopsMetadataProcessor.cs | 2 --
.../Spawning/Metadata/Processor/EatableMetadataProcessor.cs | 1 -
.../Spawning/Metadata/Processor/PlayerMetadataProcessor.cs | 2 --
.../Spawning/Metadata/Processor/RocketMetadataProcessor.cs | 2 --
.../Spawning/Metadata/Processor/SeamothMetadataProcessor.cs | 2 --
.../Metadata/Processor/SubNameInputMetadataProcessor.cs | 1 -
.../GameLogic/Spawning/WorldEntities/CrashEntitySpawner.cs | 2 --
.../Spawning/WorldEntities/CreatureRespawnEntitySpawner.cs | 2 --
.../Spawning/WorldEntities/GeyserWorldEntitySpawner.cs | 2 --
.../Spawning/WorldEntities/GlobalRootEntitySpawner.cs | 2 --
.../Spawning/WorldEntities/OxygenPipeEntitySpawner.cs | 2 --
.../Spawning/WorldEntities/PlacedWorldEntitySpawner.cs | 2 --
.../GameLogic/Spawning/WorldEntities/PlayerEntitySpawner.cs | 1 -
.../Spawning/WorldEntities/ReefbackChildEntitySpawner.cs | 2 --
.../Spawning/WorldEntities/ReefbackEntitySpawner.cs | 2 --
.../GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs | 1 -
NitroxClient/GameLogic/Terrain.cs | 2 --
NitroxClient/GameLogic/Vehicles.cs | 1 -
NitroxClient/MonoBehaviours/BaseLeakManager.cs | 1 -
.../CinematicController/MultiplayerCinematicReference.cs | 2 --
NitroxClient/MonoBehaviours/Cyclops/CyclopsMotor.cs | 3 +--
.../MonoBehaviours/Cyclops/CyclopsMotorGroundChecker.cs | 2 +-
NitroxClient/MonoBehaviours/Cyclops/NitroxCyclops.cs | 1 -
NitroxClient/MonoBehaviours/Cyclops/VirtualCyclops.cs | 1 -
NitroxClient/MonoBehaviours/EntityPositionBroadcaster.cs | 1 -
NitroxClient/MonoBehaviours/FMODEmitterController.cs | 1 -
NitroxClient/MonoBehaviours/Gui/Chat/PlayerChatPinButton.cs | 1 -
NitroxClient/MonoBehaviours/Gui/HUD/RemotePlayerVitals.cs | 2 --
.../MonoBehaviours/Gui/InGame/TopRightWatermarkText.cs | 2 +-
.../MonoBehaviours/Gui/MainMenu/MainMenuNotificationPanel.cs | 2 --
.../Gui/MainMenu/NitroxMainMenuModifications.cs | 4 +---
.../Gui/MainMenu/ServerJoin/JoinServerBackend.cs | 1 +
.../Gui/MainMenu/ServerJoin/MainMenuColorPickerPreview.cs | 2 --
.../Gui/MainMenu/ServerJoin/MainMenuEnterPasswordPanel.cs | 2 --
.../Gui/MainMenu/ServerJoin/MainMenuJoinServerPanel.cs | 2 --
.../Gui/MainMenu/ServersList/MainMenuCreateServerPanel.cs | 2 --
.../Gui/MainMenu/ServersList/MainMenuServerButton.cs | 2 --
.../Gui/MainMenu/ServersList/MainMenuServerListPanel.cs | 5 -----
NitroxClient/MonoBehaviours/MoonpoolManager.cs | 2 --
NitroxClient/MonoBehaviours/MovementBroadcaster.cs | 1 -
NitroxClient/MonoBehaviours/MovementReplicator.cs | 1 -
NitroxClient/MonoBehaviours/Multiplayer.cs | 2 +-
NitroxClient/MonoBehaviours/OutOfCellEntity.cs | 1 -
NitroxClient/MonoBehaviours/Overrides/MultiplayerBench.cs | 2 --
NitroxClient/MonoBehaviours/PlayerDeathBroadcaster.cs | 1 -
NitroxClient/MonoBehaviours/PlayerMovementBroadcaster.cs | 2 +-
NitroxClient/MonoBehaviours/PlayerStatsBroadcaster.cs | 1 -
NitroxClient/MonoBehaviours/PrecursorTracker.cs | 1 -
NitroxClient/MonoBehaviours/UnderwaterStateTracker.cs | 1 -
.../MonoBehaviours/Vehicles/CyclopsMovementReplicator.cs | 1 -
.../MonoBehaviours/Vehicles/ExosuitMovementReplicator.cs | 1 -
.../MonoBehaviours/Vehicles/SeaMothMovementReplicator.cs | 1 -
NitroxPatcher/Patcher.cs | 1 -
.../Dynamic/AggressiveWhenSeeTarget_IsTargetValid_Patch.cs | 1 -
.../AggressiveWhenSeeTarget_ScanForAggressionTarget_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Application_IsFocused_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/ArmsController_Start_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/ArmsController_Update_Patch.cs | 1 -
.../Patches/Dynamic/AttackCyclops_OnCollisionEnter_Patch.cs | 1 -
.../Patches/Dynamic/AttackCyclops_UpdateAggression_Patch.cs | 1 -
.../Dynamic/AttackLastTarget_CanAttackTarget_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/AuroraWarnings_Update_Patch.cs | 1 -
.../Patches/Dynamic/BaseDeconstructable_Deconstruct_Patch.cs | 1 -
.../Dynamic/BaseHullStrength_CrushDamageUpdate_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Base_OnPreDestroy_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/BeaconLabel_SetLabel_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Bed_EnterInUseMode_Patch.cs | 2 --
.../Dynamic/BreakableResource_BreakIntoResources_Patch.cs | 1 -
.../BreakableResource_SpawnResourceFromPrefab_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/BuilderTool_Construct_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Builder_TryPlace_Patch.cs | 2 --
NitroxPatcher/Patches/Dynamic/Builder_Update_Patch.cs | 2 --
NitroxPatcher/Patches/Dynamic/Bullet_Update_Patch.cs | 1 -
.../Dynamic/CoffeeVendingMachine_OnMachineUse_Patch.cs | 1 -
.../Patches/Dynamic/ConstructableBase_SetState_Patch.cs | 1 -
.../Patches/Dynamic/Constructable_Construct_Patch.cs | 1 -
.../Patches/Dynamic/Constructable_DeconstructAsync_Patch.cs | 1 -
.../Dynamic/Constructable_DeconstructionAllowed_Patch.cs | 1 -
.../Dynamic/Constructable_ProgressDeconstruction_Patch.cs | 1 -
.../Dynamic/ConstructorInput_OnCraftingBegin_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Constructor_Deploy_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/CrashHome_OnDestroy_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/CrashHome_Spawn_Patch.cs | 2 --
NitroxPatcher/Patches/Dynamic/CrashHome_Start_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/CrashHome_Update_Patch.cs | 1 -
...CrashedShipExploder_OnConsoleCommand_explodeship_Patch.cs | 1 -
.../Patches/Dynamic/CrashedShipExploder_Update_Patch.cs | 1 -
.../Patches/Dynamic/CreatureAction_Perform_Patch.cs | 1 -
.../Patches/Dynamic/CreatureAction_StartPerform_Patch.cs | 1 -
.../Patches/Dynamic/CreatureAction_StopPerform_Patch.cs | 1 -
.../Dynamic/CreatureDeath_OnAttackByCreature_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/CreatureDeath_OnKill_Patch.cs | 1 -
.../Patches/Dynamic/CreatureDeath_OnPickedUp_Patch.cs | 1 -
.../Patches/Dynamic/CreatureDeath_SpawnRespawner_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/CreatureEgg_Hatch_Patch.cs | 1 -
.../Patches/Dynamic/Creature_ChooseBestAction_Patch.cs | 1 -
.../Patches/Dynamic/CyclopsDamagePoint_OnRepair_Patch.cs | 1 -
.../Dynamic/CyclopsDecoyLaunchButton_OnClick_Patch.cs | 1 -
.../Dynamic/CyclopsDestructionEvent_DestroyCyclops_Patch.cs | 1 -
.../CyclopsDestructionEvent_OnConsoleCommand_Patch.cs | 1 -
.../Dynamic/CyclopsDestructionEvent_SpawnLootAsync_Patch.cs | 1 -
.../Dynamic/CyclopsEngineChangeState_OnClick_Patch.cs | 1 -
.../CyclopsExternalDamageManager_CreatePoint_Patch.cs | 1 -
.../CyclopsFireSuppressionButton_StartCooldown_Patch.cs | 1 -
.../Dynamic/CyclopsHelmHUDManager_StopPiloting_Patch.cs | 1 -
.../Patches/Dynamic/CyclopsHelmHUDManager_Update_Patch.cs | 1 -
.../Dynamic/CyclopsLightingPanel_ToggleFloodlights_Patch.cs | 1 -
.../CyclopsLightingPanel_ToggleInternalLighting_Patch.cs | 1 -
.../Patches/Dynamic/CyclopsMotorModeButton_OnClick_Patch.cs | 2 --
.../Dynamic/CyclopsMotorMode_RestoreEngineState_Patch.cs | 1 -
.../CyclopsMotorMode_SaveEngineStateAndPowerDown_Patch.cs | 1 -
.../Patches/Dynamic/CyclopsShieldButton_OnClick_Patch.cs | 1 -
.../Dynamic/CyclopsShieldButton_ShieldIteration_Patch.cs | 1 -
.../Patches/Dynamic/CyclopsShieldButton_StartShield_Patch.cs | 1 -
.../Patches/Dynamic/CyclopsShieldButton_StopShield_Patch.cs | 1 -
...sSilentRunningAbilityButton_TurnOffSilentRunning_Patch.cs | 1 -
...psSilentRunningAbilityButton_TurnOnSilentRunning_Patch.cs | 1 -
.../Patches/Dynamic/CyclopsSonarButton_OnClick_Patch.cs | 1 -
.../Patches/Dynamic/CyclopsSonarButton_SonarPing_Patch.cs | 1 -
.../Patches/Dynamic/CyclopsSonarButton_Update_Patch.cs | 2 --
...psSonarCreatureDetector_CheckForCreaturesInRange_Patch.cs | 1 -
.../Dynamic/CyclopsSonarDisplay_NewEntityOnSonar_Patch.cs | 1 -
.../Dynamic/DayNightCycle_OnConsoleCommand_day_Patch.cs | 1 -
.../DayNightCycle_OnConsoleCommand_daynightspeed_Patch.cs | 1 -
.../Dynamic/DayNightCycle_OnConsoleCommand_night_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/DayNightCycle_Update_Patch.cs | 1 -
.../Patches/Dynamic/DayNightCycle_deltaTime_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/DevConsole_Update_Patch.cs | 1 -
.../Dynamic/DockedVehicleHandTarget_OnHandClick_Patch.cs | 1 -
.../Patches/Dynamic/Eatable_IterateDespawn_Patch.cs | 1 -
.../Patches/Dynamic/EndCreditsManager_OnLateUpdate_Patch.cs | 1 -
.../Patches/Dynamic/EnergMixin_SpawnDefaultAsync_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/EnergyMixin_OnAddItem_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/EntityCell_AwakeAsync_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/EntityCell_Reset_Patch.cs | 1 -
.../Patches/Dynamic/EntityCell_SerializeAsyncImpl_Patch.cs | 1 -
.../Dynamic/EntityCell_SerializeWaiterDataAsync_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/EntityCell_SleepAsync_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Equipment_AddItem_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Equipment_RemoveItem_Patch.cs | 1 -
...ePodFirstUseCinematicsController_ReleaseCreature_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/EscapePod_Awake_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/EscapePod_OnRepair_Patch.cs | 1 -
.../Patches/Dynamic/EscapePod_RespawnPlayer_Patch.cs | 2 --
NitroxPatcher/Patches/Dynamic/EscapePod_Start_Patch.cs | 1 -
.../Patches/Dynamic/ExosuitClawArm_OnPickup_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/ExosuitClawArm_TryUse_Patch.cs | 1 -
.../Patches/Dynamic/ExosuitDrillArm_OnUseDown_Patch.cs | 1 -
.../Patches/Dynamic/ExosuitDrillArm_OnUseUp_Patch.cs | 1 -
.../Patches/Dynamic/ExosuitGrapplingArm_OnHit_Patch.cs | 1 -
.../Patches/Dynamic/ExosuitGrapplingArm_OnUseUp_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Exosuit_FixedUpdate_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Exosuit_GetVelocity_Patch.cs | 1 -
.../Patches/Dynamic/Exosuit_UpdateAnimations_Patch.cs | 1 -
.../Patches/Dynamic/FMODUWE_PlayOneShotImpl_Patch.cs | 1 -
.../Patches/Dynamic/FMOD_CustomEmitter_OnPlay_Patch.cs | 2 --
.../Patches/Dynamic/FMOD_CustomEmitter_OnStop_Patch.cs | 2 --
.../Patches/Dynamic/FMOD_CustomEmitter_Start_Patch.cs | 2 --
.../Dynamic/FMOD_CustomLoopingEmitter_OnPlay_Patch.cs | 2 --
.../Dynamic/FMOD_CustomLoopingEmitter_PlayStopSound_Patch.cs | 2 --
.../Patches/Dynamic/FMOD_StudioEventEmitter_PlayUI_Patch.cs | 2 --
.../Patches/Dynamic/FMOD_StudioEventEmitter_Start_Patch.cs | 2 --
.../Patches/Dynamic/FMOD_StudioEventEmitter_Stop_Patch.cs | 2 --
.../Patches/Dynamic/FPSCounter_UpdateDisplay_Patch.cs | 1 -
.../Dynamic/FireExtinguisherHolder_TakeTankAsync_Patch.cs | 1 -
.../Dynamic/FireExtinguisherHolder_TryStoreTank_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Fire_Douse_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Flare_OnDestroy_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Flare_Update_Patch.cs | 1 -
.../Patches/Dynamic/FlashLight_onLightsToggled_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Floater_FixedUpdate_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/FootstepSounds_OnStep_Patch.cs | 1 -
.../Patches/Dynamic/FreezeRigidbodyWhenFar_Awake_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/FreezeTime_Set_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/FruitPlant_Start_Patch.cs | 3 ---
NitroxPatcher/Patches/Dynamic/FruitPlant_Update_Patch.cs | 2 --
.../GameModeConsoleCommands_OnConsoleCommand_Patch.cs | 1 -
.../Patches/Dynamic/GoalManager_OnCompletedGoal_Patch.cs | 1 -
.../Patches/Dynamic/GotoConsoleCommand_GotoPosition_Patch.cs | 1 -
.../Dynamic/GroundMotor_OnControllerColliderHit_Patch.cs | 3 +--
.../Dynamic/GrowingPlant_SpawnGrownModelAsync_Patch.cs | 3 ---
NitroxPatcher/Patches/Dynamic/GrownPlant_OnKill_Patch.cs | 1 -
.../Dynamic/IncubatorActivationTerminal_OnHandClick_Patch.cs | 1 -
...batorActivationTerminal_OnPlayerCinematicModeEnd_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/IncubatorEgg_HatchNow_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Incubator_OnHandClick_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Incubator_OnHatched_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/IngameMenu_OnDeselect_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/IngameMenu_OnSelect_Patch.cs | 1 -
.../Patches/Dynamic/IngameMenu_QuitGameAsync_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGame_Patch.cs | 1 -
.../Patches/Dynamic/IngameMenu_QuitSubscreen_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Inventory_LoseItems_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Inventory_Pickup_Patch.cs | 1 -
.../Patches/Dynamic/ItemsContainer_DestroyItem_Patch.cs | 1 -
.../Patches/Dynamic/ItemsContainer_NotifyAddItem_Patch.cs | 1 -
.../Dynamic/KeypadDoorConsole_AcceptNumberField_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Knife_OnToolUseAnim_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAdd_Patch.cs | 1 -
.../Patches/Dynamic/KnownTech_NotifyAnalyze_Patch.cs | 1 -
.../LargeRoomWaterPark_OnDeconstructionStart_Patch.cs | 1 -
.../Patches/Dynamic/LargeWorldEntity_UpdateCell_Patch.cs | 1 -
.../Patches/Dynamic/LaunchRocket_OnHandClick_Patch.cs | 2 --
.../LeakingRadiation_OnConsoleCommand_decontaminate_Patch.cs | 1 -
.../Patches/Dynamic/LeakingRadiation_Update_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/LiveMixin_AddHealth_Patch.cs | 2 --
NitroxPatcher/Patches/Dynamic/LiveMixin_Kill_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/LiveMixin_TakeDamage_Patch.cs | 1 -
.../Patches/Dynamic/MedicalCabinet_OnHandClick_Patch.cs | 1 -
.../Patches/Dynamic/MeleeAttack_CanDealDamageTo_Patch.cs | 1 -
...ostConsoleCommand_OnConsoleCommand_bobthebuilder_Patch.cs | 1 -
.../NoCostConsoleCommand_OnConsoleCommand_fastgrow_Patch.cs | 1 -
.../NoCostConsoleCommand_OnConsoleCommand_fasthatch_Patch.cs | 1 -
.../Patches/Dynamic/Openable_OnTriggerEnter_Patch.cs | 1 -
.../Patches/Dynamic/Openable_OnTriggerExit_Patch.cs | 1 -
.../Patches/Dynamic/Openable_PlayOpenAnimation_Patch.cs | 2 --
NitroxPatcher/Patches/Dynamic/PDAEncyclopedia_Add_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/PDALog_Add_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/PDAScanner_Scan_Patch.cs | 1 -
.../Patches/Dynamic/PickPrefab_AddToContainerAsync_Patch.cs | 1 -
.../Patches/Dynamic/PickPrefab_SetPickedState_Patch.cs | 1 -
.../Patches/Dynamic/PickPrefab_SetPickedUp_Patch.cs | 3 ---
NitroxPatcher/Patches/Dynamic/Pickupable_Drop_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Pickupable_OnDestroy_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Pickupable_Pickup_Patch.cs | 1 -
.../Patches/Dynamic/PilotingChair_OnHandClick_Patch.cs | 1 -
.../Patches/Dynamic/PilotingChair_OnPlayerDeath_Patch.cs | 1 -
.../Patches/Dynamic/PilotingChair_OnSteeringStart_Patch.cs | 1 -
.../Patches/Dynamic/PilotingChair_ReleaseBy_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/PinManager_NotifyAdd_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/PinManager_NotifyMovePatch.cs | 1 -
.../Patches/Dynamic/PinManager_NotifyRemove_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/PingInstance_Set_Patches.cs | 1 -
NitroxPatcher/Patches/Dynamic/PlaceTool_Place_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Planter_AddItem_Patch.cs | 3 ---
NitroxPatcher/Patches/Dynamic/Planter_ReplaceItem_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Planter_ResetStorage_Patch.cs | 3 ---
.../Dynamic/PlatformUtils_GetDevToolsEnabled_Patch.cs | 1 -
.../Patches/Dynamic/Player_EnterPilotingMode_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Player_ExitLockedMode_Patch.cs | 1 -
.../Patches/Dynamic/Player_ExitPilotingMode_Patch.cs | 3 +--
.../Patches/Dynamic/Player_MovePlayerToRespawnPoint_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Player_OnKill_Patch.cs | 1 -
.../Patches/Dynamic/Player_OnPlayerPositionCheat_Patch.cs | 1 -
.../Dynamic/Player_RequiresHighPrecisionPhysics_Patch.cs | 1 -
.../Patches/Dynamic/Player_SetCurrentEscapePod_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Player_SetCurrentSub_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Player_Start_Patch.cs | 3 +--
NitroxPatcher/Patches/Dynamic/Player_WarpForward_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Poop_Perform_Patch.cs | 1 -
.../Patches/Dynamic/PrecursorDoorway_ToggleDoor_Patch.cs | 1 -
.../Patches/Dynamic/PrecursorKeyTerminal_DestroyKey_Patch.cs | 1 -
.../Dynamic/PrecursorKeyTerminal_OnHandClick_Patch.cs | 1 -
...orterActivationTerminal_OnPlayerCinematicModeEnd_Patch.cs | 1 -
...sorTeleporterActivationTerminal_OnProxyHandClick_Patch.cs | 1 -
.../PrecursorTeleporter_OnActivateTeleporter_Patch.cs | 1 -
.../Patches/Dynamic/PrefabPlaceholdersGroup_Spawn_Patch.cs | 1 -
.../Patches/Dynamic/PropulsionCannon_GrabObject_Patch.cs | 1 -
.../Dynamic/PropulsionCannon_ReleaseGrabbedObject_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/QuickSlots_Bind_Patch.cs | 1 -
.../Patches/Dynamic/QuickSlots_DeselectInternal_Patch.cs | 1 -
.../Patches/Dynamic/QuickSlots_SelectInternal_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Radio_OnRepair_Patch.cs | 2 --
.../Patches/Dynamic/Radio_PlayRadioMessage_Patch.cs | 1 -
.../Dynamic/RangedAttackLastTarget_StartCasting_Patch.cs | 1 -
.../Dynamic/RangedAttackLastTarget_StartCharging_Patch.cs | 2 --
.../Patches/Dynamic/ReaperLeviathan_GrabVehicle_Patch.cs | 1 -
.../Patches/Dynamic/ReaperLeviathan_ReleaseVehicle_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/ReefbackLife_OnEnable_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Respawn_Start_Patch.cs | 1 -
.../RocketConstructor_StartRocketConstruction_Patch.cs | 1 -
...cketPreflightCheckManager_CompletePreflightCheck_Patch.cs | 2 --
NitroxPatcher/Patches/Dynamic/Rocket_CallElevator_Patch.cs | 1 -
.../Dynamic/Rocket_ElevatorControlButtonActivate_Patch.cs | 1 -
...ragonAggressiveTowardsSharks_GetAggressionTarget_Patch.cs | 1 -
.../SeaDragonAggressiveTowardsSharks_OnMeleeAttack_Patch.cs | 1 -
.../Dynamic/SeaDragonMeleeAttack_OnThrowExosuit_Patch.cs | 1 -
.../Dynamic/SeaDragonMeleeAttack_OnTouchFront_Patch.cs | 1 -
.../Dynamic/SeaDragonMeleeAttack_OnTouchLeft_Patch.cs | 1 -
.../Dynamic/SeaDragonMeleeAttack_OnTouchRight_Patch.cs | 1 -
.../Patches/Dynamic/SeaDragonMeleeAttack_SwatAttack_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/SeaDragon_GrabExosuit_Patch.cs | 1 -
.../Patches/Dynamic/SeaDragon_ReleaseExosuit_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/SeaMoth_FixedUpdate_Patch.cs | 1 -
.../Patches/Dynamic/SeaMoth_OnUpgradeModuleUse_Patch.cs | 1 -
.../Patches/Dynamic/SeaMoth_onLightsToggled_Patch.cs | 1 -
.../Patches/Dynamic/SeaTreaderSounds_SpawnChunks_Patch.cs | 1 -
.../Patches/Dynamic/SeaTreader_SetNextPathPoint_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/SeaTreader_UpdatePath_Patch.cs | 1 -
.../Patches/Dynamic/SeaTreader_UpdateTurning_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/SeaTreader_Update_Patch.cs | 1 -
.../Patches/Dynamic/Seaglide_onLightsToggled_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Sealed_Weld_Patch.cs | 1 -
.../Dynamic/SeamothTorpedoWhirlpool_Register_Patch.cs | 1 -
.../Patches/Dynamic/SeamothTorpedo_Explode_Patch.cs | 1 -
.../Dynamic/SeamothTorpedo_RepeatingTargeting_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Update_Patch.cs | 1 -
.../Dynamic/SpawnConsoleCommand_OnConsoleCommand_Patch.cs | 1 -
.../Patches/Dynamic/SpawnConsoleCommand_SpawnAsync_Patch.cs | 1 -
.../Dynamic/SpawnEscapePodSupplies_OnNewBorn_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/SpawnOnKill_OnKill_Patch.cs | 1 -
.../SpeedConsoleCommand_OnConsoleCommand_speed_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/SplineFollowing_GoTo_Patch.cs | 1 -
.../Patches/Dynamic/Stalker_CheckLoseTooth_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/StarshipDoor_LockDoor_Patch.cs | 1 -
.../Patches/Dynamic/StarshipDoor_OnDoorToggle_Patch.cs | 1 -
.../Patches/Dynamic/StarshipDoor_UnlockDoor_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/StasisSphere_Freeze_Patch.cs | 1 -
.../Patches/Dynamic/StasisSphere_LateUpdate_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/StasisSphere_OnHit_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/StasisSphere_Shoot_Patch.cs | 1 -
.../StoryGoalCustomEventHandler_OnConsoleCommand_Patch.cs | 1 -
.../Patches/Dynamic/StoryGoalScheduler_Schedule_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/StoryGoal_Execute_Patch.cs | 1 -
.../Dynamic/SubConsoleCommand_OnConsoleCommand_sub_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/SubControl_Start_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/SubFire_CreateFire_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/SubNameInput_Awake_Patch.cs | 1 -
.../Patches/Dynamic/SubNameInput_OnColorChange_Patch.cs | 1 -
.../Patches/Dynamic/SubNameInput_OnNameChange_Patch.cs | 2 --
.../Patches/Dynamic/SubNameInput_SetTarget_Patch.cs | 1 -
.../Patches/Dynamic/SubRoot_OnPlayerEntered_Patch.cs | 1 -
.../Patches/Dynamic/SubRoot_OnPlayerExited_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/SubRoot_OnTakeDamage_Patch.cs | 1 -
.../Patches/Dynamic/SubRoot_SetCyclopsUpgrades_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Survival_Eat_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Survival_Use_Patch.cs | 1 -
.../Patches/Dynamic/SwimBehaviour_ManagedUpdate_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/TimeCapsule_Open_Patch.cs | 1 -
.../Patches/Dynamic/ToggleLights_SetLightsActive_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Trashcan_Update_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Utils_GetEntityRoot_Patch.cs | 2 --
NitroxPatcher/Patches/Dynamic/Utils_PlayFMODAsset_Patch.cs | 1 -
.../Patches/Dynamic/VehicleDockingBay_OnTriggerEnter.cs | 1 -
.../Dynamic/VehicleDockingBay_OnUndockingComplete_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Vehicle_OnHandClick_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Vehicle_OnKill_Patch.cs | 1 -
.../Patches/Dynamic/Vehicle_OnPilotModeBegin_Patch.cs | 1 -
.../Patches/Dynamic/Vehicle_OnPilotModeEnd_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Vehicle_TorpedoShot_Patch.cs | 1 -
.../Patches/Dynamic/WaterParkCreature_BornAsync_Patch.cs | 1 -
.../Patches/Dynamic/WaterParkCreature_ManagedUpdate_Patch.cs | 1 -
.../Dynamic/WaterParkCreature_ResetBreedTime_Patch.cs | 1 -
.../Patches/Dynamic/WaterParkItem_ManagedUpdate_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/WaterPark_Split_Patch.cs | 1 -
.../Patches/Dynamic/WaterPark_TransferValue_Patch.cs | 2 --
.../Dynamic/WeldableWallPanelGeneric_UnlockDoor_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/Welder_Weld_Patch.cs | 1 -
.../Patches/Dynamic/uGUI_ColorPicker_Awake_Patch.cs | 1 -
.../Patches/Dynamic/uGUI_OnApplicationQuit_Patch.cs | 1 -
.../Patches/Dynamic/uGUI_PDA_CacheToolbarTooltips_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/uGUI_PDA_Initialize_Patch.cs | 1 -
NitroxPatcher/Patches/Dynamic/uGUI_PDA_SetTabs_Patch.cs | 1 -
.../Patches/Dynamic/uGUI_Pings_IsVisibleNow_Patch.cs | 1 -
.../Patches/Dynamic/uGUI_SceneIntro_HandleInput_Patch.cs | 1 -
.../Patches/Dynamic/uGUI_SceneIntro_IntroSequence_Patch.cs | 3 ---
.../Patches/Dynamic/uGUI_SignInput_OnDeselect_Patch.cs | 1 -
.../uSkyManager_SetVaryingMaterialProperties_Patch.cs | 1 -
NitroxPatcher/Patches/NitroxPatch.cs | 1 -
.../Patches/Persistent/Application_runInBackground_Patch.cs | 1 -
.../Patches/Persistent/CellManager_GetPrefabForSlot_Patch.cs | 1 -
.../Persistent/CellManager_TryLoadCacheBatchCells_Patch.cs | 1 -
NitroxPatcher/Patches/Persistent/Enum_GetValues_Patch.cs | 1 -
...irstUseCinematicsController_OnSceneObjectsLoaded_Patch.cs | 1 -
NitroxPatcher/Patches/Persistent/GameAnalytics_Patch.cs | 1 -
.../Patches/Persistent/GameInputSystem_Initialize_Patch.cs | 1 -
.../Patches/Persistent/Language_LoadLanguageFile_Patch.cs | 1 -
.../Patches/Persistent/MainGameController_StartGame_Patch.cs | 1 -
.../MainMenuLoadButton_RestoreParentsSettings_Patch.cs | 1 -
.../Patches/Persistent/MainMenuRightSide_OpenGroup_Patch.cs | 1 -
.../Persistent/ProtobufSerializer_Deserialize_Patch.cs | 1 -
.../Patches/Persistent/ProtobufSerializer_Serialize_Patch.cs | 1 -
.../Persistent/StartScreen_TryToShowDisclaimer_Patch.cs | 1 -
.../Persistent/uGUI_FeedbackCollector_IsEnabled_Patch.cs | 1 -
.../uGUI_OptionsPanel_AddAccessibilityTab_Patch.cs | 1 -
.../Patches/Persistent/uGUI_OptionsPanel_AddTabs_Patch.cs | 1 -
.../uGUI_TabbedControlsPanel_AddBindingOption_Patch.cs | 1 -
NitroxPatcher/PatternMatching/InstructionPattern.cs | 1 -
NitroxPatcher/TranspilerHelper.cs | 1 -
452 files changed, 13 insertions(+), 571 deletions(-)
diff --git a/NitroxClient/ClientAutoFacRegistrar.cs b/NitroxClient/ClientAutoFacRegistrar.cs
index d5ffe5d67..c228ec38a 100644
--- a/NitroxClient/ClientAutoFacRegistrar.cs
+++ b/NitroxClient/ClientAutoFacRegistrar.cs
@@ -8,7 +8,6 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.Debuggers;
using NitroxClient.GameLogic;
-using NitroxClient.GameLogic.ChatUI;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.GameLogic.HUD;
using NitroxClient.GameLogic.InitialSync.Abstract;
diff --git a/NitroxClient/Communication/Packets/Processors/BuildingResyncProcessor.cs b/NitroxClient/Communication/Packets/Processors/BuildingResyncProcessor.cs
index b82a23d23..a4a0df199 100644
--- a/NitroxClient/Communication/Packets/Processors/BuildingResyncProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/BuildingResyncProcessor.cs
@@ -4,7 +4,6 @@
using System.Diagnostics;
using System.Linq;
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.Spawning.Bases;
diff --git a/NitroxClient/Communication/Packets/Processors/CyclopsDamagePointHealthChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/CyclopsDamagePointHealthChangedProcessor.cs
index 3b7aa7258..a6b50ce1f 100644
--- a/NitroxClient/Communication/Packets/Processors/CyclopsDamagePointHealthChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/CyclopsDamagePointHealthChangedProcessor.cs
@@ -1,8 +1,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.Packets;
using UnityEngine;
diff --git a/NitroxClient/Communication/Packets/Processors/CyclopsDamageProcessor.cs b/NitroxClient/Communication/Packets/Processors/CyclopsDamageProcessor.cs
index ab4d32206..6349fc4f3 100644
--- a/NitroxClient/Communication/Packets/Processors/CyclopsDamageProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/CyclopsDamageProcessor.cs
@@ -2,10 +2,8 @@
using System.Linq;
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures.GameLogic;
diff --git a/NitroxClient/Communication/Packets/Processors/EntityReparentedProcessor.cs b/NitroxClient/Communication/Packets/Processors/EntityReparentedProcessor.cs
index 0a0f4e772..1f3e2d514 100644
--- a/NitroxClient/Communication/Packets/Processors/EntityReparentedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/EntityReparentedProcessor.cs
@@ -1,10 +1,8 @@
using System;
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Helper;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.Util;
using NitroxModel.Packets;
diff --git a/NitroxClient/Communication/Packets/Processors/FireDousedProcessor.cs b/NitroxClient/Communication/Packets/Processors/FireDousedProcessor.cs
index d24bf4f93..f730f4e87 100644
--- a/NitroxClient/Communication/Packets/Processors/FireDousedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/FireDousedProcessor.cs
@@ -1,8 +1,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxClient/Communication/Packets/Processors/MedicalCabinetClickedProcessor.cs b/NitroxClient/Communication/Packets/Processors/MedicalCabinetClickedProcessor.cs
index bd78087de..d56dbabb0 100644
--- a/NitroxClient/Communication/Packets/Processors/MedicalCabinetClickedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/MedicalCabinetClickedProcessor.cs
@@ -1,8 +1,6 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxClient/Communication/Packets/Processors/OpenableStateChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/OpenableStateChangedProcessor.cs
index 558609062..0c7f87e02 100644
--- a/NitroxClient/Communication/Packets/Processors/OpenableStateChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/OpenableStateChangedProcessor.cs
@@ -1,8 +1,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxClient/Communication/Packets/Processors/PDAScanFinishedProcessor.cs b/NitroxClient/Communication/Packets/Processors/PDAScanFinishedProcessor.cs
index 7eb2f3cd8..9e09bf030 100644
--- a/NitroxClient/Communication/Packets/Processors/PDAScanFinishedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PDAScanFinishedProcessor.cs
@@ -1,6 +1,5 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/Communication/Packets/Processors/PlaySunbeamEventProcessor.cs b/NitroxClient/Communication/Packets/Processors/PlaySunbeamEventProcessor.cs
index cefb4ae22..5dd94f6aa 100644
--- a/NitroxClient/Communication/Packets/Processors/PlaySunbeamEventProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PlaySunbeamEventProcessor.cs
@@ -1,5 +1,4 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxModel;
using NitroxModel.Packets;
using Story;
diff --git a/NitroxClient/Communication/Packets/Processors/PlayerTeleportedProcessor.cs b/NitroxClient/Communication/Packets/Processors/PlayerTeleportedProcessor.cs
index 75462afd2..6d08df6da 100644
--- a/NitroxClient/Communication/Packets/Processors/PlayerTeleportedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PlayerTeleportedProcessor.cs
@@ -1,6 +1,5 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
using UWE;
diff --git a/NitroxClient/Communication/Packets/Processors/SeaTreaderSpawnedChunkProcessor.cs b/NitroxClient/Communication/Packets/Processors/SeaTreaderSpawnedChunkProcessor.cs
index a6bffc9c6..281af6cd8 100644
--- a/NitroxClient/Communication/Packets/Processors/SeaTreaderSpawnedChunkProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/SeaTreaderSpawnedChunkProcessor.cs
@@ -1,7 +1,5 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
diff --git a/NitroxClient/Communication/Packets/Processors/StoryGoalExecutedClientProcessor.cs b/NitroxClient/Communication/Packets/Processors/StoryGoalExecutedClientProcessor.cs
index 6bea520da..2aa659598 100644
--- a/NitroxClient/Communication/Packets/Processors/StoryGoalExecutedClientProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/StoryGoalExecutedClientProcessor.cs
@@ -1,6 +1,5 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxModel;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
using Story;
diff --git a/NitroxClient/Communication/Packets/Processors/ToggleLightsProcessor.cs b/NitroxClient/Communication/Packets/Processors/ToggleLightsProcessor.cs
index 81b094c87..d39d9ac80 100644
--- a/NitroxClient/Communication/Packets/Processors/ToggleLightsProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/ToggleLightsProcessor.cs
@@ -1,9 +1,6 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
-using NitroxModel.GameLogic.FMOD;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/VehicleUndockingProcessor.cs b/NitroxClient/Communication/Packets/Processors/VehicleUndockingProcessor.cs
index 5bb0eb7de..741fd3182 100644
--- a/NitroxClient/Communication/Packets/Processors/VehicleUndockingProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/VehicleUndockingProcessor.cs
@@ -1,6 +1,5 @@
using System.Collections;
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/DropdownDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/DropdownDrawer.cs
index ce68a41be..072b63457 100644
--- a/NitroxClient/Debuggers/Drawer/UnityUI/DropdownDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/UnityUI/DropdownDrawer.cs
@@ -1,6 +1,4 @@
-using System;
-using NitroxModel.Core;
-using NitroxModel.Helper;
+using NitroxModel.Helper;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/ImageDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/ImageDrawer.cs
index 1fc4b43fb..03c88e94f 100644
--- a/NitroxClient/Debuggers/Drawer/UnityUI/ImageDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/UnityUI/ImageDrawer.cs
@@ -1,5 +1,4 @@
-using System;
-using NitroxClient.Debuggers.Drawer.Unity;
+using NitroxClient.Debuggers.Drawer.Unity;
using NitroxModel.Helper;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/LayoutGroupDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/LayoutGroupDrawer.cs
index 22f170152..7ac2f0918 100644
--- a/NitroxClient/Debuggers/Drawer/UnityUI/LayoutGroupDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/UnityUI/LayoutGroupDrawer.cs
@@ -1,5 +1,4 @@
-using System;
-using NitroxClient.Debuggers.Drawer.Unity;
+using NitroxClient.Debuggers.Drawer.Unity;
using NitroxModel.Helper;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/Debuggers/NetworkDebugger.cs b/NitroxClient/Debuggers/NetworkDebugger.cs
index 492ceace4..c58a0c7e7 100644
--- a/NitroxClient/Debuggers/NetworkDebugger.cs
+++ b/NitroxClient/Debuggers/NetworkDebugger.cs
@@ -3,7 +3,6 @@
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using NitroxClient.Unity.Helper;
-using NitroxModel;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxClient/Debuggers/SceneDebugger.cs b/NitroxClient/Debuggers/SceneDebugger.cs
index 1f0dd4b74..6948144e9 100644
--- a/NitroxClient/Debuggers/SceneDebugger.cs
+++ b/NitroxClient/Debuggers/SceneDebugger.cs
@@ -6,7 +6,6 @@
using System.Reflection;
using System.Text;
using NitroxClient.Debuggers.Drawer;
-using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
using UnityEngine;
diff --git a/NitroxClient/GameLogic/Bases/BuildUtils.cs b/NitroxClient/GameLogic/Bases/BuildUtils.cs
index 35f77705c..37845461a 100644
--- a/NitroxClient/GameLogic/Bases/BuildUtils.cs
+++ b/NitroxClient/GameLogic/Bases/BuildUtils.cs
@@ -1,10 +1,8 @@
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Settings;
using NitroxClient.GameLogic.Spawning.Bases;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.DataStructures.GameLogic.Bases;
diff --git a/NitroxClient/GameLogic/Bases/BuildingHandler.cs b/NitroxClient/GameLogic/Bases/BuildingHandler.cs
index 0dda67633..7825b3b0b 100644
--- a/NitroxClient/GameLogic/Bases/BuildingHandler.cs
+++ b/NitroxClient/GameLogic/Bases/BuildingHandler.cs
@@ -4,11 +4,9 @@
using System.Linq;
using NitroxClient.Communication;
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Bases;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.DataStructures.GameLogic.Bases;
diff --git a/NitroxClient/GameLogic/Bases/GhostMetadataApplier.cs b/NitroxClient/GameLogic/Bases/GhostMetadataApplier.cs
index d95d012f7..01f063b78 100644
--- a/NitroxClient/GameLogic/Bases/GhostMetadataApplier.cs
+++ b/NitroxClient/GameLogic/Bases/GhostMetadataApplier.cs
@@ -1,6 +1,4 @@
using System.Collections;
-using NitroxClient.Extensions;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/Bases/GhostMetadataRetriever.cs b/NitroxClient/GameLogic/Bases/GhostMetadataRetriever.cs
index 9cf419558..0f3c4dbb0 100644
--- a/NitroxClient/GameLogic/Bases/GhostMetadataRetriever.cs
+++ b/NitroxClient/GameLogic/Bases/GhostMetadataRetriever.cs
@@ -1,5 +1,3 @@
-using NitroxClient.Extensions;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
diff --git a/NitroxClient/GameLogic/BulletManager.cs b/NitroxClient/GameLogic/BulletManager.cs
index 5a927781b..945f6dfe6 100644
--- a/NitroxClient/GameLogic/BulletManager.cs
+++ b/NitroxClient/GameLogic/BulletManager.cs
@@ -1,9 +1,7 @@
using System.Collections;
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.WorldEntities;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using UnityEngine;
diff --git a/NitroxClient/GameLogic/Cyclops.cs b/NitroxClient/GameLogic/Cyclops.cs
index 153c36f2d..d61e15086 100644
--- a/NitroxClient/GameLogic/Cyclops.cs
+++ b/NitroxClient/GameLogic/Cyclops.cs
@@ -3,7 +3,6 @@
using System.Linq;
using NitroxClient.Communication;
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/CyclopsPawn.cs b/NitroxClient/GameLogic/CyclopsPawn.cs
index e9c8279e5..923417f51 100644
--- a/NitroxClient/GameLogic/CyclopsPawn.cs
+++ b/NitroxClient/GameLogic/CyclopsPawn.cs
@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
-using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.Cyclops;
using UnityEngine;
diff --git a/NitroxClient/GameLogic/Entities.cs b/NitroxClient/GameLogic/Entities.cs
index 4d0eeb0cd..547f91bcf 100644
--- a/NitroxClient/GameLogic/Entities.cs
+++ b/NitroxClient/GameLogic/Entities.cs
@@ -4,14 +4,12 @@
using System.Linq;
using NitroxClient.Communication;
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.GameLogic.Spawning.Bases;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.GameLogic.Spawning.WorldEntities;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.DataStructures.GameLogic.Entities;
diff --git a/NitroxClient/GameLogic/EquipmentSlots.cs b/NitroxClient/GameLogic/EquipmentSlots.cs
index 6dd8edb45..2fdf1cba8 100644
--- a/NitroxClient/GameLogic/EquipmentSlots.cs
+++ b/NitroxClient/GameLogic/EquipmentSlots.cs
@@ -1,5 +1,4 @@
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxModel.DataStructures;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxClient/GameLogic/ExosuitModuleEvent.cs b/NitroxClient/GameLogic/ExosuitModuleEvent.cs
index ac4c54981..64b1a3f35 100644
--- a/NitroxClient/GameLogic/ExosuitModuleEvent.cs
+++ b/NitroxClient/GameLogic/ExosuitModuleEvent.cs
@@ -1,5 +1,4 @@
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxModel_Subnautica.DataStructures;
using NitroxModel.DataStructures;
using NitroxModel_Subnautica.Packets;
diff --git a/NitroxClient/GameLogic/Fires.cs b/NitroxClient/GameLogic/Fires.cs
index af7f67c9c..f2adb687e 100644
--- a/NitroxClient/GameLogic/Fires.cs
+++ b/NitroxClient/GameLogic/Fires.cs
@@ -1,7 +1,6 @@
using System.Collections.Generic;
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors;
-using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
using NitroxModel.Packets;
diff --git a/NitroxClient/GameLogic/Helper/InventoryContainerHelper.cs b/NitroxClient/GameLogic/Helper/InventoryContainerHelper.cs
index be11fcaaa..224a94b27 100644
--- a/NitroxClient/GameLogic/Helper/InventoryContainerHelper.cs
+++ b/NitroxClient/GameLogic/Helper/InventoryContainerHelper.cs
@@ -1,8 +1,6 @@
using System.Text.RegularExpressions;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.PlayerLogic;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.Util;
using UnityEngine;
diff --git a/NitroxClient/GameLogic/InitialSync/EquippedItemInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/EquippedItemInitialSyncProcessor.cs
index eb821bde2..3862890d4 100644
--- a/NitroxClient/GameLogic/InitialSync/EquippedItemInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/EquippedItemInitialSyncProcessor.cs
@@ -1,12 +1,9 @@
using System.Collections;
using System.Collections.Generic;
using NitroxClient.Communication;
-using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Helper;
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.Util;
using NitroxModel.Packets;
diff --git a/NitroxClient/GameLogic/InitialSync/PdaInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/PdaInitialSyncProcessor.cs
index 0c3ad5584..3bb6aa50d 100644
--- a/NitroxClient/GameLogic/InitialSync/PdaInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/PdaInitialSyncProcessor.cs
@@ -3,7 +3,6 @@
using System.Collections.Generic;
using System.Linq;
using NitroxClient.Communication;
-using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.Packets;
diff --git a/NitroxClient/GameLogic/InitialSync/PlayerInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/PlayerInitialSyncProcessor.cs
index 667eb8ce3..88b684ea2 100644
--- a/NitroxClient/GameLogic/InitialSync/PlayerInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/PlayerInitialSyncProcessor.cs
@@ -1,6 +1,5 @@
using System.Collections;
using System.Text;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
diff --git a/NitroxClient/GameLogic/InitialSync/PlayerPreferencesInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/PlayerPreferencesInitialSyncProcessor.cs
index 777a954c1..0a746326f 100644
--- a/NitroxClient/GameLogic/InitialSync/PlayerPreferencesInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/PlayerPreferencesInitialSyncProcessor.cs
@@ -3,7 +3,6 @@
using System.Collections.Generic;
using System.Linq;
using NitroxClient.Communication;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
diff --git a/NitroxClient/GameLogic/InitialSync/QuickSlotInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/QuickSlotInitialSyncProcessor.cs
index 152da3d93..35667cc09 100644
--- a/NitroxClient/GameLogic/InitialSync/QuickSlotInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/QuickSlotInitialSyncProcessor.cs
@@ -1,6 +1,5 @@
using System.Collections;
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.Util;
diff --git a/NitroxClient/GameLogic/ItemContainers.cs b/NitroxClient/GameLogic/ItemContainers.cs
index 56deda22a..33ce20b86 100644
--- a/NitroxClient/GameLogic/ItemContainers.cs
+++ b/NitroxClient/GameLogic/ItemContainers.cs
@@ -1,11 +1,9 @@
using NitroxClient.Communication;
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Helper;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
diff --git a/NitroxClient/GameLogic/Items.cs b/NitroxClient/GameLogic/Items.cs
index 9be6c0966..c3a59d1dd 100644
--- a/NitroxClient/GameLogic/Items.cs
+++ b/NitroxClient/GameLogic/Items.cs
@@ -2,11 +2,9 @@
using System.Collections.Generic;
using System.Linq;
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Helper;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.DataStructures.GameLogic.Entities;
diff --git a/NitroxClient/GameLogic/LiveMixinManager.cs b/NitroxClient/GameLogic/LiveMixinManager.cs
index 4a7e1369a..0565b3e0c 100644
--- a/NitroxClient/GameLogic/LiveMixinManager.cs
+++ b/NitroxClient/GameLogic/LiveMixinManager.cs
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxModel.DataStructures;
using UnityEngine;
diff --git a/NitroxClient/GameLogic/LocalPlayer.cs b/NitroxClient/GameLogic/LocalPlayer.cs
index b87dbe0ab..0aefa08a2 100644
--- a/NitroxClient/GameLogic/LocalPlayer.cs
+++ b/NitroxClient/GameLogic/LocalPlayer.cs
@@ -1,10 +1,8 @@
using System;
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.DataStructures.Util;
diff --git a/NitroxClient/GameLogic/MedkitFabricator.cs b/NitroxClient/GameLogic/MedkitFabricator.cs
index aa2ec2fc4..f0d0e30e0 100644
--- a/NitroxClient/GameLogic/MedkitFabricator.cs
+++ b/NitroxClient/GameLogic/MedkitFabricator.cs
@@ -1,5 +1,4 @@
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxModel.DataStructures;
using NitroxModel.Packets;
diff --git a/NitroxClient/GameLogic/MobileVehicleBay.cs b/NitroxClient/GameLogic/MobileVehicleBay.cs
index 0ac99d95d..f316cef35 100644
--- a/NitroxClient/GameLogic/MobileVehicleBay.cs
+++ b/NitroxClient/GameLogic/MobileVehicleBay.cs
@@ -1,5 +1,4 @@
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/DiveSuitColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/DiveSuitColorSwapManager.cs
index d1847f0ec..89a48d59d 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/DiveSuitColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/DiveSuitColorSwapManager.cs
@@ -1,9 +1,7 @@
using System;
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
using static NitroxClient.GameLogic.PlayerLogic.PlayerModel.PlayerEquipmentConstants;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/FinColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/FinColorSwapManager.cs
index 48e0cf335..403f83932 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/FinColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/FinColorSwapManager.cs
@@ -1,9 +1,7 @@
using System;
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
using static NitroxClient.GameLogic.PlayerLogic.PlayerModel.PlayerEquipmentConstants;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationHelmetColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationHelmetColorSwapManager.cs
index a95fc84d3..31a394bdf 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationHelmetColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationHelmetColorSwapManager.cs
@@ -1,9 +1,7 @@
using System;
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
using static NitroxClient.GameLogic.PlayerLogic.PlayerModel.PlayerEquipmentConstants;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitColorSwapManager.cs
index 2dcce7138..5508fac7e 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitColorSwapManager.cs
@@ -1,9 +1,7 @@
using System;
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
using static NitroxClient.GameLogic.PlayerLogic.PlayerModel.PlayerEquipmentConstants;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitVestColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitVestColorSwapManager.cs
index 0a82750ea..248e1de21 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitVestColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitVestColorSwapManager.cs
@@ -1,9 +1,7 @@
using System;
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
using static NitroxClient.GameLogic.PlayerLogic.PlayerModel.PlayerEquipmentConstants;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationTankColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationTankColorSwapManager.cs
index 0c730e805..427a25b1c 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationTankColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationTankColorSwapManager.cs
@@ -1,9 +1,7 @@
using System;
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
using static NitroxClient.GameLogic.PlayerLogic.PlayerModel.PlayerEquipmentConstants;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RebreatherColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RebreatherColorSwapManager.cs
index 520f064b5..a1676291f 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RebreatherColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RebreatherColorSwapManager.cs
@@ -1,9 +1,7 @@
using System;
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
using static NitroxClient.GameLogic.PlayerLogic.PlayerModel.PlayerEquipmentConstants;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ReinforcedSuitColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ReinforcedSuitColorSwapManager.cs
index a653ce8ae..00d754c0d 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ReinforcedSuitColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ReinforcedSuitColorSwapManager.cs
@@ -1,9 +1,7 @@
using System;
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
using static NitroxClient.GameLogic.PlayerLogic.PlayerModel.PlayerEquipmentConstants;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ScubaTankColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ScubaTankColorSwapManager.cs
index 83e316d17..a00cf4cf6 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ScubaTankColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ScubaTankColorSwapManager.cs
@@ -1,9 +1,7 @@
using System;
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
using static NitroxClient.GameLogic.PlayerLogic.PlayerModel.PlayerEquipmentConstants;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/StillSuitColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/StillSuitColorSwapManager.cs
index 650a40774..a73705abf 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/StillSuitColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/StillSuitColorSwapManager.cs
@@ -1,9 +1,7 @@
using System;
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
using static NitroxClient.GameLogic.PlayerLogic.PlayerModel.PlayerEquipmentConstants;
diff --git a/NitroxClient/GameLogic/RemotePlayer.cs b/NitroxClient/GameLogic/RemotePlayer.cs
index a284ac3a6..32541dda8 100644
--- a/NitroxClient/GameLogic/RemotePlayer.cs
+++ b/NitroxClient/GameLogic/RemotePlayer.cs
@@ -1,6 +1,5 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.HUD;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel;
@@ -9,7 +8,6 @@
using NitroxClient.MonoBehaviours.Cyclops;
using NitroxClient.MonoBehaviours.Gui.HUD;
using NitroxClient.MonoBehaviours.Vehicles;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.GameLogic.FMOD;
using NitroxModel.GameLogic.PlayerAnimation;
diff --git a/NitroxClient/GameLogic/Rockets.cs b/NitroxClient/GameLogic/Rockets.cs
index b2f81ea8a..7e4408ab7 100644
--- a/NitroxClient/GameLogic/Rockets.cs
+++ b/NitroxClient/GameLogic/Rockets.cs
@@ -1,7 +1,5 @@
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.Unity;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/SeamothModulesEvent.cs b/NitroxClient/GameLogic/SeamothModulesEvent.cs
index 0e13038a1..1eb411489 100644
--- a/NitroxClient/GameLogic/SeamothModulesEvent.cs
+++ b/NitroxClient/GameLogic/SeamothModulesEvent.cs
@@ -1,5 +1,4 @@
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxModel.DataStructures;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/Spawning/Bases/BuildEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Bases/BuildEntitySpawner.cs
index 0f4c3d179..38b13aa56 100644
--- a/NitroxClient/GameLogic/Spawning/Bases/BuildEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Bases/BuildEntitySpawner.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.Helper;
using NitroxClient.GameLogic.Spawning.Abstract;
diff --git a/NitroxClient/GameLogic/Spawning/Bases/GhostEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Bases/GhostEntitySpawner.cs
index 4382f5861..ddb61d864 100644
--- a/NitroxClient/GameLogic/Spawning/Bases/GhostEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Bases/GhostEntitySpawner.cs
@@ -1,11 +1,9 @@
using System;
using System.Collections;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.GameLogic.Spawning.WorldEntities;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities.Bases;
using NitroxModel.DataStructures.Util;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/Spawning/Bases/InteriorPieceEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Bases/InteriorPieceEntitySpawner.cs
index 749b311fc..e9b4f48a2 100644
--- a/NitroxClient/GameLogic/Spawning/Bases/InteriorPieceEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Bases/InteriorPieceEntitySpawner.cs
@@ -1,12 +1,10 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.GameLogic.Spawning.WorldEntities;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.DataStructures.GameLogic.Entities;
diff --git a/NitroxClient/GameLogic/Spawning/Bases/ModuleEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Bases/ModuleEntitySpawner.cs
index 2143bb517..a3dc86d9c 100644
--- a/NitroxClient/GameLogic/Spawning/Bases/ModuleEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Bases/ModuleEntitySpawner.cs
@@ -1,13 +1,11 @@
using System.Collections;
using System.Linq;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.Helper;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.GameLogic.Spawning.WorldEntities;
using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.Cyclops;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.DataStructures.GameLogic.Entities;
diff --git a/NitroxClient/GameLogic/Spawning/InstalledBatteryEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/InstalledBatteryEntitySpawner.cs
index 3a3a7d83e..a55ef0000 100644
--- a/NitroxClient/GameLogic/Spawning/InstalledBatteryEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/InstalledBatteryEntitySpawner.cs
@@ -1,11 +1,9 @@
using System.Collections;
using System.Linq;
using NitroxClient.Communication;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.GameLogic.Spawning.WorldEntities;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.Util;
using NitroxModel.Packets;
diff --git a/NitroxClient/GameLogic/Spawning/InstalledModuleEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/InstalledModuleEntitySpawner.cs
index c0a48b207..3c40de9b8 100644
--- a/NitroxClient/GameLogic/Spawning/InstalledModuleEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/InstalledModuleEntitySpawner.cs
@@ -1,10 +1,8 @@
using System.Collections;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Helper;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.GameLogic.Spawning.WorldEntities;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.Util;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/Spawning/InventoryItemEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/InventoryItemEntitySpawner.cs
index 0a74193dd..567e3bf56 100644
--- a/NitroxClient/GameLogic/Spawning/InventoryItemEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/InventoryItemEntitySpawner.cs
@@ -1,13 +1,11 @@
using System;
using System.Collections;
using NitroxClient.Communication;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Helper;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.GameLogic.Spawning.WorldEntities;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.DataStructures.Util;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/EntityMetadataManager.cs b/NitroxClient/GameLogic/Spawning/Metadata/EntityMetadataManager.cs
index e9d2e8922..ec4ef38dd 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/EntityMetadataManager.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/EntityMetadataManager.cs
@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor.Abstract;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
using NitroxModel.DataStructures;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Extractor/CyclopsMetadataExtractor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Extractor/CyclopsMetadataExtractor.cs
index 84833038c..1c3bf5dcc 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Extractor/CyclopsMetadataExtractor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Extractor/CyclopsMetadataExtractor.cs
@@ -1,6 +1,4 @@
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor.Abstract;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using UnityEngine;
using static NitroxClient.GameLogic.Spawning.Metadata.Extractor.CyclopsMetadataExtractor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Extractor/EscapePodMetadataExtractor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Extractor/EscapePodMetadataExtractor.cs
index caac1637f..818170646 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Extractor/EscapePodMetadataExtractor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Extractor/EscapePodMetadataExtractor.cs
@@ -1,6 +1,4 @@
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor.Abstract;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxClient.GameLogic.Spawning.Metadata.Extractor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Extractor/FlashlightMetadataExtractor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Extractor/FlashlightMetadataExtractor.cs
index 3730b1ecb..fa4e4d58f 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Extractor/FlashlightMetadataExtractor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Extractor/FlashlightMetadataExtractor.cs
@@ -1,6 +1,4 @@
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor.Abstract;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxClient.GameLogic.Spawning.Metadata.Extractor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Extractor/PlayerMetadataExtractor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Extractor/PlayerMetadataExtractor.cs
index 8c4a8d76d..1985100d3 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Extractor/PlayerMetadataExtractor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Extractor/PlayerMetadataExtractor.cs
@@ -1,5 +1,4 @@
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor.Abstract;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Extractor/RocketMetadataExtractor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Extractor/RocketMetadataExtractor.cs
index bd43bed00..f78f09ee3 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Extractor/RocketMetadataExtractor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Extractor/RocketMetadataExtractor.cs
@@ -1,8 +1,6 @@
using System.Collections.Generic;
using System.Linq;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor.Abstract;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxClient.GameLogic.Spawning.Metadata.Extractor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Extractor/SubNameInputMetadataExtractor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Extractor/SubNameInputMetadataExtractor.cs
index 81e4cb1fd..4feda1129 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Extractor/SubNameInputMetadataExtractor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Extractor/SubNameInputMetadataExtractor.cs
@@ -1,6 +1,5 @@
using System.Linq;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor.Abstract;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.DataStructures.Unity;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/Abstract/VehicleMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/Abstract/VehicleMetadataProcessor.cs
index 637f403cc..334ff74af 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/Abstract/VehicleMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/Abstract/VehicleMetadataProcessor.cs
@@ -1,5 +1,3 @@
-using NitroxClient.Extensions;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.DataStructures.Unity;
using UnityEngine;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/CrafterMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/CrafterMetadataProcessor.cs
index 5b0a4ee1e..ce28a2920 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/CrafterMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/CrafterMetadataProcessor.cs
@@ -1,6 +1,4 @@
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/CyclopsLightingMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/CyclopsLightingMetadataProcessor.cs
index 36305ce21..9cf97c996 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/CyclopsLightingMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/CyclopsLightingMetadataProcessor.cs
@@ -1,8 +1,6 @@
using NitroxClient.Communication;
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/CyclopsMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/CyclopsMetadataProcessor.cs
index 739764dfc..cbb07b420 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/CyclopsMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/CyclopsMetadataProcessor.cs
@@ -1,8 +1,6 @@
using NitroxClient.Communication;
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/EatableMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/EatableMetadataProcessor.cs
index 313c76c80..bb4f630f9 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/EatableMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/EatableMetadataProcessor.cs
@@ -1,5 +1,4 @@
using NitroxClient.Communication.Packets.Processors;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/PlayerMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/PlayerMetadataProcessor.cs
index 2a771a278..0eeafa934 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/PlayerMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/PlayerMetadataProcessor.cs
@@ -1,9 +1,7 @@
using System.Collections.Generic;
using System.Linq;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/RocketMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/RocketMetadataProcessor.cs
index 3597e6a0f..a9ab3b103 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/RocketMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/RocketMetadataProcessor.cs
@@ -1,9 +1,7 @@
using System.Collections.Generic;
using System.Linq;
using NitroxClient.Communication;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/SeamothMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/SeamothMetadataProcessor.cs
index 71923018b..694eb02f7 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/SeamothMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/SeamothMetadataProcessor.cs
@@ -1,9 +1,7 @@
using NitroxClient.Communication;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.GameLogic.FMOD;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/SubNameInputMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/SubNameInputMetadataProcessor.cs
index 051586451..937c532ec 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/SubNameInputMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/SubNameInputMetadataProcessor.cs
@@ -1,7 +1,6 @@
using System.Linq;
using NitroxClient.Communication;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.DataStructures.Unity;
using NitroxModel.Packets;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/CrashEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/CrashEntitySpawner.cs
index 8315660eb..a4296533c 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/CrashEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/CrashEntitySpawner.cs
@@ -1,7 +1,5 @@
using System.Collections;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Metadata.Processor;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.Util;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/CreatureRespawnEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/CreatureRespawnEntitySpawner.cs
index 56af03cd2..49992112e 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/CreatureRespawnEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/CreatureRespawnEntitySpawner.cs
@@ -1,8 +1,6 @@
using System.Collections;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Simulation;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.Util;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/GeyserWorldEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/GeyserWorldEntitySpawner.cs
index 6f0e40052..f7d96c579 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/GeyserWorldEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/GeyserWorldEntitySpawner.cs
@@ -1,7 +1,5 @@
using System.Collections;
-using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.Util;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/GlobalRootEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/GlobalRootEntitySpawner.cs
index e58f47a7d..13fc9ac9a 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/GlobalRootEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/GlobalRootEntitySpawner.cs
@@ -1,9 +1,7 @@
using System.Collections;
using NitroxClient.Communication;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.Util;
using NitroxModel.Packets;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/OxygenPipeEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/OxygenPipeEntitySpawner.cs
index 502141893..6437406b1 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/OxygenPipeEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/OxygenPipeEntitySpawner.cs
@@ -1,9 +1,7 @@
using System.Collections;
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.Util;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/PlacedWorldEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/PlacedWorldEntitySpawner.cs
index e58f2fc44..e87cadc8f 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/PlacedWorldEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/PlacedWorldEntitySpawner.cs
@@ -1,7 +1,5 @@
using System.Collections;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Abstract;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.Util;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/PlayerEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/PlayerEntitySpawner.cs
index 1050105f1..9b7373d07 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/PlayerEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/PlayerEntitySpawner.cs
@@ -1,5 +1,4 @@
using System.Collections;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackChildEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackChildEntitySpawner.cs
index 5e3cabdab..1a30e761c 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackChildEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackChildEntitySpawner.cs
@@ -1,7 +1,5 @@
using System.Collections;
-using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.Util;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackEntitySpawner.cs
index 1a559e337..1163d29fc 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackEntitySpawner.cs
@@ -1,7 +1,5 @@
using System;
using System.Collections;
-using NitroxClient.Extensions;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.Util;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs
index 13caf1f96..e37ee39b3 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs
@@ -1,5 +1,4 @@
using System.Collections;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.CinematicController;
diff --git a/NitroxClient/GameLogic/Terrain.cs b/NitroxClient/GameLogic/Terrain.cs
index cad983fc8..8f5bc9ab4 100644
--- a/NitroxClient/GameLogic/Terrain.cs
+++ b/NitroxClient/GameLogic/Terrain.cs
@@ -1,8 +1,6 @@
using System.Collections;
using System.Collections.Generic;
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxClient/GameLogic/Vehicles.cs b/NitroxClient/GameLogic/Vehicles.cs
index 535ace3fe..8968a5548 100644
--- a/NitroxClient/GameLogic/Vehicles.cs
+++ b/NitroxClient/GameLogic/Vehicles.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using NitroxClient.Communication;
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Helper;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor;
diff --git a/NitroxClient/MonoBehaviours/BaseLeakManager.cs b/NitroxClient/MonoBehaviours/BaseLeakManager.cs
index 0baaf34c8..4dca29c6f 100644
--- a/NitroxClient/MonoBehaviours/BaseLeakManager.cs
+++ b/NitroxClient/MonoBehaviours/BaseLeakManager.cs
@@ -1,6 +1,5 @@
using System.Collections.Generic;
using NitroxClient.Communication;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.Packets;
diff --git a/NitroxClient/MonoBehaviours/CinematicController/MultiplayerCinematicReference.cs b/NitroxClient/MonoBehaviours/CinematicController/MultiplayerCinematicReference.cs
index d50544aa7..32afba0fe 100644
--- a/NitroxClient/MonoBehaviours/CinematicController/MultiplayerCinematicReference.cs
+++ b/NitroxClient/MonoBehaviours/CinematicController/MultiplayerCinematicReference.cs
@@ -1,8 +1,6 @@
using System.Collections.Generic;
using System.Linq;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.GameLogic;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/Cyclops/CyclopsMotor.cs b/NitroxClient/MonoBehaviours/Cyclops/CyclopsMotor.cs
index b5d78f024..4505e5437 100644
--- a/NitroxClient/MonoBehaviours/Cyclops/CyclopsMotor.cs
+++ b/NitroxClient/MonoBehaviours/Cyclops/CyclopsMotor.cs
@@ -1,9 +1,8 @@
using NitroxClient.GameLogic;
-using NitroxClient.MonoBehaviours.Cyclops;
using UnityEngine;
using UnityEngine.XR;
-namespace NitroxClient.MonoBehaviours;
+namespace NitroxClient.MonoBehaviours.Cyclops;
///
/// A replacement for while Local Player is in a Cyclops.
diff --git a/NitroxClient/MonoBehaviours/Cyclops/CyclopsMotorGroundChecker.cs b/NitroxClient/MonoBehaviours/Cyclops/CyclopsMotorGroundChecker.cs
index 69c4ce9a4..f470a7f04 100644
--- a/NitroxClient/MonoBehaviours/Cyclops/CyclopsMotorGroundChecker.cs
+++ b/NitroxClient/MonoBehaviours/Cyclops/CyclopsMotorGroundChecker.cs
@@ -1,7 +1,7 @@
using NitroxClient.GameLogic;
using UnityEngine;
-namespace NitroxClient.MonoBehaviours;
+namespace NitroxClient.MonoBehaviours.Cyclops;
///
/// Ground detection adapted from
diff --git a/NitroxClient/MonoBehaviours/Cyclops/NitroxCyclops.cs b/NitroxClient/MonoBehaviours/Cyclops/NitroxCyclops.cs
index aa94dc2a9..926c143af 100644
--- a/NitroxClient/MonoBehaviours/Cyclops/NitroxCyclops.cs
+++ b/NitroxClient/MonoBehaviours/Cyclops/NitroxCyclops.cs
@@ -1,5 +1,4 @@
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
diff --git a/NitroxClient/MonoBehaviours/Cyclops/VirtualCyclops.cs b/NitroxClient/MonoBehaviours/Cyclops/VirtualCyclops.cs
index 347988c25..e28fbf851 100644
--- a/NitroxClient/MonoBehaviours/Cyclops/VirtualCyclops.cs
+++ b/NitroxClient/MonoBehaviours/Cyclops/VirtualCyclops.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Linq;
using NitroxClient.Communication;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.WorldEntities;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/EntityPositionBroadcaster.cs b/NitroxClient/MonoBehaviours/EntityPositionBroadcaster.cs
index 1979463ac..05053f2d0 100644
--- a/NitroxClient/MonoBehaviours/EntityPositionBroadcaster.cs
+++ b/NitroxClient/MonoBehaviours/EntityPositionBroadcaster.cs
@@ -1,7 +1,6 @@
using System.Collections.Generic;
using System.Linq;
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxModel.Core;
using NitroxModel.DataStructures;
diff --git a/NitroxClient/MonoBehaviours/FMODEmitterController.cs b/NitroxClient/MonoBehaviours/FMODEmitterController.cs
index 2d7074e62..eaccb992f 100644
--- a/NitroxClient/MonoBehaviours/FMODEmitterController.cs
+++ b/NitroxClient/MonoBehaviours/FMODEmitterController.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using FMOD.Studio;
using FMODUnity;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.FMOD;
using NitroxModel.GameLogic.FMOD;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/Gui/Chat/PlayerChatPinButton.cs b/NitroxClient/MonoBehaviours/Gui/Chat/PlayerChatPinButton.cs
index db908149f..1f14e3a9e 100644
--- a/NitroxClient/MonoBehaviours/Gui/Chat/PlayerChatPinButton.cs
+++ b/NitroxClient/MonoBehaviours/Gui/Chat/PlayerChatPinButton.cs
@@ -1,5 +1,4 @@
using NitroxClient.GameLogic.ChatUI;
-using NitroxModel.Core;
using UnityEngine;
using UnityEngine.EventSystems;
diff --git a/NitroxClient/MonoBehaviours/Gui/HUD/RemotePlayerVitals.cs b/NitroxClient/MonoBehaviours/Gui/HUD/RemotePlayerVitals.cs
index e08b3d805..5ef85cd99 100644
--- a/NitroxClient/MonoBehaviours/Gui/HUD/RemotePlayerVitals.cs
+++ b/NitroxClient/MonoBehaviours/Gui/HUD/RemotePlayerVitals.cs
@@ -1,7 +1,5 @@
using System;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
-using NitroxClient.Unity.Helper;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/MonoBehaviours/Gui/InGame/TopRightWatermarkText.cs b/NitroxClient/MonoBehaviours/Gui/InGame/TopRightWatermarkText.cs
index b08a954b9..ec884e911 100644
--- a/NitroxClient/MonoBehaviours/Gui/InGame/TopRightWatermarkText.cs
+++ b/NitroxClient/MonoBehaviours/Gui/InGame/TopRightWatermarkText.cs
@@ -3,7 +3,7 @@
using UnityEngine;
using UnityEngine.XR;
-namespace NitroxClient.MonoBehaviours.Gui.MainMenu;
+namespace NitroxClient.MonoBehaviours.Gui.InGame;
public static class TopRightWatermarkText
{
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/MainMenuNotificationPanel.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/MainMenuNotificationPanel.cs
index b118ff023..119666e1d 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/MainMenuNotificationPanel.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/MainMenuNotificationPanel.cs
@@ -1,8 +1,6 @@
using System;
using System.Collections;
using System.Linq;
-using NitroxClient.Extensions;
-using NitroxClient.Unity.Helper;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/NitroxMainMenuModifications.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/NitroxMainMenuModifications.cs
index 67e336591..58a4802e6 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/NitroxMainMenuModifications.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/NitroxMainMenuModifications.cs
@@ -1,8 +1,6 @@
-using NitroxClient.Extensions;
-using NitroxClient.MonoBehaviours.Discord;
+using NitroxClient.MonoBehaviours.Discord;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServerJoin;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServersList;
-using NitroxClient.Unity.Helper;
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/JoinServerBackend.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/JoinServerBackend.cs
index b71d32835..627ffceda 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/JoinServerBackend.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/JoinServerBackend.cs
@@ -6,6 +6,7 @@
using NitroxClient.Communication.Exceptions;
using NitroxClient.Communication.MultiplayerSession;
using NitroxClient.GameLogic.PlayerLogic.PlayerPreferences;
+using NitroxClient.MonoBehaviours.Gui.InGame;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServersList;
using NitroxModel.Core;
using NitroxModel.DataStructures.Util;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuColorPickerPreview.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuColorPickerPreview.cs
index 5393f8a29..af7728980 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuColorPickerPreview.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuColorPickerPreview.cs
@@ -1,5 +1,3 @@
-using NitroxClient.Extensions;
-using NitroxClient.Unity.Helper;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuEnterPasswordPanel.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuEnterPasswordPanel.cs
index 0756df009..8219a3101 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuEnterPasswordPanel.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuEnterPasswordPanel.cs
@@ -2,9 +2,7 @@
using System.Collections;
using System.Linq;
using FMODUnity;
-using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServersList;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures.Util;
using TMPro;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuJoinServerPanel.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuJoinServerPanel.cs
index 986c2f220..539807710 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuJoinServerPanel.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuJoinServerPanel.cs
@@ -2,9 +2,7 @@
using System.Linq;
using System.Text.RegularExpressions;
using FMODUnity;
-using NitroxClient.Extensions;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServersList;
-using NitroxClient.Unity.Helper;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuCreateServerPanel.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuCreateServerPanel.cs
index 19255edeb..ab109457a 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuCreateServerPanel.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuCreateServerPanel.cs
@@ -2,8 +2,6 @@
using System.Collections;
using System.Linq;
using FMODUnity;
-using NitroxClient.Extensions;
-using NitroxClient.Unity.Helper;
using NitroxModel.Serialization;
using TMPro;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerButton.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerButton.cs
index dc4e7df6e..20fd96c07 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerButton.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerButton.cs
@@ -3,10 +3,8 @@
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Settings;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServerJoin;
-using NitroxClient.Unity.Helper;
using NitroxModel.Serialization;
using TMPro;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerListPanel.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerListPanel.cs
index 65ea6c6af..45a274116 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerListPanel.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerListPanel.cs
@@ -2,14 +2,9 @@
using System.Collections.Generic;
using System.Linq;
using System.Net;
-using System.Text;
using System.Threading.Tasks;
using FMODUnity;
using NitroxClient.Communication;
-using NitroxClient.Extensions;
-using NitroxClient.GameLogic.Settings;
-using NitroxClient.Unity.Helper;
-using NitroxModel;
using NitroxModel.Serialization;
using TMPro;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/MoonpoolManager.cs b/NitroxClient/MonoBehaviours/MoonpoolManager.cs
index feb443257..58095f042 100644
--- a/NitroxClient/MonoBehaviours/MoonpoolManager.cs
+++ b/NitroxClient/MonoBehaviours/MoonpoolManager.cs
@@ -2,9 +2,7 @@
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.GameLogic.Entities.Bases;
diff --git a/NitroxClient/MonoBehaviours/MovementBroadcaster.cs b/NitroxClient/MonoBehaviours/MovementBroadcaster.cs
index 467e4d6d0..26a719d7c 100644
--- a/NitroxClient/MonoBehaviours/MovementBroadcaster.cs
+++ b/NitroxClient/MonoBehaviours/MovementBroadcaster.cs
@@ -1,6 +1,5 @@
using System.Collections.Generic;
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours.Vehicles;
using NitroxModel.DataStructures;
diff --git a/NitroxClient/MonoBehaviours/MovementReplicator.cs b/NitroxClient/MonoBehaviours/MovementReplicator.cs
index d70e24911..da426fe93 100644
--- a/NitroxClient/MonoBehaviours/MovementReplicator.cs
+++ b/NitroxClient/MonoBehaviours/MovementReplicator.cs
@@ -1,5 +1,4 @@
using System.Collections.Generic;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Settings;
using NitroxClient.MonoBehaviours.Cyclops;
diff --git a/NitroxClient/MonoBehaviours/Multiplayer.cs b/NitroxClient/MonoBehaviours/Multiplayer.cs
index 946374d81..481a98b33 100644
--- a/NitroxClient/MonoBehaviours/Multiplayer.cs
+++ b/NitroxClient/MonoBehaviours/Multiplayer.cs
@@ -12,7 +12,7 @@
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap;
using NitroxClient.MonoBehaviours.Cyclops;
using NitroxClient.MonoBehaviours.Discord;
-using NitroxClient.MonoBehaviours.Gui.MainMenu;
+using NitroxClient.MonoBehaviours.Gui.InGame;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServerJoin;
using NitroxModel.Core;
using NitroxModel.Packets;
diff --git a/NitroxClient/MonoBehaviours/OutOfCellEntity.cs b/NitroxClient/MonoBehaviours/OutOfCellEntity.cs
index e0fa0d208..959edd3ca 100644
--- a/NitroxClient/MonoBehaviours/OutOfCellEntity.cs
+++ b/NitroxClient/MonoBehaviours/OutOfCellEntity.cs
@@ -1,5 +1,4 @@
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxModel.DataStructures;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/Overrides/MultiplayerBench.cs b/NitroxClient/MonoBehaviours/Overrides/MultiplayerBench.cs
index cb8a9d003..eb2c81aa2 100644
--- a/NitroxClient/MonoBehaviours/Overrides/MultiplayerBench.cs
+++ b/NitroxClient/MonoBehaviours/Overrides/MultiplayerBench.cs
@@ -1,6 +1,4 @@
using System;
-using NitroxClient.Extensions;
-using NitroxClient.Unity.Helper;
using UnityEngine;
namespace NitroxClient.MonoBehaviours.Overrides;
diff --git a/NitroxClient/MonoBehaviours/PlayerDeathBroadcaster.cs b/NitroxClient/MonoBehaviours/PlayerDeathBroadcaster.cs
index 0269a8cd5..32ff57821 100644
--- a/NitroxClient/MonoBehaviours/PlayerDeathBroadcaster.cs
+++ b/NitroxClient/MonoBehaviours/PlayerDeathBroadcaster.cs
@@ -1,4 +1,3 @@
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/PlayerMovementBroadcaster.cs b/NitroxClient/MonoBehaviours/PlayerMovementBroadcaster.cs
index d2398d39d..9956264b9 100644
--- a/NitroxClient/MonoBehaviours/PlayerMovementBroadcaster.cs
+++ b/NitroxClient/MonoBehaviours/PlayerMovementBroadcaster.cs
@@ -1,6 +1,6 @@
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
+using NitroxClient.MonoBehaviours.Cyclops;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/PlayerStatsBroadcaster.cs b/NitroxClient/MonoBehaviours/PlayerStatsBroadcaster.cs
index edd388df4..360343071 100644
--- a/NitroxClient/MonoBehaviours/PlayerStatsBroadcaster.cs
+++ b/NitroxClient/MonoBehaviours/PlayerStatsBroadcaster.cs
@@ -1,4 +1,3 @@
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/PrecursorTracker.cs b/NitroxClient/MonoBehaviours/PrecursorTracker.cs
index d2ad676de..dd9e13374 100644
--- a/NitroxClient/MonoBehaviours/PrecursorTracker.cs
+++ b/NitroxClient/MonoBehaviours/PrecursorTracker.cs
@@ -1,4 +1,3 @@
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/UnderwaterStateTracker.cs b/NitroxClient/MonoBehaviours/UnderwaterStateTracker.cs
index 85cb42e19..bd0d619c0 100644
--- a/NitroxClient/MonoBehaviours/UnderwaterStateTracker.cs
+++ b/NitroxClient/MonoBehaviours/UnderwaterStateTracker.cs
@@ -1,4 +1,3 @@
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxModel.GameLogic.PlayerAnimation;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/Vehicles/CyclopsMovementReplicator.cs b/NitroxClient/MonoBehaviours/Vehicles/CyclopsMovementReplicator.cs
index 3958a2bce..269342c51 100644
--- a/NitroxClient/MonoBehaviours/Vehicles/CyclopsMovementReplicator.cs
+++ b/NitroxClient/MonoBehaviours/Vehicles/CyclopsMovementReplicator.cs
@@ -1,5 +1,4 @@
using FMOD.Studio;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxModel.GameLogic.FMOD;
using NitroxModel.Packets;
diff --git a/NitroxClient/MonoBehaviours/Vehicles/ExosuitMovementReplicator.cs b/NitroxClient/MonoBehaviours/Vehicles/ExosuitMovementReplicator.cs
index f4dc91f18..a816038f6 100644
--- a/NitroxClient/MonoBehaviours/Vehicles/ExosuitMovementReplicator.cs
+++ b/NitroxClient/MonoBehaviours/Vehicles/ExosuitMovementReplicator.cs
@@ -1,5 +1,4 @@
using FMOD.Studio;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.FMOD;
using NitroxModel.GameLogic.FMOD;
diff --git a/NitroxClient/MonoBehaviours/Vehicles/SeaMothMovementReplicator.cs b/NitroxClient/MonoBehaviours/Vehicles/SeaMothMovementReplicator.cs
index 98a7caf3a..80d82a9c3 100644
--- a/NitroxClient/MonoBehaviours/Vehicles/SeaMothMovementReplicator.cs
+++ b/NitroxClient/MonoBehaviours/Vehicles/SeaMothMovementReplicator.cs
@@ -1,5 +1,4 @@
using FMOD.Studio;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxModel.GameLogic.FMOD;
using NitroxModel.Packets;
diff --git a/NitroxPatcher/Patcher.cs b/NitroxPatcher/Patcher.cs
index f3790f5ab..44e1831e2 100644
--- a/NitroxPatcher/Patcher.cs
+++ b/NitroxPatcher/Patcher.cs
@@ -10,7 +10,6 @@
using NitroxClient.MonoBehaviours;
using NitroxModel.Core;
using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
using NitroxPatcher.Modules;
using NitroxPatcher.Patches;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/AggressiveWhenSeeTarget_IsTargetValid_Patch.cs b/NitroxPatcher/Patches/Dynamic/AggressiveWhenSeeTarget_IsTargetValid_Patch.cs
index 2d191205c..90471494d 100644
--- a/NitroxPatcher/Patches/Dynamic/AggressiveWhenSeeTarget_IsTargetValid_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/AggressiveWhenSeeTarget_IsTargetValid_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/AggressiveWhenSeeTarget_ScanForAggressionTarget_Patch.cs b/NitroxPatcher/Patches/Dynamic/AggressiveWhenSeeTarget_ScanForAggressionTarget_Patch.cs
index fb8b94bd1..385ddb87e 100644
--- a/NitroxPatcher/Patches/Dynamic/AggressiveWhenSeeTarget_ScanForAggressionTarget_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/AggressiveWhenSeeTarget_ScanForAggressionTarget_Patch.cs
@@ -5,7 +5,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/Application_IsFocused_Patch.cs b/NitroxPatcher/Patches/Dynamic/Application_IsFocused_Patch.cs
index 1cad0b81d..0eabe8210 100644
--- a/NitroxPatcher/Patches/Dynamic/Application_IsFocused_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Application_IsFocused_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ArmsController_Start_Patch.cs b/NitroxPatcher/Patches/Dynamic/ArmsController_Start_Patch.cs
index 435d562c3..ea7969be0 100644
--- a/NitroxPatcher/Patches/Dynamic/ArmsController_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ArmsController_Start_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ArmsController_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/ArmsController_Update_Patch.cs
index 22dbd0962..b6f25db5e 100644
--- a/NitroxPatcher/Patches/Dynamic/ArmsController_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ArmsController_Update_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/AttackCyclops_OnCollisionEnter_Patch.cs b/NitroxPatcher/Patches/Dynamic/AttackCyclops_OnCollisionEnter_Patch.cs
index 8cc423190..49f8ba4f9 100644
--- a/NitroxPatcher/Patches/Dynamic/AttackCyclops_OnCollisionEnter_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/AttackCyclops_OnCollisionEnter_Patch.cs
@@ -4,7 +4,6 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/AttackCyclops_UpdateAggression_Patch.cs b/NitroxPatcher/Patches/Dynamic/AttackCyclops_UpdateAggression_Patch.cs
index ba2a86f03..d2e48345a 100644
--- a/NitroxPatcher/Patches/Dynamic/AttackCyclops_UpdateAggression_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/AttackCyclops_UpdateAggression_Patch.cs
@@ -6,7 +6,6 @@
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours.Cyclops;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/AttackLastTarget_CanAttackTarget_Patch.cs b/NitroxPatcher/Patches/Dynamic/AttackLastTarget_CanAttackTarget_Patch.cs
index 62ee3365e..1d3c304cf 100644
--- a/NitroxPatcher/Patches/Dynamic/AttackLastTarget_CanAttackTarget_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/AttackLastTarget_CanAttackTarget_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/AuroraWarnings_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/AuroraWarnings_Update_Patch.cs
index 0412b3206..c4cc05df4 100644
--- a/NitroxPatcher/Patches/Dynamic/AuroraWarnings_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/AuroraWarnings_Update_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/BaseDeconstructable_Deconstruct_Patch.cs b/NitroxPatcher/Patches/Dynamic/BaseDeconstructable_Deconstruct_Patch.cs
index f46db689f..cdb747d75 100644
--- a/NitroxPatcher/Patches/Dynamic/BaseDeconstructable_Deconstruct_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/BaseDeconstructable_Deconstruct_Patch.cs
@@ -8,7 +8,6 @@
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Bases;
using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxPatcher.PatternMatching;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/BaseHullStrength_CrushDamageUpdate_Patch.cs b/NitroxPatcher/Patches/Dynamic/BaseHullStrength_CrushDamageUpdate_Patch.cs
index 1752611d9..414256c46 100644
--- a/NitroxPatcher/Patches/Dynamic/BaseHullStrength_CrushDamageUpdate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/BaseHullStrength_CrushDamageUpdate_Patch.cs
@@ -6,7 +6,6 @@
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.Helper;
using NitroxModel_Subnautica.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Base_OnPreDestroy_Patch.cs b/NitroxPatcher/Patches/Dynamic/Base_OnPreDestroy_Patch.cs
index 12fe7b612..f5773c416 100644
--- a/NitroxPatcher/Patches/Dynamic/Base_OnPreDestroy_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Base_OnPreDestroy_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic.PlayerLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/BeaconLabel_SetLabel_Patch.cs b/NitroxPatcher/Patches/Dynamic/BeaconLabel_SetLabel_Patch.cs
index 59ee3ceca..99a5f6081 100644
--- a/NitroxPatcher/Patches/Dynamic/BeaconLabel_SetLabel_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/BeaconLabel_SetLabel_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Bed_EnterInUseMode_Patch.cs b/NitroxPatcher/Patches/Dynamic/Bed_EnterInUseMode_Patch.cs
index feb61a1ad..fda8d0734 100644
--- a/NitroxPatcher/Patches/Dynamic/Bed_EnterInUseMode_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Bed_EnterInUseMode_Patch.cs
@@ -1,7 +1,5 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Core;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/BreakableResource_BreakIntoResources_Patch.cs b/NitroxPatcher/Patches/Dynamic/BreakableResource_BreakIntoResources_Patch.cs
index f08da1382..7fe824d9f 100644
--- a/NitroxPatcher/Patches/Dynamic/BreakableResource_BreakIntoResources_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/BreakableResource_BreakIntoResources_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/BreakableResource_SpawnResourceFromPrefab_Patch.cs b/NitroxPatcher/Patches/Dynamic/BreakableResource_SpawnResourceFromPrefab_Patch.cs
index 6ef281302..55a14c0d6 100644
--- a/NitroxPatcher/Patches/Dynamic/BreakableResource_SpawnResourceFromPrefab_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/BreakableResource_SpawnResourceFromPrefab_Patch.cs
@@ -2,7 +2,6 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
using NitroxPatcher.PatternMatching;
using System.Collections.Generic;
using System.Reflection;
diff --git a/NitroxPatcher/Patches/Dynamic/BuilderTool_Construct_Patch.cs b/NitroxPatcher/Patches/Dynamic/BuilderTool_Construct_Patch.cs
index ed4dc0e94..6f3746606 100644
--- a/NitroxPatcher/Patches/Dynamic/BuilderTool_Construct_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/BuilderTool_Construct_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic.Bases;
-using NitroxClient.Helpers;
using NitroxModel.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Builder_TryPlace_Patch.cs b/NitroxPatcher/Patches/Dynamic/Builder_TryPlace_Patch.cs
index b8274658f..cae45cee5 100644
--- a/NitroxPatcher/Patches/Dynamic/Builder_TryPlace_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Builder_TryPlace_Patch.cs
@@ -5,10 +5,8 @@
using NitroxClient.GameLogic.Spawning.Bases;
using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.Cyclops;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxPatcher.PatternMatching;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/Builder_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/Builder_Update_Patch.cs
index e87878502..6999918d3 100644
--- a/NitroxPatcher/Patches/Dynamic/Builder_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Builder_Update_Patch.cs
@@ -1,9 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.Settings;
-using NitroxClient.Helpers;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Bullet_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/Bullet_Update_Patch.cs
index 3545d6440..edc16d031 100644
--- a/NitroxPatcher/Patches/Dynamic/Bullet_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Bullet_Update_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CoffeeVendingMachine_OnMachineUse_Patch.cs b/NitroxPatcher/Patches/Dynamic/CoffeeVendingMachine_OnMachineUse_Patch.cs
index 834f42160..eefa77f9d 100644
--- a/NitroxPatcher/Patches/Dynamic/CoffeeVendingMachine_OnMachineUse_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CoffeeVendingMachine_OnMachineUse_Patch.cs
@@ -4,7 +4,6 @@
using HarmonyLib;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using static NitroxModel.Packets.CoffeeMachineUse;
diff --git a/NitroxPatcher/Patches/Dynamic/ConstructableBase_SetState_Patch.cs b/NitroxPatcher/Patches/Dynamic/ConstructableBase_SetState_Patch.cs
index 78a1bd150..797851391 100644
--- a/NitroxPatcher/Patches/Dynamic/ConstructableBase_SetState_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ConstructableBase_SetState_Patch.cs
@@ -3,7 +3,6 @@
using HarmonyLib;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxPatcher.PatternMatching;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs b/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs
index ee8140c73..e075d1a9e 100644
--- a/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs
@@ -14,7 +14,6 @@
using NitroxModel.DataStructures.GameLogic.Bases;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxPatcher.PatternMatching;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/Constructable_DeconstructAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/Constructable_DeconstructAsync_Patch.cs
index 28ca27303..da4cd5ab1 100644
--- a/NitroxPatcher/Patches/Dynamic/Constructable_DeconstructAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Constructable_DeconstructAsync_Patch.cs
@@ -1,7 +1,6 @@
using System.Collections.Generic;
using System.Reflection;
using HarmonyLib;
-using NitroxModel.Helper;
using NitroxPatcher.PatternMatching;
using static System.Reflection.Emit.OpCodes;
diff --git a/NitroxPatcher/Patches/Dynamic/Constructable_DeconstructionAllowed_Patch.cs b/NitroxPatcher/Patches/Dynamic/Constructable_DeconstructionAllowed_Patch.cs
index d8307adc2..16987d909 100644
--- a/NitroxPatcher/Patches/Dynamic/Constructable_DeconstructionAllowed_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Constructable_DeconstructionAllowed_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic.Bases;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Constructable_ProgressDeconstruction_Patch.cs b/NitroxPatcher/Patches/Dynamic/Constructable_ProgressDeconstruction_Patch.cs
index 515b0a228..8e9aa3cfa 100644
--- a/NitroxPatcher/Patches/Dynamic/Constructable_ProgressDeconstruction_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Constructable_ProgressDeconstruction_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours.Cyclops;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ConstructorInput_OnCraftingBegin_Patch.cs b/NitroxPatcher/Patches/Dynamic/ConstructorInput_OnCraftingBegin_Patch.cs
index 09608f42c..6f2789095 100644
--- a/NitroxPatcher/Patches/Dynamic/ConstructorInput_OnCraftingBegin_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ConstructorInput_OnCraftingBegin_Patch.cs
@@ -4,7 +4,6 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic
diff --git a/NitroxPatcher/Patches/Dynamic/Constructor_Deploy_Patch.cs b/NitroxPatcher/Patches/Dynamic/Constructor_Deploy_Patch.cs
index aac2a35b9..5312685b6 100644
--- a/NitroxPatcher/Patches/Dynamic/Constructor_Deploy_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Constructor_Deploy_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CrashHome_OnDestroy_Patch.cs b/NitroxPatcher/Patches/Dynamic/CrashHome_OnDestroy_Patch.cs
index f0d08b515..a3492b9fd 100644
--- a/NitroxPatcher/Patches/Dynamic/CrashHome_OnDestroy_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CrashHome_OnDestroy_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CrashHome_Spawn_Patch.cs b/NitroxPatcher/Patches/Dynamic/CrashHome_Spawn_Patch.cs
index 4d1213feb..5c857f2b5 100644
--- a/NitroxPatcher/Patches/Dynamic/CrashHome_Spawn_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CrashHome_Spawn_Patch.cs
@@ -5,13 +5,11 @@
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/CrashHome_Start_Patch.cs b/NitroxPatcher/Patches/Dynamic/CrashHome_Start_Patch.cs
index 5d0d7a81e..abbf89ca8 100644
--- a/NitroxPatcher/Patches/Dynamic/CrashHome_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CrashHome_Start_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CrashHome_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/CrashHome_Update_Patch.cs
index 7070206fa..a5054d501 100644
--- a/NitroxPatcher/Patches/Dynamic/CrashHome_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CrashHome_Update_Patch.cs
@@ -7,7 +7,6 @@
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CrashedShipExploder_OnConsoleCommand_explodeship_Patch.cs b/NitroxPatcher/Patches/Dynamic/CrashedShipExploder_OnConsoleCommand_explodeship_Patch.cs
index f0773b227..a64f1812d 100644
--- a/NitroxPatcher/Patches/Dynamic/CrashedShipExploder_OnConsoleCommand_explodeship_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CrashedShipExploder_OnConsoleCommand_explodeship_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CrashedShipExploder_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/CrashedShipExploder_Update_Patch.cs
index 2f538baff..08100c6b0 100644
--- a/NitroxPatcher/Patches/Dynamic/CrashedShipExploder_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CrashedShipExploder_Update_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CreatureAction_Perform_Patch.cs b/NitroxPatcher/Patches/Dynamic/CreatureAction_Perform_Patch.cs
index 3c0ec2e77..88e6c1635 100644
--- a/NitroxPatcher/Patches/Dynamic/CreatureAction_Perform_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CreatureAction_Perform_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CreatureAction_StartPerform_Patch.cs b/NitroxPatcher/Patches/Dynamic/CreatureAction_StartPerform_Patch.cs
index 560d9c720..8d4f49a3a 100644
--- a/NitroxPatcher/Patches/Dynamic/CreatureAction_StartPerform_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CreatureAction_StartPerform_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CreatureAction_StopPerform_Patch.cs b/NitroxPatcher/Patches/Dynamic/CreatureAction_StopPerform_Patch.cs
index 01941e11a..922c36b74 100644
--- a/NitroxPatcher/Patches/Dynamic/CreatureAction_StopPerform_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CreatureAction_StopPerform_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnAttackByCreature_Patch.cs b/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnAttackByCreature_Patch.cs
index 02c6d4e58..c06df3dd3 100644
--- a/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnAttackByCreature_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnAttackByCreature_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnKill_Patch.cs b/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnKill_Patch.cs
index 393ccebe8..25dc6602b 100644
--- a/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnKill_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnKill_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnPickedUp_Patch.cs b/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnPickedUp_Patch.cs
index 57c90fe6b..be2215efc 100644
--- a/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnPickedUp_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnPickedUp_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CreatureDeath_SpawnRespawner_Patch.cs b/NitroxPatcher/Patches/Dynamic/CreatureDeath_SpawnRespawner_Patch.cs
index 5ed5f3b39..362dab729 100644
--- a/NitroxPatcher/Patches/Dynamic/CreatureDeath_SpawnRespawner_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CreatureDeath_SpawnRespawner_Patch.cs
@@ -7,7 +7,6 @@
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.Helper;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/CreatureEgg_Hatch_Patch.cs b/NitroxPatcher/Patches/Dynamic/CreatureEgg_Hatch_Patch.cs
index 985a166cb..f0a8e2df4 100644
--- a/NitroxPatcher/Patches/Dynamic/CreatureEgg_Hatch_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CreatureEgg_Hatch_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Creature_ChooseBestAction_Patch.cs b/NitroxPatcher/Patches/Dynamic/Creature_ChooseBestAction_Patch.cs
index 816b2dee1..5db649e4e 100644
--- a/NitroxPatcher/Patches/Dynamic/Creature_ChooseBestAction_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Creature_ChooseBestAction_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsDamagePoint_OnRepair_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsDamagePoint_OnRepair_Patch.cs
index 8940123d7..a783d41c2 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsDamagePoint_OnRepair_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsDamagePoint_OnRepair_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsDecoyLaunchButton_OnClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsDecoyLaunchButton_OnClick_Patch.cs
index aff0e456b..b09c3cc38 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsDecoyLaunchButton_OnClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsDecoyLaunchButton_OnClick_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.Core;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_DestroyCyclops_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_DestroyCyclops_Patch.cs
index 38a42a863..c2d8c7ec0 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_DestroyCyclops_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_DestroyCyclops_Patch.cs
@@ -5,7 +5,6 @@
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours.Cyclops;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_OnConsoleCommand_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_OnConsoleCommand_Patch.cs
index 8097fce34..435fcd3e7 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_OnConsoleCommand_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_OnConsoleCommand_Patch.cs
@@ -1,7 +1,6 @@
using System;
using System.Reflection;
using HarmonyLib;
-using NitroxModel.Helper;
using static NitroxModel.Helper.Reflect;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_SpawnLootAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_SpawnLootAsync_Patch.cs
index fb519cf3b..7d1bd86df 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_SpawnLootAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_SpawnLootAsync_Patch.cs
@@ -8,7 +8,6 @@
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
using NitroxPatcher.PatternMatching;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsEngineChangeState_OnClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsEngineChangeState_OnClick_Patch.cs
index 681915c0a..4a56a82d3 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsEngineChangeState_OnClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsEngineChangeState_OnClick_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsExternalDamageManager_CreatePoint_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsExternalDamageManager_CreatePoint_Patch.cs
index 92f32d14c..19c0aec0d 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsExternalDamageManager_CreatePoint_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsExternalDamageManager_CreatePoint_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsFireSuppressionButton_StartCooldown_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsFireSuppressionButton_StartCooldown_Patch.cs
index 95569ddf1..15ec60d81 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsFireSuppressionButton_StartCooldown_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsFireSuppressionButton_StartCooldown_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.Core;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsHelmHUDManager_StopPiloting_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsHelmHUDManager_StopPiloting_Patch.cs
index b7dd35420..bd5cef7ed 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsHelmHUDManager_StopPiloting_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsHelmHUDManager_StopPiloting_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsHelmHUDManager_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsHelmHUDManager_Update_Patch.cs
index 3e0ed1519..c0a03d1ae 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsHelmHUDManager_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsHelmHUDManager_Update_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsLightingPanel_ToggleFloodlights_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsLightingPanel_ToggleFloodlights_Patch.cs
index 60fb116d1..f33bad313 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsLightingPanel_ToggleFloodlights_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsLightingPanel_ToggleFloodlights_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsLightingPanel_ToggleInternalLighting_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsLightingPanel_ToggleInternalLighting_Patch.cs
index 1e9f660a9..81e235e23 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsLightingPanel_ToggleInternalLighting_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsLightingPanel_ToggleInternalLighting_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsMotorModeButton_OnClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsMotorModeButton_OnClick_Patch.cs
index 5a5124467..4bb43feb2 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsMotorModeButton_OnClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsMotorModeButton_OnClick_Patch.cs
@@ -1,8 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsMotorMode_RestoreEngineState_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsMotorMode_RestoreEngineState_Patch.cs
index 37af8939b..0c1992a75 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsMotorMode_RestoreEngineState_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsMotorMode_RestoreEngineState_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsMotorMode_SaveEngineStateAndPowerDown_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsMotorMode_SaveEngineStateAndPowerDown_Patch.cs
index ff19cc44b..169d32c96 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsMotorMode_SaveEngineStateAndPowerDown_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsMotorMode_SaveEngineStateAndPowerDown_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_OnClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_OnClick_Patch.cs
index 0ea77b0f6..55e36deab 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_OnClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_OnClick_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_ShieldIteration_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_ShieldIteration_Patch.cs
index d52d3c50d..0cf271400 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_ShieldIteration_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_ShieldIteration_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_StartShield_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_StartShield_Patch.cs
index 6b79022cd..9a175aebb 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_StartShield_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_StartShield_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_StopShield_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_StopShield_Patch.cs
index 1dff1aa59..a70bcdbc1 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_StopShield_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_StopShield_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsSilentRunningAbilityButton_TurnOffSilentRunning_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsSilentRunningAbilityButton_TurnOffSilentRunning_Patch.cs
index 3e8dc99a2..882ad2b2b 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsSilentRunningAbilityButton_TurnOffSilentRunning_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsSilentRunningAbilityButton_TurnOffSilentRunning_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsSilentRunningAbilityButton_TurnOnSilentRunning_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsSilentRunningAbilityButton_TurnOnSilentRunning_Patch.cs
index b55b1f5df..4f8337d3f 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsSilentRunningAbilityButton_TurnOnSilentRunning_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsSilentRunningAbilityButton_TurnOnSilentRunning_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_OnClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_OnClick_Patch.cs
index db830b19a..926704170 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_OnClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_OnClick_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_SonarPing_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_SonarPing_Patch.cs
index ea04bcbd5..d26e58c8e 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_SonarPing_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_SonarPing_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_Update_Patch.cs
index b6c49b802..52f08eb6c 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_Update_Patch.cs
@@ -3,9 +3,7 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
-using NitroxClient.MonoBehaviours.Cyclops;
using NitroxClient.MonoBehaviours.Vehicles;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsSonarCreatureDetector_CheckForCreaturesInRange_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsSonarCreatureDetector_CheckForCreaturesInRange_Patch.cs
index 60c25d6b1..b4eab9873 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsSonarCreatureDetector_CheckForCreaturesInRange_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsSonarCreatureDetector_CheckForCreaturesInRange_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Persistent;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsSonarDisplay_NewEntityOnSonar_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsSonarDisplay_NewEntityOnSonar_Patch.cs
index 5bbb59760..a92f3d3f8 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsSonarDisplay_NewEntityOnSonar_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsSonarDisplay_NewEntityOnSonar_Patch.cs
@@ -4,7 +4,6 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
-using NitroxModel.Helper;
using NitroxModel_Subnautica.DataStructures;
using NitroxPatcher.Patches.Persistent;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_day_Patch.cs b/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_day_Patch.cs
index cfd06e84b..9f9de6df9 100644
--- a/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_day_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_day_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxModel.Core;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_daynightspeed_Patch.cs b/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_daynightspeed_Patch.cs
index 3f65f4fa8..3f6b4ddac 100644
--- a/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_daynightspeed_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_daynightspeed_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_night_Patch.cs b/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_night_Patch.cs
index b607d7d83..37af90e84 100644
--- a/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_night_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_night_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/DayNightCycle_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/DayNightCycle_Update_Patch.cs
index 6eea0c31a..5b828bf98 100644
--- a/NitroxPatcher/Patches/Dynamic/DayNightCycle_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/DayNightCycle_Update_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/DayNightCycle_deltaTime_Patch.cs b/NitroxPatcher/Patches/Dynamic/DayNightCycle_deltaTime_Patch.cs
index 37b2bfa5a..56db046e1 100644
--- a/NitroxPatcher/Patches/Dynamic/DayNightCycle_deltaTime_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/DayNightCycle_deltaTime_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/DevConsole_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/DevConsole_Update_Patch.cs
index 43a32bd6f..3cfd8998c 100644
--- a/NitroxPatcher/Patches/Dynamic/DevConsole_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/DevConsole_Update_Patch.cs
@@ -1,7 +1,6 @@
using System.Collections.Generic;
using System.Reflection;
using HarmonyLib;
-using NitroxModel.Helper;
using NitroxPatcher.PatternMatching;
using UnityEngine;
using static System.Reflection.Emit.OpCodes;
diff --git a/NitroxPatcher/Patches/Dynamic/DockedVehicleHandTarget_OnHandClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/DockedVehicleHandTarget_OnHandClick_Patch.cs
index 97aa35361..2ed358543 100644
--- a/NitroxPatcher/Patches/Dynamic/DockedVehicleHandTarget_OnHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/DockedVehicleHandTarget_OnHandClick_Patch.cs
@@ -3,7 +3,6 @@
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Simulation;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Eatable_IterateDespawn_Patch.cs b/NitroxPatcher/Patches/Dynamic/Eatable_IterateDespawn_Patch.cs
index 1ca21692f..94874dcca 100644
--- a/NitroxPatcher/Patches/Dynamic/Eatable_IterateDespawn_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Eatable_IterateDespawn_Patch.cs
@@ -5,7 +5,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/EndCreditsManager_OnLateUpdate_Patch.cs b/NitroxPatcher/Patches/Dynamic/EndCreditsManager_OnLateUpdate_Patch.cs
index c5a5ebe65..1c44cdcca 100644
--- a/NitroxPatcher/Patches/Dynamic/EndCreditsManager_OnLateUpdate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EndCreditsManager_OnLateUpdate_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServerJoin;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/EnergMixin_SpawnDefaultAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/EnergMixin_SpawnDefaultAsync_Patch.cs
index 2bd761015..f0a79c4f3 100644
--- a/NitroxPatcher/Patches/Dynamic/EnergMixin_SpawnDefaultAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EnergMixin_SpawnDefaultAsync_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/EnergyMixin_OnAddItem_Patch.cs b/NitroxPatcher/Patches/Dynamic/EnergyMixin_OnAddItem_Patch.cs
index f766defd5..7eac2194c 100644
--- a/NitroxPatcher/Patches/Dynamic/EnergyMixin_OnAddItem_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EnergyMixin_OnAddItem_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/EntityCell_AwakeAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/EntityCell_AwakeAsync_Patch.cs
index bf393a4f8..bcd0dd3b9 100644
--- a/NitroxPatcher/Patches/Dynamic/EntityCell_AwakeAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EntityCell_AwakeAsync_Patch.cs
@@ -4,7 +4,6 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/EntityCell_Reset_Patch.cs b/NitroxPatcher/Patches/Dynamic/EntityCell_Reset_Patch.cs
index 5ab2b400e..ac8eba5d8 100644
--- a/NitroxPatcher/Patches/Dynamic/EntityCell_Reset_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EntityCell_Reset_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/EntityCell_SerializeAsyncImpl_Patch.cs b/NitroxPatcher/Patches/Dynamic/EntityCell_SerializeAsyncImpl_Patch.cs
index 709136aa1..cf5061598 100644
--- a/NitroxPatcher/Patches/Dynamic/EntityCell_SerializeAsyncImpl_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EntityCell_SerializeAsyncImpl_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using HarmonyLib;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/EntityCell_SerializeWaiterDataAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/EntityCell_SerializeWaiterDataAsync_Patch.cs
index aafa8cd48..9698b0f55 100644
--- a/NitroxPatcher/Patches/Dynamic/EntityCell_SerializeWaiterDataAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EntityCell_SerializeWaiterDataAsync_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using HarmonyLib;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/EntityCell_SleepAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/EntityCell_SleepAsync_Patch.cs
index 65da1ca89..135f367d0 100644
--- a/NitroxPatcher/Patches/Dynamic/EntityCell_SleepAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EntityCell_SleepAsync_Patch.cs
@@ -4,7 +4,6 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Equipment_AddItem_Patch.cs b/NitroxPatcher/Patches/Dynamic/Equipment_AddItem_Patch.cs
index 9f3caba93..3f738fa9d 100644
--- a/NitroxPatcher/Patches/Dynamic/Equipment_AddItem_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Equipment_AddItem_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Equipment_RemoveItem_Patch.cs b/NitroxPatcher/Patches/Dynamic/Equipment_RemoveItem_Patch.cs
index f2a1756f2..0ea2a2e4e 100644
--- a/NitroxPatcher/Patches/Dynamic/Equipment_RemoveItem_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Equipment_RemoveItem_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/EscapePodFirstUseCinematicsController_ReleaseCreature_Patch.cs b/NitroxPatcher/Patches/Dynamic/EscapePodFirstUseCinematicsController_ReleaseCreature_Patch.cs
index db656cc23..922a65718 100644
--- a/NitroxPatcher/Patches/Dynamic/EscapePodFirstUseCinematicsController_ReleaseCreature_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EscapePodFirstUseCinematicsController_ReleaseCreature_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/EscapePod_Awake_Patch.cs b/NitroxPatcher/Patches/Dynamic/EscapePod_Awake_Patch.cs
index 807bd8209..9dcc6fde6 100644
--- a/NitroxPatcher/Patches/Dynamic/EscapePod_Awake_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EscapePod_Awake_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic.Spawning;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/EscapePod_OnRepair_Patch.cs b/NitroxPatcher/Patches/Dynamic/EscapePod_OnRepair_Patch.cs
index 09ccbf72a..c6f53f8c5 100644
--- a/NitroxPatcher/Patches/Dynamic/EscapePod_OnRepair_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EscapePod_OnRepair_Patch.cs
@@ -3,7 +3,6 @@
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/EscapePod_RespawnPlayer_Patch.cs b/NitroxPatcher/Patches/Dynamic/EscapePod_RespawnPlayer_Patch.cs
index 33f9fad6e..abf9c9e6f 100644
--- a/NitroxPatcher/Patches/Dynamic/EscapePod_RespawnPlayer_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EscapePod_RespawnPlayer_Patch.cs
@@ -1,9 +1,7 @@
using System.Reflection;
-using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/EscapePod_Start_Patch.cs b/NitroxPatcher/Patches/Dynamic/EscapePod_Start_Patch.cs
index b81d5b80e..626dfe14e 100644
--- a/NitroxPatcher/Patches/Dynamic/EscapePod_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EscapePod_Start_Patch.cs
@@ -6,7 +6,6 @@
using System.Reflection.Emit;
using System.Text;
using HarmonyLib;
-using NitroxModel.Helper;
using UnityEngine;
// ReSharper disable UseUtf8StringLiteral
diff --git a/NitroxPatcher/Patches/Dynamic/ExosuitClawArm_OnPickup_Patch.cs b/NitroxPatcher/Patches/Dynamic/ExosuitClawArm_OnPickup_Patch.cs
index 6705df020..e86ade981 100644
--- a/NitroxPatcher/Patches/Dynamic/ExosuitClawArm_OnPickup_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ExosuitClawArm_OnPickup_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.Core;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ExosuitClawArm_TryUse_Patch.cs b/NitroxPatcher/Patches/Dynamic/ExosuitClawArm_TryUse_Patch.cs
index 7df6a3cf6..b63454c55 100644
--- a/NitroxPatcher/Patches/Dynamic/ExosuitClawArm_TryUse_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ExosuitClawArm_TryUse_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.Core;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ExosuitDrillArm_OnUseDown_Patch.cs b/NitroxPatcher/Patches/Dynamic/ExosuitDrillArm_OnUseDown_Patch.cs
index 4188a1223..61e764164 100644
--- a/NitroxPatcher/Patches/Dynamic/ExosuitDrillArm_OnUseDown_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ExosuitDrillArm_OnUseDown_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel_Subnautica.Packets;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ExosuitDrillArm_OnUseUp_Patch.cs b/NitroxPatcher/Patches/Dynamic/ExosuitDrillArm_OnUseUp_Patch.cs
index 3f9a2f91d..1906fb86c 100644
--- a/NitroxPatcher/Patches/Dynamic/ExosuitDrillArm_OnUseUp_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ExosuitDrillArm_OnUseUp_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel_Subnautica.Packets;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ExosuitGrapplingArm_OnHit_Patch.cs b/NitroxPatcher/Patches/Dynamic/ExosuitGrapplingArm_OnHit_Patch.cs
index 5c51924a1..5993b4d47 100644
--- a/NitroxPatcher/Patches/Dynamic/ExosuitGrapplingArm_OnHit_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ExosuitGrapplingArm_OnHit_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using NitroxModel_Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ExosuitGrapplingArm_OnUseUp_Patch.cs b/NitroxPatcher/Patches/Dynamic/ExosuitGrapplingArm_OnUseUp_Patch.cs
index ac2c3aeed..8f2bfd896 100644
--- a/NitroxPatcher/Patches/Dynamic/ExosuitGrapplingArm_OnUseUp_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ExosuitGrapplingArm_OnUseUp_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel_Subnautica.Packets;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Exosuit_FixedUpdate_Patch.cs b/NitroxPatcher/Patches/Dynamic/Exosuit_FixedUpdate_Patch.cs
index bf217bf5b..fd6881780 100644
--- a/NitroxPatcher/Patches/Dynamic/Exosuit_FixedUpdate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Exosuit_FixedUpdate_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Exosuit_GetVelocity_Patch.cs b/NitroxPatcher/Patches/Dynamic/Exosuit_GetVelocity_Patch.cs
index 7f319bb81..f40706512 100644
--- a/NitroxPatcher/Patches/Dynamic/Exosuit_GetVelocity_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Exosuit_GetVelocity_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours.Vehicles;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Exosuit_UpdateAnimations_Patch.cs b/NitroxPatcher/Patches/Dynamic/Exosuit_UpdateAnimations_Patch.cs
index 174e03ed9..724a33b60 100644
--- a/NitroxPatcher/Patches/Dynamic/Exosuit_UpdateAnimations_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Exosuit_UpdateAnimations_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours.Vehicles;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FMODUWE_PlayOneShotImpl_Patch.cs b/NitroxPatcher/Patches/Dynamic/FMODUWE_PlayOneShotImpl_Patch.cs
index b62608ddf..1d619eaeb 100644
--- a/NitroxPatcher/Patches/Dynamic/FMODUWE_PlayOneShotImpl_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FMODUWE_PlayOneShotImpl_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic.FMOD;
using NitroxModel_Subnautica.DataStructures;
using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FMOD_CustomEmitter_OnPlay_Patch.cs b/NitroxPatcher/Patches/Dynamic/FMOD_CustomEmitter_OnPlay_Patch.cs
index 0f0c3e82e..2e786961f 100644
--- a/NitroxPatcher/Patches/Dynamic/FMOD_CustomEmitter_OnPlay_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FMOD_CustomEmitter_OnPlay_Patch.cs
@@ -2,10 +2,8 @@
using FMOD.Studio;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.DataStructures;
using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FMOD_CustomEmitter_OnStop_Patch.cs b/NitroxPatcher/Patches/Dynamic/FMOD_CustomEmitter_OnStop_Patch.cs
index 158c266f6..476be3494 100644
--- a/NitroxPatcher/Patches/Dynamic/FMOD_CustomEmitter_OnStop_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FMOD_CustomEmitter_OnStop_Patch.cs
@@ -2,10 +2,8 @@
using FMOD.Studio;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.DataStructures;
using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FMOD_CustomEmitter_Start_Patch.cs b/NitroxPatcher/Patches/Dynamic/FMOD_CustomEmitter_Start_Patch.cs
index 10221e3d1..2a23b5ca9 100644
--- a/NitroxPatcher/Patches/Dynamic/FMOD_CustomEmitter_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FMOD_CustomEmitter_Start_Patch.cs
@@ -1,9 +1,7 @@
using System.Reflection;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.Helper;
using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FMOD_CustomLoopingEmitter_OnPlay_Patch.cs b/NitroxPatcher/Patches/Dynamic/FMOD_CustomLoopingEmitter_OnPlay_Patch.cs
index 358e62895..0d6ae3542 100644
--- a/NitroxPatcher/Patches/Dynamic/FMOD_CustomLoopingEmitter_OnPlay_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FMOD_CustomLoopingEmitter_OnPlay_Patch.cs
@@ -1,9 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FMOD_CustomLoopingEmitter_PlayStopSound_Patch.cs b/NitroxPatcher/Patches/Dynamic/FMOD_CustomLoopingEmitter_PlayStopSound_Patch.cs
index 7a0a57552..273b57e0f 100644
--- a/NitroxPatcher/Patches/Dynamic/FMOD_CustomLoopingEmitter_PlayStopSound_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FMOD_CustomLoopingEmitter_PlayStopSound_Patch.cs
@@ -1,9 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FMOD_StudioEventEmitter_PlayUI_Patch.cs b/NitroxPatcher/Patches/Dynamic/FMOD_StudioEventEmitter_PlayUI_Patch.cs
index 909cd1949..8a1325db2 100644
--- a/NitroxPatcher/Patches/Dynamic/FMOD_StudioEventEmitter_PlayUI_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FMOD_StudioEventEmitter_PlayUI_Patch.cs
@@ -1,9 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FMOD_StudioEventEmitter_Start_Patch.cs b/NitroxPatcher/Patches/Dynamic/FMOD_StudioEventEmitter_Start_Patch.cs
index 4f20baffe..46914781d 100644
--- a/NitroxPatcher/Patches/Dynamic/FMOD_StudioEventEmitter_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FMOD_StudioEventEmitter_Start_Patch.cs
@@ -1,9 +1,7 @@
using System.Reflection;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel_Subnautica.Helper;
using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FMOD_StudioEventEmitter_Stop_Patch.cs b/NitroxPatcher/Patches/Dynamic/FMOD_StudioEventEmitter_Stop_Patch.cs
index b68d2db6d..274d4252e 100644
--- a/NitroxPatcher/Patches/Dynamic/FMOD_StudioEventEmitter_Stop_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FMOD_StudioEventEmitter_Stop_Patch.cs
@@ -1,9 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FPSCounter_UpdateDisplay_Patch.cs b/NitroxPatcher/Patches/Dynamic/FPSCounter_UpdateDisplay_Patch.cs
index 33b51f6e1..c189a9fac 100644
--- a/NitroxPatcher/Patches/Dynamic/FPSCounter_UpdateDisplay_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FPSCounter_UpdateDisplay_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TakeTankAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TakeTankAsync_Patch.cs
index fae4251a7..f3320cb72 100644
--- a/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TakeTankAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TakeTankAsync_Patch.cs
@@ -5,7 +5,6 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TryStoreTank_Patch.cs b/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TryStoreTank_Patch.cs
index 13e3ea36e..fdddb7066 100644
--- a/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TryStoreTank_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TryStoreTank_Patch.cs
@@ -6,7 +6,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/Fire_Douse_Patch.cs b/NitroxPatcher/Patches/Dynamic/Fire_Douse_Patch.cs
index 0effd9460..48feeeeba 100644
--- a/NitroxPatcher/Patches/Dynamic/Fire_Douse_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Fire_Douse_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Flare_OnDestroy_Patch.cs b/NitroxPatcher/Patches/Dynamic/Flare_OnDestroy_Patch.cs
index 8c63a4727..e3ddcbd61 100644
--- a/NitroxPatcher/Patches/Dynamic/Flare_OnDestroy_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Flare_OnDestroy_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Flare_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/Flare_Update_Patch.cs
index 54f2ced23..8534f23da 100644
--- a/NitroxPatcher/Patches/Dynamic/Flare_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Flare_Update_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FlashLight_onLightsToggled_Patch.cs b/NitroxPatcher/Patches/Dynamic/FlashLight_onLightsToggled_Patch.cs
index 62645c2d2..d555e19fa 100644
--- a/NitroxPatcher/Patches/Dynamic/FlashLight_onLightsToggled_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FlashLight_onLightsToggled_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Floater_FixedUpdate_Patch.cs b/NitroxPatcher/Patches/Dynamic/Floater_FixedUpdate_Patch.cs
index de1fc5943..d491b0d64 100644
--- a/NitroxPatcher/Patches/Dynamic/Floater_FixedUpdate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Floater_FixedUpdate_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours.Cyclops;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FootstepSounds_OnStep_Patch.cs b/NitroxPatcher/Patches/Dynamic/FootstepSounds_OnStep_Patch.cs
index 5aa4409d1..9b4d64d2b 100644
--- a/NitroxPatcher/Patches/Dynamic/FootstepSounds_OnStep_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FootstepSounds_OnStep_Patch.cs
@@ -8,7 +8,6 @@
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.FMOD;
using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/FreezeRigidbodyWhenFar_Awake_Patch.cs b/NitroxPatcher/Patches/Dynamic/FreezeRigidbodyWhenFar_Awake_Patch.cs
index 8e3b0003c..0cc82154e 100644
--- a/NitroxPatcher/Patches/Dynamic/FreezeRigidbodyWhenFar_Awake_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FreezeRigidbodyWhenFar_Awake_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FreezeTime_Set_Patch.cs b/NitroxPatcher/Patches/Dynamic/FreezeTime_Set_Patch.cs
index 9bf0b209c..54f949ad4 100644
--- a/NitroxPatcher/Patches/Dynamic/FreezeTime_Set_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FreezeTime_Set_Patch.cs
@@ -1,6 +1,5 @@
using System.Collections.Generic;
using System.Reflection;
-using NitroxModel.Helper;
using UWE;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FruitPlant_Start_Patch.cs b/NitroxPatcher/Patches/Dynamic/FruitPlant_Start_Patch.cs
index 80c529e71..7d200c218 100644
--- a/NitroxPatcher/Patches/Dynamic/FruitPlant_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FruitPlant_Start_Patch.cs
@@ -1,7 +1,4 @@
using System.Reflection;
-using NitroxClient.Extensions;
-using NitroxClient.Helpers;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FruitPlant_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/FruitPlant_Update_Patch.cs
index 67e185aa1..996eb2418 100644
--- a/NitroxPatcher/Patches/Dynamic/FruitPlant_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FruitPlant_Update_Patch.cs
@@ -1,9 +1,7 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor;
-using NitroxClient.Helpers;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.Packets;
diff --git a/NitroxPatcher/Patches/Dynamic/GameModeConsoleCommands_OnConsoleCommand_Patch.cs b/NitroxPatcher/Patches/Dynamic/GameModeConsoleCommands_OnConsoleCommand_Patch.cs
index 76ec22058..9ba1cb58e 100644
--- a/NitroxPatcher/Patches/Dynamic/GameModeConsoleCommands_OnConsoleCommand_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/GameModeConsoleCommands_OnConsoleCommand_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxModel.Server;
diff --git a/NitroxPatcher/Patches/Dynamic/GoalManager_OnCompletedGoal_Patch.cs b/NitroxPatcher/Patches/Dynamic/GoalManager_OnCompletedGoal_Patch.cs
index b7d51ea65..148a27075 100644
--- a/NitroxPatcher/Patches/Dynamic/GoalManager_OnCompletedGoal_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/GoalManager_OnCompletedGoal_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/GotoConsoleCommand_GotoPosition_Patch.cs b/NitroxPatcher/Patches/Dynamic/GotoConsoleCommand_GotoPosition_Patch.cs
index bc6d0b3a3..829c9d68a 100644
--- a/NitroxPatcher/Patches/Dynamic/GotoConsoleCommand_GotoPosition_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/GotoConsoleCommand_GotoPosition_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/GroundMotor_OnControllerColliderHit_Patch.cs b/NitroxPatcher/Patches/Dynamic/GroundMotor_OnControllerColliderHit_Patch.cs
index e28309ae0..eb054bcfd 100644
--- a/NitroxPatcher/Patches/Dynamic/GroundMotor_OnControllerColliderHit_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/GroundMotor_OnControllerColliderHit_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
-using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
+using NitroxClient.MonoBehaviours.Cyclops;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/GrowingPlant_SpawnGrownModelAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/GrowingPlant_SpawnGrownModelAsync_Patch.cs
index d18403d08..679dc3d5b 100644
--- a/NitroxPatcher/Patches/Dynamic/GrowingPlant_SpawnGrownModelAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/GrowingPlant_SpawnGrownModelAsync_Patch.cs
@@ -2,12 +2,9 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning;
using NitroxClient.GameLogic.Spawning.Metadata.Processor;
-using NitroxClient.Helpers;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/GrownPlant_OnKill_Patch.cs b/NitroxPatcher/Patches/Dynamic/GrownPlant_OnKill_Patch.cs
index dd2d4fb5b..c8355aeb5 100644
--- a/NitroxPatcher/Patches/Dynamic/GrownPlant_OnKill_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/GrownPlant_OnKill_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/IncubatorActivationTerminal_OnHandClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/IncubatorActivationTerminal_OnHandClick_Patch.cs
index aab0141ee..5ec665127 100644
--- a/NitroxPatcher/Patches/Dynamic/IncubatorActivationTerminal_OnHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/IncubatorActivationTerminal_OnHandClick_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/IncubatorActivationTerminal_OnPlayerCinematicModeEnd_Patch.cs b/NitroxPatcher/Patches/Dynamic/IncubatorActivationTerminal_OnPlayerCinematicModeEnd_Patch.cs
index ab15e40dc..2bd193d0a 100644
--- a/NitroxPatcher/Patches/Dynamic/IncubatorActivationTerminal_OnPlayerCinematicModeEnd_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/IncubatorActivationTerminal_OnPlayerCinematicModeEnd_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/IncubatorEgg_HatchNow_Patch.cs b/NitroxPatcher/Patches/Dynamic/IncubatorEgg_HatchNow_Patch.cs
index 4a1b2fbf1..be771de7d 100644
--- a/NitroxPatcher/Patches/Dynamic/IncubatorEgg_HatchNow_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/IncubatorEgg_HatchNow_Patch.cs
@@ -4,7 +4,6 @@
using NitroxModel.Core;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.Helper;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/Incubator_OnHandClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/Incubator_OnHandClick_Patch.cs
index ba712290f..6a5d72b35 100644
--- a/NitroxPatcher/Patches/Dynamic/Incubator_OnHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Incubator_OnHandClick_Patch.cs
@@ -5,7 +5,6 @@
using NitroxModel.Core;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Incubator_OnHatched_Patch.cs b/NitroxPatcher/Patches/Dynamic/Incubator_OnHatched_Patch.cs
index 03d0f2ef9..04f973ed4 100644
--- a/NitroxPatcher/Patches/Dynamic/Incubator_OnHatched_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Incubator_OnHatched_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/IngameMenu_OnDeselect_Patch.cs b/NitroxPatcher/Patches/Dynamic/IngameMenu_OnDeselect_Patch.cs
index b81bb22ff..8e594198c 100644
--- a/NitroxPatcher/Patches/Dynamic/IngameMenu_OnDeselect_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/IngameMenu_OnDeselect_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours.Gui.Modals;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/IngameMenu_OnSelect_Patch.cs b/NitroxPatcher/Patches/Dynamic/IngameMenu_OnSelect_Patch.cs
index 40b2e9048..38bdf4f67 100644
--- a/NitroxPatcher/Patches/Dynamic/IngameMenu_OnSelect_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/IngameMenu_OnSelect_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGameAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGameAsync_Patch.cs
index 4d0ff4a01..931c00290 100644
--- a/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGameAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGameAsync_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGame_Patch.cs b/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGame_Patch.cs
index 768eda50c..32a47971b 100644
--- a/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGame_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGame_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitSubscreen_Patch.cs b/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitSubscreen_Patch.cs
index bc6f09f10..e634b9786 100644
--- a/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitSubscreen_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitSubscreen_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Inventory_LoseItems_Patch.cs b/NitroxPatcher/Patches/Dynamic/Inventory_LoseItems_Patch.cs
index 66fd23a21..e1f5d07f9 100644
--- a/NitroxPatcher/Patches/Dynamic/Inventory_LoseItems_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Inventory_LoseItems_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Inventory_Pickup_Patch.cs b/NitroxPatcher/Patches/Dynamic/Inventory_Pickup_Patch.cs
index bab80135d..98e023541 100644
--- a/NitroxPatcher/Patches/Dynamic/Inventory_Pickup_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Inventory_Pickup_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ItemsContainer_DestroyItem_Patch.cs b/NitroxPatcher/Patches/Dynamic/ItemsContainer_DestroyItem_Patch.cs
index 288211160..c2ee38487 100644
--- a/NitroxPatcher/Patches/Dynamic/ItemsContainer_DestroyItem_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ItemsContainer_DestroyItem_Patch.cs
@@ -3,7 +3,6 @@
using HarmonyLib;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxPatcher.PatternMatching;
using static System.Reflection.Emit.OpCodes;
diff --git a/NitroxPatcher/Patches/Dynamic/ItemsContainer_NotifyAddItem_Patch.cs b/NitroxPatcher/Patches/Dynamic/ItemsContainer_NotifyAddItem_Patch.cs
index 62487ee60..1863a3773 100644
--- a/NitroxPatcher/Patches/Dynamic/ItemsContainer_NotifyAddItem_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ItemsContainer_NotifyAddItem_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/KeypadDoorConsole_AcceptNumberField_Patch.cs b/NitroxPatcher/Patches/Dynamic/KeypadDoorConsole_AcceptNumberField_Patch.cs
index adcac543c..6774f1642 100644
--- a/NitroxPatcher/Patches/Dynamic/KeypadDoorConsole_AcceptNumberField_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/KeypadDoorConsole_AcceptNumberField_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Knife_OnToolUseAnim_Patch.cs b/NitroxPatcher/Patches/Dynamic/Knife_OnToolUseAnim_Patch.cs
index 093f0f0b0..b14824aef 100644
--- a/NitroxPatcher/Patches/Dynamic/Knife_OnToolUseAnim_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Knife_OnToolUseAnim_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAdd_Patch.cs b/NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAdd_Patch.cs
index 224ccd05b..2121aa9a2 100644
--- a/NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAdd_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAdd_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAnalyze_Patch.cs b/NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAnalyze_Patch.cs
index 695a2e403..8fc00a9ec 100644
--- a/NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAnalyze_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAnalyze_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxPatcher/Patches/Dynamic/LargeRoomWaterPark_OnDeconstructionStart_Patch.cs b/NitroxPatcher/Patches/Dynamic/LargeRoomWaterPark_OnDeconstructionStart_Patch.cs
index 0afc14439..8be4feb68 100644
--- a/NitroxPatcher/Patches/Dynamic/LargeRoomWaterPark_OnDeconstructionStart_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/LargeRoomWaterPark_OnDeconstructionStart_Patch.cs
@@ -5,7 +5,6 @@
using NitroxClient.GameLogic.Bases;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using static NitroxClient.GameLogic.Bases.BuildingHandler;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/LargeWorldEntity_UpdateCell_Patch.cs b/NitroxPatcher/Patches/Dynamic/LargeWorldEntity_UpdateCell_Patch.cs
index 2f465445e..e5b668f64 100644
--- a/NitroxPatcher/Patches/Dynamic/LargeWorldEntity_UpdateCell_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/LargeWorldEntity_UpdateCell_Patch.cs
@@ -4,7 +4,6 @@
using HarmonyLib;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/LaunchRocket_OnHandClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/LaunchRocket_OnHandClick_Patch.cs
index a25b55cad..29d264f74 100644
--- a/NitroxPatcher/Patches/Dynamic/LaunchRocket_OnHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/LaunchRocket_OnHandClick_Patch.cs
@@ -3,8 +3,6 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxClient.Unity.Helper;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/LeakingRadiation_OnConsoleCommand_decontaminate_Patch.cs b/NitroxPatcher/Patches/Dynamic/LeakingRadiation_OnConsoleCommand_decontaminate_Patch.cs
index 0b9157276..0461921a5 100644
--- a/NitroxPatcher/Patches/Dynamic/LeakingRadiation_OnConsoleCommand_decontaminate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/LeakingRadiation_OnConsoleCommand_decontaminate_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/LeakingRadiation_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/LeakingRadiation_Update_Patch.cs
index 7311149ec..d2c531a87 100644
--- a/NitroxPatcher/Patches/Dynamic/LeakingRadiation_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/LeakingRadiation_Update_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/LiveMixin_AddHealth_Patch.cs b/NitroxPatcher/Patches/Dynamic/LiveMixin_AddHealth_Patch.cs
index 0b1c78684..c730736b2 100644
--- a/NitroxPatcher/Patches/Dynamic/LiveMixin_AddHealth_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/LiveMixin_AddHealth_Patch.cs
@@ -3,11 +3,9 @@
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/LiveMixin_Kill_Patch.cs b/NitroxPatcher/Patches/Dynamic/LiveMixin_Kill_Patch.cs
index 577d6a31e..0b54af480 100644
--- a/NitroxPatcher/Patches/Dynamic/LiveMixin_Kill_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/LiveMixin_Kill_Patch.cs
@@ -3,7 +3,6 @@
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/LiveMixin_TakeDamage_Patch.cs b/NitroxPatcher/Patches/Dynamic/LiveMixin_TakeDamage_Patch.cs
index 4abad19a8..4d37698b8 100644
--- a/NitroxPatcher/Patches/Dynamic/LiveMixin_TakeDamage_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/LiveMixin_TakeDamage_Patch.cs
@@ -6,7 +6,6 @@
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/MedicalCabinet_OnHandClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/MedicalCabinet_OnHandClick_Patch.cs
index 879412f69..511fd1285 100644
--- a/NitroxPatcher/Patches/Dynamic/MedicalCabinet_OnHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/MedicalCabinet_OnHandClick_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/MeleeAttack_CanDealDamageTo_Patch.cs b/NitroxPatcher/Patches/Dynamic/MeleeAttack_CanDealDamageTo_Patch.cs
index aca2a3817..b70bad42a 100644
--- a/NitroxPatcher/Patches/Dynamic/MeleeAttack_CanDealDamageTo_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/MeleeAttack_CanDealDamageTo_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.MonoBehaviours.Cyclops;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_bobthebuilder_Patch.cs b/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_bobthebuilder_Patch.cs
index f1ba972e3..b52a15c32 100644
--- a/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_bobthebuilder_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_bobthebuilder_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_fastgrow_Patch.cs b/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_fastgrow_Patch.cs
index a70b792af..635eacfe0 100644
--- a/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_fastgrow_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_fastgrow_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_fasthatch_Patch.cs b/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_fasthatch_Patch.cs
index aae2f7b6a..7929f6a2e 100644
--- a/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_fasthatch_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_fasthatch_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Openable_OnTriggerEnter_Patch.cs b/NitroxPatcher/Patches/Dynamic/Openable_OnTriggerEnter_Patch.cs
index e7f84452b..c865f6278 100644
--- a/NitroxPatcher/Patches/Dynamic/Openable_OnTriggerEnter_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Openable_OnTriggerEnter_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Openable_OnTriggerExit_Patch.cs b/NitroxPatcher/Patches/Dynamic/Openable_OnTriggerExit_Patch.cs
index 247fe7cf6..508965f0e 100644
--- a/NitroxPatcher/Patches/Dynamic/Openable_OnTriggerExit_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Openable_OnTriggerExit_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Openable_PlayOpenAnimation_Patch.cs b/NitroxPatcher/Patches/Dynamic/Openable_PlayOpenAnimation_Patch.cs
index 53871e42d..5afcf8758 100644
--- a/NitroxPatcher/Patches/Dynamic/Openable_PlayOpenAnimation_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Openable_PlayOpenAnimation_Patch.cs
@@ -1,9 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours.Cyclops;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PDAEncyclopedia_Add_Patch.cs b/NitroxPatcher/Patches/Dynamic/PDAEncyclopedia_Add_Patch.cs
index 6c67bcf0d..f9c26f690 100644
--- a/NitroxPatcher/Patches/Dynamic/PDAEncyclopedia_Add_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PDAEncyclopedia_Add_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PDALog_Add_Patch.cs b/NitroxPatcher/Patches/Dynamic/PDALog_Add_Patch.cs
index 71a50346b..43b212703 100644
--- a/NitroxPatcher/Patches/Dynamic/PDALog_Add_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PDALog_Add_Patch.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PDAScanner_Scan_Patch.cs b/NitroxPatcher/Patches/Dynamic/PDAScanner_Scan_Patch.cs
index e5d7571c6..a69552c82 100644
--- a/NitroxPatcher/Patches/Dynamic/PDAScanner_Scan_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PDAScanner_Scan_Patch.cs
@@ -5,7 +5,6 @@
using HarmonyLib;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/PickPrefab_AddToContainerAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/PickPrefab_AddToContainerAsync_Patch.cs
index 47fa0d2d5..3bf2e443d 100644
--- a/NitroxPatcher/Patches/Dynamic/PickPrefab_AddToContainerAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PickPrefab_AddToContainerAsync_Patch.cs
@@ -4,7 +4,6 @@
using HarmonyLib;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/PickPrefab_SetPickedState_Patch.cs b/NitroxPatcher/Patches/Dynamic/PickPrefab_SetPickedState_Patch.cs
index 3da5e2578..94a822172 100644
--- a/NitroxPatcher/Patches/Dynamic/PickPrefab_SetPickedState_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PickPrefab_SetPickedState_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PickPrefab_SetPickedUp_Patch.cs b/NitroxPatcher/Patches/Dynamic/PickPrefab_SetPickedUp_Patch.cs
index c541e7af0..0b31de98e 100644
--- a/NitroxPatcher/Patches/Dynamic/PickPrefab_SetPickedUp_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PickPrefab_SetPickedUp_Patch.cs
@@ -1,11 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor;
-using NitroxClient.Helpers;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Pickupable_Drop_Patch.cs b/NitroxPatcher/Patches/Dynamic/Pickupable_Drop_Patch.cs
index 8bd7996c8..c7e63f1e5 100644
--- a/NitroxPatcher/Patches/Dynamic/Pickupable_Drop_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Pickupable_Drop_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Pickupable_OnDestroy_Patch.cs b/NitroxPatcher/Patches/Dynamic/Pickupable_OnDestroy_Patch.cs
index f340ee1d9..0a605c911 100644
--- a/NitroxPatcher/Patches/Dynamic/Pickupable_OnDestroy_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Pickupable_OnDestroy_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic.Bases;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Pickupable_Pickup_Patch.cs b/NitroxPatcher/Patches/Dynamic/Pickupable_Pickup_Patch.cs
index af1b13721..37e5986a5 100644
--- a/NitroxPatcher/Patches/Dynamic/Pickupable_Pickup_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Pickupable_Pickup_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PilotingChair_OnHandClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/PilotingChair_OnHandClick_Patch.cs
index 8bc491bdd..56f753aa8 100644
--- a/NitroxPatcher/Patches/Dynamic/PilotingChair_OnHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PilotingChair_OnHandClick_Patch.cs
@@ -3,7 +3,6 @@
using NitroxClient.GameLogic.Simulation;
using NitroxClient.MonoBehaviours.Gui.HUD;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PilotingChair_OnPlayerDeath_Patch.cs b/NitroxPatcher/Patches/Dynamic/PilotingChair_OnPlayerDeath_Patch.cs
index 875bf592c..f9660a877 100644
--- a/NitroxPatcher/Patches/Dynamic/PilotingChair_OnPlayerDeath_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PilotingChair_OnPlayerDeath_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PilotingChair_OnSteeringStart_Patch.cs b/NitroxPatcher/Patches/Dynamic/PilotingChair_OnSteeringStart_Patch.cs
index df61760dd..e2ae73db5 100644
--- a/NitroxPatcher/Patches/Dynamic/PilotingChair_OnSteeringStart_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PilotingChair_OnSteeringStart_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PilotingChair_ReleaseBy_Patch.cs b/NitroxPatcher/Patches/Dynamic/PilotingChair_ReleaseBy_Patch.cs
index 557e94027..8106e393a 100644
--- a/NitroxPatcher/Patches/Dynamic/PilotingChair_ReleaseBy_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PilotingChair_ReleaseBy_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PinManager_NotifyAdd_Patch.cs b/NitroxPatcher/Patches/Dynamic/PinManager_NotifyAdd_Patch.cs
index 426f114ab..4b511e1cd 100644
--- a/NitroxPatcher/Patches/Dynamic/PinManager_NotifyAdd_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PinManager_NotifyAdd_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PinManager_NotifyMovePatch.cs b/NitroxPatcher/Patches/Dynamic/PinManager_NotifyMovePatch.cs
index 2c406d209..17a9542df 100644
--- a/NitroxPatcher/Patches/Dynamic/PinManager_NotifyMovePatch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PinManager_NotifyMovePatch.cs
@@ -3,7 +3,6 @@
using System.Reflection;
using NitroxClient.Helpers;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PinManager_NotifyRemove_Patch.cs b/NitroxPatcher/Patches/Dynamic/PinManager_NotifyRemove_Patch.cs
index 401b1202a..ec7698699 100644
--- a/NitroxPatcher/Patches/Dynamic/PinManager_NotifyRemove_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PinManager_NotifyRemove_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PingInstance_Set_Patches.cs b/NitroxPatcher/Patches/Dynamic/PingInstance_Set_Patches.cs
index 69f956709..1bbd48c37 100644
--- a/NitroxPatcher/Patches/Dynamic/PingInstance_Set_Patches.cs
+++ b/NitroxPatcher/Patches/Dynamic/PingInstance_Set_Patches.cs
@@ -3,7 +3,6 @@
using HarmonyLib;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic.InitialSync;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PlaceTool_Place_Patch.cs b/NitroxPatcher/Patches/Dynamic/PlaceTool_Place_Patch.cs
index a38672625..52768492f 100644
--- a/NitroxPatcher/Patches/Dynamic/PlaceTool_Place_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PlaceTool_Place_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Planter_AddItem_Patch.cs b/NitroxPatcher/Patches/Dynamic/Planter_AddItem_Patch.cs
index a465b0c5e..a3f0da207 100644
--- a/NitroxPatcher/Patches/Dynamic/Planter_AddItem_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Planter_AddItem_Patch.cs
@@ -1,9 +1,6 @@
using System.Reflection;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
-using NitroxClient.Helpers;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Planter_ReplaceItem_Patch.cs b/NitroxPatcher/Patches/Dynamic/Planter_ReplaceItem_Patch.cs
index ece249c87..015622007 100644
--- a/NitroxPatcher/Patches/Dynamic/Planter_ReplaceItem_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Planter_ReplaceItem_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Planter_ResetStorage_Patch.cs b/NitroxPatcher/Patches/Dynamic/Planter_ResetStorage_Patch.cs
index 3bdb0f219..2b3f1b1ba 100644
--- a/NitroxPatcher/Patches/Dynamic/Planter_ResetStorage_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Planter_ResetStorage_Patch.cs
@@ -1,10 +1,7 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
-using NitroxClient.Helpers;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PlatformUtils_GetDevToolsEnabled_Patch.cs b/NitroxPatcher/Patches/Dynamic/PlatformUtils_GetDevToolsEnabled_Patch.cs
index 58cd76169..607ce0029 100644
--- a/NitroxPatcher/Patches/Dynamic/PlatformUtils_GetDevToolsEnabled_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PlatformUtils_GetDevToolsEnabled_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Player_EnterPilotingMode_Patch.cs b/NitroxPatcher/Patches/Dynamic/Player_EnterPilotingMode_Patch.cs
index 33b6dde4e..0baa52d65 100644
--- a/NitroxPatcher/Patches/Dynamic/Player_EnterPilotingMode_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Player_EnterPilotingMode_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours.Cyclops;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Player_ExitLockedMode_Patch.cs b/NitroxPatcher/Patches/Dynamic/Player_ExitLockedMode_Patch.cs
index b45564b15..f3ff0e061 100644
--- a/NitroxPatcher/Patches/Dynamic/Player_ExitLockedMode_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Player_ExitLockedMode_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Player_ExitPilotingMode_Patch.cs b/NitroxPatcher/Patches/Dynamic/Player_ExitPilotingMode_Patch.cs
index c77bad613..7152850f2 100644
--- a/NitroxPatcher/Patches/Dynamic/Player_ExitPilotingMode_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Player_ExitPilotingMode_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
-using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
+using NitroxClient.MonoBehaviours.Cyclops;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Player_MovePlayerToRespawnPoint_Patch.cs b/NitroxPatcher/Patches/Dynamic/Player_MovePlayerToRespawnPoint_Patch.cs
index be15b7335..9b3b7c858 100644
--- a/NitroxPatcher/Patches/Dynamic/Player_MovePlayerToRespawnPoint_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Player_MovePlayerToRespawnPoint_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Player_OnKill_Patch.cs b/NitroxPatcher/Patches/Dynamic/Player_OnKill_Patch.cs
index 7b1964805..59edf9328 100644
--- a/NitroxPatcher/Patches/Dynamic/Player_OnKill_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Player_OnKill_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Player_OnPlayerPositionCheat_Patch.cs b/NitroxPatcher/Patches/Dynamic/Player_OnPlayerPositionCheat_Patch.cs
index 9a7d23da6..082424119 100644
--- a/NitroxPatcher/Patches/Dynamic/Player_OnPlayerPositionCheat_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Player_OnPlayerPositionCheat_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Player_RequiresHighPrecisionPhysics_Patch.cs b/NitroxPatcher/Patches/Dynamic/Player_RequiresHighPrecisionPhysics_Patch.cs
index 87512d6bf..ac7d327b3 100644
--- a/NitroxPatcher/Patches/Dynamic/Player_RequiresHighPrecisionPhysics_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Player_RequiresHighPrecisionPhysics_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Player_SetCurrentEscapePod_Patch.cs b/NitroxPatcher/Patches/Dynamic/Player_SetCurrentEscapePod_Patch.cs
index 3726d7804..ceb5f7aa6 100644
--- a/NitroxPatcher/Patches/Dynamic/Player_SetCurrentEscapePod_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Player_SetCurrentEscapePod_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Player_SetCurrentSub_Patch.cs b/NitroxPatcher/Patches/Dynamic/Player_SetCurrentSub_Patch.cs
index 8f659f9cd..942fd3b5d 100644
--- a/NitroxPatcher/Patches/Dynamic/Player_SetCurrentSub_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Player_SetCurrentSub_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Player_Start_Patch.cs b/NitroxPatcher/Patches/Dynamic/Player_Start_Patch.cs
index 036f6d1ad..a7ae17a91 100644
--- a/NitroxPatcher/Patches/Dynamic/Player_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Player_Start_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
-using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
+using NitroxClient.MonoBehaviours.Cyclops;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Player_WarpForward_Patch.cs b/NitroxPatcher/Patches/Dynamic/Player_WarpForward_Patch.cs
index 2f6173f3f..8d1270ee1 100644
--- a/NitroxPatcher/Patches/Dynamic/Player_WarpForward_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Player_WarpForward_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Poop_Perform_Patch.cs b/NitroxPatcher/Patches/Dynamic/Poop_Perform_Patch.cs
index 3d1c931ed..a1105a0fd 100644
--- a/NitroxPatcher/Patches/Dynamic/Poop_Perform_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Poop_Perform_Patch.cs
@@ -5,7 +5,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/PrecursorDoorway_ToggleDoor_Patch.cs b/NitroxPatcher/Patches/Dynamic/PrecursorDoorway_ToggleDoor_Patch.cs
index 8f5afadb4..fad2a92c7 100644
--- a/NitroxPatcher/Patches/Dynamic/PrecursorDoorway_ToggleDoor_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrecursorDoorway_ToggleDoor_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PrecursorKeyTerminal_DestroyKey_Patch.cs b/NitroxPatcher/Patches/Dynamic/PrecursorKeyTerminal_DestroyKey_Patch.cs
index c5d37f89d..36080d72d 100644
--- a/NitroxPatcher/Patches/Dynamic/PrecursorKeyTerminal_DestroyKey_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrecursorKeyTerminal_DestroyKey_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PrecursorKeyTerminal_OnHandClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/PrecursorKeyTerminal_OnHandClick_Patch.cs
index ee225c75c..341d7e492 100644
--- a/NitroxPatcher/Patches/Dynamic/PrecursorKeyTerminal_OnHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrecursorKeyTerminal_OnHandClick_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PrecursorTeleporterActivationTerminal_OnPlayerCinematicModeEnd_Patch.cs b/NitroxPatcher/Patches/Dynamic/PrecursorTeleporterActivationTerminal_OnPlayerCinematicModeEnd_Patch.cs
index 0e1754955..e8bdb1624 100644
--- a/NitroxPatcher/Patches/Dynamic/PrecursorTeleporterActivationTerminal_OnPlayerCinematicModeEnd_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrecursorTeleporterActivationTerminal_OnPlayerCinematicModeEnd_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PrecursorTeleporterActivationTerminal_OnProxyHandClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/PrecursorTeleporterActivationTerminal_OnProxyHandClick_Patch.cs
index d75eeb70e..2966060bd 100644
--- a/NitroxPatcher/Patches/Dynamic/PrecursorTeleporterActivationTerminal_OnProxyHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrecursorTeleporterActivationTerminal_OnProxyHandClick_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PrecursorTeleporter_OnActivateTeleporter_Patch.cs b/NitroxPatcher/Patches/Dynamic/PrecursorTeleporter_OnActivateTeleporter_Patch.cs
index e8d975ebe..de72e50d6 100644
--- a/NitroxPatcher/Patches/Dynamic/PrecursorTeleporter_OnActivateTeleporter_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrecursorTeleporter_OnActivateTeleporter_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PrefabPlaceholdersGroup_Spawn_Patch.cs b/NitroxPatcher/Patches/Dynamic/PrefabPlaceholdersGroup_Spawn_Patch.cs
index 9754aebb2..51dec7a7d 100644
--- a/NitroxPatcher/Patches/Dynamic/PrefabPlaceholdersGroup_Spawn_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrefabPlaceholdersGroup_Spawn_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PropulsionCannon_GrabObject_Patch.cs b/NitroxPatcher/Patches/Dynamic/PropulsionCannon_GrabObject_Patch.cs
index 7e47bf06d..30608969c 100644
--- a/NitroxPatcher/Patches/Dynamic/PropulsionCannon_GrabObject_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PropulsionCannon_GrabObject_Patch.cs
@@ -5,7 +5,6 @@
using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.Gui.HUD;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PropulsionCannon_ReleaseGrabbedObject_Patch.cs b/NitroxPatcher/Patches/Dynamic/PropulsionCannon_ReleaseGrabbedObject_Patch.cs
index 02420ce40..150c080a4 100644
--- a/NitroxPatcher/Patches/Dynamic/PropulsionCannon_ReleaseGrabbedObject_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PropulsionCannon_ReleaseGrabbedObject_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/QuickSlots_Bind_Patch.cs b/NitroxPatcher/Patches/Dynamic/QuickSlots_Bind_Patch.cs
index f75678a49..466a5e2ea 100644
--- a/NitroxPatcher/Patches/Dynamic/QuickSlots_Bind_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/QuickSlots_Bind_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/QuickSlots_DeselectInternal_Patch.cs b/NitroxPatcher/Patches/Dynamic/QuickSlots_DeselectInternal_Patch.cs
index 5fcfe034a..1800bc35a 100644
--- a/NitroxPatcher/Patches/Dynamic/QuickSlots_DeselectInternal_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/QuickSlots_DeselectInternal_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/QuickSlots_SelectInternal_Patch.cs b/NitroxPatcher/Patches/Dynamic/QuickSlots_SelectInternal_Patch.cs
index 6eb7fe4e4..e499fa5dc 100644
--- a/NitroxPatcher/Patches/Dynamic/QuickSlots_SelectInternal_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/QuickSlots_SelectInternal_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxPatcher/Patches/Dynamic/Radio_OnRepair_Patch.cs b/NitroxPatcher/Patches/Dynamic/Radio_OnRepair_Patch.cs
index eb0a0fbc8..17c315d67 100644
--- a/NitroxPatcher/Patches/Dynamic/Radio_OnRepair_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Radio_OnRepair_Patch.cs
@@ -1,10 +1,8 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Spawning.Metadata;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Radio_PlayRadioMessage_Patch.cs b/NitroxPatcher/Patches/Dynamic/Radio_PlayRadioMessage_Patch.cs
index 099ac0994..0dcbe9a4b 100644
--- a/NitroxPatcher/Patches/Dynamic/Radio_PlayRadioMessage_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Radio_PlayRadioMessage_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/RangedAttackLastTarget_StartCasting_Patch.cs b/NitroxPatcher/Patches/Dynamic/RangedAttackLastTarget_StartCasting_Patch.cs
index 62f60143e..a63c60e9d 100644
--- a/NitroxPatcher/Patches/Dynamic/RangedAttackLastTarget_StartCasting_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/RangedAttackLastTarget_StartCasting_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/RangedAttackLastTarget_StartCharging_Patch.cs b/NitroxPatcher/Patches/Dynamic/RangedAttackLastTarget_StartCharging_Patch.cs
index 32b0ca617..5ff1fd3b7 100644
--- a/NitroxPatcher/Patches/Dynamic/RangedAttackLastTarget_StartCharging_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/RangedAttackLastTarget_StartCharging_Patch.cs
@@ -1,9 +1,7 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ReaperLeviathan_GrabVehicle_Patch.cs b/NitroxPatcher/Patches/Dynamic/ReaperLeviathan_GrabVehicle_Patch.cs
index 5cf0b9370..dd9bcae84 100644
--- a/NitroxPatcher/Patches/Dynamic/ReaperLeviathan_GrabVehicle_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ReaperLeviathan_GrabVehicle_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours.Vehicles;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ReaperLeviathan_ReleaseVehicle_Patch.cs b/NitroxPatcher/Patches/Dynamic/ReaperLeviathan_ReleaseVehicle_Patch.cs
index a23e26a21..e42fd3908 100644
--- a/NitroxPatcher/Patches/Dynamic/ReaperLeviathan_ReleaseVehicle_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ReaperLeviathan_ReleaseVehicle_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours.Vehicles;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ReefbackLife_OnEnable_Patch.cs b/NitroxPatcher/Patches/Dynamic/ReefbackLife_OnEnable_Patch.cs
index f609b61c0..5aa69ea90 100644
--- a/NitroxPatcher/Patches/Dynamic/ReefbackLife_OnEnable_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ReefbackLife_OnEnable_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Respawn_Start_Patch.cs b/NitroxPatcher/Patches/Dynamic/Respawn_Start_Patch.cs
index 46c498ac8..2e5fe0ab5 100644
--- a/NitroxPatcher/Patches/Dynamic/Respawn_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Respawn_Start_Patch.cs
@@ -5,7 +5,6 @@
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/RocketConstructor_StartRocketConstruction_Patch.cs b/NitroxPatcher/Patches/Dynamic/RocketConstructor_StartRocketConstruction_Patch.cs
index ad8398c68..a738908e6 100644
--- a/NitroxPatcher/Patches/Dynamic/RocketConstructor_StartRocketConstruction_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/RocketConstructor_StartRocketConstruction_Patch.cs
@@ -5,7 +5,6 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/RocketPreflightCheckManager_CompletePreflightCheck_Patch.cs b/NitroxPatcher/Patches/Dynamic/RocketPreflightCheckManager_CompletePreflightCheck_Patch.cs
index dc2f6ef0d..bdd305c4f 100644
--- a/NitroxPatcher/Patches/Dynamic/RocketPreflightCheckManager_CompletePreflightCheck_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/RocketPreflightCheckManager_CompletePreflightCheck_Patch.cs
@@ -1,8 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Rocket_CallElevator_Patch.cs b/NitroxPatcher/Patches/Dynamic/Rocket_CallElevator_Patch.cs
index be2702428..f8854d1bd 100644
--- a/NitroxPatcher/Patches/Dynamic/Rocket_CallElevator_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Rocket_CallElevator_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Rocket_ElevatorControlButtonActivate_Patch.cs b/NitroxPatcher/Patches/Dynamic/Rocket_ElevatorControlButtonActivate_Patch.cs
index aedac523e..217614f75 100644
--- a/NitroxPatcher/Patches/Dynamic/Rocket_ElevatorControlButtonActivate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Rocket_ElevatorControlButtonActivate_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using static Rocket;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaDragonAggressiveTowardsSharks_GetAggressionTarget_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaDragonAggressiveTowardsSharks_GetAggressionTarget_Patch.cs
index db37d2df2..8b1eaaa0e 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaDragonAggressiveTowardsSharks_GetAggressionTarget_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaDragonAggressiveTowardsSharks_GetAggressionTarget_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaDragonAggressiveTowardsSharks_OnMeleeAttack_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaDragonAggressiveTowardsSharks_OnMeleeAttack_Patch.cs
index cd31120d4..49743eefa 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaDragonAggressiveTowardsSharks_OnMeleeAttack_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaDragonAggressiveTowardsSharks_OnMeleeAttack_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic.PlayerLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnThrowExosuit_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnThrowExosuit_Patch.cs
index 449b33148..9e504fae6 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnThrowExosuit_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnThrowExosuit_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchFront_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchFront_Patch.cs
index b712731c3..5c15560d2 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchFront_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchFront_Patch.cs
@@ -6,7 +6,6 @@
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchLeft_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchLeft_Patch.cs
index 11ab86871..1eeceeb5c 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchLeft_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchLeft_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchRight_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchRight_Patch.cs
index a6815e2d7..92dfaa537 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchRight_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchRight_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_SwatAttack_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_SwatAttack_Patch.cs
index 8bb32a150..11587b237 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_SwatAttack_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_SwatAttack_Patch.cs
@@ -4,7 +4,6 @@
using HarmonyLib;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaDragon_GrabExosuit_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaDragon_GrabExosuit_Patch.cs
index e04022c63..56216c781 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaDragon_GrabExosuit_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaDragon_GrabExosuit_Patch.cs
@@ -3,7 +3,6 @@
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours.Vehicles;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaDragon_ReleaseExosuit_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaDragon_ReleaseExosuit_Patch.cs
index 6da6949d6..7957b8b71 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaDragon_ReleaseExosuit_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaDragon_ReleaseExosuit_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours.Vehicles;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaMoth_FixedUpdate_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaMoth_FixedUpdate_Patch.cs
index c28b9738d..5eda19797 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaMoth_FixedUpdate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaMoth_FixedUpdate_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaMoth_OnUpgradeModuleUse_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaMoth_OnUpgradeModuleUse_Patch.cs
index 93a81ce54..4199e08e6 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaMoth_OnUpgradeModuleUse_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaMoth_OnUpgradeModuleUse_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaMoth_onLightsToggled_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaMoth_onLightsToggled_Patch.cs
index 383b19eec..b59cf146f 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaMoth_onLightsToggled_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaMoth_onLightsToggled_Patch.cs
@@ -3,7 +3,6 @@
using NitroxClient.GameLogic.Spawning.Metadata.Extractor;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaTreaderSounds_SpawnChunks_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaTreaderSounds_SpawnChunks_Patch.cs
index ac766c63a..83aeec0c8 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaTreaderSounds_SpawnChunks_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaTreaderSounds_SpawnChunks_Patch.cs
@@ -6,7 +6,6 @@
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaTreader_SetNextPathPoint_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaTreader_SetNextPathPoint_Patch.cs
index fa1314497..4eecc5d08 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaTreader_SetNextPathPoint_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaTreader_SetNextPathPoint_Patch.cs
@@ -3,7 +3,6 @@
using NitroxClient.GameLogic.Spawning.Metadata.Extractor;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdatePath_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdatePath_Patch.cs
index bf27bbfd8..5b8c7fdae 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdatePath_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdatePath_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdateTurning_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdateTurning_Patch.cs
index 98d6fd3f6..f3a12eabc 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdateTurning_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdateTurning_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaTreader_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaTreader_Update_Patch.cs
index 32fa5b3c1..fe3466015 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaTreader_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaTreader_Update_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Seaglide_onLightsToggled_Patch.cs b/NitroxPatcher/Patches/Dynamic/Seaglide_onLightsToggled_Patch.cs
index 3b92e3495..9f2a39046 100644
--- a/NitroxPatcher/Patches/Dynamic/Seaglide_onLightsToggled_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Seaglide_onLightsToggled_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Sealed_Weld_Patch.cs b/NitroxPatcher/Patches/Dynamic/Sealed_Weld_Patch.cs
index 4a3dd15a7..6d0e9dfdf 100644
--- a/NitroxPatcher/Patches/Dynamic/Sealed_Weld_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Sealed_Weld_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeamothTorpedoWhirlpool_Register_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeamothTorpedoWhirlpool_Register_Patch.cs
index d235fb920..69ccaab43 100644
--- a/NitroxPatcher/Patches/Dynamic/SeamothTorpedoWhirlpool_Register_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeamothTorpedoWhirlpool_Register_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic.PlayerLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Explode_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Explode_Patch.cs
index 2ef9d5615..b59c5907b 100644
--- a/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Explode_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Explode_Patch.cs
@@ -3,7 +3,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.Unity;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_RepeatingTargeting_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_RepeatingTargeting_Patch.cs
index 7addc1aac..8b43b7ff3 100644
--- a/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_RepeatingTargeting_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_RepeatingTargeting_Patch.cs
@@ -3,7 +3,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.Unity;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Update_Patch.cs
index dd456c69f..cdfc17fbb 100644
--- a/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Update_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SpawnConsoleCommand_OnConsoleCommand_Patch.cs b/NitroxPatcher/Patches/Dynamic/SpawnConsoleCommand_OnConsoleCommand_Patch.cs
index f88c9d451..68f58d77c 100644
--- a/NitroxPatcher/Patches/Dynamic/SpawnConsoleCommand_OnConsoleCommand_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SpawnConsoleCommand_OnConsoleCommand_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SpawnConsoleCommand_SpawnAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/SpawnConsoleCommand_SpawnAsync_Patch.cs
index 750de7a5b..2a3fafb9f 100644
--- a/NitroxPatcher/Patches/Dynamic/SpawnConsoleCommand_SpawnAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SpawnConsoleCommand_SpawnAsync_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SpawnEscapePodSupplies_OnNewBorn_Patch.cs b/NitroxPatcher/Patches/Dynamic/SpawnEscapePodSupplies_OnNewBorn_Patch.cs
index 22251aa53..72753295b 100644
--- a/NitroxPatcher/Patches/Dynamic/SpawnEscapePodSupplies_OnNewBorn_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SpawnEscapePodSupplies_OnNewBorn_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SpawnOnKill_OnKill_Patch.cs b/NitroxPatcher/Patches/Dynamic/SpawnOnKill_OnKill_Patch.cs
index f07620623..4a98c4640 100644
--- a/NitroxPatcher/Patches/Dynamic/SpawnOnKill_OnKill_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SpawnOnKill_OnKill_Patch.cs
@@ -3,7 +3,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxPatcher.PatternMatching;
using System.Collections.Generic;
diff --git a/NitroxPatcher/Patches/Dynamic/SpeedConsoleCommand_OnConsoleCommand_speed_Patch.cs b/NitroxPatcher/Patches/Dynamic/SpeedConsoleCommand_OnConsoleCommand_speed_Patch.cs
index fa4b1ac73..f61a0f3e6 100644
--- a/NitroxPatcher/Patches/Dynamic/SpeedConsoleCommand_OnConsoleCommand_speed_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SpeedConsoleCommand_OnConsoleCommand_speed_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SplineFollowing_GoTo_Patch.cs b/NitroxPatcher/Patches/Dynamic/SplineFollowing_GoTo_Patch.cs
index 97bc2553c..6988425fd 100644
--- a/NitroxPatcher/Patches/Dynamic/SplineFollowing_GoTo_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SplineFollowing_GoTo_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Stalker_CheckLoseTooth_Patch.cs b/NitroxPatcher/Patches/Dynamic/Stalker_CheckLoseTooth_Patch.cs
index 280fa1884..b35efc9ec 100644
--- a/NitroxPatcher/Patches/Dynamic/Stalker_CheckLoseTooth_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Stalker_CheckLoseTooth_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/StarshipDoor_LockDoor_Patch.cs b/NitroxPatcher/Patches/Dynamic/StarshipDoor_LockDoor_Patch.cs
index 9665bf9a8..099e9e3b6 100644
--- a/NitroxPatcher/Patches/Dynamic/StarshipDoor_LockDoor_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StarshipDoor_LockDoor_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/StarshipDoor_OnDoorToggle_Patch.cs b/NitroxPatcher/Patches/Dynamic/StarshipDoor_OnDoorToggle_Patch.cs
index bb21c533d..b9ec3824c 100644
--- a/NitroxPatcher/Patches/Dynamic/StarshipDoor_OnDoorToggle_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StarshipDoor_OnDoorToggle_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/StarshipDoor_UnlockDoor_Patch.cs b/NitroxPatcher/Patches/Dynamic/StarshipDoor_UnlockDoor_Patch.cs
index 51f759e71..181d7ef29 100644
--- a/NitroxPatcher/Patches/Dynamic/StarshipDoor_UnlockDoor_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StarshipDoor_UnlockDoor_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/StasisSphere_Freeze_Patch.cs b/NitroxPatcher/Patches/Dynamic/StasisSphere_Freeze_Patch.cs
index b4162a5a2..b8a381fe6 100644
--- a/NitroxPatcher/Patches/Dynamic/StasisSphere_Freeze_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StasisSphere_Freeze_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic.PlayerLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/StasisSphere_LateUpdate_Patch.cs b/NitroxPatcher/Patches/Dynamic/StasisSphere_LateUpdate_Patch.cs
index 28bf9833d..18695f33e 100644
--- a/NitroxPatcher/Patches/Dynamic/StasisSphere_LateUpdate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StasisSphere_LateUpdate_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/StasisSphere_OnHit_Patch.cs b/NitroxPatcher/Patches/Dynamic/StasisSphere_OnHit_Patch.cs
index 8bf311070..f1e5172b9 100644
--- a/NitroxPatcher/Patches/Dynamic/StasisSphere_OnHit_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StasisSphere_OnHit_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures.Unity;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
diff --git a/NitroxPatcher/Patches/Dynamic/StasisSphere_Shoot_Patch.cs b/NitroxPatcher/Patches/Dynamic/StasisSphere_Shoot_Patch.cs
index 20b978188..d43057cc9 100644
--- a/NitroxPatcher/Patches/Dynamic/StasisSphere_Shoot_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StasisSphere_Shoot_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/StoryGoalCustomEventHandler_OnConsoleCommand_Patch.cs b/NitroxPatcher/Patches/Dynamic/StoryGoalCustomEventHandler_OnConsoleCommand_Patch.cs
index b7d3f54c2..9b699a695 100644
--- a/NitroxPatcher/Patches/Dynamic/StoryGoalCustomEventHandler_OnConsoleCommand_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StoryGoalCustomEventHandler_OnConsoleCommand_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/StoryGoalScheduler_Schedule_Patch.cs b/NitroxPatcher/Patches/Dynamic/StoryGoalScheduler_Schedule_Patch.cs
index 8327ad324..faf2bfc92 100644
--- a/NitroxPatcher/Patches/Dynamic/StoryGoalScheduler_Schedule_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StoryGoalScheduler_Schedule_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using Story;
diff --git a/NitroxPatcher/Patches/Dynamic/StoryGoal_Execute_Patch.cs b/NitroxPatcher/Patches/Dynamic/StoryGoal_Execute_Patch.cs
index 86cc6b834..d57c46cb3 100644
--- a/NitroxPatcher/Patches/Dynamic/StoryGoal_Execute_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StoryGoal_Execute_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
using Story;
diff --git a/NitroxPatcher/Patches/Dynamic/SubConsoleCommand_OnConsoleCommand_sub_Patch.cs b/NitroxPatcher/Patches/Dynamic/SubConsoleCommand_OnConsoleCommand_sub_Patch.cs
index 1bf46e567..44ac65510 100644
--- a/NitroxPatcher/Patches/Dynamic/SubConsoleCommand_OnConsoleCommand_sub_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubConsoleCommand_OnConsoleCommand_sub_Patch.cs
@@ -4,7 +4,6 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SubControl_Start_Patch.cs b/NitroxPatcher/Patches/Dynamic/SubControl_Start_Patch.cs
index a4f621056..11792dd78 100644
--- a/NitroxPatcher/Patches/Dynamic/SubControl_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubControl_Start_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours.Cyclops;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SubFire_CreateFire_Patch.cs b/NitroxPatcher/Patches/Dynamic/SubFire_CreateFire_Patch.cs
index 28c52464f..0102192d4 100644
--- a/NitroxPatcher/Patches/Dynamic/SubFire_CreateFire_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubFire_CreateFire_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SubNameInput_Awake_Patch.cs b/NitroxPatcher/Patches/Dynamic/SubNameInput_Awake_Patch.cs
index a378fd325..434de8751 100644
--- a/NitroxPatcher/Patches/Dynamic/SubNameInput_Awake_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubNameInput_Awake_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SubNameInput_OnColorChange_Patch.cs b/NitroxPatcher/Patches/Dynamic/SubNameInput_OnColorChange_Patch.cs
index d0225f569..cd85da05f 100644
--- a/NitroxPatcher/Patches/Dynamic/SubNameInput_OnColorChange_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubNameInput_OnColorChange_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SubNameInput_OnNameChange_Patch.cs b/NitroxPatcher/Patches/Dynamic/SubNameInput_OnNameChange_Patch.cs
index ee86f771d..44f2ad074 100644
--- a/NitroxPatcher/Patches/Dynamic/SubNameInput_OnNameChange_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubNameInput_OnNameChange_Patch.cs
@@ -1,8 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxClient.Unity.Helper;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SubNameInput_SetTarget_Patch.cs b/NitroxPatcher/Patches/Dynamic/SubNameInput_SetTarget_Patch.cs
index 194215cf8..9c4be6e89 100644
--- a/NitroxPatcher/Patches/Dynamic/SubNameInput_SetTarget_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubNameInput_SetTarget_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SubRoot_OnPlayerEntered_Patch.cs b/NitroxPatcher/Patches/Dynamic/SubRoot_OnPlayerEntered_Patch.cs
index 3221696ef..2285902b3 100644
--- a/NitroxPatcher/Patches/Dynamic/SubRoot_OnPlayerEntered_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubRoot_OnPlayerEntered_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours.Cyclops;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SubRoot_OnPlayerExited_Patch.cs b/NitroxPatcher/Patches/Dynamic/SubRoot_OnPlayerExited_Patch.cs
index 846dcde5f..01f2a7e4f 100644
--- a/NitroxPatcher/Patches/Dynamic/SubRoot_OnPlayerExited_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubRoot_OnPlayerExited_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours.Cyclops;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SubRoot_OnTakeDamage_Patch.cs b/NitroxPatcher/Patches/Dynamic/SubRoot_OnTakeDamage_Patch.cs
index 90e08fe06..c65a765d3 100644
--- a/NitroxPatcher/Patches/Dynamic/SubRoot_OnTakeDamage_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubRoot_OnTakeDamage_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.Communication.Packets.Processors;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SubRoot_SetCyclopsUpgrades_Patch.cs b/NitroxPatcher/Patches/Dynamic/SubRoot_SetCyclopsUpgrades_Patch.cs
index dd9896e90..d4302c0d8 100644
--- a/NitroxPatcher/Patches/Dynamic/SubRoot_SetCyclopsUpgrades_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubRoot_SetCyclopsUpgrades_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Survival_Eat_Patch.cs b/NitroxPatcher/Patches/Dynamic/Survival_Eat_Patch.cs
index 018adb959..9c37ab444 100644
--- a/NitroxPatcher/Patches/Dynamic/Survival_Eat_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Survival_Eat_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/Survival_Use_Patch.cs b/NitroxPatcher/Patches/Dynamic/Survival_Use_Patch.cs
index fd943fb96..e9f830cb4 100644
--- a/NitroxPatcher/Patches/Dynamic/Survival_Use_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Survival_Use_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/SwimBehaviour_ManagedUpdate_Patch.cs b/NitroxPatcher/Patches/Dynamic/SwimBehaviour_ManagedUpdate_Patch.cs
index 719e84722..b859be2c1 100644
--- a/NitroxPatcher/Patches/Dynamic/SwimBehaviour_ManagedUpdate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SwimBehaviour_ManagedUpdate_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/TimeCapsule_Open_Patch.cs b/NitroxPatcher/Patches/Dynamic/TimeCapsule_Open_Patch.cs
index 7571ad68d..0dca62737 100644
--- a/NitroxPatcher/Patches/Dynamic/TimeCapsule_Open_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/TimeCapsule_Open_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ToggleLights_SetLightsActive_Patch.cs b/NitroxPatcher/Patches/Dynamic/ToggleLights_SetLightsActive_Patch.cs
index 095b64f76..bde0f3ad9 100644
--- a/NitroxPatcher/Patches/Dynamic/ToggleLights_SetLightsActive_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ToggleLights_SetLightsActive_Patch.cs
@@ -4,7 +4,6 @@
using HarmonyLib;
using NitroxClient.GameLogic.FMOD;
using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
using NitroxPatcher.PatternMatching;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/Trashcan_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/Trashcan_Update_Patch.cs
index 729307d53..10d489995 100644
--- a/NitroxPatcher/Patches/Dynamic/Trashcan_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Trashcan_Update_Patch.cs
@@ -5,7 +5,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/Utils_GetEntityRoot_Patch.cs b/NitroxPatcher/Patches/Dynamic/Utils_GetEntityRoot_Patch.cs
index ea17750da..4148d5bf9 100644
--- a/NitroxPatcher/Patches/Dynamic/Utils_GetEntityRoot_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Utils_GetEntityRoot_Patch.cs
@@ -1,7 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic.PlayerLogic;
-using NitroxClient.Unity.Helper;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Utils_PlayFMODAsset_Patch.cs b/NitroxPatcher/Patches/Dynamic/Utils_PlayFMODAsset_Patch.cs
index cddd0d5da..e6e9371a3 100644
--- a/NitroxPatcher/Patches/Dynamic/Utils_PlayFMODAsset_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Utils_PlayFMODAsset_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic.FMOD;
using NitroxModel_Subnautica.DataStructures;
using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnTriggerEnter.cs b/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnTriggerEnter.cs
index 9ff5d1eb2..772422b6f 100644
--- a/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnTriggerEnter.cs
+++ b/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnTriggerEnter.cs
@@ -3,7 +3,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnUndockingComplete_Patch.cs b/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnUndockingComplete_Patch.cs
index e8824fd7e..436d7cc0b 100644
--- a/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnUndockingComplete_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnUndockingComplete_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Vehicle_OnHandClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/Vehicle_OnHandClick_Patch.cs
index fdcd4b99d..12776e6b9 100644
--- a/NitroxPatcher/Patches/Dynamic/Vehicle_OnHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Vehicle_OnHandClick_Patch.cs
@@ -3,7 +3,6 @@
using NitroxClient.GameLogic.Simulation;
using NitroxClient.MonoBehaviours.Gui.HUD;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Vehicle_OnKill_Patch.cs b/NitroxPatcher/Patches/Dynamic/Vehicle_OnKill_Patch.cs
index 5f86bd976..e9ca82e77 100644
--- a/NitroxPatcher/Patches/Dynamic/Vehicle_OnKill_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Vehicle_OnKill_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Vehicle_OnPilotModeBegin_Patch.cs b/NitroxPatcher/Patches/Dynamic/Vehicle_OnPilotModeBegin_Patch.cs
index aee15d824..512653c4c 100644
--- a/NitroxPatcher/Patches/Dynamic/Vehicle_OnPilotModeBegin_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Vehicle_OnPilotModeBegin_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Vehicle_OnPilotModeEnd_Patch.cs b/NitroxPatcher/Patches/Dynamic/Vehicle_OnPilotModeEnd_Patch.cs
index 0d4cb6540..1cc17ac34 100644
--- a/NitroxPatcher/Patches/Dynamic/Vehicle_OnPilotModeEnd_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Vehicle_OnPilotModeEnd_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Vehicle_TorpedoShot_Patch.cs b/NitroxPatcher/Patches/Dynamic/Vehicle_TorpedoShot_Patch.cs
index d161abdf2..e75661d97 100644
--- a/NitroxPatcher/Patches/Dynamic/Vehicle_TorpedoShot_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Vehicle_TorpedoShot_Patch.cs
@@ -6,7 +6,6 @@
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.Unity;
-using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/WaterParkCreature_BornAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/WaterParkCreature_BornAsync_Patch.cs
index df2c34480..0ab8fcb9b 100644
--- a/NitroxPatcher/Patches/Dynamic/WaterParkCreature_BornAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/WaterParkCreature_BornAsync_Patch.cs
@@ -5,7 +5,6 @@
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/WaterParkCreature_ManagedUpdate_Patch.cs b/NitroxPatcher/Patches/Dynamic/WaterParkCreature_ManagedUpdate_Patch.cs
index c035da606..bcb55c372 100644
--- a/NitroxPatcher/Patches/Dynamic/WaterParkCreature_ManagedUpdate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/WaterParkCreature_ManagedUpdate_Patch.cs
@@ -5,7 +5,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/WaterParkCreature_ResetBreedTime_Patch.cs b/NitroxPatcher/Patches/Dynamic/WaterParkCreature_ResetBreedTime_Patch.cs
index 9c43cb54b..64b0cc02b 100644
--- a/NitroxPatcher/Patches/Dynamic/WaterParkCreature_ResetBreedTime_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/WaterParkCreature_ResetBreedTime_Patch.cs
@@ -4,7 +4,6 @@
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/WaterParkItem_ManagedUpdate_Patch.cs b/NitroxPatcher/Patches/Dynamic/WaterParkItem_ManagedUpdate_Patch.cs
index 74a564939..0fe00005e 100644
--- a/NitroxPatcher/Patches/Dynamic/WaterParkItem_ManagedUpdate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/WaterParkItem_ManagedUpdate_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/WaterPark_Split_Patch.cs b/NitroxPatcher/Patches/Dynamic/WaterPark_Split_Patch.cs
index 41f5f9d97..2fe3e4b9d 100644
--- a/NitroxPatcher/Patches/Dynamic/WaterPark_Split_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/WaterPark_Split_Patch.cs
@@ -4,7 +4,6 @@
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using static NitroxClient.GameLogic.Bases.BuildingHandler;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/WaterPark_TransferValue_Patch.cs b/NitroxPatcher/Patches/Dynamic/WaterPark_TransferValue_Patch.cs
index c3ba00978..1583f2ab9 100644
--- a/NitroxPatcher/Patches/Dynamic/WaterPark_TransferValue_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/WaterPark_TransferValue_Patch.cs
@@ -2,10 +2,8 @@
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.Spawning.Bases;
using NitroxClient.GameLogic.Spawning.Metadata;
-using NitroxClient.Helpers;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
using static NitroxClient.GameLogic.Bases.BuildingHandler;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/WeldableWallPanelGeneric_UnlockDoor_Patch.cs b/NitroxPatcher/Patches/Dynamic/WeldableWallPanelGeneric_UnlockDoor_Patch.cs
index 6f3314a33..7c92ac28f 100644
--- a/NitroxPatcher/Patches/Dynamic/WeldableWallPanelGeneric_UnlockDoor_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/WeldableWallPanelGeneric_UnlockDoor_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Welder_Weld_Patch.cs b/NitroxPatcher/Patches/Dynamic/Welder_Weld_Patch.cs
index f0055bd7d..81ae10bba 100644
--- a/NitroxPatcher/Patches/Dynamic/Welder_Weld_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Welder_Weld_Patch.cs
@@ -6,7 +6,6 @@
using NitroxClient.GameLogic;
using NitroxModel.Core;
using NitroxModel.DataStructures;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/uGUI_ColorPicker_Awake_Patch.cs b/NitroxPatcher/Patches/Dynamic/uGUI_ColorPicker_Awake_Patch.cs
index 68c75adfa..f8959cb15 100644
--- a/NitroxPatcher/Patches/Dynamic/uGUI_ColorPicker_Awake_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/uGUI_ColorPicker_Awake_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
using NitroxModel.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/uGUI_OnApplicationQuit_Patch.cs b/NitroxPatcher/Patches/Dynamic/uGUI_OnApplicationQuit_Patch.cs
index 8c47dc795..4fb2044b3 100644
--- a/NitroxPatcher/Patches/Dynamic/uGUI_OnApplicationQuit_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/uGUI_OnApplicationQuit_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/uGUI_PDA_CacheToolbarTooltips_Patch.cs b/NitroxPatcher/Patches/Dynamic/uGUI_PDA_CacheToolbarTooltips_Patch.cs
index 81c80da2f..acae969bd 100644
--- a/NitroxPatcher/Patches/Dynamic/uGUI_PDA_CacheToolbarTooltips_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/uGUI_PDA_CacheToolbarTooltips_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using System.Text;
using NitroxClient.GameLogic.HUD;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/uGUI_PDA_Initialize_Patch.cs b/NitroxPatcher/Patches/Dynamic/uGUI_PDA_Initialize_Patch.cs
index 1b8cb3a85..533a5a85c 100644
--- a/NitroxPatcher/Patches/Dynamic/uGUI_PDA_Initialize_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/uGUI_PDA_Initialize_Patch.cs
@@ -5,7 +5,6 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic.HUD;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/uGUI_PDA_SetTabs_Patch.cs b/NitroxPatcher/Patches/Dynamic/uGUI_PDA_SetTabs_Patch.cs
index 1ddbc5fcb..8cf9a0dd1 100644
--- a/NitroxPatcher/Patches/Dynamic/uGUI_PDA_SetTabs_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/uGUI_PDA_SetTabs_Patch.cs
@@ -5,7 +5,6 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic.HUD;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/uGUI_Pings_IsVisibleNow_Patch.cs b/NitroxPatcher/Patches/Dynamic/uGUI_Pings_IsVisibleNow_Patch.cs
index 9c4882e69..6d53e8ab0 100644
--- a/NitroxPatcher/Patches/Dynamic/uGUI_Pings_IsVisibleNow_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/uGUI_Pings_IsVisibleNow_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic.HUD;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_HandleInput_Patch.cs b/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_HandleInput_Patch.cs
index 7e9bb6d2b..997c062a0 100644
--- a/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_HandleInput_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_HandleInput_Patch.cs
@@ -5,7 +5,6 @@
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_IntroSequence_Patch.cs b/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_IntroSequence_Patch.cs
index f54965b7c..6ab189393 100644
--- a/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_IntroSequence_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_IntroSequence_Patch.cs
@@ -2,13 +2,10 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
-using NitroxClient.Extensions;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
-using NitroxClient.Helpers;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/uGUI_SignInput_OnDeselect_Patch.cs b/NitroxPatcher/Patches/Dynamic/uGUI_SignInput_OnDeselect_Patch.cs
index 9b2f23fbb..013b3127f 100644
--- a/NitroxPatcher/Patches/Dynamic/uGUI_SignInput_OnDeselect_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/uGUI_SignInput_OnDeselect_Patch.cs
@@ -2,7 +2,6 @@
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/uSkyManager_SetVaryingMaterialProperties_Patch.cs b/NitroxPatcher/Patches/Dynamic/uSkyManager_SetVaryingMaterialProperties_Patch.cs
index 671316f03..028a18c26 100644
--- a/NitroxPatcher/Patches/Dynamic/uSkyManager_SetVaryingMaterialProperties_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/uSkyManager_SetVaryingMaterialProperties_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
using NitroxPatcher.PatternMatching;
using UnityEngine;
using static System.Reflection.Emit.OpCodes;
diff --git a/NitroxPatcher/Patches/NitroxPatch.cs b/NitroxPatcher/Patches/NitroxPatch.cs
index d5f9c8db2..e52c93e77 100644
--- a/NitroxPatcher/Patches/NitroxPatch.cs
+++ b/NitroxPatcher/Patches/NitroxPatch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using HarmonyLib;
using NitroxModel.Core;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches;
diff --git a/NitroxPatcher/Patches/Persistent/Application_runInBackground_Patch.cs b/NitroxPatcher/Patches/Persistent/Application_runInBackground_Patch.cs
index c94b8b6eb..ebd681b07 100644
--- a/NitroxPatcher/Patches/Persistent/Application_runInBackground_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/Application_runInBackground_Patch.cs
@@ -1,6 +1,5 @@
using System.Diagnostics;
using System.Reflection;
-using NitroxModel.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Persistent;
diff --git a/NitroxPatcher/Patches/Persistent/CellManager_GetPrefabForSlot_Patch.cs b/NitroxPatcher/Patches/Persistent/CellManager_GetPrefabForSlot_Patch.cs
index 3144f0efa..e27d20d15 100644
--- a/NitroxPatcher/Patches/Persistent/CellManager_GetPrefabForSlot_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/CellManager_GetPrefabForSlot_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Persistent
{
diff --git a/NitroxPatcher/Patches/Persistent/CellManager_TryLoadCacheBatchCells_Patch.cs b/NitroxPatcher/Patches/Persistent/CellManager_TryLoadCacheBatchCells_Patch.cs
index 1b0592466..fecaf87e6 100644
--- a/NitroxPatcher/Patches/Persistent/CellManager_TryLoadCacheBatchCells_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/CellManager_TryLoadCacheBatchCells_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Persistent
{
diff --git a/NitroxPatcher/Patches/Persistent/Enum_GetValues_Patch.cs b/NitroxPatcher/Patches/Persistent/Enum_GetValues_Patch.cs
index e0639610b..d9faae420 100644
--- a/NitroxPatcher/Patches/Persistent/Enum_GetValues_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/Enum_GetValues_Patch.cs
@@ -2,7 +2,6 @@
using System.Linq;
using System.Reflection;
using NitroxClient.MonoBehaviours.Gui.Input;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Persistent;
diff --git a/NitroxPatcher/Patches/Persistent/EscapePodFirstUseCinematicsController_OnSceneObjectsLoaded_Patch.cs b/NitroxPatcher/Patches/Persistent/EscapePodFirstUseCinematicsController_OnSceneObjectsLoaded_Patch.cs
index 011c44342..f98ecc0ac 100644
--- a/NitroxPatcher/Patches/Persistent/EscapePodFirstUseCinematicsController_OnSceneObjectsLoaded_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/EscapePodFirstUseCinematicsController_OnSceneObjectsLoaded_Patch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Persistent;
diff --git a/NitroxPatcher/Patches/Persistent/GameAnalytics_Patch.cs b/NitroxPatcher/Patches/Persistent/GameAnalytics_Patch.cs
index cc015f391..df8936ce4 100644
--- a/NitroxPatcher/Patches/Persistent/GameAnalytics_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/GameAnalytics_Patch.cs
@@ -1,7 +1,6 @@
using System;
using System.Reflection;
using HarmonyLib;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Persistent;
diff --git a/NitroxPatcher/Patches/Persistent/GameInputSystem_Initialize_Patch.cs b/NitroxPatcher/Patches/Persistent/GameInputSystem_Initialize_Patch.cs
index 9a712b186..20f48db33 100644
--- a/NitroxPatcher/Patches/Persistent/GameInputSystem_Initialize_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/GameInputSystem_Initialize_Patch.cs
@@ -4,7 +4,6 @@
using HarmonyLib;
using NitroxClient.MonoBehaviours.Gui.Input;
using NitroxClient.MonoBehaviours.Gui.Input.KeyBindings;
-using NitroxModel.Helper;
using UnityEngine.InputSystem;
namespace NitroxPatcher.Patches.Persistent;
diff --git a/NitroxPatcher/Patches/Persistent/Language_LoadLanguageFile_Patch.cs b/NitroxPatcher/Patches/Persistent/Language_LoadLanguageFile_Patch.cs
index 276196b0f..017d0bedb 100644
--- a/NitroxPatcher/Patches/Persistent/Language_LoadLanguageFile_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/Language_LoadLanguageFile_Patch.cs
@@ -6,7 +6,6 @@
using System.Reflection;
using HarmonyLib;
using LitJson;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Persistent;
diff --git a/NitroxPatcher/Patches/Persistent/MainGameController_StartGame_Patch.cs b/NitroxPatcher/Patches/Persistent/MainGameController_StartGame_Patch.cs
index ded80dd34..9c8455a96 100644
--- a/NitroxPatcher/Patches/Persistent/MainGameController_StartGame_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/MainGameController_StartGame_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Persistent;
diff --git a/NitroxPatcher/Patches/Persistent/MainMenuLoadButton_RestoreParentsSettings_Patch.cs b/NitroxPatcher/Patches/Persistent/MainMenuLoadButton_RestoreParentsSettings_Patch.cs
index 97afc1603..02b37e59e 100644
--- a/NitroxPatcher/Patches/Persistent/MainMenuLoadButton_RestoreParentsSettings_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/MainMenuLoadButton_RestoreParentsSettings_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
using UnityEngine.UI;
namespace NitroxPatcher.Patches.Persistent;
diff --git a/NitroxPatcher/Patches/Persistent/MainMenuRightSide_OpenGroup_Patch.cs b/NitroxPatcher/Patches/Persistent/MainMenuRightSide_OpenGroup_Patch.cs
index 85b4c162a..f18066ed2 100644
--- a/NitroxPatcher/Patches/Persistent/MainMenuRightSide_OpenGroup_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/MainMenuRightSide_OpenGroup_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.MonoBehaviours.Gui.MainMenu;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServerJoin;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Persistent;
diff --git a/NitroxPatcher/Patches/Persistent/ProtobufSerializer_Deserialize_Patch.cs b/NitroxPatcher/Patches/Persistent/ProtobufSerializer_Deserialize_Patch.cs
index ab75e1e92..b66c7c61c 100644
--- a/NitroxPatcher/Patches/Persistent/ProtobufSerializer_Deserialize_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/ProtobufSerializer_Deserialize_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection;
using NitroxClient.Helpers;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Persistent
{
diff --git a/NitroxPatcher/Patches/Persistent/ProtobufSerializer_Serialize_Patch.cs b/NitroxPatcher/Patches/Persistent/ProtobufSerializer_Serialize_Patch.cs
index e337e5369..f27ff60b7 100644
--- a/NitroxPatcher/Patches/Persistent/ProtobufSerializer_Serialize_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/ProtobufSerializer_Serialize_Patch.cs
@@ -3,7 +3,6 @@
using System.Reflection;
using NitroxClient.Helpers;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Persistent
{
diff --git a/NitroxPatcher/Patches/Persistent/StartScreen_TryToShowDisclaimer_Patch.cs b/NitroxPatcher/Patches/Persistent/StartScreen_TryToShowDisclaimer_Patch.cs
index 95da149cb..c75e10f18 100644
--- a/NitroxPatcher/Patches/Persistent/StartScreen_TryToShowDisclaimer_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/StartScreen_TryToShowDisclaimer_Patch.cs
@@ -1,6 +1,5 @@
#if DEBUG
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Persistent;
diff --git a/NitroxPatcher/Patches/Persistent/uGUI_FeedbackCollector_IsEnabled_Patch.cs b/NitroxPatcher/Patches/Persistent/uGUI_FeedbackCollector_IsEnabled_Patch.cs
index f03aa3054..c3e818dba 100644
--- a/NitroxPatcher/Patches/Persistent/uGUI_FeedbackCollector_IsEnabled_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/uGUI_FeedbackCollector_IsEnabled_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Persistent
{
diff --git a/NitroxPatcher/Patches/Persistent/uGUI_OptionsPanel_AddAccessibilityTab_Patch.cs b/NitroxPatcher/Patches/Persistent/uGUI_OptionsPanel_AddAccessibilityTab_Patch.cs
index 1e9b2562f..379693b00 100644
--- a/NitroxPatcher/Patches/Persistent/uGUI_OptionsPanel_AddAccessibilityTab_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/uGUI_OptionsPanel_AddAccessibilityTab_Patch.cs
@@ -2,7 +2,6 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Persistent;
diff --git a/NitroxPatcher/Patches/Persistent/uGUI_OptionsPanel_AddTabs_Patch.cs b/NitroxPatcher/Patches/Persistent/uGUI_OptionsPanel_AddTabs_Patch.cs
index 01c774d3d..59bac06aa 100644
--- a/NitroxPatcher/Patches/Persistent/uGUI_OptionsPanel_AddTabs_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/uGUI_OptionsPanel_AddTabs_Patch.cs
@@ -1,7 +1,6 @@
using System.Collections.Generic;
using System.Reflection;
using NitroxClient.GameLogic.Settings;
-using NitroxModel.Helper;
using UnityEngine.Events;
namespace NitroxPatcher.Patches.Persistent
diff --git a/NitroxPatcher/Patches/Persistent/uGUI_TabbedControlsPanel_AddBindingOption_Patch.cs b/NitroxPatcher/Patches/Persistent/uGUI_TabbedControlsPanel_AddBindingOption_Patch.cs
index d71faf306..a10e07d13 100644
--- a/NitroxPatcher/Patches/Persistent/uGUI_TabbedControlsPanel_AddBindingOption_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/uGUI_TabbedControlsPanel_AddBindingOption_Patch.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Persistent;
diff --git a/NitroxPatcher/PatternMatching/InstructionPattern.cs b/NitroxPatcher/PatternMatching/InstructionPattern.cs
index c74645bc2..91793311f 100644
--- a/NitroxPatcher/PatternMatching/InstructionPattern.cs
+++ b/NitroxPatcher/PatternMatching/InstructionPattern.cs
@@ -3,7 +3,6 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
-using NitroxModel.Helper;
namespace NitroxPatcher.PatternMatching;
diff --git a/NitroxPatcher/TranspilerHelper.cs b/NitroxPatcher/TranspilerHelper.cs
index 7e7cd8c60..dc78a7ad1 100644
--- a/NitroxPatcher/TranspilerHelper.cs
+++ b/NitroxPatcher/TranspilerHelper.cs
@@ -8,7 +8,6 @@
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
using NitroxModel.Core;
-using NitroxModel.Helper;
using NitroxPatcher.PatternMatching;
using UnityEngine;
From dbcb461149d99c4b566c44a4f761a7f8d8cd9bf5 Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Fri, 10 Oct 2025 17:13:00 +0200
Subject: [PATCH 04/50] Increased game version target that Nitrox works on
Lower game versions than this will cause Nitrox to crash
---
Directory.Build.props | 1 +
Directory.Build.targets | 7 +++++--
Nitrox.Launcher/Models/Utils/GameInspect.cs | 7 ++++---
NitroxModel/Core/NitroxEnvironment.cs | 12 ++++++++++++
4 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index be0f30cde..e614045b5 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -26,6 +26,7 @@
false
false
false
+ 71288
diff --git a/Directory.Build.targets b/Directory.Build.targets
index 81a10e5ac..7f5fdc997 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -33,6 +33,10 @@
<_Parameter1>GitShortHash
<_Parameter2>$(_GitShortHash)
+
+ <_Parameter1>GameHigherThanVersionTarget
+ <_Parameter2>$(GameHigherThanVersionTarget)
+
@@ -57,12 +61,11 @@
$(GameDir)$(GameDataFolder)\Managed\
$(GameDir)$(GameDataFolder)\StreamingAssets\SNUnmanagedData\plastic_status.ignore
- 68598
-
+
diff --git a/Nitrox.Launcher/Models/Utils/GameInspect.cs b/Nitrox.Launcher/Models/Utils/GameInspect.cs
index c15ae0692..6e67fe7b7 100644
--- a/Nitrox.Launcher/Models/Utils/GameInspect.cs
+++ b/Nitrox.Launcher/Models/Utils/GameInspect.cs
@@ -3,6 +3,7 @@
using System.Threading.Tasks;
using Nitrox.Launcher.Models.Services;
using Nitrox.Launcher.ViewModels;
+using NitroxModel.Helper;
using NitroxModel.Logger;
using NitroxModel.Platforms.OS.Shared;
@@ -20,15 +21,15 @@ public static async Task IsOutdatedGameAndNotify(string gameInstallDir, Di
ArgumentException.ThrowIfNullOrWhiteSpace(gameInstallDir);
string gameVersionFile = Path.Combine(gameInstallDir, GameInfo.Subnautica.DataFolder, "StreamingAssets", "SNUnmanagedData", "plastic_status.ignore");
- if (int.TryParse(await File.ReadAllTextAsync(gameVersionFile), out int gameVersion) && gameVersion <= 68598)
+ if (int.TryParse(await File.ReadAllTextAsync(gameVersionFile), out int gameVersion) && gameVersion <= NitroxEnvironment.GameHigherThanVersionTarget)
{
if (dialogService != null)
{
await dialogService.ShowAsync(model =>
{
- model.Title = "Legacy Game Detected";
+ model.Title = "Outdated Game Detected";
model.Description =
- $"Nitrox does not support the legacy version of {GameInfo.Subnautica.FullName}. Please update your game to the latest version to run {GameInfo.Subnautica.FullName} with Nitrox.{Environment.NewLine}{Environment.NewLine}Version file location:{Environment.NewLine}{gameVersionFile}";
+ $"Nitrox does not support the older {GameInfo.Subnautica.FullName} game version of {gameVersion}. Please update your game to the latest version.{Environment.NewLine}{Environment.NewLine}Version expected to be higher than: {NitroxEnvironment.GameHigherThanVersionTarget}{Environment.NewLine}Version file location:{Environment.NewLine}{gameVersionFile}{Environment.NewLine}";
model.ButtonOptions = ButtonOptions.Ok;
});
}
diff --git a/NitroxModel/Core/NitroxEnvironment.cs b/NitroxModel/Core/NitroxEnvironment.cs
index a940bbd81..eeadc4dde 100644
--- a/NitroxModel/Core/NitroxEnvironment.cs
+++ b/NitroxModel/Core/NitroxEnvironment.cs
@@ -54,6 +54,18 @@ public static string GitShortHash
}
}
+ public static int GameHigherThanVersionTarget
+ {
+ get
+ {
+ if (!int.TryParse(Assembly.GetExecutingAssembly().GetMetaData("GameHigherThanVersionTarget"), out int gameHigherThanVersionTarget))
+ {
+ throw new Exception("Failed to extract compatible game version number from embedded metadata");
+ }
+ return gameHigherThanVersionTarget;
+ }
+ }
+
public static string GitHash => Assembly.GetExecutingAssembly().GetMetaData("GitHash") ?? "";
public static Types Type { get; private set; } = Types.NORMAL;
From 7e7aa7b1a52769374a97f0905606241a13fa7626 Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Fri, 10 Oct 2025 17:41:02 +0200
Subject: [PATCH 05/50] Added "GameName" property to Directory.Build.props and
applied it to other build properties
This makes build process less hard coded on Subnautica
---
Directory.Build.props | 1 +
Directory.Build.targets | 6 +++---
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index e614045b5..30c162884 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -26,6 +26,7 @@
false
false
false
+ Subnautica
71288
diff --git a/Directory.Build.targets b/Directory.Build.targets
index 7f5fdc997..946dc797e 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -46,10 +46,10 @@
-
+
-
+
$(GameDir)\
$(SUBNAUTICA_INSTALLATION_PATH)\
@@ -65,7 +65,7 @@
-
+
From 01b700ff9289409f00283463c75d3245c895bd39 Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Fri, 10 Oct 2025 18:07:05 +0200
Subject: [PATCH 06/50] Changed game version check to use minimum version
---
Directory.Build.props | 2 +-
Directory.Build.targets | 6 +++---
Nitrox.Launcher/Models/Utils/GameInspect.cs | 4 ++--
NitroxModel/Core/NitroxEnvironment.cs | 6 +++---
4 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index 30c162884..08dee07f8 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -27,7 +27,7 @@
false
false
Subnautica
- 71288
+ 82304
diff --git a/Directory.Build.targets b/Directory.Build.targets
index 946dc797e..8adb2f1fd 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -34,8 +34,8 @@
<_Parameter2>$(_GitShortHash)
- <_Parameter1>GameHigherThanVersionTarget
- <_Parameter2>$(GameHigherThanVersionTarget)
+ <_Parameter1>GameMinimumVersion
+ <_Parameter2>$(GameMinimumVersion)
@@ -65,7 +65,7 @@
-
+
diff --git a/Nitrox.Launcher/Models/Utils/GameInspect.cs b/Nitrox.Launcher/Models/Utils/GameInspect.cs
index 6e67fe7b7..26c96c2cd 100644
--- a/Nitrox.Launcher/Models/Utils/GameInspect.cs
+++ b/Nitrox.Launcher/Models/Utils/GameInspect.cs
@@ -21,7 +21,7 @@ public static async Task IsOutdatedGameAndNotify(string gameInstallDir, Di
ArgumentException.ThrowIfNullOrWhiteSpace(gameInstallDir);
string gameVersionFile = Path.Combine(gameInstallDir, GameInfo.Subnautica.DataFolder, "StreamingAssets", "SNUnmanagedData", "plastic_status.ignore");
- if (int.TryParse(await File.ReadAllTextAsync(gameVersionFile), out int gameVersion) && gameVersion <= NitroxEnvironment.GameHigherThanVersionTarget)
+ if (int.TryParse(await File.ReadAllTextAsync(gameVersionFile), out int gameVersion) && gameVersion < NitroxEnvironment.GameMinimumVersion)
{
if (dialogService != null)
{
@@ -29,7 +29,7 @@ await dialogService.ShowAsync(model =>
{
model.Title = "Outdated Game Detected";
model.Description =
- $"Nitrox does not support the older {GameInfo.Subnautica.FullName} game version of {gameVersion}. Please update your game to the latest version.{Environment.NewLine}{Environment.NewLine}Version expected to be higher than: {NitroxEnvironment.GameHigherThanVersionTarget}{Environment.NewLine}Version file location:{Environment.NewLine}{gameVersionFile}{Environment.NewLine}";
+ $"Nitrox does not support the older {GameInfo.Subnautica.FullName} game version of {gameVersion}. Please update your game to the latest version.{Environment.NewLine}{Environment.NewLine}Minimum game version: {NitroxEnvironment.GameMinimumVersion}{Environment.NewLine}Version file location:{Environment.NewLine}{gameVersionFile}{Environment.NewLine}";
model.ButtonOptions = ButtonOptions.Ok;
});
}
diff --git a/NitroxModel/Core/NitroxEnvironment.cs b/NitroxModel/Core/NitroxEnvironment.cs
index eeadc4dde..960731377 100644
--- a/NitroxModel/Core/NitroxEnvironment.cs
+++ b/NitroxModel/Core/NitroxEnvironment.cs
@@ -54,15 +54,15 @@ public static string GitShortHash
}
}
- public static int GameHigherThanVersionTarget
+ public static int GameMinimumVersion
{
get
{
- if (!int.TryParse(Assembly.GetExecutingAssembly().GetMetaData("GameHigherThanVersionTarget"), out int gameHigherThanVersionTarget))
+ if (!int.TryParse(Assembly.GetExecutingAssembly().GetMetaData(nameof(GameMinimumVersion)), out int result))
{
throw new Exception("Failed to extract compatible game version number from embedded metadata");
}
- return gameHigherThanVersionTarget;
+ return result;
}
}
From 32f3d25bbb8a633a0cb9c122e8bc46555d2199c8 Mon Sep 17 00:00:00 2001
From: Meas <1107063+Measurity@users.noreply.github.com>
Date: Sat, 11 Oct 2025 01:20:36 +0200
Subject: [PATCH 07/50] Fixed '#' not being marked as a header in patchnotes
(#2489)
---
Nitrox.Launcher/Models/Extensions/DtoExtensions.cs | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/Nitrox.Launcher/Models/Extensions/DtoExtensions.cs b/Nitrox.Launcher/Models/Extensions/DtoExtensions.cs
index 50306b17f..9d85cc44a 100644
--- a/Nitrox.Launcher/Models/Extensions/DtoExtensions.cs
+++ b/Nitrox.Launcher/Models/Extensions/DtoExtensions.cs
@@ -17,9 +17,9 @@ public static NitroxChangelog FromDtoToLauncher(this NitroxWebsiteApiService.Cha
buffer.Clear();
foreach (string patchNote in changeLog.PatchNotes)
{
- if (patchNote.StartsWith('-'))
+ if ((GetAsHeaderOrNull(patchNote, '-') ?? GetAsHeaderOrNull(patchNote, '#')) is {} header)
{
- buffer.AppendLine($"\n[b][u]{patchNote.TrimStart('-', ' ')}[/u][/b]");
+ buffer.AppendLine(header);
}
else
{
@@ -27,5 +27,14 @@ public static NitroxChangelog FromDtoToLauncher(this NitroxWebsiteApiService.Cha
}
}
return new NitroxChangelog(changeLog.Version, changeLog.Released.DateTime, string.Join(Environment.NewLine, buffer.ToString()));
+
+ static string? GetAsHeaderOrNull(string line, char prefix)
+ {
+ if (line.StartsWith(prefix))
+ {
+ return $"\n[b][u]{line.TrimStart(prefix, ' ')}[/u][/b]";
+ }
+ return null;
+ }
}
}
From f5481c2a1e3e885a411c5f8d9b14816ae721997a Mon Sep 17 00:00:00 2001
From: Meas <1107063+Measurity@users.noreply.github.com>
Date: Sat, 11 Oct 2025 17:06:24 +0200
Subject: [PATCH 08/50] Added perms reset on server join until we can improve
security (#2498)
---
.../Processors/PlayerJoiningMultiplayerSessionProcessor.cs | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/NitroxServer/Communication/Packets/Processors/PlayerJoiningMultiplayerSessionProcessor.cs b/NitroxServer/Communication/Packets/Processors/PlayerJoiningMultiplayerSessionProcessor.cs
index dd9eaa092..3aaf9c1f0 100644
--- a/NitroxServer/Communication/Packets/Processors/PlayerJoiningMultiplayerSessionProcessor.cs
+++ b/NitroxServer/Communication/Packets/Processors/PlayerJoiningMultiplayerSessionProcessor.cs
@@ -56,6 +56,10 @@ public override void Process(PlayerJoiningMultiplayerSession packet, INitroxConn
playerManager.SendPacketToOtherPlayers(spawnNewEscapePod, player);
}
+ // TODO: Remove this code when security of player login is improved by https://github.com/SubnauticaNitrox/Nitrox/issues/1996
+ // We need to reset permissions on join, otherwise players can impersonate an admin easily.
+ player.Permissions = serverConfig.DefaultPlayerPerm;
+
// Make players on localhost admin by default.
if (connection.Endpoint.Address.IsLocalhost())
{
From 8aa18262a9ebe7db4c3f2c7c348abd718f627fe0 Mon Sep 17 00:00:00 2001
From: Meas <1107063+Measurity@users.noreply.github.com>
Date: Sat, 11 Oct 2025 17:25:45 +0200
Subject: [PATCH 09/50] Central package management (#2476)
---
Directory.Build.props | 10 +-
Directory.Packages.props | 59 ++++
Nitrox.Launcher/Nitrox.Launcher.csproj | 32 +--
Nitrox.Test/Nitrox.Test.csproj | 14 +-
Nitrox.sln | 2 +
Nitrox.sln.DotSettings | 268 ++++++++++--------
NitroxClient/NitroxClient.csproj | 2 +-
.../NitroxModel-Subnautica.csproj | 2 +-
NitroxModel/NitroxModel.csproj | 34 +--
NitroxPatcher/NitroxPatcher.csproj | 2 +-
.../NitroxServer-Subnautica.csproj | 4 +-
11 files changed, 265 insertions(+), 164 deletions(-)
create mode 100644 Directory.Packages.props
diff --git a/Directory.Build.props b/Directory.Build.props
index 08dee07f8..bc7abd115 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -49,10 +49,10 @@
-
+
JB
-
+
all
runtime; build; native; contentfiles; analyzers
@@ -61,7 +61,7 @@
-
+
all
build; native; contentfiles; analyzers; buildtransitive
@@ -73,11 +73,11 @@
-
+
all
build; native; contentfiles; analyzers
-
+
all
build; native; contentfiles; analyzers
diff --git a/Directory.Packages.props b/Directory.Packages.props
new file mode 100644
index 000000000..e605ff675
--- /dev/null
+++ b/Directory.Packages.props
@@ -0,0 +1,59 @@
+
+
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Nitrox.Launcher/Nitrox.Launcher.csproj b/Nitrox.Launcher/Nitrox.Launcher.csproj
index bb5bc6886..1de6b9e78 100644
--- a/Nitrox.Launcher/Nitrox.Launcher.csproj
+++ b/Nitrox.Launcher/Nitrox.Launcher.csproj
@@ -26,30 +26,30 @@
-
-
-
-
-
+
+
+
+
+
None
All
-
-
-
-
+
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
+
+
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
all
build; native; contentfiles; analyzers; buildtransitive
@@ -57,7 +57,7 @@
-
+
diff --git a/Nitrox.Test/Nitrox.Test.csproj b/Nitrox.Test/Nitrox.Test.csproj
index 842c386b6..f73ba3bb1 100644
--- a/Nitrox.Test/Nitrox.Test.csproj
+++ b/Nitrox.Test/Nitrox.Test.csproj
@@ -10,19 +10,19 @@
-
-
-
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
+
diff --git a/Nitrox.sln b/Nitrox.sln
index 16e056123..246700e66 100644
--- a/Nitrox.sln
+++ b/Nitrox.sln
@@ -10,6 +10,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionFolder", "SolutionF
Nitrox.Shared.props = Nitrox.Shared.props
Nitrox.Shared.targets = Nitrox.Shared.targets
.gitignore = .gitignore
+ Nitrox.sln.DotSettings = Nitrox.sln.DotSettings
+ Directory.Packages.props = Directory.Packages.props
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nitrox.Launcher", "Nitrox.Launcher\Nitrox.Launcher.csproj", "{30493A43-7EB3-4898-A82F-98A387284EB2}"
diff --git a/Nitrox.sln.DotSettings b/Nitrox.sln.DotSettings
index 47494719f..d10f653b0 100644
--- a/Nitrox.sln.DotSettings
+++ b/Nitrox.sln.DotSettings
@@ -1,11 +1,18 @@
-
- True
- True
- True
- HINT
- DO_NOT_SHOW
+
+ True
+ True
+ True
+ HINT
+ DO_NOT_SHOW
- <?xml version="1.0" encoding="utf-16"?><Profile name="Nitrox"><CSReorderTypeMembers>True</CSReorderTypeMembers><AspOptimizeRegisterDirectives>True</AspOptimizeRegisterDirectives><HtmlReformatCode>True</HtmlReformatCode><JsInsertSemicolon>True</JsInsertSemicolon><FormatAttributeQuoteDescriptor>True</FormatAttributeQuoteDescriptor><CorrectVariableKindsDescriptor>True</CorrectVariableKindsDescriptor><VariablesToInnerScopesDescriptor>True</VariablesToInnerScopesDescriptor><StringToTemplatesDescriptor>True</StringToTemplatesDescriptor><JsReformatCode>True</JsReformatCode><JsFormatDocComments>True</JsFormatDocComments><RemoveRedundantQualifiersTs>True</RemoveRedundantQualifiersTs><OptimizeImportsTs>True</OptimizeImportsTs><OptimizeReferenceCommentsTs>True</OptimizeReferenceCommentsTs><PublicModifierStyleTs>True</PublicModifierStyleTs><ExplicitAnyTs>True</ExplicitAnyTs><TypeAnnotationStyleTs>True</TypeAnnotationStyleTs><RelativePathStyleTs>True</RelativePathStyleTs><AsInsteadOfCastTs>True</AsInsteadOfCastTs><XMLReformatCode>True</XMLReformatCode><CSCodeStyleAttributes ArrangeTypeAccessModifier="True" ArrangeTypeMemberAccessModifier="True" SortModifiers="True" RemoveRedundantParentheses="True" AddMissingParentheses="True" ArrangeAttributes="True" ArrangeArgumentsStyle="True" /><RemoveCodeRedundanciesVB>True</RemoveCodeRedundanciesVB><CssAlphabetizeProperties>True</CssAlphabetizeProperties><VBOptimizeImports>True</VBOptimizeImports><VBShortenReferences>True</VBShortenReferences><RemoveCodeRedundancies>True</RemoveCodeRedundancies><CSUseAutoProperty>True</CSUseAutoProperty><CSMakeFieldReadonly>True</CSMakeFieldReadonly><CSMakeAutoPropertyGetOnly>True</CSMakeAutoPropertyGetOnly><CSArrangeQualifiers>True</CSArrangeQualifiers><CSFixBuiltinTypeReferences>True</CSFixBuiltinTypeReferences><CssReformatCode>True</CssReformatCode><VBReformatCode>True</VBReformatCode><VBFormatDocComments>True</VBFormatDocComments><CSOptimizeUsings><OptimizeUsings>True</OptimizeUsings></CSOptimizeUsings><CSReformatCode>True</CSReformatCode><CSharpFormatDocComments>True</CSharpFormatDocComments><IDEA_SETTINGS><profile version="1.0">
+ <?xml version="1.0" encoding="utf-16"?><Profile name="Nitrox"><CSReorderTypeMembers>True</CSReorderTypeMembers><AspOptimizeRegisterDirectives>True</AspOptimizeRegisterDirectives><HtmlReformatCode>True</HtmlReformatCode><JsInsertSemicolon>True</JsInsertSemicolon><FormatAttributeQuoteDescriptor>True</FormatAttributeQuoteDescriptor><CorrectVariableKindsDescriptor>True</CorrectVariableKindsDescriptor><VariablesToInnerScopesDescriptor>True</VariablesToInnerScopesDescriptor><StringToTemplatesDescriptor>True</StringToTemplatesDescriptor><JsReformatCode>True</JsReformatCode><JsFormatDocComments>True</JsFormatDocComments><RemoveRedundantQualifiersTs>True</RemoveRedundantQualifiersTs><OptimizeImportsTs>True</OptimizeImportsTs><OptimizeReferenceCommentsTs>True</OptimizeReferenceCommentsTs><PublicModifierStyleTs>True</PublicModifierStyleTs><ExplicitAnyTs>True</ExplicitAnyTs><TypeAnnotationStyleTs>True</TypeAnnotationStyleTs><RelativePathStyleTs>True</RelativePathStyleTs><AsInsteadOfCastTs>True</AsInsteadOfCastTs><XMLReformatCode>True</XMLReformatCode><CSCodeStyleAttributes ArrangeTypeAccessModifier="True" ArrangeTypeMemberAccessModifier="True" SortModifiers="True" RemoveRedundantParentheses="True" AddMissingParentheses="True" ArrangeAttributes="True" ArrangeArgumentsStyle="True" /><RemoveCodeRedundanciesVB>True</RemoveCodeRedundanciesVB><CssAlphabetizeProperties>True</CssAlphabetizeProperties><VBOptimizeImports>True</VBOptimizeImports><VBShortenReferences>True</VBShortenReferences><RemoveCodeRedundancies>True</RemoveCodeRedundancies><CSUseAutoProperty>True</CSUseAutoProperty><CSMakeFieldReadonly>True</CSMakeFieldReadonly><CSMakeAutoPropertyGetOnly>True</CSMakeAutoPropertyGetOnly><CSArrangeQualifiers>True</CSArrangeQualifiers><CSFixBuiltinTypeReferences>True</CSFixBuiltinTypeReferences><CssReformatCode>True</CssReformatCode><VBReformatCode>True</VBReformatCode><VBFormatDocComments>True</VBFormatDocComments><CSOptimizeUsings><OptimizeUsings>True</OptimizeUsings></CSOptimizeUsings><CSReformatCode>True</CSReformatCode><CSharpFormatDocComments>True</CSharpFormatDocComments><IDEA_SETTINGS><profile version="1.0">
<option name="myName" value="Nitrox" />
</profile></IDEA_SETTINGS><CSShortenReferences>True</CSShortenReferences><RIDER_SETTINGS><profile>
<Language id="CSS">
@@ -61,73 +68,103 @@
<Reformat>true</Reformat>
</Language>
</profile></RIDER_SETTINGS></Profile>
- Built-in: Full Cleanup
- Nitrox
- ExpressionBody
- ExpressionBody
- True
- True
- True
- True
- True
- True
- True
- True
- True
- 1
- 1
- 2
- NEVER
- True
- True
- False
- CHOP_IF_LONG
- 256
- True
- CHOP_IF_LONG
- 200
- False
- UseExplicitType
- UseExplicitType
- UseExplicitType
- True
- False
- True
- False
- FMOD
- GUI
- HSB
- ID
- IK
- IP
- LAN
- PDA
- UWE
- False
- <Policy Inspect="True" Prefix="" Suffix="" Style="AA_BB" />
- <Policy Inspect="True" Prefix="" Suffix="" Style="AA_BB" />
- <Policy Inspect="True" Prefix="" Suffix="" Style="AA_BB" />
- <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb"><ExtraRule Prefix="_" Suffix="" Style="aaBb" /><ExtraRule Prefix="__" Suffix="" Style="aaBb" /><ExtraRule Prefix="___" Suffix="" Style="aaBb" /><ExtraRule Prefix="____" Suffix="" Style="aaBb" /></Policy>
- <Policy Inspect="True" Prefix="" Suffix="" Style="AA_BB" />
- <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
- <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
- <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
- <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
- <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb_AaBb"><ExtraRule Prefix="" Suffix="" Style="AaBb" /></Policy>
- RB
- No
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- <?xml version="1.0" encoding="utf-16"?>
+ Built-in: Full Cleanup
+ Nitrox
+ ExpressionBody
+ ExpressionBody
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ 1
+ 1
+ 2
+ NEVER
+ True
+ True
+ False
+ CHOP_IF_LONG
+ 256
+ True
+ CHOP_IF_LONG
+ 200
+ False
+ UseExplicitType
+ UseExplicitType
+ UseExplicitType
+ True
+ False
+ True
+ False
+ FMOD
+ GUI
+ HSB
+ ID
+ IK
+ IP
+ LAN
+ PDA
+ UWE
+ False
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AA_BB" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AA_BB" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AA_BB" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb"><ExtraRule Prefix="_" Suffix="" Style="aaBb" /><ExtraRule Prefix="__" Suffix="" Style="aaBb" /><ExtraRule Prefix="___" Suffix="" Style="aaBb" /><ExtraRule Prefix="____" Suffix="" Style="aaBb" /></Policy>
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AA_BB" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb_AaBb"><ExtraRule Prefix="" Suffix="" Style="AaBb" /></Policy>
+ RB
+ No
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ <?xml version="1.0" encoding="utf-16"?>
<Patterns xmlns="urn:schemas-jetbrains-com:member-reordering-patterns">
<TypePattern DisplayName="Non-reorderable types">
<TypePattern.Match>
@@ -290,7 +327,7 @@
<Entry.SortBy>
<Name />
</Entry.SortBy>
- </Entry>
+ </Entry>
<Entry DisplayName="Nested Types">
<Entry.Match>
<Kind Is="Type" />
@@ -298,42 +335,45 @@
</Entry>
</TypePattern>
</Patterns>
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+
\ No newline at end of file
diff --git a/NitroxClient/NitroxClient.csproj b/NitroxClient/NitroxClient.csproj
index 51fbe8cd4..f24c9a81b 100644
--- a/NitroxClient/NitroxClient.csproj
+++ b/NitroxClient/NitroxClient.csproj
@@ -17,7 +17,7 @@
-
+
diff --git a/NitroxModel-Subnautica/NitroxModel-Subnautica.csproj b/NitroxModel-Subnautica/NitroxModel-Subnautica.csproj
index 1c3b515a6..d88e8a7b5 100644
--- a/NitroxModel-Subnautica/NitroxModel-Subnautica.csproj
+++ b/NitroxModel-Subnautica/NitroxModel-Subnautica.csproj
@@ -10,7 +10,7 @@
-
+
diff --git a/NitroxModel/NitroxModel.csproj b/NitroxModel/NitroxModel.csproj
index dfbbbc713..6f12f7d67 100644
--- a/NitroxModel/NitroxModel.csproj
+++ b/NitroxModel/NitroxModel.csproj
@@ -5,21 +5,21 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -33,8 +33,8 @@
-
-
+
+
diff --git a/NitroxPatcher/NitroxPatcher.csproj b/NitroxPatcher/NitroxPatcher.csproj
index 245a498eb..2b71b7e96 100644
--- a/NitroxPatcher/NitroxPatcher.csproj
+++ b/NitroxPatcher/NitroxPatcher.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/NitroxServer-Subnautica/NitroxServer-Subnautica.csproj b/NitroxServer-Subnautica/NitroxServer-Subnautica.csproj
index d0723046e..e179f3dff 100644
--- a/NitroxServer-Subnautica/NitroxServer-Subnautica.csproj
+++ b/NitroxServer-Subnautica/NitroxServer-Subnautica.csproj
@@ -12,8 +12,8 @@
-
-
+
+
From ea019cc828065541fee0fa72a0b5fc8ef09ddcf6 Mon Sep 17 00:00:00 2001
From: Meas <1107063+Measurity@users.noreply.github.com>
Date: Sat, 11 Oct 2025 19:03:10 +0200
Subject: [PATCH 10/50] Renamed server project to Nitrox.Server.Subnautica
(#2500)
---
Nitrox.Launcher/GlobalStatic.cs | 4 ++--
Nitrox.Launcher/Nitrox.Launcher.csproj | 2 +-
.../App.config | 0
.../AppMutex.cs | 2 +-
.../CyclopsDamagePointRepairedProcessor.cs | 2 +-
.../Packets/Processors/CyclopsDamageProcessor.cs | 2 +-
.../Processors/CyclopsFireCreatedProcessor.cs | 2 +-
.../GameLogic/Entities/SimulationWhitelist.cs | 2 +-
.../Entities/Spawning/CrashHomeBootstrapper.cs | 2 +-
.../Entities/Spawning/GeyserBootstrapper.cs | 2 +-
.../Entities/Spawning/ReefbackBootstrapper.cs | 12 ++++++------
.../GameLogic/Entities/Spawning/ReefbackSpawnData.cs | 2 +-
.../GameLogic/Entities/Spawning/SlotsHelper.cs | 2 +-
.../Spawning/StayAtLeashPositionBootstrapper.cs | 2 +-
.../Spawning/SubnauticaEntityBootstrapperManager.cs | 4 ++--
.../Spawning/SubnauticaEntitySpawnPointFactory.cs | 2 +-
.../GameLogic/SubnauticaWorldModifier.cs | 2 +-
.../GlobalUsings.cs | 0
.../Nitrox.Server.Subnautica.csproj | 1 -
.../Program.cs | 9 ++++-----
.../Properties/AssemblyInfo.cs | 0
.../Properties/launchSettings.json | 2 +-
.../AddressablesTools/AddressablesJsonParser.cs | 0
.../AddressablesTools/Catalog/ClassJsonObject.cs | 0
.../AddressablesTools/Catalog/ContentCatalogData.cs | 0
.../Catalog/ObjectInitializationData.cs | 0
.../AddressablesTools/Catalog/ResourceLocation.cs | 0
.../Catalog/SerializedObjectDecoder.cs | 0
.../AddressablesTools/Catalog/SerializedType.cs | 0
.../AddressablesTools/JSON/ContentCatalogDataJson.cs | 0
.../JSON/ObjectInitializationDataJson.cs | 0
.../AddressablesTools/JSON/SerializedTypeJson.cs | 0
.../Resources/Parsers/Abstract/AssetParser.cs | 4 ++--
.../Resources/Parsers/Abstract/BundleFileParser.cs | 2 +-
.../Resources/Parsers/Abstract/ResourceFileParser.cs | 2 +-
.../Resources/Parsers/EntityDistributionsParser.cs | 6 +++---
.../Parsers/Helper/AssetTypeValueFieldExtension.cs | 2 +-
.../Resources/Parsers/Helper/AssetsBundleManager.cs | 2 +-
.../Parsers/Helper/AssetsFileMetadataExtension.cs | 2 +-
.../Helper/ThreadSafeMonoCecilTempGenerator.cs | 2 +-
.../Parsers/PrefabPlaceholderGroupsParser.cs | 4 ++--
.../Resources/Parsers/RandomStartParser.cs | 6 +++---
.../Resources/Parsers/WorldEntityInfoParser.cs | 6 +++---
.../Resources/ResourceAssets.cs | 2 +-
.../Resources/ResourceAssetsParser.cs | 4 ++--
.../Serialization/SubnauticaServerJsonSerializer.cs | 2 +-
.../SubnauticaServerProtoBufSerializer.cs | 4 ++--
.../SubnauticaServerAutoFacRegistrar.cs | 12 ++++++------
Nitrox.Test/Helper/Faker/NitroxAbstractFaker.cs | 2 +-
.../Model/Packets/Processors/PacketProcessorTest.cs | 2 +-
Nitrox.Test/Nitrox.Test.csproj | 2 +-
.../Server/Serialization/WorldPersistenceTest.cs | 2 +-
Nitrox.sln | 2 +-
.../Gui/MainMenu/ServerJoin/JoinServerBackend.cs | 2 +-
54 files changed, 65 insertions(+), 67 deletions(-)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/App.config (100%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/AppMutex.cs (97%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Communication/Packets/Processors/CyclopsDamagePointRepairedProcessor.cs (90%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Communication/Packets/Processors/CyclopsDamageProcessor.cs (92%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Communication/Packets/Processors/CyclopsFireCreatedProcessor.cs (90%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/GameLogic/Entities/SimulationWhitelist.cs (98%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/GameLogic/Entities/Spawning/CrashHomeBootstrapper.cs (85%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/GameLogic/Entities/Spawning/GeyserBootstrapper.cs (92%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/GameLogic/Entities/Spawning/ReefbackBootstrapper.cs (90%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/GameLogic/Entities/Spawning/ReefbackSpawnData.cs (99%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/GameLogic/Entities/Spawning/SlotsHelper.cs (95%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/GameLogic/Entities/Spawning/StayAtLeashPositionBootstrapper.cs (87%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/GameLogic/Entities/Spawning/SubnauticaEntityBootstrapperManager.cs (91%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/GameLogic/Entities/Spawning/SubnauticaEntitySpawnPointFactory.cs (97%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/GameLogic/SubnauticaWorldModifier.cs (93%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/GlobalUsings.cs (100%)
rename NitroxServer-Subnautica/NitroxServer-Subnautica.csproj => Nitrox.Server.Subnautica/Nitrox.Server.Subnautica.csproj (93%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Program.cs (99%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Properties/AssemblyInfo.cs (100%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Properties/launchSettings.json (82%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/AddressablesTools/AddressablesJsonParser.cs (100%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/AddressablesTools/Catalog/ClassJsonObject.cs (100%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/AddressablesTools/Catalog/ContentCatalogData.cs (100%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/AddressablesTools/Catalog/ObjectInitializationData.cs (100%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/AddressablesTools/Catalog/ResourceLocation.cs (100%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/AddressablesTools/Catalog/SerializedObjectDecoder.cs (100%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/AddressablesTools/Catalog/SerializedType.cs (100%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/AddressablesTools/JSON/ContentCatalogDataJson.cs (100%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/AddressablesTools/JSON/ObjectInitializationDataJson.cs (100%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/AddressablesTools/JSON/SerializedTypeJson.cs (100%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/Parsers/Abstract/AssetParser.cs (88%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/Parsers/Abstract/BundleFileParser.cs (93%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/Parsers/Abstract/ResourceFileParser.cs (88%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/Parsers/EntityDistributionsParser.cs (75%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/Parsers/Helper/AssetTypeValueFieldExtension.cs (92%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/Parsers/Helper/AssetsBundleManager.cs (99%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/Parsers/Helper/AssetsFileMetadataExtension.cs (90%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/Parsers/Helper/ThreadSafeMonoCecilTempGenerator.cs (94%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/Parsers/PrefabPlaceholderGroupsParser.cs (99%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/Parsers/RandomStartParser.cs (91%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/Parsers/WorldEntityInfoParser.cs (88%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/ResourceAssets.cs (95%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Resources/ResourceAssetsParser.cs (96%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Serialization/SubnauticaServerJsonSerializer.cs (79%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/Serialization/SubnauticaServerProtoBufSerializer.cs (92%)
rename {NitroxServer-Subnautica => Nitrox.Server.Subnautica}/SubnauticaServerAutoFacRegistrar.cs (92%)
diff --git a/Nitrox.Launcher/GlobalStatic.cs b/Nitrox.Launcher/GlobalStatic.cs
index 47ba95504..7b796b7d1 100644
--- a/Nitrox.Launcher/GlobalStatic.cs
+++ b/Nitrox.Launcher/GlobalStatic.cs
@@ -13,10 +13,10 @@ internal static class GlobalStatic
public static string GetServerExeName()
{
- string serverExeName = "NitroxServer-Subnautica.exe";
+ string serverExeName = "Nitrox.Server.Subnautica.exe";
if (!OperatingSystem.IsWindows())
{
- serverExeName = "NitroxServer-Subnautica";
+ serverExeName = "Nitrox.Server.Subnautica";
}
return serverExeName;
}
diff --git a/Nitrox.Launcher/Nitrox.Launcher.csproj b/Nitrox.Launcher/Nitrox.Launcher.csproj
index 1de6b9e78..c22db13ce 100644
--- a/Nitrox.Launcher/Nitrox.Launcher.csproj
+++ b/Nitrox.Launcher/Nitrox.Launcher.csproj
@@ -68,7 +68,7 @@
-
+
NitroxPatcher472
TargetFramework=net472
diff --git a/NitroxServer-Subnautica/App.config b/Nitrox.Server.Subnautica/App.config
similarity index 100%
rename from NitroxServer-Subnautica/App.config
rename to Nitrox.Server.Subnautica/App.config
diff --git a/NitroxServer-Subnautica/AppMutex.cs b/Nitrox.Server.Subnautica/AppMutex.cs
similarity index 97%
rename from NitroxServer-Subnautica/AppMutex.cs
rename to Nitrox.Server.Subnautica/AppMutex.cs
index fd92aeb0e..5893d5f02 100644
--- a/NitroxServer-Subnautica/AppMutex.cs
+++ b/Nitrox.Server.Subnautica/AppMutex.cs
@@ -1,7 +1,7 @@
using System;
using System.Threading;
-namespace NitroxServer_Subnautica;
+namespace Nitrox.Server.Subnautica;
public static class AppMutex
{
diff --git a/NitroxServer-Subnautica/Communication/Packets/Processors/CyclopsDamagePointRepairedProcessor.cs b/Nitrox.Server.Subnautica/Communication/Packets/Processors/CyclopsDamagePointRepairedProcessor.cs
similarity index 90%
rename from NitroxServer-Subnautica/Communication/Packets/Processors/CyclopsDamagePointRepairedProcessor.cs
rename to Nitrox.Server.Subnautica/Communication/Packets/Processors/CyclopsDamagePointRepairedProcessor.cs
index ae8f2ce61..342c7216f 100644
--- a/NitroxServer-Subnautica/Communication/Packets/Processors/CyclopsDamagePointRepairedProcessor.cs
+++ b/Nitrox.Server.Subnautica/Communication/Packets/Processors/CyclopsDamagePointRepairedProcessor.cs
@@ -2,7 +2,7 @@
using NitroxServer.Communication.Packets.Processors.Abstract;
using NitroxServer.GameLogic;
-namespace NitroxServer_Subnautica.Communication.Packets.Processors
+namespace Nitrox.Server.Subnautica.Communication.Packets.Processors
{
class CyclopsDamagePointRepairedProcessor : AuthenticatedPacketProcessor
{
diff --git a/NitroxServer-Subnautica/Communication/Packets/Processors/CyclopsDamageProcessor.cs b/Nitrox.Server.Subnautica/Communication/Packets/Processors/CyclopsDamageProcessor.cs
similarity index 92%
rename from NitroxServer-Subnautica/Communication/Packets/Processors/CyclopsDamageProcessor.cs
rename to Nitrox.Server.Subnautica/Communication/Packets/Processors/CyclopsDamageProcessor.cs
index 16d7fb159..231622dd1 100644
--- a/NitroxServer-Subnautica/Communication/Packets/Processors/CyclopsDamageProcessor.cs
+++ b/Nitrox.Server.Subnautica/Communication/Packets/Processors/CyclopsDamageProcessor.cs
@@ -2,7 +2,7 @@
using NitroxServer.Communication.Packets.Processors.Abstract;
using NitroxServer.GameLogic;
-namespace NitroxServer_Subnautica.Communication.Packets.Processors
+namespace Nitrox.Server.Subnautica.Communication.Packets.Processors
{
///
/// This is the absolute damage state. The current simulation owner is the only one who sends this packet to the server
diff --git a/NitroxServer-Subnautica/Communication/Packets/Processors/CyclopsFireCreatedProcessor.cs b/Nitrox.Server.Subnautica/Communication/Packets/Processors/CyclopsFireCreatedProcessor.cs
similarity index 90%
rename from NitroxServer-Subnautica/Communication/Packets/Processors/CyclopsFireCreatedProcessor.cs
rename to Nitrox.Server.Subnautica/Communication/Packets/Processors/CyclopsFireCreatedProcessor.cs
index 75c4fe96f..90191ecb2 100644
--- a/NitroxServer-Subnautica/Communication/Packets/Processors/CyclopsFireCreatedProcessor.cs
+++ b/Nitrox.Server.Subnautica/Communication/Packets/Processors/CyclopsFireCreatedProcessor.cs
@@ -2,7 +2,7 @@
using NitroxServer.Communication.Packets.Processors.Abstract;
using NitroxServer.GameLogic;
-namespace NitroxServer_Subnautica.Communication.Packets.Processors
+namespace Nitrox.Server.Subnautica.Communication.Packets.Processors
{
class CyclopsFireCreatedProcessor : AuthenticatedPacketProcessor
{
diff --git a/NitroxServer-Subnautica/GameLogic/Entities/SimulationWhitelist.cs b/Nitrox.Server.Subnautica/GameLogic/Entities/SimulationWhitelist.cs
similarity index 98%
rename from NitroxServer-Subnautica/GameLogic/Entities/SimulationWhitelist.cs
rename to Nitrox.Server.Subnautica/GameLogic/Entities/SimulationWhitelist.cs
index d5d5cd865..15cfe5ed9 100644
--- a/NitroxServer-Subnautica/GameLogic/Entities/SimulationWhitelist.cs
+++ b/Nitrox.Server.Subnautica/GameLogic/Entities/SimulationWhitelist.cs
@@ -3,7 +3,7 @@
using NitroxModel_Subnautica.DataStructures;
using NitroxServer.GameLogic.Entities;
-namespace NitroxServer_Subnautica.GameLogic.Entities;
+namespace Nitrox.Server.Subnautica.GameLogic.Entities;
public class SimulationWhitelist : ISimulationWhitelist
{
diff --git a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/CrashHomeBootstrapper.cs b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/CrashHomeBootstrapper.cs
similarity index 85%
rename from NitroxServer-Subnautica/GameLogic/Entities/Spawning/CrashHomeBootstrapper.cs
rename to Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/CrashHomeBootstrapper.cs
index aa64ecd1f..7b6521c02 100644
--- a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/CrashHomeBootstrapper.cs
+++ b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/CrashHomeBootstrapper.cs
@@ -3,7 +3,7 @@
using NitroxServer.GameLogic.Entities.Spawning;
using NitroxServer.Helper;
-namespace NitroxServer_Subnautica.GameLogic.Entities.Spawning.EntityBootstrappers;
+namespace Nitrox.Server.Subnautica.GameLogic.Entities.Spawning.EntityBootstrappers;
public class CrashHomeBootstrapper : IEntityBootstrapper
{
diff --git a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/GeyserBootstrapper.cs b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/GeyserBootstrapper.cs
similarity index 92%
rename from NitroxServer-Subnautica/GameLogic/Entities/Spawning/GeyserBootstrapper.cs
rename to Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/GeyserBootstrapper.cs
index 31c1b6ca8..7f3632aef 100644
--- a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/GeyserBootstrapper.cs
+++ b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/GeyserBootstrapper.cs
@@ -2,7 +2,7 @@
using NitroxServer.GameLogic.Entities.Spawning;
using NitroxServer.Helper;
-namespace NitroxServer_Subnautica.GameLogic.Entities.Spawning;
+namespace Nitrox.Server.Subnautica.GameLogic.Entities.Spawning;
public class GeyserBootstrapper : IEntityBootstrapper
{
diff --git a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/ReefbackBootstrapper.cs b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/ReefbackBootstrapper.cs
similarity index 90%
rename from NitroxServer-Subnautica/GameLogic/Entities/Spawning/ReefbackBootstrapper.cs
rename to Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/ReefbackBootstrapper.cs
index 6414b33bc..a1dafc311 100644
--- a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/ReefbackBootstrapper.cs
+++ b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/ReefbackBootstrapper.cs
@@ -4,9 +4,9 @@
using NitroxModel.DataStructures.Unity;
using NitroxServer.GameLogic.Entities.Spawning;
using NitroxServer.Helper;
-using static NitroxServer_Subnautica.GameLogic.Entities.Spawning.ReefbackSpawnData;
+using static Nitrox.Server.Subnautica.GameLogic.Entities.Spawning.ReefbackSpawnData;
-namespace NitroxServer_Subnautica.GameLogic.Entities.Spawning;
+namespace Nitrox.Server.Subnautica.GameLogic.Entities.Spawning;
public class ReefbackBootstrapper : IEntityBootstrapper
{
@@ -15,11 +15,11 @@ public class ReefbackBootstrapper : IEntityBootstrapper
public ReefbackBootstrapper()
{
- foreach (ReefbackSlotCreature creature in SpawnableCreatures)
+ foreach (ReefbackSpawnData.ReefbackSlotCreature creature in SpawnableCreatures)
{
creatureProbabilitySum += creature.Probability;
}
- foreach (ReefbackSlotPlant plant in SpawnablePlants)
+ foreach (ReefbackSpawnData.ReefbackSlotPlant plant in SpawnablePlants)
{
plantsProbabilitySum += plant.Probability;
}
@@ -63,7 +63,7 @@ public void Prepare(ref WorldEntity entity, DeterministicGenerator generator)
}
}
- ReefbackSlotPlant slotPlant = SpawnablePlants[chosenPlantIndex];
+ ReefbackSpawnData.ReefbackSlotPlant slotPlant = SpawnablePlants[chosenPlantIndex];
string randomId = slotPlant.ClassIds[XORRandom.NextIntRange(0, slotPlant.ClassIds.Count)];
NitroxId id = generator.NextId();
@@ -100,7 +100,7 @@ public void Prepare(ref WorldEntity entity, DeterministicGenerator generator)
}
}
- ReefbackSlotCreature slotCreature = SpawnableCreatures[chosenCreatureIndex];
+ ReefbackSpawnData.ReefbackSlotCreature slotCreature = SpawnableCreatures[chosenCreatureIndex];
int spawnCount = XORRandom.NextIntRange(slotCreature.MinNumber, slotCreature.MaxNumber + 1);
for (int j = 0; j < spawnCount; j++)
{
diff --git a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/ReefbackSpawnData.cs b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/ReefbackSpawnData.cs
similarity index 99%
rename from NitroxServer-Subnautica/GameLogic/Entities/Spawning/ReefbackSpawnData.cs
rename to Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/ReefbackSpawnData.cs
index e4c0369ac..fc7838a1c 100644
--- a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/ReefbackSpawnData.cs
+++ b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/ReefbackSpawnData.cs
@@ -1,7 +1,7 @@
using System.Collections.Generic;
using NitroxModel.DataStructures.Unity;
-namespace NitroxServer_Subnautica.GameLogic.Entities.Spawning;
+namespace Nitrox.Server.Subnautica.GameLogic.Entities.Spawning;
///
/// Data from generated by ReefbackLife_OnEnable_Patch.cs
diff --git a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/SlotsHelper.cs b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/SlotsHelper.cs
similarity index 95%
rename from NitroxServer-Subnautica/GameLogic/Entities/Spawning/SlotsHelper.cs
rename to Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/SlotsHelper.cs
index 0006e1719..d417329a8 100644
--- a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/SlotsHelper.cs
+++ b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/SlotsHelper.cs
@@ -1,6 +1,6 @@
using System.Collections.Generic;
-namespace NitroxServer_Subnautica.GameLogic.Entities.Spawning
+namespace Nitrox.Server.Subnautica.GameLogic.Entities.Spawning
{
public static class SlotsHelper
{
diff --git a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/StayAtLeashPositionBootstrapper.cs b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/StayAtLeashPositionBootstrapper.cs
similarity index 87%
rename from NitroxServer-Subnautica/GameLogic/Entities/Spawning/StayAtLeashPositionBootstrapper.cs
rename to Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/StayAtLeashPositionBootstrapper.cs
index 5821e7e0e..773e51c75 100644
--- a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/StayAtLeashPositionBootstrapper.cs
+++ b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/StayAtLeashPositionBootstrapper.cs
@@ -3,7 +3,7 @@
using NitroxServer.GameLogic.Entities.Spawning;
using NitroxServer.Helper;
-namespace NitroxServer_Subnautica.GameLogic.Entities.Spawning;
+namespace Nitrox.Server.Subnautica.GameLogic.Entities.Spawning;
public class StayAtLeashPositionBootstrapper : IEntityBootstrapper
{
diff --git a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/SubnauticaEntityBootstrapperManager.cs b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/SubnauticaEntityBootstrapperManager.cs
similarity index 91%
rename from NitroxServer-Subnautica/GameLogic/Entities/Spawning/SubnauticaEntityBootstrapperManager.cs
rename to Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/SubnauticaEntityBootstrapperManager.cs
index e8b9fd4c5..065e54c9d 100644
--- a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/SubnauticaEntityBootstrapperManager.cs
+++ b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/SubnauticaEntityBootstrapperManager.cs
@@ -1,12 +1,12 @@
using System.Collections.Generic;
+using Nitrox.Server.Subnautica.GameLogic.Entities.Spawning.EntityBootstrappers;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel_Subnautica.DataStructures;
using NitroxServer.GameLogic.Entities.Spawning;
using NitroxServer.Helper;
-using NitroxServer_Subnautica.GameLogic.Entities.Spawning.EntityBootstrappers;
-namespace NitroxServer_Subnautica.GameLogic.Entities.Spawning;
+namespace Nitrox.Server.Subnautica.GameLogic.Entities.Spawning;
public class SubnauticaEntityBootstrapperManager : IEntityBootstrapperManager
{
diff --git a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/SubnauticaEntitySpawnPointFactory.cs b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/SubnauticaEntitySpawnPointFactory.cs
similarity index 97%
rename from NitroxServer-Subnautica/GameLogic/Entities/Spawning/SubnauticaEntitySpawnPointFactory.cs
rename to Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/SubnauticaEntitySpawnPointFactory.cs
index 4cae33f6c..143b07a24 100644
--- a/NitroxServer-Subnautica/GameLogic/Entities/Spawning/SubnauticaEntitySpawnPointFactory.cs
+++ b/Nitrox.Server.Subnautica/GameLogic/Entities/Spawning/SubnauticaEntitySpawnPointFactory.cs
@@ -6,7 +6,7 @@
using NitroxServer.GameLogic.Entities.Spawning;
using NitroxServer.UnityStubs;
-namespace NitroxServer_Subnautica.GameLogic.Entities.Spawning
+namespace Nitrox.Server.Subnautica.GameLogic.Entities.Spawning
{
public class SubnauticaEntitySpawnPointFactory : EntitySpawnPointFactory
{
diff --git a/NitroxServer-Subnautica/GameLogic/SubnauticaWorldModifier.cs b/Nitrox.Server.Subnautica/GameLogic/SubnauticaWorldModifier.cs
similarity index 93%
rename from NitroxServer-Subnautica/GameLogic/SubnauticaWorldModifier.cs
rename to Nitrox.Server.Subnautica/GameLogic/SubnauticaWorldModifier.cs
index 6d320a718..fbf041eb8 100644
--- a/NitroxServer-Subnautica/GameLogic/SubnauticaWorldModifier.cs
+++ b/Nitrox.Server.Subnautica/GameLogic/SubnauticaWorldModifier.cs
@@ -2,7 +2,7 @@
using NitroxServer.GameLogic;
using NitroxServer.Serialization.World;
-namespace NitroxServer_Subnautica.GameLogic;
+namespace Nitrox.Server.Subnautica.GameLogic;
public class SubnauticaWorldModifier : IWorldModifier
{
diff --git a/NitroxServer-Subnautica/GlobalUsings.cs b/Nitrox.Server.Subnautica/GlobalUsings.cs
similarity index 100%
rename from NitroxServer-Subnautica/GlobalUsings.cs
rename to Nitrox.Server.Subnautica/GlobalUsings.cs
diff --git a/NitroxServer-Subnautica/NitroxServer-Subnautica.csproj b/Nitrox.Server.Subnautica/Nitrox.Server.Subnautica.csproj
similarity index 93%
rename from NitroxServer-Subnautica/NitroxServer-Subnautica.csproj
rename to Nitrox.Server.Subnautica/Nitrox.Server.Subnautica.csproj
index e179f3dff..9c10b283b 100644
--- a/NitroxServer-Subnautica/NitroxServer-Subnautica.csproj
+++ b/Nitrox.Server.Subnautica/Nitrox.Server.Subnautica.csproj
@@ -3,7 +3,6 @@
net9.0
Exe
- NitroxServer_Subnautica
diff --git a/NitroxServer-Subnautica/Program.cs b/Nitrox.Server.Subnautica/Program.cs
similarity index 99%
rename from NitroxServer-Subnautica/Program.cs
rename to Nitrox.Server.Subnautica/Program.cs
index cda430a87..231dcfbe1 100644
--- a/NitroxServer-Subnautica/Program.cs
+++ b/Nitrox.Server.Subnautica/Program.cs
@@ -19,10 +19,9 @@
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.DataStructures.Util;
using NitroxModel.Helper;
-using NitroxServer;
using NitroxServer.ConsoleCommands.Processor;
-namespace NitroxServer_Subnautica;
+namespace Nitrox.Server.Subnautica;
[SuppressMessage("Usage", "DIMA001:Dependency Injection container is used directly")]
public class Program
@@ -76,7 +75,7 @@ private static async Task StartServer(string[] args)
Log.Debug($@"Process start args: ""{string.Join(@""", """, NitroxEnvironment.CommandLineArgs)}""");
Task handleConsoleInputTask;
- Server server;
+ NitroxServer.Server server;
try
{
handleConsoleInputTask = HandleConsoleInputAsync(ConsoleCommandHandler(), serverCts.Token);
@@ -103,12 +102,12 @@ private static async Task StartServer(string[] args)
// TODO: Fix DI to not be slow (should not use IO in type constructors). Instead, use Lazy (et al). This way, cancellation can be faster.
NitroxServiceLocator.InitializeDependencyContainer(new SubnauticaServerAutoFacRegistrar());
NitroxServiceLocator.BeginNewLifetimeScope();
- server = NitroxServiceLocator.LocateService();
+ server = NitroxServiceLocator.LocateService();
server.PlayerCountChanged += count =>
{
_ = ipc.SendOutput($"{Ipc.Messages.PlayerCountMessage}:[{count}]");
};
- string serverSaveName = Server.GetSaveName(args, "My World");
+ string serverSaveName = NitroxServer.Server.GetSaveName(args, "My World");
Log.SaveName = serverSaveName;
using (CancellationTokenSource portWaitCts = CancellationTokenSource.CreateLinkedTokenSource(serverCts.Token))
diff --git a/NitroxServer-Subnautica/Properties/AssemblyInfo.cs b/Nitrox.Server.Subnautica/Properties/AssemblyInfo.cs
similarity index 100%
rename from NitroxServer-Subnautica/Properties/AssemblyInfo.cs
rename to Nitrox.Server.Subnautica/Properties/AssemblyInfo.cs
diff --git a/NitroxServer-Subnautica/Properties/launchSettings.json b/Nitrox.Server.Subnautica/Properties/launchSettings.json
similarity index 82%
rename from NitroxServer-Subnautica/Properties/launchSettings.json
rename to Nitrox.Server.Subnautica/Properties/launchSettings.json
index 1f7aca916..1949f8c9f 100644
--- a/NitroxServer-Subnautica/Properties/launchSettings.json
+++ b/Nitrox.Server.Subnautica/Properties/launchSettings.json
@@ -1,6 +1,6 @@
{
"profiles": {
- "NitroxServer-Subnautica": {
+ "Nitrox.Server.Subnautica": {
"commandName": "Project"
},
"Launch test save": {
diff --git a/NitroxServer-Subnautica/Resources/AddressablesTools/AddressablesJsonParser.cs b/Nitrox.Server.Subnautica/Resources/AddressablesTools/AddressablesJsonParser.cs
similarity index 100%
rename from NitroxServer-Subnautica/Resources/AddressablesTools/AddressablesJsonParser.cs
rename to Nitrox.Server.Subnautica/Resources/AddressablesTools/AddressablesJsonParser.cs
diff --git a/NitroxServer-Subnautica/Resources/AddressablesTools/Catalog/ClassJsonObject.cs b/Nitrox.Server.Subnautica/Resources/AddressablesTools/Catalog/ClassJsonObject.cs
similarity index 100%
rename from NitroxServer-Subnautica/Resources/AddressablesTools/Catalog/ClassJsonObject.cs
rename to Nitrox.Server.Subnautica/Resources/AddressablesTools/Catalog/ClassJsonObject.cs
diff --git a/NitroxServer-Subnautica/Resources/AddressablesTools/Catalog/ContentCatalogData.cs b/Nitrox.Server.Subnautica/Resources/AddressablesTools/Catalog/ContentCatalogData.cs
similarity index 100%
rename from NitroxServer-Subnautica/Resources/AddressablesTools/Catalog/ContentCatalogData.cs
rename to Nitrox.Server.Subnautica/Resources/AddressablesTools/Catalog/ContentCatalogData.cs
diff --git a/NitroxServer-Subnautica/Resources/AddressablesTools/Catalog/ObjectInitializationData.cs b/Nitrox.Server.Subnautica/Resources/AddressablesTools/Catalog/ObjectInitializationData.cs
similarity index 100%
rename from NitroxServer-Subnautica/Resources/AddressablesTools/Catalog/ObjectInitializationData.cs
rename to Nitrox.Server.Subnautica/Resources/AddressablesTools/Catalog/ObjectInitializationData.cs
diff --git a/NitroxServer-Subnautica/Resources/AddressablesTools/Catalog/ResourceLocation.cs b/Nitrox.Server.Subnautica/Resources/AddressablesTools/Catalog/ResourceLocation.cs
similarity index 100%
rename from NitroxServer-Subnautica/Resources/AddressablesTools/Catalog/ResourceLocation.cs
rename to Nitrox.Server.Subnautica/Resources/AddressablesTools/Catalog/ResourceLocation.cs
diff --git a/NitroxServer-Subnautica/Resources/AddressablesTools/Catalog/SerializedObjectDecoder.cs b/Nitrox.Server.Subnautica/Resources/AddressablesTools/Catalog/SerializedObjectDecoder.cs
similarity index 100%
rename from NitroxServer-Subnautica/Resources/AddressablesTools/Catalog/SerializedObjectDecoder.cs
rename to Nitrox.Server.Subnautica/Resources/AddressablesTools/Catalog/SerializedObjectDecoder.cs
diff --git a/NitroxServer-Subnautica/Resources/AddressablesTools/Catalog/SerializedType.cs b/Nitrox.Server.Subnautica/Resources/AddressablesTools/Catalog/SerializedType.cs
similarity index 100%
rename from NitroxServer-Subnautica/Resources/AddressablesTools/Catalog/SerializedType.cs
rename to Nitrox.Server.Subnautica/Resources/AddressablesTools/Catalog/SerializedType.cs
diff --git a/NitroxServer-Subnautica/Resources/AddressablesTools/JSON/ContentCatalogDataJson.cs b/Nitrox.Server.Subnautica/Resources/AddressablesTools/JSON/ContentCatalogDataJson.cs
similarity index 100%
rename from NitroxServer-Subnautica/Resources/AddressablesTools/JSON/ContentCatalogDataJson.cs
rename to Nitrox.Server.Subnautica/Resources/AddressablesTools/JSON/ContentCatalogDataJson.cs
diff --git a/NitroxServer-Subnautica/Resources/AddressablesTools/JSON/ObjectInitializationDataJson.cs b/Nitrox.Server.Subnautica/Resources/AddressablesTools/JSON/ObjectInitializationDataJson.cs
similarity index 100%
rename from NitroxServer-Subnautica/Resources/AddressablesTools/JSON/ObjectInitializationDataJson.cs
rename to Nitrox.Server.Subnautica/Resources/AddressablesTools/JSON/ObjectInitializationDataJson.cs
diff --git a/NitroxServer-Subnautica/Resources/AddressablesTools/JSON/SerializedTypeJson.cs b/Nitrox.Server.Subnautica/Resources/AddressablesTools/JSON/SerializedTypeJson.cs
similarity index 100%
rename from NitroxServer-Subnautica/Resources/AddressablesTools/JSON/SerializedTypeJson.cs
rename to Nitrox.Server.Subnautica/Resources/AddressablesTools/JSON/SerializedTypeJson.cs
diff --git a/NitroxServer-Subnautica/Resources/Parsers/Abstract/AssetParser.cs b/Nitrox.Server.Subnautica/Resources/Parsers/Abstract/AssetParser.cs
similarity index 88%
rename from NitroxServer-Subnautica/Resources/Parsers/Abstract/AssetParser.cs
rename to Nitrox.Server.Subnautica/Resources/Parsers/Abstract/AssetParser.cs
index 9fd990513..583041571 100644
--- a/NitroxServer-Subnautica/Resources/Parsers/Abstract/AssetParser.cs
+++ b/Nitrox.Server.Subnautica/Resources/Parsers/Abstract/AssetParser.cs
@@ -1,9 +1,9 @@
using System.IO;
using AssetsTools.NET.Extra;
+using Nitrox.Server.Subnautica.Resources.Parsers.Helper;
using NitroxModel.Helper;
-using NitroxServer_Subnautica.Resources.Parsers.Helper;
-namespace NitroxServer_Subnautica.Resources.Parsers;
+namespace Nitrox.Server.Subnautica.Resources.Parsers;
public abstract class AssetParser
{
diff --git a/NitroxServer-Subnautica/Resources/Parsers/Abstract/BundleFileParser.cs b/Nitrox.Server.Subnautica/Resources/Parsers/Abstract/BundleFileParser.cs
similarity index 93%
rename from NitroxServer-Subnautica/Resources/Parsers/Abstract/BundleFileParser.cs
rename to Nitrox.Server.Subnautica/Resources/Parsers/Abstract/BundleFileParser.cs
index 05e2a4f0f..d0deca253 100644
--- a/NitroxServer-Subnautica/Resources/Parsers/Abstract/BundleFileParser.cs
+++ b/Nitrox.Server.Subnautica/Resources/Parsers/Abstract/BundleFileParser.cs
@@ -3,7 +3,7 @@
using AssetsTools.NET;
using AssetsTools.NET.Extra;
-namespace NitroxServer_Subnautica.Resources.Parsers.Abstract;
+namespace Nitrox.Server.Subnautica.Resources.Parsers.Abstract;
public abstract class BundleFileParser : AssetParser
{
diff --git a/NitroxServer-Subnautica/Resources/Parsers/Abstract/ResourceFileParser.cs b/Nitrox.Server.Subnautica/Resources/Parsers/Abstract/ResourceFileParser.cs
similarity index 88%
rename from NitroxServer-Subnautica/Resources/Parsers/Abstract/ResourceFileParser.cs
rename to Nitrox.Server.Subnautica/Resources/Parsers/Abstract/ResourceFileParser.cs
index 0f55ee81c..a19b60d76 100644
--- a/NitroxServer-Subnautica/Resources/Parsers/Abstract/ResourceFileParser.cs
+++ b/Nitrox.Server.Subnautica/Resources/Parsers/Abstract/ResourceFileParser.cs
@@ -2,7 +2,7 @@
using AssetsTools.NET;
using AssetsTools.NET.Extra;
-namespace NitroxServer_Subnautica.Resources.Parsers.Abstract;
+namespace Nitrox.Server.Subnautica.Resources.Parsers.Abstract;
public abstract class ResourceFileParser : AssetParser
{
diff --git a/NitroxServer-Subnautica/Resources/Parsers/EntityDistributionsParser.cs b/Nitrox.Server.Subnautica/Resources/Parsers/EntityDistributionsParser.cs
similarity index 75%
rename from NitroxServer-Subnautica/Resources/Parsers/EntityDistributionsParser.cs
rename to Nitrox.Server.Subnautica/Resources/Parsers/EntityDistributionsParser.cs
index dcf1c833a..2a52d17e0 100644
--- a/NitroxServer-Subnautica/Resources/Parsers/EntityDistributionsParser.cs
+++ b/Nitrox.Server.Subnautica/Resources/Parsers/EntityDistributionsParser.cs
@@ -1,9 +1,9 @@
using AssetsTools.NET;
using AssetsTools.NET.Extra;
-using NitroxServer_Subnautica.Resources.Parsers.Abstract;
-using NitroxServer_Subnautica.Resources.Parsers.Helper;
+using Nitrox.Server.Subnautica.Resources.Parsers.Abstract;
+using Nitrox.Server.Subnautica.Resources.Parsers.Helper;
-namespace NitroxServer_Subnautica.Resources.Parsers;
+namespace Nitrox.Server.Subnautica.Resources.Parsers;
public sealed class EntityDistributionsParser : ResourceFileParser
{
diff --git a/NitroxServer-Subnautica/Resources/Parsers/Helper/AssetTypeValueFieldExtension.cs b/Nitrox.Server.Subnautica/Resources/Parsers/Helper/AssetTypeValueFieldExtension.cs
similarity index 92%
rename from NitroxServer-Subnautica/Resources/Parsers/Helper/AssetTypeValueFieldExtension.cs
rename to Nitrox.Server.Subnautica/Resources/Parsers/Helper/AssetTypeValueFieldExtension.cs
index fe00c7bbd..671b4e3c9 100644
--- a/NitroxServer-Subnautica/Resources/Parsers/Helper/AssetTypeValueFieldExtension.cs
+++ b/Nitrox.Server.Subnautica/Resources/Parsers/Helper/AssetTypeValueFieldExtension.cs
@@ -2,7 +2,7 @@
using NitroxModel.DataStructures.Unity;
using UnityEngine;
-namespace NitroxServer_Subnautica.Resources.Parsers.Helper;
+namespace Nitrox.Server.Subnautica.Resources.Parsers.Helper;
public static class AssetTypeValueFieldExtension
{
diff --git a/NitroxServer-Subnautica/Resources/Parsers/Helper/AssetsBundleManager.cs b/Nitrox.Server.Subnautica/Resources/Parsers/Helper/AssetsBundleManager.cs
similarity index 99%
rename from NitroxServer-Subnautica/Resources/Parsers/Helper/AssetsBundleManager.cs
rename to Nitrox.Server.Subnautica/Resources/Parsers/Helper/AssetsBundleManager.cs
index c9b913d6e..67fe0f24d 100644
--- a/NitroxServer-Subnautica/Resources/Parsers/Helper/AssetsBundleManager.cs
+++ b/Nitrox.Server.Subnautica/Resources/Parsers/Helper/AssetsBundleManager.cs
@@ -5,7 +5,7 @@
using AssetsTools.NET.Extra;
using NitroxModel.DataStructures.Unity;
-namespace NitroxServer_Subnautica.Resources.Parsers.Helper;
+namespace Nitrox.Server.Subnautica.Resources.Parsers.Helper;
public class AssetsBundleManager : AssetsManager
{
diff --git a/NitroxServer-Subnautica/Resources/Parsers/Helper/AssetsFileMetadataExtension.cs b/Nitrox.Server.Subnautica/Resources/Parsers/Helper/AssetsFileMetadataExtension.cs
similarity index 90%
rename from NitroxServer-Subnautica/Resources/Parsers/Helper/AssetsFileMetadataExtension.cs
rename to Nitrox.Server.Subnautica/Resources/Parsers/Helper/AssetsFileMetadataExtension.cs
index a8abeccbd..0221645cb 100644
--- a/NitroxServer-Subnautica/Resources/Parsers/Helper/AssetsFileMetadataExtension.cs
+++ b/Nitrox.Server.Subnautica/Resources/Parsers/Helper/AssetsFileMetadataExtension.cs
@@ -1,7 +1,7 @@
using AssetsTools.NET;
using AssetsTools.NET.Extra;
-namespace NitroxServer_Subnautica.Resources.Parsers.Helper;
+namespace Nitrox.Server.Subnautica.Resources.Parsers.Helper;
public static class AssetsFileMetadataExtension
{
diff --git a/NitroxServer-Subnautica/Resources/Parsers/Helper/ThreadSafeMonoCecilTempGenerator.cs b/Nitrox.Server.Subnautica/Resources/Parsers/Helper/ThreadSafeMonoCecilTempGenerator.cs
similarity index 94%
rename from NitroxServer-Subnautica/Resources/Parsers/Helper/ThreadSafeMonoCecilTempGenerator.cs
rename to Nitrox.Server.Subnautica/Resources/Parsers/Helper/ThreadSafeMonoCecilTempGenerator.cs
index 54a82a783..5c058244d 100644
--- a/NitroxServer-Subnautica/Resources/Parsers/Helper/ThreadSafeMonoCecilTempGenerator.cs
+++ b/Nitrox.Server.Subnautica/Resources/Parsers/Helper/ThreadSafeMonoCecilTempGenerator.cs
@@ -5,7 +5,7 @@
using AssetsTools.NET.Extra;
using Mono.Cecil;
-namespace NitroxServer_Subnautica.Resources.Parsers.Helper;
+namespace Nitrox.Server.Subnautica.Resources.Parsers.Helper;
public class ThreadSafeMonoCecilTempGenerator : IMonoBehaviourTemplateGenerator, IDisposable
{
diff --git a/NitroxServer-Subnautica/Resources/Parsers/PrefabPlaceholderGroupsParser.cs b/Nitrox.Server.Subnautica/Resources/Parsers/PrefabPlaceholderGroupsParser.cs
similarity index 99%
rename from NitroxServer-Subnautica/Resources/Parsers/PrefabPlaceholderGroupsParser.cs
rename to Nitrox.Server.Subnautica/Resources/Parsers/PrefabPlaceholderGroupsParser.cs
index 60ad7090e..0126ad112 100644
--- a/NitroxServer-Subnautica/Resources/Parsers/PrefabPlaceholderGroupsParser.cs
+++ b/Nitrox.Server.Subnautica/Resources/Parsers/PrefabPlaceholderGroupsParser.cs
@@ -9,13 +9,13 @@
using AssetsTools.NET;
using AssetsTools.NET.Extra;
using Newtonsoft.Json;
+using Nitrox.Server.Subnautica.Resources.Parsers.Helper;
using NitroxModel.DataStructures.Unity;
using NitroxModel.Helper;
-using NitroxServer_Subnautica.Resources.Parsers.Helper;
using NitroxServer.GameLogic.Entities;
using NitroxServer.Resources;
-namespace NitroxServer_Subnautica.Resources.Parsers;
+namespace Nitrox.Server.Subnautica.Resources.Parsers;
public sealed class PrefabPlaceholderGroupsParser : IDisposable
{
diff --git a/NitroxServer-Subnautica/Resources/Parsers/RandomStartParser.cs b/Nitrox.Server.Subnautica/Resources/Parsers/RandomStartParser.cs
similarity index 91%
rename from NitroxServer-Subnautica/Resources/Parsers/RandomStartParser.cs
rename to Nitrox.Server.Subnautica/Resources/Parsers/RandomStartParser.cs
index 88051ab02..d66c1dfbb 100644
--- a/NitroxServer-Subnautica/Resources/Parsers/RandomStartParser.cs
+++ b/Nitrox.Server.Subnautica/Resources/Parsers/RandomStartParser.cs
@@ -1,14 +1,14 @@
using AssetsTools.NET;
using AssetsTools.NET.Extra;
+using Nitrox.Server.Subnautica.Resources.Parsers.Abstract;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.Helper;
-using NitroxServer_Subnautica.Resources.Parsers.Abstract;
-using NitroxServer_Subnautica.Resources.Parsers.Helper;
+using Nitrox.Server.Subnautica.Resources.Parsers.Helper;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
-namespace NitroxServer_Subnautica.Resources.Parsers;
+namespace Nitrox.Server.Subnautica.Resources.Parsers;
public sealed class RandomStartParser : BundleFileParser
{
diff --git a/NitroxServer-Subnautica/Resources/Parsers/WorldEntityInfoParser.cs b/Nitrox.Server.Subnautica/Resources/Parsers/WorldEntityInfoParser.cs
similarity index 88%
rename from NitroxServer-Subnautica/Resources/Parsers/WorldEntityInfoParser.cs
rename to Nitrox.Server.Subnautica/Resources/Parsers/WorldEntityInfoParser.cs
index 7686d76b6..aa2998e5a 100644
--- a/NitroxServer-Subnautica/Resources/Parsers/WorldEntityInfoParser.cs
+++ b/Nitrox.Server.Subnautica/Resources/Parsers/WorldEntityInfoParser.cs
@@ -1,11 +1,11 @@
using System.Collections.Generic;
using AssetsTools.NET;
using AssetsTools.NET.Extra;
-using NitroxServer_Subnautica.Resources.Parsers.Abstract;
-using NitroxServer_Subnautica.Resources.Parsers.Helper;
+using Nitrox.Server.Subnautica.Resources.Parsers.Abstract;
+using Nitrox.Server.Subnautica.Resources.Parsers.Helper;
using UWE;
-namespace NitroxServer_Subnautica.Resources.Parsers;
+namespace Nitrox.Server.Subnautica.Resources.Parsers;
public sealed class WorldEntityInfoParser : ResourceFileParser>
{
diff --git a/NitroxServer-Subnautica/Resources/ResourceAssets.cs b/Nitrox.Server.Subnautica/Resources/ResourceAssets.cs
similarity index 95%
rename from NitroxServer-Subnautica/Resources/ResourceAssets.cs
rename to Nitrox.Server.Subnautica/Resources/ResourceAssets.cs
index f33e5c413..403e28038 100644
--- a/NitroxServer-Subnautica/Resources/ResourceAssets.cs
+++ b/Nitrox.Server.Subnautica/Resources/ResourceAssets.cs
@@ -4,7 +4,7 @@
using NitroxServer.Resources;
using UWE;
-namespace NitroxServer_Subnautica.Resources;
+namespace Nitrox.Server.Subnautica.Resources;
public class ResourceAssets
{
diff --git a/NitroxServer-Subnautica/Resources/ResourceAssetsParser.cs b/Nitrox.Server.Subnautica/Resources/ResourceAssetsParser.cs
similarity index 96%
rename from NitroxServer-Subnautica/Resources/ResourceAssetsParser.cs
rename to Nitrox.Server.Subnautica/Resources/ResourceAssetsParser.cs
index d2fe3e1dc..b2855952c 100644
--- a/NitroxServer-Subnautica/Resources/ResourceAssetsParser.cs
+++ b/Nitrox.Server.Subnautica/Resources/ResourceAssetsParser.cs
@@ -1,9 +1,9 @@
using System.IO;
+using Nitrox.Server.Subnautica.Resources.Parsers;
using NitroxModel;
using NitroxModel.Helper;
-using NitroxServer_Subnautica.Resources.Parsers;
-namespace NitroxServer_Subnautica.Resources;
+namespace Nitrox.Server.Subnautica.Resources;
public static class ResourceAssetsParser
{
diff --git a/NitroxServer-Subnautica/Serialization/SubnauticaServerJsonSerializer.cs b/Nitrox.Server.Subnautica/Serialization/SubnauticaServerJsonSerializer.cs
similarity index 79%
rename from NitroxServer-Subnautica/Serialization/SubnauticaServerJsonSerializer.cs
rename to Nitrox.Server.Subnautica/Serialization/SubnauticaServerJsonSerializer.cs
index ad9e79362..f2740cb1e 100644
--- a/NitroxServer-Subnautica/Serialization/SubnauticaServerJsonSerializer.cs
+++ b/Nitrox.Server.Subnautica/Serialization/SubnauticaServerJsonSerializer.cs
@@ -1,6 +1,6 @@
using NitroxServer.Serialization;
-namespace NitroxServer_Subnautica.Serialization
+namespace Nitrox.Server.Subnautica.Serialization
{
class SubnauticaServerJsonSerializer : ServerJsonSerializer
{
diff --git a/NitroxServer-Subnautica/Serialization/SubnauticaServerProtoBufSerializer.cs b/Nitrox.Server.Subnautica/Serialization/SubnauticaServerProtoBufSerializer.cs
similarity index 92%
rename from NitroxServer-Subnautica/Serialization/SubnauticaServerProtoBufSerializer.cs
rename to Nitrox.Server.Subnautica/Serialization/SubnauticaServerProtoBufSerializer.cs
index 46632d69b..4633f06f4 100644
--- a/NitroxServer-Subnautica/Serialization/SubnauticaServerProtoBufSerializer.cs
+++ b/Nitrox.Server.Subnautica/Serialization/SubnauticaServerProtoBufSerializer.cs
@@ -3,7 +3,7 @@
using NitroxServer.Serialization;
using UnityEngine;
-namespace NitroxServer_Subnautica.Serialization
+namespace Nitrox.Server.Subnautica.Serialization
{
class SubnauticaServerProtoBufSerializer : ServerProtoBufSerializer
{
@@ -12,7 +12,7 @@ public SubnauticaServerProtoBufSerializer(params string[] assemblies) : base(ass
RegisterHardCodedTypes();
}
- // Register here all hard coded types, that come from NitroxModel-Subnautica or NitroxServer-Subnautica
+ // Register here all hard coded types, that come from NitroxModel-Subnautica or Nitrox.Server.Subnautica
private void RegisterHardCodedTypes()
{
Model.Add(typeof(Light), true);
diff --git a/NitroxServer-Subnautica/SubnauticaServerAutoFacRegistrar.cs b/Nitrox.Server.Subnautica/SubnauticaServerAutoFacRegistrar.cs
similarity index 92%
rename from NitroxServer-Subnautica/SubnauticaServerAutoFacRegistrar.cs
rename to Nitrox.Server.Subnautica/SubnauticaServerAutoFacRegistrar.cs
index 4cffa684b..8cd8af538 100644
--- a/NitroxServer-Subnautica/SubnauticaServerAutoFacRegistrar.cs
+++ b/Nitrox.Server.Subnautica/SubnauticaServerAutoFacRegistrar.cs
@@ -1,4 +1,9 @@
using Autofac;
+using Nitrox.Server.Subnautica.GameLogic;
+using Nitrox.Server.Subnautica.GameLogic.Entities;
+using Nitrox.Server.Subnautica.GameLogic.Entities.Spawning;
+using Nitrox.Server.Subnautica.Resources;
+using Nitrox.Server.Subnautica.Serialization;
using NitroxModel;
using NitroxModel.DataStructures.GameLogic.Entities;
using NitroxModel.GameLogic.FMOD;
@@ -11,13 +16,8 @@
using NitroxServer.GameLogic.Entities.Spawning;
using NitroxServer.Resources;
using NitroxServer.Serialization;
-using NitroxServer_Subnautica.GameLogic;
-using NitroxServer_Subnautica.GameLogic.Entities;
-using NitroxServer_Subnautica.GameLogic.Entities.Spawning;
-using NitroxServer_Subnautica.Resources;
-using NitroxServer_Subnautica.Serialization;
-namespace NitroxServer_Subnautica
+namespace Nitrox.Server.Subnautica
{
public class SubnauticaServerAutoFacRegistrar : ServerAutoFacRegistrar
{
diff --git a/Nitrox.Test/Helper/Faker/NitroxAbstractFaker.cs b/Nitrox.Test/Helper/Faker/NitroxAbstractFaker.cs
index 04afa8466..bcb3f7274 100644
--- a/Nitrox.Test/Helper/Faker/NitroxAbstractFaker.cs
+++ b/Nitrox.Test/Helper/Faker/NitroxAbstractFaker.cs
@@ -6,7 +6,7 @@
using NitroxModel.Packets;
using NitroxModel.Packets.Processors.Abstract;
using NitroxServer;
-using NitroxServer_Subnautica;
+using Nitrox.Server.Subnautica;
using NitroxServer.ConsoleCommands.Abstract;
namespace Nitrox.Test.Helper.Faker;
diff --git a/Nitrox.Test/Model/Packets/Processors/PacketProcessorTest.cs b/Nitrox.Test/Model/Packets/Processors/PacketProcessorTest.cs
index 773e6d9b2..229f1a990 100644
--- a/Nitrox.Test/Model/Packets/Processors/PacketProcessorTest.cs
+++ b/Nitrox.Test/Model/Packets/Processors/PacketProcessorTest.cs
@@ -11,7 +11,7 @@
using NitroxServer.Communication.Packets;
using NitroxServer.Communication.Packets.Processors;
using NitroxServer.Communication.Packets.Processors.Abstract;
-using NitroxServer_Subnautica;
+using Nitrox.Server.Subnautica;
namespace NitroxModel.Packets.Processors
{
diff --git a/Nitrox.Test/Nitrox.Test.csproj b/Nitrox.Test/Nitrox.Test.csproj
index f73ba3bb1..dcec6c0ef 100644
--- a/Nitrox.Test/Nitrox.Test.csproj
+++ b/Nitrox.Test/Nitrox.Test.csproj
@@ -29,7 +29,7 @@
-
+
diff --git a/Nitrox.Test/Server/Serialization/WorldPersistenceTest.cs b/Nitrox.Test/Server/Serialization/WorldPersistenceTest.cs
index 987efd7d2..c3976be35 100644
--- a/Nitrox.Test/Server/Serialization/WorldPersistenceTest.cs
+++ b/Nitrox.Test/Server/Serialization/WorldPersistenceTest.cs
@@ -9,7 +9,7 @@
using NitroxServer.GameLogic;
using NitroxServer.GameLogic.Unlockables;
using NitroxServer.Serialization.World;
-using NitroxServer_Subnautica;
+using Nitrox.Server.Subnautica;
namespace NitroxServer.Serialization;
diff --git a/Nitrox.sln b/Nitrox.sln
index 246700e66..f80829148 100644
--- a/Nitrox.sln
+++ b/Nitrox.sln
@@ -30,7 +30,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NitroxPatcher", "NitroxPatc
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NitroxServer", "NitroxServer\NitroxServer.csproj", "{0CD6846B-EDA6-4FFD-A540-2A46CC1074BF}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NitroxServer-Subnautica", "NitroxServer-Subnautica\NitroxServer-Subnautica.csproj", "{77692FDB-F713-41F1-B2AB-9019457B8909}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nitrox.Server.Subnautica", "Nitrox.Server.Subnautica\Nitrox.Server.Subnautica.csproj", "{77692FDB-F713-41F1-B2AB-9019457B8909}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/JoinServerBackend.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/JoinServerBackend.cs
index 627ffceda..e32d8dbf9 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/JoinServerBackend.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/JoinServerBackend.cs
@@ -125,7 +125,7 @@ public static async Task StartMultiplayerClientAsync(IPAddress ip, int port)
if (ip.IsLocalhost())
{
- if (Process.GetProcessesByName("NitroxServer-Subnautica").Length == 0)
+ if (Process.GetProcessesByName("Nitrox.Server.Subnautica").Length == 0)
{
Log.Error("No server process was found while address was localhost");
msg += $"\n{Language.main.Get("Nitrox_StartServer")}";
From 801452475c044f4eb6ead53196d83ff86b8b4a8d Mon Sep 17 00:00:00 2001
From: rootcan <24827220+tornac1234@users.noreply.github.com>
Date: Sun, 12 Oct 2025 03:05:10 +0200
Subject: [PATCH 11/50] Fix constructables sending one too many packet when
being destroyed
---
NitroxClient/Helpers/ThrottledPacketSender.cs | 5 ++++-
.../Patches/Dynamic/Constructable_Construct_Patch.cs | 6 ++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/NitroxClient/Helpers/ThrottledPacketSender.cs b/NitroxClient/Helpers/ThrottledPacketSender.cs
index 781f89fc9..3776848e3 100644
--- a/NitroxClient/Helpers/ThrottledPacketSender.cs
+++ b/NitroxClient/Helpers/ThrottledPacketSender.cs
@@ -47,8 +47,11 @@ public bool SendThrottled(T packet, Func dedupeMethod, float throt
return true;
}
- throttledPackets.Add(dedupeKey, new ThrottledPacket(packet, throttleTime));
+ throttledPacket = new(packet, throttleTime);
+ throttledPackets.Add(dedupeKey, throttledPacket);
packetSender.Send(packet);
+ // It's very important to set WasSend to true, otherwise the packet will be sent again in Update()
+ throttledPacket.WasSend = true;
return true;
}
diff --git a/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs b/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs
index e075d1a9e..fb5d4a16b 100644
--- a/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs
@@ -103,6 +103,12 @@ public static void ConstructionAmountModified(Constructable constructable, bool
// update as a normal module
Resolve().SendThrottled(new ModifyConstructedAmount(entityId, amount),
(packet) => { return packet.GhostId; }, 0.1f);
+
+ // If we're done with that ghost we can remove the throttled packets
+ if (amount == 0)
+ {
+ Resolve().RemovePendingPackets(entityId);
+ }
}
public static IEnumerator BroadcastObjectBuilt(ConstructableBase constructableBase, NitroxId entityId)
From e574b7b298d24512ae43dc17cfbc6a977b60a0b7 Mon Sep 17 00:00:00 2001
From: rootcan <24827220+tornac1234@users.noreply.github.com>
Date: Sun, 12 Oct 2025 04:26:24 +0200
Subject: [PATCH 12/50] Fix base building tracker thinking a newly built base's
last operation is -1 instead of 0
---
NitroxClient/GameLogic/Bases/BuildingHandler.cs | 3 +++
1 file changed, 3 insertions(+)
diff --git a/NitroxClient/GameLogic/Bases/BuildingHandler.cs b/NitroxClient/GameLogic/Bases/BuildingHandler.cs
index 7825b3b0b..68b4c804b 100644
--- a/NitroxClient/GameLogic/Bases/BuildingHandler.cs
+++ b/NitroxClient/GameLogic/Bases/BuildingHandler.cs
@@ -183,6 +183,9 @@ public IEnumerator BuildBase(PlaceBase placeBase)
baseGhost.targetBase.gameObject.EnsureComponent().RegisterMoonpool(absoluteCell, moonpoolId);
}
+ // It's very important that the tracker starts at 0 here because otherwise, it'd be
+ // misevaluated to -1 if the local client was to start editing this base
+ EnsureTracker(placeBase.FormerGhostId).ResetToId(0);
BasesCooldown[placeBase.FormerGhostId] = DateTimeOffset.UtcNow;
}
From 7b99d8854a677f39ed7fb1035ab2b88979b23368 Mon Sep 17 00:00:00 2001
From: rootcan <24827220+tornac1234@users.noreply.github.com>
Date: Sun, 12 Oct 2025 04:27:17 +0200
Subject: [PATCH 13/50] Fix server build processor crashing when failing to
assign an already assigned base to a player
---
.../Packets/Processors/BuildingProcessor.cs | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/NitroxServer/Communication/Packets/Processors/BuildingProcessor.cs b/NitroxServer/Communication/Packets/Processors/BuildingProcessor.cs
index be29c3a1a..e77785866 100644
--- a/NitroxServer/Communication/Packets/Processors/BuildingProcessor.cs
+++ b/NitroxServer/Communication/Packets/Processors/BuildingProcessor.cs
@@ -1,3 +1,4 @@
+using System;
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic;
using NitroxModel.Packets;
@@ -30,10 +31,19 @@ public void SendToOtherPlayersWithOperationId(T packet, Player player, int opera
playerManager.SendPacketToOtherPlayers(packet, player);
}
+ ///
+ /// Attempts to acquire simulation ownership on for .
+ /// If the attempt is unsuccessful, nothing will happen.
+ ///
public void ClaimBuildPiece(Entity entity, Player player)
{
- SimulatedEntity simulatedEntity = entitySimulation.AssignNewEntityToPlayer(entity, player, false);
- SimulationOwnershipChange ownershipChangePacket = new(simulatedEntity);
- playerManager.SendPacketToAllPlayers(ownershipChangePacket);
+ try
+ {
+ SimulatedEntity simulatedEntity = entitySimulation.AssignNewEntityToPlayer(entity, player, false);
+ SimulationOwnershipChange ownershipChangePacket = new(simulatedEntity);
+ playerManager.SendPacketToAllPlayers(ownershipChangePacket);
+ }
+ catch (Exception)
+ { }
}
}
From b260ec968eb0f1a5a5535264a48a772e53145e02 Mon Sep 17 00:00:00 2001
From: rootcan <24827220+tornac1234@users.noreply.github.com>
Date: Sun, 12 Oct 2025 04:57:00 +0200
Subject: [PATCH 14/50] Replace AssignNewEntityToPlayer by
TryAssignEntityToPlayer
---
.../Packets/Processors/BuildingProcessor.cs | 10 ++++------
.../Processors/EntitySpawnedByClientProcessor.cs | 6 ++----
.../Packets/Processors/PlaceBaseProcessor.cs | 2 +-
.../Packets/Processors/PlaceModuleProcessor.cs | 2 +-
.../Packets/Processors/UpdateBaseProcessor.cs | 2 +-
NitroxServer/GameLogic/Entities/EntitySimulation.cs | 8 +++++---
6 files changed, 14 insertions(+), 16 deletions(-)
diff --git a/NitroxServer/Communication/Packets/Processors/BuildingProcessor.cs b/NitroxServer/Communication/Packets/Processors/BuildingProcessor.cs
index e77785866..709846d76 100644
--- a/NitroxServer/Communication/Packets/Processors/BuildingProcessor.cs
+++ b/NitroxServer/Communication/Packets/Processors/BuildingProcessor.cs
@@ -33,17 +33,15 @@ public void SendToOtherPlayersWithOperationId(T packet, Player player, int opera
///
/// Attempts to acquire simulation ownership on for .
- /// If the attempt is unsuccessful, nothing will happen.
+ /// If the attempt is successful, it will be notified to all players.
+ /// Otherwise, nothing will happen.
///
- public void ClaimBuildPiece(Entity entity, Player player)
+ public void TryClaimBuildPiece(Entity entity, Player player)
{
- try
+ if (entitySimulation.TryAssignEntityToPlayer(entity, player, false, out SimulatedEntity simulatedEntity))
{
- SimulatedEntity simulatedEntity = entitySimulation.AssignNewEntityToPlayer(entity, player, false);
SimulationOwnershipChange ownershipChangePacket = new(simulatedEntity);
playerManager.SendPacketToAllPlayers(ownershipChangePacket);
}
- catch (Exception)
- { }
}
}
diff --git a/NitroxServer/Communication/Packets/Processors/EntitySpawnedByClientProcessor.cs b/NitroxServer/Communication/Packets/Processors/EntitySpawnedByClientProcessor.cs
index 74c292bfd..da83a9eea 100644
--- a/NitroxServer/Communication/Packets/Processors/EntitySpawnedByClientProcessor.cs
+++ b/NitroxServer/Communication/Packets/Processors/EntitySpawnedByClientProcessor.cs
@@ -37,11 +37,9 @@ public override void Process(EntitySpawnedByClient packet, Player playerWhoSpawn
worldEntityManager.TrackEntityInTheWorld(worldEntity);
}
- if (packet.RequireSimulation)
+ if (packet.RequireSimulation && entitySimulation.TryAssignEntityToPlayer(entity, playerWhoSpawned, true, out simulatedEntity))
{
- simulatedEntity = entitySimulation.AssignNewEntityToPlayer(entity, playerWhoSpawned);
-
- SimulationOwnershipChange ownershipChangePacket = new SimulationOwnershipChange(simulatedEntity);
+ SimulationOwnershipChange ownershipChangePacket = new(simulatedEntity);
playerManager.SendPacketToAllPlayers(ownershipChangePacket);
}
diff --git a/NitroxServer/Communication/Packets/Processors/PlaceBaseProcessor.cs b/NitroxServer/Communication/Packets/Processors/PlaceBaseProcessor.cs
index 4fe9a0e16..fa1991855 100644
--- a/NitroxServer/Communication/Packets/Processors/PlaceBaseProcessor.cs
+++ b/NitroxServer/Communication/Packets/Processors/PlaceBaseProcessor.cs
@@ -13,7 +13,7 @@ public override void Process(PlaceBase packet, Player player)
{
if (buildingManager.CreateBase(packet))
{
- ClaimBuildPiece(packet.BuildEntity, player);
+ TryClaimBuildPiece(packet.BuildEntity, player);
// End-players can process elementary operations without this data (packet would be heavier for no reason)
packet.Deflate();
diff --git a/NitroxServer/Communication/Packets/Processors/PlaceModuleProcessor.cs b/NitroxServer/Communication/Packets/Processors/PlaceModuleProcessor.cs
index d143aa2dc..83b2cf7ef 100644
--- a/NitroxServer/Communication/Packets/Processors/PlaceModuleProcessor.cs
+++ b/NitroxServer/Communication/Packets/Processors/PlaceModuleProcessor.cs
@@ -15,7 +15,7 @@ public override void Process(PlaceModule packet, Player player)
{
if (packet.ModuleEntity.ParentId == null || !packet.ModuleEntity.IsInside)
{
- ClaimBuildPiece(packet.ModuleEntity, player);
+ TryClaimBuildPiece(packet.ModuleEntity, player);
}
playerManager.SendPacketToOtherPlayers(packet, player);
}
diff --git a/NitroxServer/Communication/Packets/Processors/UpdateBaseProcessor.cs b/NitroxServer/Communication/Packets/Processors/UpdateBaseProcessor.cs
index 8a8ca1c3b..9afbb5165 100644
--- a/NitroxServer/Communication/Packets/Processors/UpdateBaseProcessor.cs
+++ b/NitroxServer/Communication/Packets/Processors/UpdateBaseProcessor.cs
@@ -16,7 +16,7 @@ public override void Process(UpdateBase packet, Player player)
{
if (packet.BuiltPieceEntity is GlobalRootEntity entity)
{
- ClaimBuildPiece(entity, player);
+ TryClaimBuildPiece(entity, player);
}
// End-players can process elementary operations without this data (packet would be heavier for no reason)
packet.Deflate();
diff --git a/NitroxServer/GameLogic/Entities/EntitySimulation.cs b/NitroxServer/GameLogic/Entities/EntitySimulation.cs
index 2ecc29208..9f67f35a6 100644
--- a/NitroxServer/GameLogic/Entities/EntitySimulation.cs
+++ b/NitroxServer/GameLogic/Entities/EntitySimulation.cs
@@ -71,15 +71,17 @@ public List CalculateSimulationChangesFromPlayerDisconnect(Play
return ownershipChanges;
}
- public SimulatedEntity AssignNewEntityToPlayer(Entity entity, Player player, bool shouldEntityMove = true)
+ public bool TryAssignEntityToPlayer(Entity entity, Player player, bool shouldEntityMove, out SimulatedEntity simulatedEntity)
{
if (simulationOwnershipData.TryToAcquire(entity.Id, player, DEFAULT_ENTITY_SIMULATION_LOCKTYPE))
{
bool doesEntityMove = shouldEntityMove && entity is WorldEntity worldEntity && ShouldSimulateEntityMovement(worldEntity);
- return new SimulatedEntity(entity.Id, player.Id, doesEntityMove, DEFAULT_ENTITY_SIMULATION_LOCKTYPE);
+ simulatedEntity = new(entity.Id, player.Id, doesEntityMove, DEFAULT_ENTITY_SIMULATION_LOCKTYPE);
+ return true;
}
- throw new Exception($"New entity was already being simulated by someone else: {entity.Id}");
+ simulatedEntity = null;
+ return false;
}
public List AssignGlobalRootEntitiesAndGetData(Player player)
From 4fca09b9f17a81d31cc242020a7fb99322d34e59 Mon Sep 17 00:00:00 2001
From: rootcan <24827220+tornac1234@users.noreply.github.com>
Date: Sun, 12 Oct 2025 05:08:21 +0200
Subject: [PATCH 15/50] Ensures vehicle charging only occurs on the simulating
player
---
.../Patches/Dynamic/Vehicle_AddEnergy_Patch.cs | 18 ++++++++++++++++++
.../Vehicle_UpdateEnergyRecharge_Patch.cs | 18 ++++++++++++++++++
2 files changed, 36 insertions(+)
create mode 100644 NitroxPatcher/Patches/Dynamic/Vehicle_AddEnergy_Patch.cs
create mode 100644 NitroxPatcher/Patches/Dynamic/Vehicle_UpdateEnergyRecharge_Patch.cs
diff --git a/NitroxPatcher/Patches/Dynamic/Vehicle_AddEnergy_Patch.cs b/NitroxPatcher/Patches/Dynamic/Vehicle_AddEnergy_Patch.cs
new file mode 100644
index 000000000..b7de8b7d7
--- /dev/null
+++ b/NitroxPatcher/Patches/Dynamic/Vehicle_AddEnergy_Patch.cs
@@ -0,0 +1,18 @@
+using System.Reflection;
+using NitroxClient.GameLogic;
+using NitroxModel.DataStructures;
+
+namespace NitroxPatcher.Patches.Dynamic;
+
+///
+/// Ensures vehicle charging from modules only occurs on the simulating player.
+///
+public sealed partial class Vehicle_AddEnergy_Patch : NitroxPatch, IDynamicPatch
+{
+ private static readonly MethodInfo TARGET_METHOD = Reflect.Method((Vehicle t) => t.AddEnergy(default));
+
+ public static bool Prefix(Vehicle __instance)
+ {
+ return __instance.TryGetNitroxId(out NitroxId vehicleId) && Resolve().HasAnyLockType(vehicleId);
+ }
+}
diff --git a/NitroxPatcher/Patches/Dynamic/Vehicle_UpdateEnergyRecharge_Patch.cs b/NitroxPatcher/Patches/Dynamic/Vehicle_UpdateEnergyRecharge_Patch.cs
new file mode 100644
index 000000000..6839eae94
--- /dev/null
+++ b/NitroxPatcher/Patches/Dynamic/Vehicle_UpdateEnergyRecharge_Patch.cs
@@ -0,0 +1,18 @@
+using System.Reflection;
+using NitroxClient.GameLogic;
+using NitroxModel.DataStructures;
+
+namespace NitroxPatcher.Patches.Dynamic;
+
+///
+/// Ensures vehicle charging from moonpool only occurs on the simulating player.
+///
+public sealed partial class Vehicle_UpdateEnergyRecharge_Patch : NitroxPatch, IDynamicPatch
+{
+ private static readonly MethodInfo TARGET_METHOD = Reflect.Method((Vehicle t) => t.UpdateEnergyRecharge());
+
+ public static bool Prefix(Vehicle __instance)
+ {
+ return __instance.TryGetNitroxId(out NitroxId vehicleId) && Resolve().HasAnyLockType(vehicleId);
+ }
+}
From 74e848c48b8ba4f4eac59f13a38a4a249b20e98f Mon Sep 17 00:00:00 2001
From: rootcan <24827220+tornac1234@users.noreply.github.com>
Date: Sun, 12 Oct 2025 05:40:48 +0200
Subject: [PATCH 16/50] Fix reefbacks barnacles being too small
---
.../Spawning/WorldEntities/ReefbackChildEntitySpawner.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackChildEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackChildEntitySpawner.cs
index 1a30e761c..cfce69249 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackChildEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackChildEntitySpawner.cs
@@ -81,8 +81,8 @@ private static void SetupObject(ReefbackChildEntity entity, GameObject gameObjec
transform.localPosition = entity.Transform.LocalPosition.ToUnity();
transform.localRotation = entity.Transform.LocalRotation.ToUnity();
- transform.localScale = entity.Transform.LocalScale.ToUnity();
-
+ // We don't set the localScale because it is already correct from the prefab but the server doesn't know about it (which doesn't matter)
+
// Positioning from ReefbackLife.SpawnPlants and ReefbackLife.SpawnCreatures
switch (entity.Type)
{
From ef4a343e4517d5268cdf64a79523b72acd8ce5dc Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Mon, 13 Oct 2025 17:29:25 +0200
Subject: [PATCH 17/50] Added game version to Nitrox game-xxx.log
---
NitroxPatcher/Main.cs | 1 +
1 file changed, 1 insertion(+)
diff --git a/NitroxPatcher/Main.cs b/NitroxPatcher/Main.cs
index 317f3a9da..dc69f9dca 100644
--- a/NitroxPatcher/Main.cs
+++ b/NitroxPatcher/Main.cs
@@ -115,6 +115,7 @@ private static void InitWithDependencies()
};
Log.Info($"Using Nitrox {NitroxEnvironment.VersionInfo} built on {NitroxEnvironment.BuildDate:F}");
+ Log.Info($"Game version: {Application.version}");
try
{
Patcher.Initialize();
From d7a0ad8e5214073584cdbf41a6fb8cbd5f785bf5 Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Mon, 13 Oct 2025 17:33:56 +0200
Subject: [PATCH 18/50] Fixed server list crashing out if parsing fails. Making
Nitrox crash.
---
NitroxModel/Serialization/ServerList.cs | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/NitroxModel/Serialization/ServerList.cs b/NitroxModel/Serialization/ServerList.cs
index 1598dda70..0eeeab96e 100644
--- a/NitroxModel/Serialization/ServerList.cs
+++ b/NitroxModel/Serialization/ServerList.cs
@@ -38,7 +38,12 @@ public static ServerList From()
{
// Create file if it doesn't exist yet.
string file = DefaultFile;
- if (!File.Exists(file))
+ string[] lines;
+ try
+ {
+ lines = File.ReadAllLines(file);
+ }
+ catch (IOException)
{
instance = Default;
instance.Save();
@@ -46,7 +51,7 @@ public static ServerList From()
}
ServerList list = new();
- foreach (string line in File.ReadAllLines(file))
+ foreach (string line in lines)
{
Entry entry = Entry.FromLine(line);
if (entry == null)
@@ -117,7 +122,7 @@ public Entry(string name, IPAddress address, int port, bool persist = true) : th
{
}
- public static Entry FromLine(string line)
+ public static Entry? FromLine(string line)
{
if (string.IsNullOrWhiteSpace(line))
{
@@ -145,7 +150,8 @@ public static Entry FromLine(string line)
}
break;
default:
- throw new Exception($"Expected server entry to have 2 or 3 parts: {line}");
+ Log.Warn($"A server list entry contained too many elements. Either 2 or 3 is valid but was: {line}");
+ return null;
}
string name = parts[0].Trim();
From 4a2c616ba2a6e98349ec4d5ec293f83f56e94c7b Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Mon, 13 Oct 2025 17:45:12 +0200
Subject: [PATCH 19/50] Used null-pattern-match in ServerList.From()
---
NitroxModel/Serialization/ServerList.cs | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/NitroxModel/Serialization/ServerList.cs b/NitroxModel/Serialization/ServerList.cs
index 0eeeab96e..160fa0f57 100644
--- a/NitroxModel/Serialization/ServerList.cs
+++ b/NitroxModel/Serialization/ServerList.cs
@@ -53,13 +53,10 @@ public static ServerList From()
ServerList list = new();
foreach (string line in lines)
{
- Entry entry = Entry.FromLine(line);
- if (entry == null)
+ if (Entry.FromLine(line) is { } entry)
{
- continue;
+ list.entries.Add(entry);
}
-
- list.entries.Add(entry);
}
return list;
}
From b1a624f30bb69de0c8cfabf6ac4c9e2a5ddd953b Mon Sep 17 00:00:00 2001
From: dartasen
Date: Mon, 13 Oct 2025 18:28:52 +0200
Subject: [PATCH 20/50] Turned off verbosity for NtpSync
---
NitroxServer/GameLogic/TimeKeeper.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/NitroxServer/GameLogic/TimeKeeper.cs b/NitroxServer/GameLogic/TimeKeeper.cs
index ca8ee59ea..c8b2e0af7 100644
--- a/NitroxServer/GameLogic/TimeKeeper.cs
+++ b/NitroxServer/GameLogic/TimeKeeper.cs
@@ -85,7 +85,7 @@ public TimeKeeper(PlayerManager playerManager, NtpSyncer ntpSyncer, double elaps
this.ntpSyncer = ntpSyncer;
// We only need the correction offset to be calculated once
- ntpSyncer.Setup(true, (onlineMode, _) => // TODO: set to false after tests
+ ntpSyncer.Setup(verbose: false, (onlineMode, _) =>
{
if (!onlineMode)
{
@@ -128,7 +128,7 @@ private void StartNtpTimer()
{
// Reset the syncer before starting another round of it
ntpSyncer.Dispose();
- ntpSyncer.Setup(true, (onlineMode, _) => // TODO: set to false after tests
+ ntpSyncer.Setup(verbose: false, (onlineMode, _) =>
{
if (onlineMode)
{
From 5e74a8bd9decf650100d3b93b8d3460f949a0fad Mon Sep 17 00:00:00 2001
From: rootcan <24827220+tornac1234@users.noreply.github.com>
Date: Mon, 13 Oct 2025 23:11:38 +0200
Subject: [PATCH 21/50] Fix certain world entities have global root level 100
(#2513)
---
.../WorldEntities/PlacedWorldEntitySpawner.cs | 29 ++++++++++++-------
1 file changed, 19 insertions(+), 10 deletions(-)
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/PlacedWorldEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/PlacedWorldEntitySpawner.cs
index e87cadc8f..fc3ff16d4 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/PlacedWorldEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/PlacedWorldEntitySpawner.cs
@@ -62,17 +62,26 @@ protected override bool SpawnSync(PlacedWorldEntity entity, TaskResult
Date: Mon, 13 Oct 2025 23:12:07 +0200
Subject: [PATCH 22/50] Fixed index out of range error in server command
parsing logic (#2516)
---
Nitrox.Server.Subnautica/Program.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Nitrox.Server.Subnautica/Program.cs b/Nitrox.Server.Subnautica/Program.cs
index 231dcfbe1..1c1298c65 100644
--- a/Nitrox.Server.Subnautica/Program.cs
+++ b/Nitrox.Server.Subnautica/Program.cs
@@ -370,7 +370,7 @@ void RedrawInput(int start = 0, int end = 0)
Console.Write(keyInfo.KeyChar);
if (Console.CursorLeft - 1 < inputLineBuilder.Length)
{
- inputLineBuilder.Insert(Console.CursorLeft - 1, keyInfo.KeyChar);
+ inputLineBuilder.Insert(int.Max(Console.CursorLeft - 1, 0), keyInfo.KeyChar);
RedrawInput(Console.CursorLeft, -1);
}
else
From 100b70f74e0931303510c414d4ff97313b88b22d Mon Sep 17 00:00:00 2001
From: Meas <1107063+Measurity@users.noreply.github.com>
Date: Tue, 14 Oct 2025 01:09:38 +0200
Subject: [PATCH 23/50] Fixed focus on view show logic being done on non-UI
thread (#2519)
---
.../Models/Behaviors/FocusOnViewShowBehavior.cs | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/Nitrox.Launcher/Models/Behaviors/FocusOnViewShowBehavior.cs b/Nitrox.Launcher/Models/Behaviors/FocusOnViewShowBehavior.cs
index 2b44ab3dd..7f4a5509c 100644
--- a/Nitrox.Launcher/Models/Behaviors/FocusOnViewShowBehavior.cs
+++ b/Nitrox.Launcher/Models/Behaviors/FocusOnViewShowBehavior.cs
@@ -1,4 +1,5 @@
using Avalonia.Controls;
+using Avalonia.Threading;
using Avalonia.Xaml.Interactivity;
using CommunityToolkit.Mvvm.Messaging;
@@ -11,7 +12,11 @@ public class FocusOnViewShowBehavior : Behavior
{
protected override void OnAttached()
{
- WeakReferenceMessenger.Default.Register(this, static (obj, _) => (obj as FocusOnViewShowBehavior)?.Focus());
+ WeakReferenceMessenger.Default.Register(this, static (obj, _) =>
+ {
+ // Need to queue this work on UI thread as calls via message originate from a different thread.
+ Dispatcher.UIThread.Invoke(() => (obj as FocusOnViewShowBehavior)?.Focus());
+ });
base.OnAttached();
}
From 8561ebb7f3a8eced9e13cc7abe9eeca4306f358c Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Tue, 14 Oct 2025 07:05:51 +0200
Subject: [PATCH 24/50] Added nullability checks to IsValidSaveName
---
Nitrox.Server.Subnautica/Program.cs | 2 +-
NitroxServer/Server.cs | 9 +++++----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/Nitrox.Server.Subnautica/Program.cs b/Nitrox.Server.Subnautica/Program.cs
index 1c1298c65..c76e1c2c7 100644
--- a/Nitrox.Server.Subnautica/Program.cs
+++ b/Nitrox.Server.Subnautica/Program.cs
@@ -107,7 +107,7 @@ private static async Task StartServer(string[] args)
{
_ = ipc.SendOutput($"{Ipc.Messages.PlayerCountMessage}:[{count}]");
};
- string serverSaveName = NitroxServer.Server.GetSaveName(args, "My World");
+ string serverSaveName = NitroxServer.Server.GetSaveName(args);
Log.SaveName = serverSaveName;
using (CancellationTokenSource portWaitCts = CancellationTokenSource.CreateLinkedTokenSource(serverCts.Token))
diff --git a/NitroxServer/Server.cs b/NitroxServer/Server.cs
index f4ed6f7aa..fd3e7901b 100644
--- a/NitroxServer/Server.cs
+++ b/NitroxServer/Server.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
+using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Linq;
using System.Net;
@@ -368,13 +369,13 @@ private static List GetSaves()
/// Parses the save name from the given command line arguments or defaults to the standard save name.
///
// TODO : Remove this method once server hosting/loading happens as a service (see '.NET Generic Host' on msdn)
- public static string GetSaveName(string[] args, string defaultValue = null)
+ public static string GetSaveName(string[] args, string defaultValue = "My World")
{
- string result = args.GetCommandArgs("--save").FirstOrDefault() ?? args.GetCommandArgs("--name").FirstOrDefault();
+ string? result = args.GetCommandArgs("--save").FirstOrDefault() ?? args.GetCommandArgs("--name").FirstOrDefault();
return IsValidSaveName(result) ? result : defaultValue;
}
- private static bool IsValidSaveName(string name)
+ private static bool IsValidSaveName([NotNull] string? name)
{
if (string.IsNullOrWhiteSpace(name))
{
@@ -388,7 +389,7 @@ private static bool IsValidSaveName(string name)
{
return false;
}
- if (name.IndexOfAny(Path.GetInvalidFileNameChars().ToArray()) > -1)
+ if (name.IndexOfAny(Path.GetInvalidFileNameChars()) > -1)
{
return false;
}
From 020f0fb32ca7a9e12318e688c1761ed7f5760ebd Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Tue, 14 Oct 2025 07:22:18 +0200
Subject: [PATCH 25/50] Added '--data-path' cli option which sets
NitroxUser.AppDataPath
---
Nitrox.Server.Subnautica/Properties/launchSettings.json | 2 +-
NitroxModel/Core/NitroxEnvironment.cs | 2 +-
NitroxModel/Helper/NitroxUser.cs | 7 +++++++
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/Nitrox.Server.Subnautica/Properties/launchSettings.json b/Nitrox.Server.Subnautica/Properties/launchSettings.json
index 1949f8c9f..8b2242fa8 100644
--- a/Nitrox.Server.Subnautica/Properties/launchSettings.json
+++ b/Nitrox.Server.Subnautica/Properties/launchSettings.json
@@ -5,7 +5,7 @@
},
"Launch test save": {
"commandName": "Project",
- "commandLineArgs": "--save test"
+ "commandLineArgs": "--save test --data-path '/home/measurity/Desktop/NitroxData'"
}
}
}
\ No newline at end of file
diff --git a/NitroxModel/Core/NitroxEnvironment.cs b/NitroxModel/Core/NitroxEnvironment.cs
index 960731377..c0a0894d1 100644
--- a/NitroxModel/Core/NitroxEnvironment.cs
+++ b/NitroxModel/Core/NitroxEnvironment.cs
@@ -87,7 +87,7 @@ public static bool IsReleaseMode
///
/// Gets the command line arguments as passed to the program on start.
///
- public static string[] CommandLineArgs => commandLineArgs ??= Environment.GetCommandLineArgs().Skip(1).ToArray();
+ public static string[] CommandLineArgs => commandLineArgs ??= Environment.GetCommandLineArgs().Skip(1).Select(p => p.Trim('\'')).ToArray();
public static string AppName => (Assembly.GetEntryAssembly()?.GetName().Name ?? Assembly.GetCallingAssembly().GetName().Name).Replace(".", " ");
diff --git a/NitroxModel/Helper/NitroxUser.cs b/NitroxModel/Helper/NitroxUser.cs
index 06667a01c..eafccd823 100644
--- a/NitroxModel/Helper/NitroxUser.cs
+++ b/NitroxModel/Helper/NitroxUser.cs
@@ -83,6 +83,13 @@ public static string AppDataPath
}
}
+ string cliDataPath = NitroxEnvironment.CommandLineArgs.GetCommandArgs("--data-path").FirstOrDefault();
+ if (!string.IsNullOrWhiteSpace(cliDataPath) && Path.IsPathRooted(cliDataPath))
+ {
+ Directory.CreateDirectory(cliDataPath);
+ return appDataPath = cliDataPath;
+ }
+
if (!Directory.Exists(applicationData))
{
applicationData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
From 08cfd4df26a64782121e47062fd601a8e014e640 Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Tue, 14 Oct 2025 07:24:19 +0200
Subject: [PATCH 26/50] Fixed server always creating "My World" save folder
---
NitroxServer/Server.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/NitroxServer/Server.cs b/NitroxServer/Server.cs
index fd3e7901b..c76d92370 100644
--- a/NitroxServer/Server.cs
+++ b/NitroxServer/Server.cs
@@ -136,7 +136,7 @@ public static SubnauticaServerConfig CreateOrLoadConfig()
{
// Create new save file
Log.Debug("No save file was found, creating a new one...");
- saveDir = Path.Combine(KeyValueStore.Instance.GetSavesFolderDir(), "My World");
+ saveDir = Path.Combine(KeyValueStore.Instance.GetSavesFolderDir(), GetSaveName(NitroxEnvironment.CommandLineArgs));
Directory.CreateDirectory(saveDir);
}
From f7a286b1622b5ead1f1b416ab9070332e513e5db Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Tue, 14 Oct 2025 08:04:11 +0200
Subject: [PATCH 27/50] Added --game-path option to specifc Subnautica install
location
Improved error message if game path is invalid.
---
Nitrox.Server.Subnautica/Program.cs | 63 ++++++++++++++++-------------
NitroxModel/Helper/NitroxUser.cs | 11 +++++
2 files changed, 46 insertions(+), 28 deletions(-)
diff --git a/Nitrox.Server.Subnautica/Program.cs b/Nitrox.Server.Subnautica/Program.cs
index c76e1c2c7..c94b42b9b 100644
--- a/Nitrox.Server.Subnautica/Program.cs
+++ b/Nitrox.Server.Subnautica/Program.cs
@@ -26,7 +26,7 @@ namespace Nitrox.Server.Subnautica;
[SuppressMessage("Usage", "DIMA001:Dependency Injection container is used directly")]
public class Program
{
- private static Lazy gameInstallDir;
+ private static Lazy? gameInstallDir;
private static readonly CircularBuffer inputHistory = new(1000);
private static int currentHistoryIndex;
private static readonly CancellationTokenSource serverCts = new();
@@ -84,19 +84,7 @@ private static async Task StartServer(string[] args)
Stopwatch watch = Stopwatch.StartNew();
// Allow game path to be given as command argument
- string gameDir;
- if (args.Length > 0 && Directory.Exists(args[0]) && File.Exists(Path.Combine(args[0], GameInfo.Subnautica.ExeName)))
- {
- gameDir = Path.GetFullPath(args[0]);
- gameInstallDir = new Lazy(() => gameDir);
- }
- else
- {
- gameInstallDir = new Lazy(() =>
- {
- return gameDir = NitroxUser.GamePath;
- });
- }
+ gameInstallDir = new Lazy(() => NitroxUser.GamePath);
Log.Info($"Using game files from: \'{gameInstallDir.Value}\'");
// TODO: Fix DI to not be slow (should not use IO in type constructors). Instead, use Lazy (et al). This way, cancellation can be faster.
@@ -525,11 +513,11 @@ private static void CurrentDomainOnUnhandledException(object sender, UnhandledEx
private static class AssemblyResolver
{
private static string currentExecutableDirectory;
- private static readonly Dictionary resolvedAssemblyCache = [];
+ private static readonly Dictionary resolvedAssemblyCache = [];
- public static Assembly Handler(object sender, ResolveEventArgs args)
+ public static Assembly? Handler(object sender, ResolveEventArgs args)
{
- static Assembly ResolveFromLib(ReadOnlySpan dllName)
+ static Assembly? ResolveFromLib(ReadOnlySpan dllName)
{
dllName = dllName.Slice(0, Math.Max(dllName.IndexOf(','), 0));
if (dllName.IsEmpty)
@@ -546,9 +534,14 @@ static Assembly ResolveFromLib(ReadOnlySpan dllName)
}
string dllNameStr = dllName.ToString();
// If available, return cached assembly
- if (resolvedAssemblyCache.TryGetValue(dllNameStr, out Assembly val))
+ if (resolvedAssemblyCache.TryGetValue(dllNameStr, out AssemblyCacheEntry cacheEntry) && cacheEntry is { Assembly: { } cachedAssembly })
{
- return val;
+ return cachedAssembly;
+ }
+ if (cacheEntry == null)
+ {
+ cacheEntry = new AssemblyCacheEntry(0, null);
+ resolvedAssemblyCache[dllNameStr] = cacheEntry;
}
// Load DLLs where this program (exe) is located
@@ -556,25 +549,33 @@ static Assembly ResolveFromLib(ReadOnlySpan dllName)
// Prefer to use Newtonsoft dll from game instead of our own due to protobuf issues. TODO: Remove when we do our own deserialization of game data instead of using the game's protobuf.
if (dllPath.IndexOf("Newtonsoft.Json.dll", StringComparison.OrdinalIgnoreCase) >= 0 || !File.Exists(dllPath))
{
- // Try find game managed libraries
- if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
+ if (gameInstallDir != null)
{
- dllPath = Path.Combine(gameInstallDir.Value, "Resources", "Data", "Managed", dllNameStr);
- }
- else
- {
- dllPath = Path.Combine(gameInstallDir.Value, "Subnautica_Data", "Managed", dllNameStr);
+ // Try find game managed libraries
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
+ {
+ dllPath = Path.Combine(gameInstallDir.Value, "Resources", "Data", "Managed", dllNameStr);
+ }
+ else
+ {
+ dllPath = Path.Combine(gameInstallDir.Value, "Subnautica_Data", "Managed", dllNameStr);
+ }
}
}
try
{
// Read assemblies as bytes as to not lock the file so that Nitrox can patch assemblies while server is running.
- Assembly assembly = Assembly.Load(File.ReadAllBytes(dllPath));
- return resolvedAssemblyCache[dllNameStr] = assembly;
+ cacheEntry.Assembly = Assembly.Load(File.ReadAllBytes(dllPath));
+ return cacheEntry.Assembly;
}
catch
{
+ cacheEntry.Attempts++;
+ if (cacheEntry.Attempts >= 5)
+ {
+ throw new FileNotFoundException($"Failed to load DLL '{dllName}' at: {dllPath}");
+ }
return null;
}
}
@@ -602,5 +603,11 @@ private static string GetExecutableDirectory()
}
return currentExecutableDirectory = new Uri(Path.GetDirectoryName(pathAttempt ?? ".") ?? Directory.GetCurrentDirectory()).LocalPath;
}
+
+ private record AssemblyCacheEntry(int Attempts, Assembly? Assembly)
+ {
+ public int Attempts { get; set; } = Attempts;
+ public Assembly? Assembly { get; set; } = Assembly;
+ }
}
}
diff --git a/NitroxModel/Helper/NitroxUser.cs b/NitroxModel/Helper/NitroxUser.cs
index eafccd823..cd4018314 100644
--- a/NitroxModel/Helper/NitroxUser.cs
+++ b/NitroxModel/Helper/NitroxUser.cs
@@ -171,6 +171,17 @@ public static string GamePath
return gamePath;
}
+ string cliGamePath = NitroxEnvironment.CommandLineArgs.GetCommandArgs("--game-path").FirstOrDefault();
+ if (Directory.Exists(cliGamePath) && Path.IsPathRooted(cliGamePath))
+ {
+ GamePlatform = GamePlatforms.GetPlatformByGameDir(cliGamePath);
+ return gamePath = cliGamePath;
+ }
+ if (cliGamePath != null)
+ {
+ throw new DirectoryNotFoundException($"Game directory not found at user-specified location: {cliGamePath}");
+ }
+
List finderResults = GameInstallationFinder.Instance.FindGame(GameInfo.Subnautica).TakeUntilInclusive(r => r is { IsOk: false }).ToList();
GameFinderResult potentiallyValidResult = finderResults.LastOrDefault();
if (potentiallyValidResult?.IsOk == true)
From 981df2fdc02392118742f489b7fb7e339baf2900 Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Tue, 14 Oct 2025 21:03:21 +0200
Subject: [PATCH 28/50] Removed accidentally committed debug code in
launchSettings
---
Nitrox.Server.Subnautica/Properties/launchSettings.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Nitrox.Server.Subnautica/Properties/launchSettings.json b/Nitrox.Server.Subnautica/Properties/launchSettings.json
index 8b2242fa8..1949f8c9f 100644
--- a/Nitrox.Server.Subnautica/Properties/launchSettings.json
+++ b/Nitrox.Server.Subnautica/Properties/launchSettings.json
@@ -5,7 +5,7 @@
},
"Launch test save": {
"commandName": "Project",
- "commandLineArgs": "--save test --data-path '/home/measurity/Desktop/NitroxData'"
+ "commandLineArgs": "--save test"
}
}
}
\ No newline at end of file
From 3a8ede2a998cb7bc202eb21c28d4f2ecd6690813 Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Wed, 15 Oct 2025 20:17:45 +0200
Subject: [PATCH 29/50] Fixed command args removing extra ' on Windows
---
NitroxModel/Core/NitroxEnvironment.cs | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/NitroxModel/Core/NitroxEnvironment.cs b/NitroxModel/Core/NitroxEnvironment.cs
index c0a0894d1..68f8b136c 100644
--- a/NitroxModel/Core/NitroxEnvironment.cs
+++ b/NitroxModel/Core/NitroxEnvironment.cs
@@ -1,6 +1,8 @@
using System;
+using System.Collections.Generic;
using System.Linq;
using System.Reflection;
+using System.Runtime.InteropServices;
namespace NitroxModel.Helper;
@@ -87,7 +89,24 @@ public static bool IsReleaseMode
///
/// Gets the command line arguments as passed to the program on start.
///
- public static string[] CommandLineArgs => commandLineArgs ??= Environment.GetCommandLineArgs().Skip(1).Select(p => p.Trim('\'')).ToArray();
+ public static string[] CommandLineArgs
+ {
+ get
+ {
+ if (commandLineArgs != null)
+ {
+ return commandLineArgs;
+ }
+
+ IEnumerable args = Environment.GetCommandLineArgs().Skip(1);
+ // Windows removes the ' character around an arg but other OSes do not.
+ if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ {
+ args = args.Select(p => p.Trim('\''));
+ }
+ return commandLineArgs ??= args.ToArray();
+ }
+ }
public static string AppName => (Assembly.GetEntryAssembly()?.GetName().Name ?? Assembly.GetCallingAssembly().GetName().Name).Replace(".", " ");
From a6a879fea264aa324e47012886068621177762ae Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Wed, 15 Oct 2025 20:18:11 +0200
Subject: [PATCH 30/50] Fixed cli* variable to use nullable string
---
NitroxModel/Helper/NitroxUser.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/NitroxModel/Helper/NitroxUser.cs b/NitroxModel/Helper/NitroxUser.cs
index cd4018314..2ae89e8a6 100644
--- a/NitroxModel/Helper/NitroxUser.cs
+++ b/NitroxModel/Helper/NitroxUser.cs
@@ -83,7 +83,7 @@ public static string AppDataPath
}
}
- string cliDataPath = NitroxEnvironment.CommandLineArgs.GetCommandArgs("--data-path").FirstOrDefault();
+ string? cliDataPath = NitroxEnvironment.CommandLineArgs.GetCommandArgs("--data-path").FirstOrDefault();
if (!string.IsNullOrWhiteSpace(cliDataPath) && Path.IsPathRooted(cliDataPath))
{
Directory.CreateDirectory(cliDataPath);
@@ -171,7 +171,7 @@ public static string GamePath
return gamePath;
}
- string cliGamePath = NitroxEnvironment.CommandLineArgs.GetCommandArgs("--game-path").FirstOrDefault();
+ string? cliGamePath = NitroxEnvironment.CommandLineArgs.GetCommandArgs("--game-path").FirstOrDefault();
if (Directory.Exists(cliGamePath) && Path.IsPathRooted(cliGamePath))
{
GamePlatform = GamePlatforms.GetPlatformByGameDir(cliGamePath);
From e4678f8cb1be9836982a3c11404ebb48a2a14949 Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Wed, 15 Oct 2025 20:18:39 +0200
Subject: [PATCH 31/50] Changed IsValidSaveName EndsWith to single char '.'
instead of string "."
---
NitroxServer/Server.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/NitroxServer/Server.cs b/NitroxServer/Server.cs
index c76d92370..acbd5e112 100644
--- a/NitroxServer/Server.cs
+++ b/NitroxServer/Server.cs
@@ -375,7 +375,7 @@ public static string GetSaveName(string[] args, string defaultValue = "My World"
return IsValidSaveName(result) ? result : defaultValue;
}
- private static bool IsValidSaveName([NotNull] string? name)
+ private static bool IsValidSaveName([NotNullWhen(true)] string? name)
{
if (string.IsNullOrWhiteSpace(name))
{
@@ -385,7 +385,7 @@ private static bool IsValidSaveName([NotNull] string? name)
{
return false;
}
- if (name.EndsWith("."))
+ if (name.EndsWith('.'))
{
return false;
}
From c4a5901c84a513b0df77e4e229c2396c36066a38 Mon Sep 17 00:00:00 2001
From: Jannify <23176718+Jannify@users.noreply.github.com>
Date: Fri, 17 Oct 2025 22:07:52 +0200
Subject: [PATCH 32/50] Update CONTRIBUTING.md in regards to AI usage (#2527)
---
.github/pull_request_template.md | 5 +++++
CONTRIBUTING.md | 9 ++++++++-
2 files changed, 13 insertions(+), 1 deletion(-)
create mode 100644 .github/pull_request_template.md
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
new file mode 100644
index 000000000..90b575ac8
--- /dev/null
+++ b/.github/pull_request_template.md
@@ -0,0 +1,5 @@
+
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index fcca10996..675e2fc2a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,3 +1,10 @@
# Contributing
-Please have a look at our [documentation site](https://subnauticanitrox.github.io/Documentation/) for contribution guidelines & information on how to get started.
\ No newline at end of file
+Please have a look at our [documentation site](https://subnauticanitrox.github.io/Documentation/) for contribution guidelines & information on how to get started.
+
+## Stand on AI and generated issues & PRs
+
+We generally don't want to tell you what tools to use (you undoubting minimalistic vi enjoyer), but we ideally want to have clean and minimal code, issues and pull requests. \
+For this reason we would prefer AI is not used in the creation of issues and PR descriptions. We don't have the resources to read 50 paragraphs on why changing 5 lines of code makes sense. Only explain yourself if the goal of your implementation is not a no-brainer. \
+You are free to use AI to generate your code but we require you to review it before submitting. Nitrox is a special kind of software as it's interacting tightly with Subnautica's code base which makes good code generation difficult. Also keep in mind Subnautica's source code is under copyright and it's prohibited to upload it to an AI. \
+As a last note, only place comments on functions which meaning is not obvious. Follow the principle of "A good comment explains the why not the what". A good example for where comments are needed/expected are the Harmony patches.
From b55234b751b47b1a7ceda3bddac818fc66572179 Mon Sep 17 00:00:00 2001
From: Meas <1107063+Measurity@users.noreply.github.com>
Date: Sat, 18 Oct 2025 12:21:11 +0200
Subject: [PATCH 33/50] Fixed handling of Console.WindowWidth (#2530)
---
Nitrox.Server.Subnautica/Program.cs | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/Nitrox.Server.Subnautica/Program.cs b/Nitrox.Server.Subnautica/Program.cs
index c94b42b9b..fa381da08 100644
--- a/Nitrox.Server.Subnautica/Program.cs
+++ b/Nitrox.Server.Subnautica/Program.cs
@@ -201,11 +201,13 @@ private static async Task HandleConsoleInputAsync(Action submitHandler,
Log.Info("Server input stream is available");
StringBuilder inputLineBuilder = new();
+ int GetConsoleWidth(int offset = 0) => int.Max(0, Console.WindowWidth + offset);
+
void ClearInputLine()
{
currentHistoryIndex = 0;
inputLineBuilder.Clear();
- Console.Write($"\r{new string(' ', Console.WindowWidth - 1)}\r");
+ Console.Write($"\r{new string(' ', GetConsoleWidth(-1))}\r");
}
void RedrawInput(int start = 0, int end = 0)
@@ -220,14 +222,15 @@ void RedrawInput(int start = 0, int end = 0)
if (start == 0 && end == 0)
{
// Redraw entire line
- Console.Write($"\r{new string(' ', Console.WindowWidth - 1)}\r{inputLineBuilder}");
+ Console.Write($"\r{new string(' ', GetConsoleWidth(-1))}\r{inputLineBuilder}");
}
- else
+ else if (start > -1)
{
// Redraw part of line
+ start = int.Min(start, inputLineBuilder.Length);
string changedInputSegment = inputLineBuilder.ToString(start, end);
Console.CursorVisible = false;
- Console.Write($"{changedInputSegment}{new string(' ', inputLineBuilder.Length - changedInputSegment.Length - Console.CursorLeft + 1)}");
+ Console.Write($"{changedInputSegment}{new string(' ', int.Max(0, inputLineBuilder.Length - changedInputSegment.Length + 1))}");
Console.CursorVisible = true;
}
Console.CursorLeft = lastPosition;
@@ -311,7 +314,7 @@ void RedrawInput(int start = 0, int end = 0)
ClearInputLine();
continue;
case ConsoleKey.Tab:
- if (Console.CursorLeft + 4 < Console.WindowWidth)
+ if (Console.CursorLeft + 4 < GetConsoleWidth())
{
inputLineBuilder.Insert(Console.CursorLeft, " ");
RedrawInput(Console.CursorLeft, -1);
@@ -322,7 +325,7 @@ void RedrawInput(int start = 0, int end = 0)
inputLineBuilder.Clear();
inputLineBuilder.Append(inputHistory[--currentHistoryIndex]);
RedrawInput();
- Console.CursorLeft = Math.Min(inputLineBuilder.Length, Console.WindowWidth);
+ Console.CursorLeft = Math.Min(inputLineBuilder.Length, GetConsoleWidth());
continue;
case ConsoleKey.DownArrow when inputHistory.Count > 0 && currentHistoryIndex < 0:
if (currentHistoryIndex == -1)
@@ -333,7 +336,7 @@ void RedrawInput(int start = 0, int end = 0)
inputLineBuilder.Clear();
inputLineBuilder.Append(inputHistory[++currentHistoryIndex]);
RedrawInput();
- Console.CursorLeft = Math.Min(inputLineBuilder.Length, Console.WindowWidth);
+ Console.CursorLeft = Math.Min(inputLineBuilder.Length, GetConsoleWidth());
continue;
}
}
From 4c14a21ee6d97ba21dbdd82cd0dc77ee216c2898 Mon Sep 17 00:00:00 2001
From: dartasen <10561268+dartasen@users.noreply.github.com>
Date: Sat, 18 Oct 2025 17:38:57 +0200
Subject: [PATCH 34/50] Bump version to 1.8.0.1 (#2533)
---
Directory.Build.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index bc7abd115..be3c693fe 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -6,7 +6,7 @@
13
- 1.8.0.0
+ 1.8.0.1
true
false
embedded
From ef9db08fedce37579432a2f3c485b789179f6825 Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Sat, 18 Oct 2025 18:08:35 +0200
Subject: [PATCH 35/50] Added helper namespace to patcher project
Moved TranspilerHelper into above namespace
---
NitroxPatcher/{ => Helper}/TranspilerHelper.cs | 2 +-
NitroxPatcher/Patches/Dynamic/Builder_TryPlace_Patch.cs | 1 +
NitroxPatcher/Patches/Dynamic/Bullet_Update_Patch.cs | 1 +
.../Patches/Dynamic/ConstructableBase_SetState_Patch.cs | 1 +
.../Patches/Dynamic/ConstructorInput_OnCraftingBegin_Patch.cs | 1 +
.../Dynamic/CyclopsSonarDisplay_NewEntityOnSonar_Patch.cs | 1 +
NitroxPatcher/Patches/Dynamic/Equipment_RemoveItem_Patch.cs | 1 +
.../Dynamic/FireExtinguisherHolder_TakeTankAsync_Patch.cs | 1 +
NitroxPatcher/Patches/Dynamic/Flare_Update_Patch.cs | 1 +
NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGameAsync_Patch.cs | 1 +
NitroxPatcher/Patches/Dynamic/PDAScanner_Scan_Patch.cs | 1 +
.../Patches/Dynamic/PrecursorMoonPoolTrigger_Update_Patch.cs | 1 +
NitroxPatcher/Patches/Dynamic/Respawn_Start_Patch.cs | 1 +
NitroxPatcher/Patches/Dynamic/SeaTreader_UpdatePath_Patch.cs | 1 +
NitroxPatcher/Patches/Dynamic/SeaTreader_UpdateTurning_Patch.cs | 1 +
NitroxPatcher/Patches/Dynamic/SeaTreader_Update_Patch.cs | 1 +
NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Update_Patch.cs | 1 +
NitroxPatcher/Patches/Dynamic/StasisSphere_LateUpdate_Patch.cs | 1 +
.../Persistent/CellManager_TryLoadCacheBatchCells_Patch.cs | 1 +
19 files changed, 19 insertions(+), 1 deletion(-)
rename NitroxPatcher/{ => Helper}/TranspilerHelper.cs (99%)
diff --git a/NitroxPatcher/TranspilerHelper.cs b/NitroxPatcher/Helper/TranspilerHelper.cs
similarity index 99%
rename from NitroxPatcher/TranspilerHelper.cs
rename to NitroxPatcher/Helper/TranspilerHelper.cs
index dc78a7ad1..fbf352588 100644
--- a/NitroxPatcher/TranspilerHelper.cs
+++ b/NitroxPatcher/Helper/TranspilerHelper.cs
@@ -11,7 +11,7 @@
using NitroxPatcher.PatternMatching;
using UnityEngine;
-namespace NitroxPatcher;
+namespace NitroxPatcher.Helper;
internal static class TranspilerHelper
{
diff --git a/NitroxPatcher/Patches/Dynamic/Builder_TryPlace_Patch.cs b/NitroxPatcher/Patches/Dynamic/Builder_TryPlace_Patch.cs
index cae45cee5..c3580d2d2 100644
--- a/NitroxPatcher/Patches/Dynamic/Builder_TryPlace_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Builder_TryPlace_Patch.cs
@@ -8,6 +8,7 @@
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Bases;
using NitroxModel.Packets;
+using NitroxPatcher.Helper;
using NitroxPatcher.PatternMatching;
using UnityEngine;
using static System.Reflection.Emit.OpCodes;
diff --git a/NitroxPatcher/Patches/Dynamic/Bullet_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/Bullet_Update_Patch.cs
index edc16d031..ec4e212c2 100644
--- a/NitroxPatcher/Patches/Dynamic/Bullet_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Bullet_Update_Patch.cs
@@ -3,6 +3,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ConstructableBase_SetState_Patch.cs b/NitroxPatcher/Patches/Dynamic/ConstructableBase_SetState_Patch.cs
index 797851391..bbbecc605 100644
--- a/NitroxPatcher/Patches/Dynamic/ConstructableBase_SetState_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ConstructableBase_SetState_Patch.cs
@@ -4,6 +4,7 @@
using NitroxClient.Communication.Abstract;
using NitroxModel.DataStructures;
using NitroxModel.Packets;
+using NitroxPatcher.Helper;
using NitroxPatcher.PatternMatching;
using UnityEngine;
using static System.Reflection.Emit.OpCodes;
diff --git a/NitroxPatcher/Patches/Dynamic/ConstructorInput_OnCraftingBegin_Patch.cs b/NitroxPatcher/Patches/Dynamic/ConstructorInput_OnCraftingBegin_Patch.cs
index 6f2789095..a5c84b1db 100644
--- a/NitroxPatcher/Patches/Dynamic/ConstructorInput_OnCraftingBegin_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ConstructorInput_OnCraftingBegin_Patch.cs
@@ -4,6 +4,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsSonarDisplay_NewEntityOnSonar_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsSonarDisplay_NewEntityOnSonar_Patch.cs
index a92f3d3f8..6643f4a9d 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsSonarDisplay_NewEntityOnSonar_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsSonarDisplay_NewEntityOnSonar_Patch.cs
@@ -5,6 +5,7 @@
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxModel_Subnautica.DataStructures;
+using NitroxPatcher.Helper;
using NitroxPatcher.Patches.Persistent;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/Equipment_RemoveItem_Patch.cs b/NitroxPatcher/Patches/Dynamic/Equipment_RemoveItem_Patch.cs
index 0ea2a2e4e..7877bf764 100644
--- a/NitroxPatcher/Patches/Dynamic/Equipment_RemoveItem_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Equipment_RemoveItem_Patch.cs
@@ -3,6 +3,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TakeTankAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TakeTankAsync_Patch.cs
index f3320cb72..66f6354cf 100644
--- a/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TakeTankAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TakeTankAsync_Patch.cs
@@ -5,6 +5,7 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Flare_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/Flare_Update_Patch.cs
index 8534f23da..27d6e8b1a 100644
--- a/NitroxPatcher/Patches/Dynamic/Flare_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Flare_Update_Patch.cs
@@ -2,6 +2,7 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGameAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGameAsync_Patch.cs
index 931c00290..7d4eb75e5 100644
--- a/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGameAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGameAsync_Patch.cs
@@ -3,6 +3,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.Communication.Abstract;
+using NitroxPatcher.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PDAScanner_Scan_Patch.cs b/NitroxPatcher/Patches/Dynamic/PDAScanner_Scan_Patch.cs
index a69552c82..42cb5b4ff 100644
--- a/NitroxPatcher/Patches/Dynamic/PDAScanner_Scan_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PDAScanner_Scan_Patch.cs
@@ -7,6 +7,7 @@
using NitroxModel.DataStructures;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PrecursorMoonPoolTrigger_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/PrecursorMoonPoolTrigger_Update_Patch.cs
index aa3dafde6..3fb1190b3 100644
--- a/NitroxPatcher/Patches/Dynamic/PrecursorMoonPoolTrigger_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrecursorMoonPoolTrigger_Update_Patch.cs
@@ -7,6 +7,7 @@
using NitroxModel.DataStructures;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using NitroxModel.DataStructures.Util;
+using NitroxPatcher.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Respawn_Start_Patch.cs b/NitroxPatcher/Patches/Dynamic/Respawn_Start_Patch.cs
index 2e5fe0ab5..c03a108dc 100644
--- a/NitroxPatcher/Patches/Dynamic/Respawn_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Respawn_Start_Patch.cs
@@ -5,6 +5,7 @@
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdatePath_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdatePath_Patch.cs
index 5b8c7fdae..6f524fc53 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdatePath_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdatePath_Patch.cs
@@ -2,6 +2,7 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdateTurning_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdateTurning_Patch.cs
index f3a12eabc..d40f5e02d 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdateTurning_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdateTurning_Patch.cs
@@ -2,6 +2,7 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaTreader_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaTreader_Update_Patch.cs
index fe3466015..a050f0cc7 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaTreader_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaTreader_Update_Patch.cs
@@ -2,6 +2,7 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Update_Patch.cs
index cdfc17fbb..06462fd77 100644
--- a/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Update_Patch.cs
@@ -2,6 +2,7 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/StasisSphere_LateUpdate_Patch.cs b/NitroxPatcher/Patches/Dynamic/StasisSphere_LateUpdate_Patch.cs
index 18695f33e..fe7a2fdde 100644
--- a/NitroxPatcher/Patches/Dynamic/StasisSphere_LateUpdate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StasisSphere_LateUpdate_Patch.cs
@@ -2,6 +2,7 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Persistent/CellManager_TryLoadCacheBatchCells_Patch.cs b/NitroxPatcher/Patches/Persistent/CellManager_TryLoadCacheBatchCells_Patch.cs
index fecaf87e6..c40cb0f53 100644
--- a/NitroxPatcher/Patches/Persistent/CellManager_TryLoadCacheBatchCells_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/CellManager_TryLoadCacheBatchCells_Patch.cs
@@ -3,6 +3,7 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
+using NitroxPatcher.Helper;
namespace NitroxPatcher.Patches.Persistent
{
From f96395dffcfd8112072b523e165330d3f6b9143d Mon Sep 17 00:00:00 2001
From: rootcan <24827220+tornac1234@users.noreply.github.com>
Date: Sat, 18 Oct 2025 20:41:25 +0200
Subject: [PATCH 36/50] Fix ghost/module destruction not being broadcasted
(#2535)
---
.../Dynamic/Constructable_Construct_Patch.cs | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs b/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs
index fb5d4a16b..d78328a99 100644
--- a/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs
@@ -100,15 +100,18 @@ public static void ConstructionAmountModified(Constructable constructable, bool
return;
}
- // update as a normal module
- Resolve().SendThrottled(new ModifyConstructedAmount(entityId, amount),
- (packet) => { return packet.GhostId; }, 0.1f);
+ ModifyConstructedAmount modifyConstructedAmount = new(entityId, amount);
- // If we're done with that ghost we can remove the throttled packets
- if (amount == 0)
+ // If we're done with that ghost we can remove the related throttled packet
+ if (amount == 0f)
{
Resolve().RemovePendingPackets(entityId);
+ Resolve().Send(modifyConstructedAmount);
+ return;
}
+
+ // update as a normal module
+ Resolve().SendThrottled(modifyConstructedAmount, (packet) => { return packet.GhostId; }, 0.1f);
}
public static IEnumerator BroadcastObjectBuilt(ConstructableBase constructableBase, NitroxId entityId)
From e42f3c2e67342c89f37dcfb4edb5e1093745de58 Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Sat, 18 Oct 2025 19:05:00 +0200
Subject: [PATCH 37/50] Added log when other mods are loaded with Nitrox
---
NitroxPatcher/Helper/SupportHelper.cs | 84 +++++++++++++++++++++++++++
NitroxPatcher/Main.cs | 19 +++++-
2 files changed, 102 insertions(+), 1 deletion(-)
create mode 100644 NitroxPatcher/Helper/SupportHelper.cs
diff --git a/NitroxPatcher/Helper/SupportHelper.cs b/NitroxPatcher/Helper/SupportHelper.cs
new file mode 100644
index 000000000..cd8b4de8d
--- /dev/null
+++ b/NitroxPatcher/Helper/SupportHelper.cs
@@ -0,0 +1,84 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+
+namespace NitroxPatcher.Helper;
+
+internal static class SupportHelper
+{
+ ///
+ /// Dependency names commonly used by Unity game mods.
+ ///
+ private static readonly string[] modDependencies = ["HarmonyX", "0Harmony", "Harmony", "MonoMod.RuntimeDetour"];
+
+ ///
+ /// Logs a list of all other mods that are currently loaded.
+ ///
+ public static string? GetSummaryOfOtherMods()
+ {
+ Assembly[] otherMods = GetOtherMods().ToArray();
+ if (otherMods.Length < 1)
+ {
+ return null;
+ }
+ StringBuilder sb = new();
+ sb.AppendLine("Nitrox has detected other mods! Please do not report Nitrox issues while mods are loaded!");
+ foreach (Assembly mod in otherMods)
+ {
+ AssemblyName modNameInfo = mod.GetName();
+ sb.Append(modNameInfo.Name)
+ .Append(" v")
+ .Append(modNameInfo.Version)
+ .Append(" path '")
+ .Append(RedactPath(mod.Location))
+ .AppendLine("'");
+ }
+ return sb.ToString();
+
+ static IEnumerable GetOtherMods()
+ {
+ foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
+ {
+ if (IsNotNitroxMod(assembly))
+ {
+ yield return assembly;
+ }
+ }
+ }
+
+ static bool IsNotNitroxMod(Assembly assembly)
+ {
+ string name = assembly.GetName().Name;
+ if (name.StartsWith("Nitrox"))
+ {
+ return false;
+ }
+ // Exclude assemblies that are the mod dependencies themselves as they don't do anything that can conflict with Nitrox.
+ if (modDependencies.Contains(name, StringComparer.OrdinalIgnoreCase))
+ {
+ return false;
+ }
+ foreach (AssemblyName dependency in assembly.GetReferencedAssemblies())
+ {
+ if (modDependencies.Contains(dependency.Name, StringComparer.OrdinalIgnoreCase))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ static string RedactPath(string path)
+ {
+ int trimEnd = path.LastIndexOf($"{Path.DirectorySeparatorChar}BepInEx{Path.DirectorySeparatorChar}", StringComparison.OrdinalIgnoreCase);
+ if (trimEnd < 0)
+ {
+ return path;
+ }
+ return $"{path.Substring(trimEnd)}";
+ }
+ }
+}
diff --git a/NitroxPatcher/Main.cs b/NitroxPatcher/Main.cs
index dc69f9dca..f47c3d9c9 100644
--- a/NitroxPatcher/Main.cs
+++ b/NitroxPatcher/Main.cs
@@ -1,12 +1,13 @@
extern alias JB;
global using NitroxModel.Logger;
-global using static NitroxClient.Extensions.NitroxEntityExtensions;
using System;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
+using System.Threading.Tasks;
using JB::JetBrains.Annotations;
using NitroxModel_Subnautica.Logger;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher;
@@ -116,6 +117,22 @@ private static void InitWithDependencies()
Log.Info($"Using Nitrox {NitroxEnvironment.VersionInfo} built on {NitroxEnvironment.BuildDate:F}");
Log.Info($"Game version: {Application.version}");
+ // Log if other mods are loaded
+ Task.Run(async () =>
+ {
+ if (SupportHelper.GetSummaryOfOtherMods() is { } otherModsSummary)
+ {
+ Log.Warn(otherModsSummary);
+ return;
+ }
+ // ... no other mods right now, we try again after a wait period.
+ await Task.Delay(TimeSpan.FromSeconds(2));
+ otherModsSummary = SupportHelper.GetSummaryOfOtherMods();
+ if (otherModsSummary != null)
+ {
+ Log.Warn(otherModsSummary);
+ }
+ });
try
{
Patcher.Initialize();
From bcc90d5cd7c090f9fd60141cdf3fb114dec9189b Mon Sep 17 00:00:00 2001
From: Measurity <1107063+Measurity@users.noreply.github.com>
Date: Sat, 18 Oct 2025 20:38:21 +0200
Subject: [PATCH 38/50] Added log if mod detection fails
---
NitroxPatcher/Main.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/NitroxPatcher/Main.cs b/NitroxPatcher/Main.cs
index f47c3d9c9..0b929d214 100644
--- a/NitroxPatcher/Main.cs
+++ b/NitroxPatcher/Main.cs
@@ -132,7 +132,7 @@ private static void InitWithDependencies()
{
Log.Warn(otherModsSummary);
}
- });
+ }).ContinueWithHandleError();
try
{
Patcher.Initialize();
From 95dca3f7281269e7e174dcb60ea7869ede0c3920 Mon Sep 17 00:00:00 2001
From: NinjaPedroX <32976499+NinjaPedroX@users.noreply.github.com>
Date: Sat, 18 Oct 2025 16:02:27 -0500
Subject: [PATCH 39/50] Allow the Enter/Return key to open Dev Console unless
chat open (#2537)
---
.../Patches/Dynamic/DevConsole_Update_Patch.cs | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/NitroxPatcher/Patches/Dynamic/DevConsole_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/DevConsole_Update_Patch.cs
index 3cfd8998c..359ae0dd4 100644
--- a/NitroxPatcher/Patches/Dynamic/DevConsole_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/DevConsole_Update_Patch.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Reflection;
using HarmonyLib;
+using NitroxClient.GameLogic.ChatUI;
using NitroxPatcher.PatternMatching;
using UnityEngine;
using static System.Reflection.Emit.OpCodes;
@@ -8,7 +9,7 @@
namespace NitroxPatcher.Patches.Dynamic;
///
-/// Keeps DevConsole disabled when enter is pressed.
+/// Keeps DevConsole disabled when enter is pressed while the Nitrox chat input is selected.
///
public sealed partial class DevConsole_Update_Patch : NitroxPatch, IDynamicPatch
{
@@ -28,6 +29,12 @@ public sealed partial class DevConsole_Update_Patch : NitroxPatch, IDynamicPatch
public static IEnumerable Transpiler(MethodBase original, IEnumerable instructions)
{
- return instructions.ChangeAtMarker(devConsoleSetStateTruePattern, "ConsoleEnableFlag", i => i.opcode = Ldc_I4_0);
+ return instructions.ChangeAtMarker(devConsoleSetStateTruePattern, "ConsoleEnableFlag", i =>
+ {
+ i.opcode = Call;
+ i.operand = Reflect.Method(() => ShouldEnableConsole());
+ });
}
+
+ private static bool ShouldEnableConsole() => !PlayerChatManager.Instance.IsChatSelected;
}
From b28bbf637bd61f62e65ef172f0ea44b80268f4eb Mon Sep 17 00:00:00 2001
From: rootcan <24827220+tornac1234@users.noreply.github.com>
Date: Sun, 19 Oct 2025 18:17:08 +0200
Subject: [PATCH 40/50] Fix exosuits falling through the ground (#2541)
---
.../Packets/Processors/SpawnEntitiesProcessor.cs | 12 +++++++++++-
.../Spawning/WorldEntities/VehicleEntitySpawner.cs | 10 ++++++++--
.../Processors/CellVisibilityChangedProcessor.cs | 7 ++-----
3 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/NitroxClient/Communication/Packets/Processors/SpawnEntitiesProcessor.cs b/NitroxClient/Communication/Packets/Processors/SpawnEntitiesProcessor.cs
index 3acc5c2c0..851797c58 100644
--- a/NitroxClient/Communication/Packets/Processors/SpawnEntitiesProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/SpawnEntitiesProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxModel.DataStructures;
+using NitroxModel.DataStructures.GameLogic;
using NitroxModel.Packets;
namespace NitroxClient.Communication.Packets.Processors;
@@ -9,11 +10,13 @@ public class SpawnEntitiesProcessor : ClientPacketProcessor
{
private readonly Entities entities;
private readonly SimulationOwnership simulationOwnership;
+ private readonly Terrain terrain;
- public SpawnEntitiesProcessor(Entities entities, SimulationOwnership simulationOwnership)
+ public SpawnEntitiesProcessor(Entities entities, SimulationOwnership simulationOwnership, Terrain terrain)
{
this.entities = entities;
this.simulationOwnership = simulationOwnership;
+ this.terrain = terrain;
}
public override void Process(SpawnEntities packet)
@@ -36,6 +39,13 @@ public override void Process(SpawnEntities packet)
// Packet processing is done in the main thread so there's no issue calling this
// We need a cold start so that all cleaned up entities (if force respawn is true) have time to be fully destroyed
entities.EnqueueEntitiesToSpawn(packet.Entities, packet.SpawnedCells, packet.ForceRespawn);
+ return;
+ }
+
+ // Even if there was nothing to be spawned in the cell, we need to know about it as fully spawned
+ foreach (AbsoluteEntityCell spawnedEntityCell in packet.SpawnedCells)
+ {
+ terrain.AddFullySpawnedCell(spawnedEntityCell);
}
}
}
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs
index e37ee39b3..eeaffb2b7 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs
@@ -49,6 +49,7 @@ private IEnumerator SpawnInWorld(VehicleEntity vehicleEntity, TaskResult();
- if (vehicle)
+ if (gameObject.TryGetComponent(out vehicle))
{
vehicle.LazyInitialize();
}
@@ -107,6 +107,12 @@ private IEnumerator SpawnInWorld(VehicleEntity vehicleEntity, TaskResult 0)
- {
- SpawnEntities batchEntities = new(totalEntities, packet.Added, true);
- player.SendPacket(batchEntities);
- }
+ // We send this data whether or not it's empty because the client needs to know about it (see Terrain)
+ player.SendPacket(new SpawnEntities(totalEntities, packet.Added, true));
}
}
From bcf8d636ac5151a7430f1662461fd61ff7438644 Mon Sep 17 00:00:00 2001
From: rootcan <24827220+tornac1234@users.noreply.github.com>
Date: Sun, 19 Oct 2025 18:18:06 +0200
Subject: [PATCH 41/50] Prevent server from being blocked when finding level
100 world entities (#2540)
---
NitroxServer/GameLogic/Entities/EntityData.cs | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/NitroxServer/GameLogic/Entities/EntityData.cs b/NitroxServer/GameLogic/Entities/EntityData.cs
index bea6f478f..a26958279 100644
--- a/NitroxServer/GameLogic/Entities/EntityData.cs
+++ b/NitroxServer/GameLogic/Entities/EntityData.cs
@@ -22,6 +22,8 @@ private void ProtoAfterDeserialization()
// children to their respective parent entities.
Dictionary entitiesById = Entities.ToDictionary(entity => entity.Id);
+ bool brokenEntitiesFound = false;
+
foreach (Entity entity in Entities)
{
if (entity is WorldEntity we)
@@ -41,6 +43,13 @@ private void ProtoAfterDeserialization()
Log.Error("Found WorldEntity with NaN or infinite rotation. Resetting rotation.");
we.Transform.LocalRotation = NitroxQuaternion.Identity;
}
+
+ if (we.Level == 100)
+ {
+ Log.Error($"Found an entity with cell level 100. It will be hotfixed.\n{we}");
+ we.Level = 0;
+ brokenEntitiesFound = true;
+ }
}
// We will re-build the child hierarchy below and want to avoid duplicates.
@@ -48,6 +57,11 @@ private void ProtoAfterDeserialization()
entity.ChildEntities.Clear();
}
+ if (brokenEntitiesFound)
+ {
+ Log.Warn($"Please consider reporting the above issues on the Discord server.");
+ }
+
foreach (Entity entity in Entities)
{
if (entity.ParentId != null && entitiesById.TryGetValue(entity.ParentId, out Entity parentEntity))
From 2672e497dc1cdb4206a434a11f51752d866fca27 Mon Sep 17 00:00:00 2001
From: rootcan <24827220+tornac1234@users.noreply.github.com>
Date: Sun, 19 Oct 2025 18:18:06 +0200
Subject: [PATCH 42/50] Moved most of Nitrox.Server.Subnautica types into
"Models" namespace.
This is to prepare for "Extensions" and "Services" namespaces that will cleanly separate server code into 3 main path ways.
Something is either a service, or an extension or part of the domain logic (aka "Models").
---
Directory.Build.props | 2 +-
Nitrox.Launcher/App.axaml.cs | 6 +-
Nitrox.Launcher/GlobalStatic.cs | 2 +-
Nitrox.Launcher/GlobalUsings.cs | 4 +-
.../Converters/PlatformToIconConverter.cs | 2 +-
.../Models/Converters/ToStringConverter.cs | 2 +-
Nitrox.Launcher/Models/Design/EditorField.cs | 2 +-
Nitrox.Launcher/Models/Design/KnownGame.cs | 2 +-
Nitrox.Launcher/Models/Design/ServerEntry.cs | 14 ++--
.../Models/Design/StaticCommands.cs | 2 +-
.../Extensions/KeyValueStoreExtensions.cs | 2 +-
.../Models/Extensions/ProcessExExtensions.cs | 4 +-
.../Extensions/ServiceCollectionExtensions.cs | 2 +-
.../Models/Extensions/VisualExtensions.cs | 2 +-
.../FileCacheDelegatingHandler.cs | 2 +-
.../LogRequestDelegatingHandler.cs | 4 +-
.../Models/Services/DialogService.cs | 2 +-
.../Models/Services/ServerService.cs | 8 +-
.../Styles/Theme/RadioButtonGroupStyle.axaml | 2 +-
Nitrox.Launcher/Models/Utils/AssetHelper.cs | 2 +-
Nitrox.Launcher/Models/Utils/CrashReporter.cs | 6 +-
Nitrox.Launcher/Models/Utils/GameInspect.cs | 6 +-
Nitrox.Launcher/Models/Utils/Hashing.cs | 4 +-
.../Models/Utils/NitroxEntryPatch.cs | 4 +-
Nitrox.Launcher/Nitrox.Launcher.csproj | 3 +-
.../ViewModels/BackupRestoreViewModel.cs | 2 +-
Nitrox.Launcher/ViewModels/BlogViewModel.cs | 2 +-
.../ViewModels/CrashWindowViewModel.cs | 6 +-
.../ViewModels/CreateServerViewModel.cs | 4 +-
.../DesignObjectPropertyEditorViewModel.cs | 2 +-
.../Designer/DesignOptionsViewModel.cs | 2 +-
.../Designer/DesignServersViewModel.cs | 2 +-
.../ViewModels/EmbeddedServerViewModel.cs | 2 +-
.../ViewModels/LaunchGameViewModel.cs | 12 +--
.../ViewModels/MainWindowViewModel.cs | 4 +-
.../ViewModels/ManageServerViewModel.cs | 10 +--
.../ViewModels/OptionsViewModel.cs | 10 +--
.../ViewModels/ServersViewModel.cs | 4 +-
.../ViewModels/UpdatesViewModel.cs | 4 +-
Nitrox.Launcher/Views/CreateServerModal.axaml | 2 +-
Nitrox.Launcher/Views/MainWindow.axaml | 2 +-
Nitrox.Launcher/Views/ManageServerView.axaml | 2 +-
.../DataStructures/DataExtensions.cs | 12 +--
.../Actions/SerializableCreatureAction.cs | 2 +-
.../GameLogic/CyclopsDamageInfoData.cs | 8 +-
.../GameLogic/CyclopsFireData.cs | 4 +-
.../Entities/SubnauticaUwePrefabFactory.cs | 6 +-
.../SubnauticaUweWorldEntityFactory.cs | 4 +-
.../Surrogates/QuaternionSurrogate.cs | 6 +-
.../Surrogates/Vector3Surrogate.cs | 6 +-
.../Helper/SubnauticaConstants.cs | 2 +-
.../Helper/SubnauticaMap.cs | 8 +-
.../Helper/TextureScaler.cs | 2 +-
.../Helper/VehicleHelper.cs | 4 +-
.../Logger/SubnauticaInGameLogger.cs | 4 +-
.../Nitrox.Model.Subnautica.csproj | 3 +-
.../Packets/CyclopsDamage.cs | 8 +-
.../Packets/CyclopsDamagePointRepaired.cs | 6 +-
.../Packets/CyclopsDecoyLaunch.cs | 6 +-
.../Packets/CyclopsFireCreated.cs | 8 +-
.../Packets/CyclopsFireSuppression.cs | 6 +-
.../Packets/ExosuitArmActionPacket.cs | 9 +-
.../Packets/RocketLaunch.cs | 6 +-
.../Packets/RocketResync.cs | 6 +-
.../CallerArgumentExpressionAttribute.cs | 0
.../Constants/LANDiscoveryConstants.cs | 2 +-
.../Core/IAutoFacRegistrar.cs | 2 +-
.../Core/NitroxEnvironment.cs | 2 +-
.../Core/NitroxServiceLocator.cs | 4 +-
.../DataStructures/CircularBuffer.cs | 2 +-
.../GameLogic/AbsoluteEntityCell.cs | 8 +-
.../GameLogic/AuroraEventData.cs | 2 +-
.../GameLogic/Bases/BaseData.cs | 2 +-
.../GameLogic/Bases/BuildPieceIdentifier.cs | 2 +-
.../GameLogic/Bases/NitroxBaseFace.cs | 2 +-
.../GameLogic/DamageTakenData.cs | 6 +-
.../Entities/Bases/BaseLeakEntity.cs | 4 +-
.../GameLogic/Entities/Bases/BuildEntity.cs | 8 +-
.../GameLogic/Entities/Bases/GhostEntity.cs | 8 +-
.../Entities/Bases/InteriorPieceEntity.cs | 8 +-
.../GameLogic/Entities/Bases/MapRoomEntity.cs | 6 +-
.../GameLogic/Entities/Bases/ModuleEntity.cs | 6 +-
.../Entities/Bases/MoonpoolEntity.cs | 6 +-
.../GameLogic/Entities/CellRootEntity.cs | 6 +-
.../Entities/CreatureRespawnEntity.cs | 6 +-
.../Entities/EscapePodWorldEntity.cs | 6 +-
.../GameLogic/Entities/GeyserWorldEntity.cs | 6 +-
.../GameLogic/Entities/GlobalRootEntity.cs | 8 +-
.../GameLogic/Entities/IUwePrefabFactory.cs | 2 +-
.../Entities/IUweWorldEntityFactory.cs | 2 +-
.../Entities/InstalledBatteryEntity.cs | 4 +-
.../Entities/InstalledModuleEntity.cs | 4 +-
.../GameLogic/Entities/InventoryEntity.cs | 4 +-
.../GameLogic/Entities/InventoryItemEntity.cs | 4 +-
.../Bases/BaseAnchoredCellGhostMetadata.cs | 2 +-
.../Bases/BaseAnchoredFaceGhostMetadata.cs | 4 +-
.../Bases/BaseDeconstructableGhostMetadata.cs | 4 +-
.../Entities/Metadata/Bases/GhostMetadata.cs | 2 +-
.../Entities/Metadata/BatteryMetadata.cs | 2 +-
.../Entities/Metadata/BeaconMetadata.cs | 2 +-
.../Entities/Metadata/ConstructorMetadata.cs | 2 +-
.../Entities/Metadata/CrafterMetadata.cs | 2 +-
.../Entities/Metadata/CrashHomeMetadata.cs | 2 +-
.../Metadata/CyclopsLightingMetadata.cs | 2 +-
.../Entities/Metadata/CyclopsMetadata.cs | 2 +-
.../Entities/Metadata/EatableMetadata.cs | 2 +-
.../Entities/Metadata/EggMetadata.cs | 2 +-
.../Entities/Metadata/EntityMetadata.cs | 4 +-
.../Entities/Metadata/EntitySignMetadata.cs | 2 +-
.../Entities/Metadata/EscapePodMetadata.cs | 2 +-
.../Entities/Metadata/ExosuitMetadata.cs | 4 +-
.../FireExtinguisherHolderMetadata.cs | 2 +-
.../Entities/Metadata/FlareMetadata.cs | 2 +-
.../Entities/Metadata/FlashlightMetadata.cs | 2 +-
.../Entities/Metadata/FruitPlantMetadata.cs | 2 +-
.../Entities/Metadata/IncubatorMetadata.cs | 2 +-
.../Entities/Metadata/KeypadMetadata.cs | 2 +-
.../Entities/Metadata/NamedColoredMetadata.cs | 4 +-
.../Entities/Metadata/PlantableMetadata.cs | 2 +-
.../Entities/Metadata/PlayerMetadata.cs | 2 +-
.../Metadata/PrecursorDoorwayMetadata.cs | 2 +-
.../Metadata/PrecursorKeyTerminalMetadata.cs | 2 +-
...sorTeleporterActivationTerminalMetadata.cs | 2 +-
.../Metadata/PrecursorTeleporterMetadata.cs | 2 +-
.../Entities/Metadata/RadiationMetadata.cs | 2 +-
.../Entities/Metadata/RocketMetadata.cs | 2 +-
.../Entities/Metadata/SeaTreaderMetadata.cs | 4 +-
.../Entities/Metadata/SealedDoorMetadata.cs | 2 +-
.../Entities/Metadata/SeamothMetadata.cs | 4 +-
.../Entities/Metadata/StarshipDoorMetadata.cs | 2 +-
.../Metadata/StayAtLeashPositionMetadata.cs | 4 +-
.../Entities/Metadata/SubNameInputMetadata.cs | 4 +-
.../Entities/Metadata/VehicleMetadata.cs | 4 +-
.../Metadata/WaterParkCreatureMetadata.cs | 2 +-
.../WeldableWallPanelGenericMetadata.cs | 2 +-
.../GameLogic/Entities/OxygenPipeEntity.cs | 6 +-
.../Entities/PathBasedChildEntity.cs | 4 +-
.../GameLogic/Entities/PlacedWorldEntity.cs | 6 +-
.../Entities/PlaceholderGroupWorldEntity.cs | 6 +-
.../GameLogic/Entities/PlanterEntity.cs | 6 +-
.../GameLogic/Entities/PlayerEntity.cs | 6 +-
.../GameLogic/Entities/PrefabChildEntity.cs | 4 +-
.../Entities/PrefabPlaceholderEntity.cs | 6 +-
.../GameLogic/Entities/RadiationLeakEntity.cs | 6 +-
.../GameLogic/Entities/ReefbackChildEntity.cs | 6 +-
.../GameLogic/Entities/ReefbackEntity.cs | 6 +-
.../Entities/SerializedWorldEntity.cs | 6 +-
.../GameLogic/Entities/UwePrefab.cs | 2 +-
.../GameLogic/Entities/UweWorldEntity.cs | 4 +-
.../GameLogic/Entities/VehicleEntity.cs | 6 +-
.../GameLogic/Entities/WorldEntity.cs | 6 +-
.../DataStructures/GameLogic/Entity.cs | 8 +-
.../GameLogic/InitialPDAData.cs | 2 +-
.../GameLogic/InitialStoryGoalData.cs | 2 +-
.../GameLogic/IntroCinematicMode.cs | 2 +-
.../GameLogic/NitroxScheduledGoal.cs | 2 +-
.../GameLogic/NitroxTechType.cs | 2 +-
.../DataStructures/GameLogic/PDAEntry.cs | 2 +-
.../DataStructures/GameLogic/PDALogEntry.cs | 2 +-
.../DataStructures/GameLogic/Perms.cs | 2 +-
.../GameLogic/PingInstancePreference.cs | 2 +-
.../GameLogic/PlayerAnimation.cs | 4 +-
.../GameLogic/PlayerStatsData.cs | 2 +-
.../GameLogic/RandomStartGenerator.cs | 4 +-
.../GameLogic/SessionSettings.cs | 2 +-
.../GameLogic/SubnauticaPlayerPreferences.cs | 2 +-
.../DataStructures/GameLogic/TimeData.cs | 4 +-
.../DataStructures/NitroxId.cs | 3 +-
.../DataStructures/NitroxInt3.cs | 6 +-
.../DataStructures/NitroxVersion.cs | 2 +-
.../DataStructures/Optional.cs | 2 +-
.../DataStructures/PriorityQueue.cs | 2 +-
.../DataStructures/SerializedComponent.cs | 2 +-
.../DataStructures/SimulatedEntity.cs | 2 +-
.../DataStructures/SimulationLock.cs | 2 +-
.../Surrogates/SerializationSurrogate.cs | 2 +-
.../DataStructures/ThreadSafeDictionary.cs | 2 +-
.../DataStructures/ThreadSafeList.cs | 4 +-
.../DataStructures/ThreadSafeQueue.cs | 2 +-
.../DataStructures/ThreadSafeSet.cs | 2 +-
.../DataStructures/Unity/NitroxColor.cs | 4 +-
.../DataStructures/Unity/NitroxQuaternion.cs | 4 +-
.../DataStructures/Unity/NitroxTransform.cs | 3 +-
.../DataStructures/Unity/NitroxVector3.cs | 4 +-
.../DataStructures/Unity/NitroxVector4.cs | 2 +-
.../Discovery/GameInstallationFinder.cs | 8 +-
.../Discovery/GameInstallationHelper.cs | 2 +-
.../InstallationFinders/ConfigFinder.cs | 8 +-
.../Core/GameFinderResult.cs | 6 +-
.../InstallationFinders/Core/IGameFinder.cs | 2 +-
.../InstallationFinders/DiscordFinder.cs | 6 +-
.../InstallationFinders/EnvironmentFinder.cs | 6 +-
.../InstallationFinders/EpicGamesFinder.cs | 6 +-
.../InstallationFinders/MicrosoftFinder.cs | 6 +-
.../InstallationFinders/SteamFinder.cs | 8 +-
.../Discovery/Models/GameLibraries.cs | 2 +-
.../Discovery/Models/Platform.cs | 2 +-
.../Extensions/AssemblyExtensions.cs | 2 +-
.../Extensions/DictionaryExtensions.cs | 2 +-
.../Extensions/EnumExtensions.cs | 2 +-
.../Extensions/EnumerableExtensions.cs | 2 +-
.../Extensions/ExceptionExtensions.cs | 2 +-
.../Extensions/KeyValueStoreExtensions.cs | 4 +-
.../Extensions/ListExtensions.cs | 2 +-
.../Extensions/Matrix4x4Extension.cs | 4 +-
.../Extensions/StreamExtensions.cs | 2 +-
.../Extensions/StringExtensions.cs | 2 +-
.../SubnauticaServerConfigExtensions.cs | 6 +-
.../Extensions/TaskExtensions.cs | 2 +-
.../Extensions/UintExtensions.cs | 2 +-
{NitroxModel => Nitrox.Model}/GameInfo.cs | 2 +-
.../GameLogic/FMOD/FMODWhitelist.cs | 4 +-
.../GameLogic/FMOD/SoundHelper.cs | 4 +-
.../PlayerAnimation/AnimChangeState.cs | 2 +-
.../PlayerAnimation/AnimChangeType.cs | 2 +-
Nitrox.Model/GlobalUsings.cs | 1 +
.../Helper/CultureManager.cs | 2 +-
.../Helper/IKeyValueStore.cs | 2 +-
{NitroxModel => Nitrox.Model}/Helper/IMap.cs | 6 +-
{NitroxModel => Nitrox.Model}/Helper/Ipc.cs | 3 +-
.../Helper/KeyValueStore.cs | 7 +-
.../Helper/LinqExtensions.cs | 2 +-
{NitroxModel => Nitrox.Model}/Helper/Mathf.cs | 2 +-
.../Helper/NatHelper.cs | 2 +-
.../Helper/NetHelper.cs | 2 +-
.../Helper/NitroxUser.cs | 14 ++--
.../Helper/PirateDetection.cs | 4 +-
.../Helper/Reflect.cs | 2 +-
.../Helper/StringHelper.cs | 2 +-
.../Helper/Validate.cs | 4 +-
.../Logger/ColoredConsoleSink.cs | 2 +-
.../Logger/ConditionalValveSink.cs | 6 +-
.../Logger/InGameLogger.cs | 2 +-
.../Logger/LiteNetLibLogger.cs | 2 +-
{NitroxModel => Nitrox.Model}/Logger/Log.cs | 6 +-
.../LoggerSinkConfigurationExtensions.cs | 2 +-
.../Logger/MessageSink.cs | 2 +-
.../AuthenticationContext.cs | 4 +-
...ltiplayerSessionAuthenticationAuthority.cs | 2 +-
.../MultiplayerSessionReservationState.cs | 2 +-
.../MultiplayerSession/PlayerContext.cs | 8 +-
.../MultiplayerSession/PlayerSettings.cs | 4 +-
.../RandomColorGenerator.cs | 4 +-
.../Networking/NitroxDeliveryMethod.cs | 2 +-
.../Networking/NtpSyncer.cs | 2 +-
.../Nitrox.Model.csproj | 0
.../Packets/AggressiveWhenSeeTargetChanged.cs | 4 +-
.../Packets/AnimationChangeEvent.cs | 4 +-
.../Packets/AttackCyclopsTargetChanged.cs | 4 +-
.../Packets/AuroraAndTimeUpdate.cs | 4 +-
.../Packets/BaseDeconstructed.cs | 6 +-
.../Packets/BedEnter.cs | 2 +-
.../Packets/BenchChanged.cs | 4 +-
.../Packets/BuildingDesyncWarning.cs | 4 +-
.../Packets/BuildingResync.cs | 4 +-
.../Packets/BuildingResyncRequest.cs | 4 +-
.../Packets/CellVisibilityChanged.cs | 4 +-
.../Packets/ChatMessage.cs | 2 +-
.../Packets/CheatCommand.cs | 4 +-
.../Packets/ClearPlanter.cs | 4 +-
.../Packets/CoffeeMachineUse.cs | 5 +-
.../Packets/CorrelatedPacket.cs | 2 +-
.../Packets/CreatureActionChanged.cs | 4 +-
.../Packets/CreaturePoopPerformed.cs | 4 +-
.../Packets/DebugStartMapPacket.cs | 4 +-
.../Packets/DeconstructionBegin.cs | 4 +-
.../Packets/Disconnect.cs | 2 +-
.../Packets/DiscordRequestIP.cs | 2 +-
.../Packets/DropSimulationOwnership.cs | 4 +-
.../Packets/EntityDestroyed.cs | 4 +-
.../Packets/EntityMetadataUpdate.cs | 6 +-
.../Packets/EntityReparented.cs | 4 +-
.../Packets/EntitySpawnedByClient.cs | 4 +-
.../Packets/EntityTransformUpdates.cs | 6 +-
.../Packets/EscapePodChanged.cs | 7 +-
.../Exceptions/UncorrelatedPacketException.cs | 3 +-
.../Packets/FMODAssetPacket.cs | 4 +-
.../Packets/FMODCustomEmitterPacket.cs | 4 +-
.../Packets/FMODCustomLoopingEmitterPacket.cs | 4 +-
.../Packets/FMODEventInstancePacket.cs | 6 +-
.../Packets/FMODStudioEmitterPacket.cs | 4 +-
.../Packets/FastCheatChanged.cs | 2 +-
.../Packets/FireDoused.cs | 4 +-
.../Packets/FootstepPacket.cs | 2 +-
.../Packets/GameModeChanged.cs | 4 +-
.../Packets/GoalCompleted.cs | 2 +-
.../Packets/InitialPlayerSync.cs | 14 ++--
.../Packets/ItemPosition.cs | 6 +-
.../Packets/KeepInventoryChanged.cs | 2 +-
.../Packets/KnownTechEntryAdd.cs | 4 +-
.../Packets/LargeWaterParkDeconstructed.cs | 8 +-
.../Packets/LeakRepaired.cs | 4 +-
.../Packets/MedicalCabinetClicked.cs | 4 +-
.../Packets/ModifyConstructedAmount.cs | 4 +-
.../Packets/ModuleAdded.cs | 4 +-
.../Packets/ModuleRemoved.cs | 4 +-
.../Packets/Movement.cs | 4 +-
.../Packets/MultiplayerSessionPolicy.cs | 8 +-
.../MultiplayerSessionPolicyRequest.cs | 2 +-
.../Packets/MultiplayerSessionReservation.cs | 4 +-
.../MultiplayerSessionReservationRequest.cs | 4 +-
.../Packets/MutePlayer.cs | 2 +-
.../Packets/OpenableStateChanged.cs | 4 +-
.../Packets/OrderedBuildPacket.cs | 2 +-
.../Packets/PDAEncyclopediaEntryAdd.cs | 2 +-
.../Packets/PDALogEntryAdd.cs | 2 +-
.../Packets/PDAScanFinished.cs | 6 +-
.../Packets/Packet.cs | 6 +-
.../Packets/PermsChanged.cs | 4 +-
.../Packets/PickupItem.cs | 4 +-
.../Packets/PieceDeconstructed.cs | 8 +-
.../Packets/PinMoved.cs | 2 +-
.../Packets/PlaceBase.cs | 6 +-
.../Packets/PlaceGhost.cs | 4 +-
.../Packets/PlaceModule.cs | 4 +-
.../Packets/PlaySunbeamEvent.cs | 2 +-
.../Packets/PlayerCinematicControllerCall.cs | 4 +-
.../Packets/PlayerDeathEvent.cs | 4 +-
.../Packets/PlayerHeldItemChanged.cs | 6 +-
.../Packets/PlayerInCyclopsMovement.cs | 6 +-
.../Packets/PlayerJoinedMultiplayerSession.cs | 10 +--
.../PlayerJoiningMultiplayerSession.cs | 2 +-
.../Packets/PlayerKicked.cs | 2 +-
.../Packets/PlayerMovement.cs | 6 +-
.../Packets/PlayerQuickSlotsBindingChanged.cs | 6 +-
.../Packets/PlayerSeeOutOfCellEntity.cs | 4 +-
.../Packets/PlayerStats.cs | 4 +-
.../Packets/PlayerSyncFinished.cs | 2 +-
.../Packets/PlayerTeleported.cs | 8 +-
.../Packets/PlayerUnseeOutOfCellEntity.cs | 4 +-
.../Processors/Abstract/IProcessorContext.cs | 2 +-
.../Processors/Abstract/PacketProcessor.cs | 2 +-
.../Packets/PvPAttack.cs | 2 +-
.../Packets/RadioPlayPendingMessage.cs | 2 +-
.../Packets/RangedAttackLastTargetUpdate.cs | 4 +-
.../Packets/RecipePinned.cs | 2 +-
.../Packets/RemoveCreatureCorpse.cs | 6 +-
.../Packets/Schedule.cs | 2 +-
.../Packets/SeaDragonAttackTarget.cs | 4 +-
.../Packets/SeaDragonGrabExosuit.cs | 4 +-
.../Packets/SeaDragonSwatAttack.cs | 4 +-
.../Packets/SeaTreaderChunkPickedUp.cs | 4 +-
.../Packets/SeaTreaderSpawnedChunk.cs | 6 +-
.../Packets/SeamothModulesAction.cs | 8 +-
.../Packets/ServerCommand.cs | 2 +-
.../Packets/ServerStopped.cs | 2 +-
.../Packets/SetIntroCinematicMode.cs | 4 +-
.../Packets/SignalPingVisibilityChanged.cs | 2 +-
.../Packets/SimulationOwnershipChange.cs | 4 +-
.../Packets/SimulationOwnershipRequest.cs | 4 +-
.../Packets/SimulationOwnershipResponse.cs | 4 +-
.../Packets/SpawnEntities.cs | 6 +-
.../Packets/StasisSphereHit.cs | 4 +-
.../Packets/StasisSphereShot.cs | 4 +-
.../Packets/StoryGoalExecuted.cs | 2 +-
.../Packets/SubRootChanged.cs | 6 +-
.../Packets/TimeChange.cs | 2 +-
.../Packets/ToggleLights.cs | 4 +-
.../Packets/TorpedoHit.cs | 6 +-
.../Packets/TorpedoShot.cs | 8 +-
.../Packets/TorpedoTargetAcquired.cs | 6 +-
.../Packets/UpdateBase.cs | 8 +-
.../Packets/UpdateDisplaySurfaceWater.cs | 2 +-
.../Packets/UpdateInPrecursor.cs | 2 +-
.../Packets/VehicleDocking.cs | 4 +-
.../Packets/VehicleMovements.cs | 8 +-
.../Packets/VehicleOnPilotModeChanged.cs | 4 +-
.../Packets/VehicleUndocking.cs | 4 +-
.../Packets/WaterParkDeconstructed.cs | 8 +-
.../Packets/WeldAction.cs | 4 +-
.../Platforms/OS/MacOS/MacFileSystem.cs | 4 +-
.../OS/Shared/ConfigFileKeyValueStore.cs | 4 +-
.../Platforms/OS/Shared/FileSystem.cs | 8 +-
.../Platforms/OS/Shared/ProcessEx.cs | 2 +-
.../Platforms/OS/Unix/UnixFileSystem.cs | 4 +-
.../OS/Windows/Internal/CoffFileHeader.cs | 2 +-
.../OS/Windows/Internal/ImageDosHeader.cs | 2 +-
.../Windows/Internal/ImageExportDirectory.cs | 2 +-
.../OS/Windows/Internal/ImageNtHeader64.cs | 2 +-
.../Platforms/OS/Windows/Internal/LdrData.cs | 2 +-
.../OS/Windows/Internal/MachineType.cs | 2 +-
.../OS/Windows/Internal/ModuleEntry32.cs | 2 +-
.../Platforms/OS/Windows/Internal/NtStatus.cs | 2 +-
.../OS/Windows/Internal/OptionalHeader64.cs | 2 +-
.../OS/Windows/Internal/ProcessAccessFlags.cs | 2 +-
.../Internal/ProcessBasicInformation.cs | 2 +-
.../Windows/Internal/ProcessCreationFlags.cs | 2 +-
.../Internal/ProcessEnvironmentBlock64.cs | 2 +-
.../OS/Windows/Internal/ProcessInfo.cs | 2 +-
.../OS/Windows/Internal/ProcessThreadEnums.cs | 0
.../OS/Windows/Internal/SecurityAttributes.cs | 2 +-
.../OS/Windows/Internal/SnapshotFlags.cs | 2 +-
.../OS/Windows/Internal/StartupInfo.cs | 2 +-
.../OS/Windows/Internal/ThreadAccess.cs | 2 +-
.../OS/Windows/Internal/Win32Native.cs | 2 +-
.../Platforms/OS/Windows/RegistryEx.cs | 2 +-
.../OS/Windows/RegistryKeyValueStore.cs | 4 +-
.../Platforms/OS/Windows/WinFileSystem.cs | 6 +-
.../Platforms/OS/Windows/WindowsApi.cs | 9 +-
.../Platforms/Store/Discord.cs | 10 +--
.../Platforms/Store/EpicGames.cs | 10 +--
.../Store/Exceptions/GamePlatformException.cs | 4 +-
.../Platforms/Store/GamePlatforms.cs | 4 +-
.../Store/Interfaces/IGamePlatform.cs | 6 +-
.../Platforms/Store/MSStore.cs | 10 +--
.../Platforms/Store/Steam.cs | 16 ++--
.../Properties/AssemblyInfo.cs | 0
.../Serialization/IProperties.cs | 2 +-
.../Serialization/NitroxConfig.cs | 2 +-
.../Serialization/ServerList.cs | 4 +-
.../Serialization/SubnauticaServerConfig.cs | 8 +-
.../Server/NitroxGameMode.cs | 2 +-
.../Server/ServerSerializerMode.cs | 2 +-
Nitrox.Server.Subnautica/AppMutex.cs | 1 +
Nitrox.Server.Subnautica/GlobalUsings.cs | 7 +-
.../Models/Commands}/Abstract/CallArgs.cs | 4 +-
.../Models/Commands}/Abstract/Command.cs | 15 ++--
.../Models/Commands}/Abstract/Parameter.cs | 4 +-
.../Commands}/Abstract/Type/TypeBoolean.cs | 3 +-
.../Commands}/Abstract/Type/TypeEnum.cs | 3 +-
.../Commands}/Abstract/Type/TypeFloat.cs | 4 +-
.../Models/Commands}/Abstract/Type/TypeInt.cs | 4 +-
.../Commands}/Abstract/Type/TypeNitroxId.cs | 5 +-
.../Commands}/Abstract/Type/TypePlayer.cs | 7 +-
.../Commands}/Abstract/Type/TypeString.cs | 4 +-
.../Models/Commands}/AuroraCommand.cs | 10 +--
.../Models/Commands}/AutosaveCommand.cs | 10 +--
.../Models/Commands}/BackCommand.cs | 6 +-
.../Models/Commands}/BackupCommand.cs | 6 +-
.../Models/Commands}/BroadcastCommand.cs | 8 +-
.../Commands}/ChangeAdminPasswordCommand.cs | 10 +--
.../Commands}/ChangeServerGamemodeCommand.cs | 16 ++--
.../Commands}/ChangeServerPasswordCommand.cs | 10 +--
.../Models/Commands}/ConfigCommand.cs | 11 ++-
.../Models/Commands}/DebugStartMapCommand.cs | 14 ++--
.../Models/Commands}/DeopCommand.cs | 10 +--
.../Models/Commands}/DirectoryCommand.cs | 6 +-
.../Models/Commands}/FastCommand.cs | 12 +--
.../Models/Commands}/GameModeCommand.cs | 14 ++--
.../Models/Commands}/HelpCommand.cs | 10 +--
.../Models/Commands}/KickCommand.cs | 18 ++--
.../Models/Commands}/ListCommand.cs | 10 +--
.../Models/Commands}/LoadBatchCommand.cs | 12 +--
.../Models/Commands}/LoginCommand.cs | 10 +--
.../Models/Commands}/MuteCommand.cs | 12 +--
.../Models/Commands}/OpCommand.cs | 10 +--
.../Models/Commands}/PlayerCommand.cs | 18 ++--
.../Processor/ConsoleCommandProcessor.cs | 10 +--
.../Models/Commands}/PromoteCommand.cs | 10 +--
.../Models/Commands}/PvpCommand.cs | 14 ++--
.../Models/Commands}/QueryCommand.cs | 18 ++--
.../Models/Commands}/SaveCommand.cs | 6 +-
.../Commands}/SetKeepInventoryCommand.cs | 17 ++--
.../Models/Commands}/StopCommand.cs | 6 +-
.../Models/Commands}/SummaryCommand.cs | 6 +-
.../Models/Commands}/SunbeamCommand.cs | 12 +--
.../Models/Commands}/SwapSerializerCommand.cs | 14 ++--
.../Models/Commands}/TeleportCommand.cs | 12 +--
.../Models/Commands}/TimeCommand.cs | 10 +--
.../Models/Commands}/UnmuteCommand.cs | 12 +--
.../Models/Commands}/WarpCommand.cs | 9 +-
.../Models/Commands}/WhisperCommand.cs | 8 +-
.../Models/Commands}/WhoisCommand.cs | 8 +-
.../Models}/Communication/ConnectionState.cs | 2 +-
.../Communication/LANBroadcastServer.cs | 6 +-
.../Communication}/LiteNetLibConnection.cs | 6 +-
.../Models/Communication}/LiteNetLibServer.cs | 16 ++--
.../Models}/Communication/NitroxConnection.cs | 6 +-
.../Models/Communication/NitroxServer.cs | 82 ++++++++++++++++++
.../DuplicateRegistrationException.cs | 2 +-
.../GameLogic/Bases/BuildingManager.cs | 20 ++---
.../Models}/GameLogic/ConnectionAssets.cs | 2 +-
.../Models}/GameLogic/Entities/EntityData.cs | 10 +--
.../GameLogic/Entities/EntityRegistry.cs | 10 +--
.../GameLogic/Entities/EntitySimulation.cs | 10 +--
.../GameLogic/Entities/GlobalRootData.cs | 6 +-
.../Entities/ISimulationWhitelist.cs | 4 +-
.../GameLogic/Entities/NitroxEntitySlot.cs | 2 +-
.../GameLogic/Entities/SimulationWhitelist.cs | 7 +-
.../Entities/Spawning/BatchEntitySpawner.cs | 24 +++---
.../Spawning/CrashHomeBootstrapper.cs | 9 +-
.../Entities/Spawning/EntitySpawnPoint.cs | 6 +-
.../Spawning/EntitySpawnPointFactory.cs | 8 +-
.../Entities/Spawning/GeyserBootstrapper.cs | 9 +-
.../Entities/Spawning/IEntityBootstrapper.cs | 9 ++
.../Spawning/IEntityBootstrapperManager.cs | 9 ++
.../Entities/Spawning/IEntitySpawner.cs | 6 +-
.../Entities/Spawning/ReefbackBootstrapper.cs | 27 +++---
.../Entities/Spawning/ReefbackSpawnData.cs | 4 +-
.../Spawning/SerializedEntitySpawnPoint.cs | 10 +--
.../Entities/Spawning/SlotsHelper.cs | 2 +-
.../StayAtLeashPositionBootstrapper.cs | 9 +-
.../SubnauticaEntityBootstrapperManager.cs | 12 ++-
.../SubnauticaEntitySpawnPointFactory.cs | 11 ++-
.../GameLogic/Entities/WorldEntityManager.cs | 23 +++--
.../Models}/GameLogic/EscapePodManager.cs | 18 ++--
.../Models}/GameLogic/GameData.cs | 4 +-
.../Models}/GameLogic/IWorldModifier.cs | 4 +-
.../Models}/GameLogic/InitialSyncTimerData.cs | 6 +-
.../Models}/GameLogic/PlayerManager.cs | 24 +++---
.../GameLogic/Players/PersistedPlayerData.cs | 13 ++-
.../Models}/GameLogic/Players/PlayerData.cs | 2 +-
.../Models}/GameLogic/ScheduleKeeper.cs | 10 +--
.../Models}/GameLogic/SimulationOwnership.cs | 4 +-
.../Models}/GameLogic/StoryManager.cs | 14 ++--
.../Models}/GameLogic/StoryTimingData.cs | 2 +-
.../GameLogic/SubnauticaWorldModifier.cs | 7 +-
.../Models}/GameLogic/TimeKeeper.cs | 17 ++--
.../GameLogic/Unlockables/PDAStateData.cs | 8 +-
.../GameLogic/Unlockables/StoryGoalData.cs | 6 +-
.../Models}/Helper/DeterministicGenerator.cs | 4 +-
.../Models/Helper/XorRandom.cs | 6 +-
.../Models}/Packets/PacketHandler.cs | 15 ++--
...AggressiveWhenSeeTargetChangedProcessor.cs | 10 +--
.../AnimationChangeEventProcessor.cs | 8 +-
.../AttackCyclopsTargetChangedProcessor.cs | 10 +--
.../Processors/BaseDeconstructedProcessor.cs | 8 +-
.../Packets/Processors/BedEnterProcessor.cs | 8 +-
.../Packets/Processors/BuildingProcessor.cs | 17 ++--
.../BuildingResyncRequestProcessor.cs | 14 ++--
.../CellVisibilityChangedProcessor.cs | 16 ++--
.../Processors/ChatMessageProcessor.cs | 8 +-
.../Processors/CheatCommandProcessor.cs | 8 +-
.../Processors/ClearPlanterProcessor.cs | 10 +--
.../Core}/AuthenticatedPacketProcessor.cs | 6 +-
.../Core}/TransmitIfCanSeePacketProcessor.cs | 12 +--
.../Core}/UnauthenticatedPacketProcessor.cs | 7 +-
.../CreatureActionChangedProcessor.cs | 10 +--
.../CreaturePoopPerformedProcessor.cs | 10 +--
.../CyclopsDamagePointRepairedProcessor.cs | 10 +--
.../Processors/CyclopsDamageProcessor.cs | 10 +--
.../Processors/CyclopsFireCreatedProcessor.cs | 10 +--
.../DefaultServerPacketProcessor.cs | 8 +-
.../Processors/DiscordRequestIPProcessor.cs | 9 +-
.../EntityDestroyedPacketProcessor.cs | 14 ++--
.../EntityMetadataUpdateProcessor.cs | 14 ++--
.../Processors/EntityReparentedProcessor.cs | 12 +--
.../EntitySpawnedByClientProcessor.cs | 16 ++--
.../EntityTransformUpdatesProcessor.cs | 16 ++--
.../EscapePodChangedPacketProcessor.cs | 8 +-
.../Packets/Processors/FMODAssetProcessor.cs | 12 +--
.../Processors/FMODEventInstanceProcessor.cs | 12 +--
.../Packets/Processors/FireDousedProcessor.cs | 8 +-
.../Processors/FootstepPacketProcessor.cs | 12 +--
.../Processors/GoalCompletedProcessor.cs | 6 +-
.../Processors/KnownTechEntryAddProcessor.cs | 10 +--
.../LargeWaterParkDeconstructedProcessor.cs | 8 +-
.../Processors/LeakRepairedProcessor.cs | 10 +--
.../ModifyConstructedAmountProcessor.cs | 8 +-
.../Processors/ModuleAddedProcessor.cs | 16 ++--
.../Processors/ModuleRemovedProcessor.cs | 16 ++--
...ultiplayerSessionPolicyRequestProcessor.cs | 9 +-
...layerSessionReservationRequestProcessor.cs | 11 +--
.../PDAEncyclopediaEntryAddProcessor.cs | 10 +--
.../Processors/PDALogEntryAddProcessor.cs | 12 +--
.../PDAScanFinishedPacketProcessor.cs | 12 +--
.../Processors/PickupItemPacketProcessor.cs | 20 ++---
.../Processors/PieceDeconstructedProcessor.cs | 8 +-
.../Processors/PinnedRecipeMovedProcessor.cs | 6 +-
.../Packets/Processors/PlaceBaseProcessor.cs | 10 +--
.../Packets/Processors/PlaceGhostProcessor.cs | 8 +-
.../Processors/PlaceModuleProcessor.cs | 10 +--
.../Processors/PlayerDeathEventProcessor.cs | 12 +--
.../PlayerHeldItemChangedProcessor.cs | 8 +-
.../PlayerInCyclopsMovementProcessor.cs | 12 +--
...layerJoiningMultiplayerSessionProcessor.cs | 33 ++++----
.../Processors/PlayerMovementProcessor.cs | 15 ++--
...PlayerQuickSlotsBindingChangedProcessor.cs | 6 +-
.../PlayerSeeOutOfCellEntityProcessor.cs | 8 +-
.../Processors/PlayerStatsProcessor.cs | 10 +--
.../Processors/PlayerSyncFinishedProcessor.cs | 8 +-
.../PlayerUnseeOutOfCellEntityProcessor.cs | 14 ++--
.../Packets/Processors/PvPAttackProcessor.cs | 11 ++-
.../RadioPlayPendingMessageProcessor.cs | 10 +--
.../RangedAttackLastTargetUpdateProcessor.cs | 10 +--
.../Processors/RecipePinnedProcessor.cs | 6 +-
.../RemoveCreatureCorpseProcessor.cs | 12 +--
.../Packets/Processors/ScheduleProcessor.cs | 10 +--
.../SeaDragonAttackTargetProcessor.cs | 10 +--
.../SeaDragonGrabExosuitProcessor.cs | 10 +--
.../SeaDragonSwatAttackProcessor.cs | 10 +--
.../SeaTreaderSpawnedChunkProcessor.cs | 10 +--
.../Processors/ServerCommandProcessor.cs | 10 +--
.../SetIntroCinematicModeProcessor.cs | 10 +--
.../SignalPingPreferenceChangedProcessor.cs | 6 +-
.../SimulationOwnershipRequestProcessor.cs | 10 +--
.../Processors/StoryGoalExecutedProcessor.cs | 10 +--
.../SubRootChangedPacketProcessor.cs | 10 +--
.../Packets/Processors/UpdateBaseProcessor.cs | 12 +--
.../UpdateDisplaySurfaceWaterProcessor.cs | 6 +-
.../Processors/UpdateInPrecursorProcessor.cs | 6 +-
.../Processors/VehicleDockingProcessor.cs | 12 +--
.../VehicleMovementsPacketProcessor.cs | 16 ++--
.../VehicleOnPilotModeChangedProcessor.cs | 8 +-
.../Processors/VehicleUndockingProcessor.cs | 12 +--
.../WaterParkDeconstructedProcessor.cs | 10 +--
.../Packets/Processors/WeldActionProcessor.cs | 8 +-
.../AddressablesJsonParser.cs | 8 +-
.../Catalog/ClassJsonObject.cs | 2 +-
.../Catalog/ContentCatalogData.cs | 6 +-
.../Catalog/ObjectInitializationData.cs | 4 +-
.../Catalog/ResourceLocation.cs | 2 +-
.../Catalog/SerializedObjectDecoder.cs | 2 +-
.../Catalog/SerializedType.cs | 4 +-
.../JSON/ContentCatalogDataJson.cs | 2 +-
.../JSON/ObjectInitializationDataJson.cs | 2 +-
.../JSON/SerializedTypeJson.cs | 2 +-
.../Models}/Resources/IPrefabAsset.cs | 4 +-
.../Resources/Parsers/Abstract/AssetParser.cs | 5 +-
.../Parsers/Abstract/BundleFileParser.cs | 2 +-
.../Parsers/Abstract/ResourceFileParser.cs | 2 +-
.../Parsers/EntityDistributionsParser.cs | 6 +-
.../Helper/AssetTypeValueFieldExtension.cs | 4 +-
.../Parsers/Helper/AssetsBundleManager.cs | 4 +-
.../Helper/AssetsFileMetadataExtension.cs | 2 +-
.../ThreadSafeMonoCecilTempGenerator.cs | 2 +-
.../Parsers/PrefabPlaceholderGroupsParser.cs | 15 ++--
.../Resources/Parsers/RandomStartParser.cs | 9 +-
.../Parsers/WorldEntityInfoParser.cs | 6 +-
.../Resources/PrefabPlaceholderAsset.cs | 6 +-
.../Resources/PrefabPlaceholderRandomAsset.cs | 4 +-
.../Resources/PrefabPlaceholdersGroupAsset.cs | 4 +-
.../Models}/Resources/RandomSpawnSpoofer.cs | 6 +-
.../{ => Models}/Resources/ResourceAssets.cs | 6 +-
.../Resources/ResourceAssetsParser.cs | 7 +-
.../Models}/Serialization/BatchCellsParser.cs | 13 ++-
.../Serialization/IServerSerializer.cs | 2 +-
.../Json/AttributeContractResolver.cs | 2 +-
.../Serialization/Json/NitroxIdConverter.cs | 4 +-
.../Serialization/Json/TechTypeConverter.cs | 4 +-
.../SaveDataUpgrades/NewtonsoftExtensions.cs | 2 +-
.../SaveDataUpgrades/SaveDataUpgrade.cs | 4 +-
.../SaveDataUpgrades/Upgrade_V1500.cs | 3 +-
.../SaveDataUpgrades/Upgrade_V1600.cs | 3 +-
.../SaveDataUpgrades/Upgrade_V1601.cs | 5 +-
.../Serialization/ServerJsonSerializer.cs | 6 +-
.../Serialization/ServerProtoBufSerializer.cs | 4 +-
.../SubnauticaServerJsonSerializer.cs | 4 +-
.../SubnauticaServerProtoBufSerializer.cs | 11 ++-
.../Serialization/World/PersistedWorldData.cs | 8 +-
.../Serialization/World/SaveFileVersion.cs | 2 +-
.../World/VersionMismatchException.cs | 3 +-
.../Models}/Serialization/World/World.cs | 14 ++--
.../Models}/Serialization/World/WorldData.cs | 6 +-
.../Serialization/World/WorldPersistence.cs | 42 +++++-----
.../Models}/UnityStubs/GameObject.cs | 8 +-
.../Nitrox.Server.Subnautica.csproj | 6 +-
.../Player.cs | 24 +++---
Nitrox.Server.Subnautica/Program.cs | 21 ++---
.../Server.cs | 19 ++---
.../ServerAutoFacRegistrar.cs | 27 +++---
.../SubnauticaServerAutoFacRegistrar.cs | 31 +++----
.../DeferredPacketReceiverTest.cs | 2 +-
.../SessionReservedStateTests.cs | 2 +-
...waitingReservationCredentialsStateTests.cs | 4 +-
.../AwaitingSessionReservationStateTests.cs | 4 +-
.../EstablishingSessionPolicyStateTests.cs | 4 +-
.../ConnectionState/DisconnectedStateTests.cs | 2 +-
.../MultiplayerSessionMangerTests.cs | 2 +-
.../MultiplayerSession/TestConstants.cs | 6 +-
.../Communication/PacketSuppressorTest.cs | 2 +-
.../Communication/TestNonActionPacket.cs | 2 +-
.../Helper/BaseSerializationHelperTest.cs | 2 +-
.../PlayerPreferenceManagerTests.cs | 4 +-
Nitrox.Test/GlobalUsings.cs | 2 +-
.../Helper/Faker/NitroxAbstractFaker.cs | 10 +--
Nitrox.Test/Helper/Faker/NitroxAutoFaker.cs | 2 +-
.../Helper/Faker/NitroxCollectionFaker.cs | 2 +-
Nitrox.Test/Helper/Faker/NitroxFaker.cs | 6 +-
.../Helper/Faker/NitroxOptionalFaker.cs | 2 +-
.../Model/Core/DependencyInjectionTests.cs | 2 +-
.../DataStructures/CircularBufferTest.cs | 2 +-
.../Model/DataStructures/NitroxIdTest.cs | 2 +-
.../Model/DataStructures/NitroxInt3Test.cs | 2 +-
.../Model/DataStructures/NitroxVersionTest.cs | 2 +-
.../Model/DataStructures/PriorityQueueTest.cs | 2 +-
.../DataStructures/ThreadSafeListTest.cs | 2 +-
.../DataStructures/ThreadSafeQueueTest.cs | 2 +-
.../Model/DataStructures/ThreadSafeSetTest.cs | 2 +-
.../Unity/NitroxQuaternionTest.cs | 2 +-
.../Unity/NitroxTransformTest.cs | 2 +-
.../Model/DataStructures/Util/OptionalTest.cs | 2 +-
Nitrox.Test/Model/ExtensionsTests.cs | 2 +-
Nitrox.Test/Model/Helper/KeyValueStoreTest.cs | 2 +-
Nitrox.Test/Model/Helper/NetHelperTest.cs | 2 +-
Nitrox.Test/Model/Helper/ReflectTest.cs | 2 +-
.../Model/Packets/PacketsSerializableTest.cs | 6 +-
.../Packets/Processors/PacketProcessorTest.cs | 14 ++--
.../Platforms/OS/Windows/RegistryTest.cs | 2 +-
Nitrox.Test/Nitrox.Test.csproj | 3 +-
Nitrox.Test/Patcher/PatchTestHelper.cs | 2 +-
.../Language_LoadLanguageFile_PatchTest.cs | 2 +-
Nitrox.Test/Server/Helper/XORRandomTest.cs | 6 +-
.../Serialization/WorldPersistenceTest.cs | 20 ++---
Nitrox.Test/SetupAssemblyInitializer.cs | 4 +-
Nitrox.Test/TestAutoFacRegistrar.cs | 2 +-
Nitrox.sln | 10 +--
NitroxClient/ClientAutoFacRegistrar.cs | 14 ++--
.../Communication/Abstract/IClient.cs | 2 +-
.../Abstract/IMultiplayerSession.cs | 4 +-
.../Abstract/IMultiplayerSessionState.cs | 4 +-
.../Communication/Abstract/IPacketSender.cs | 2 +-
.../Communication/LANBroadcastClient.cs | 2 +-
.../AwaitingReservationCredentials.cs | 6 +-
.../AwaitingSessionReservation.cs | 6 +-
.../ConnectionState/Disconnected.cs | 4 +-
.../EstablishingSessionPolicy.cs | 4 +-
.../ConnectionState/SessionReserved.cs | 2 +-
.../MultiplayerSessionManager.cs | 10 +--
.../LiteNetLib/LiteNetLibClient.cs | 4 +-
NitroxClient/Communication/PacketReceiver.cs | 2 +-
.../Communication/PacketSuppressor.cs | 2 +-
.../Abstract/ClientPacketProcessor.cs | 4 +-
.../Abstract/KeepInventoryChangedProcessor.cs | 2 +-
...AggressiveWhenSeeTargetChangedProcessor.cs | 2 +-
.../AnimationChangeEventProcessor.cs | 6 +-
.../AttackCyclopsTargetChangedProcessor.cs | 2 +-
.../AuroraAndTimeUpdateProcessor.cs | 2 +-
.../Packets/Processors/BedEnterProcessor.cs | 2 +-
.../Processors/BenchChangedProcessor.cs | 2 +-
.../Packets/Processors/BuildProcessor.cs | 2 +-
.../BuildingDesyncWarningProcessor.cs | 4 +-
.../Processors/BuildingResyncProcessor.cs | 12 +--
.../Processors/ChatMessageProcessor.cs | 8 +-
.../Processors/CoffeeMachineUseProcessor.cs | 6 +-
.../Processors/CreatureActionProcessor.cs | 2 +-
.../CreaturePoopPerformedProcessor.cs | 2 +-
...yclopsDamagePointHealthChangedProcessor.cs | 2 +-
.../Processors/CyclopsDamageProcessor.cs | 8 +-
.../Processors/CyclopsDecoyLaunchProcessor.cs | 2 +-
.../Processors/CyclopsFireCreatedProcessor.cs | 2 +-
.../CyclopsFireSuppressionProcessor.cs | 2 +-
.../Processors/DebugStartMapProcessor.cs | 4 +-
.../DeconstructionBeginProcessor.cs | 2 +-
.../Packets/Processors/DisconnectProcessor.cs | 4 +-
.../Processors/DiscordRequestIPProcessor.cs | 2 +-
.../DropSimulationOwnershipProcessor.cs | 2 +-
.../Processors/EntityDestroyedProcessor.cs | 2 +-
.../EntityMetadataUpdateProcessor.cs | 6 +-
.../Processors/EntityReparentedProcessor.cs | 6 +-
.../EntityTransformUpdatesProcessor.cs | 6 +-
.../Processors/EscapePodChangedProcessor.cs | 6 +-
.../Processors/ExosuitArmActionProcessor.cs | 4 +-
.../Packets/Processors/FMODAssetProcessor.cs | 6 +-
.../Processors/FMODCustomEmitterProcessor.cs | 2 +-
.../FMODCustomLoopingEmitterProcessor.cs | 2 +-
.../Processors/FMODEventInstanceProcessor.cs | 2 +-
.../FMODStudioEventEmitterProcessor.cs | 2 +-
.../Processors/FastCheatChangedProcessor.cs | 2 +-
.../Packets/Processors/FireDousedProcessor.cs | 2 +-
.../Processors/FootstepPacketProcessor.cs | 6 +-
.../Processors/GameModeChangedProcessor.cs | 2 +-
.../Processors/InitialPlayerSyncProcessor.cs | 2 +-
.../Processors/ItemPositionProcessor.cs | 6 +-
.../Processors/KnownTechEntryAddProcessor.cs | 4 +-
.../Processors/LeakRepairedProcessor.cs | 4 +-
.../MedicalCabinetClickedProcessor.cs | 2 +-
.../MultiplayerSessionPolicyProcessor.cs | 2 +-
.../MultiplayerSessionReservationProcessor.cs | 2 +-
.../Packets/Processors/MutePlayerProcessor.cs | 4 +-
.../OpenableStateChangedProcessor.cs | 2 +-
.../PDAEncyclopediaEntryAddProcessor.cs | 2 +-
.../Processors/PDALogEntryAddProcessor.cs | 2 +-
.../Processors/PDAScanFinishedProcessor.cs | 4 +-
.../Processors/PermsChangedProcessor.cs | 4 +-
.../Processors/PlaySunbeamEventProcessor.cs | 2 +-
.../PlayerCinematicControllerCallProcessor.cs | 6 +-
.../Processors/PlayerDeathProcessor.cs | 4 +-
.../PlayerHeldItemChangedProcessor.cs | 6 +-
.../PlayerInCyclopsMovementProcessor.cs | 4 +-
...PlayerJoinedMultiplayerSessionProcessor.cs | 2 +-
.../Processors/PlayerKickedProcessor.cs | 2 +-
.../Processors/PlayerMovementProcessor.cs | 4 +-
.../Processors/PlayerStatsProcessor.cs | 2 +-
.../Processors/PlayerTeleportedProcessor.cs | 4 +-
.../Packets/Processors/PvPAttackProcessor.cs | 2 +-
.../RadioPlayPendingMessageProcessor.cs | 2 +-
.../RangedAttackLastTargetUpdateProcessor.cs | 2 +-
.../RemoveCreatureCorpseProcessor.cs | 6 +-
.../Processors/RocketLaunchProcessor.cs | 2 +-
.../Packets/Processors/ScheduleProcessor.cs | 2 +-
.../SeaDragonAttackTargetProcessor.cs | 2 +-
.../SeaDragonGrabExosuitProcessor.cs | 2 +-
.../SeaDragonSwatAttackProcessor.cs | 2 +-
.../SeaTreaderChunkPickedUpProcessor.cs | 2 +-
.../SeaTreaderSpawnedChunkProcessor.cs | 4 +-
.../SeamothModuleActionProcessor.cs | 4 +-
.../Processors/ServerStoppedProcessor.cs | 2 +-
.../SetIntroCinematicModeProcessor.cs | 2 +-
.../SimulationOwnershipChangeProcessor.cs | 4 +-
.../SimulationOwnershipResponseProcessor.cs | 6 +-
.../Processors/SpawnEntitiesProcessor.cs | 6 +-
.../Processors/StasisSphereHitProcessor.cs | 4 +-
.../Processors/StasisSphereShotProcessor.cs | 4 +-
.../StoryGoalExecutedClientProcessor.cs | 4 +-
.../Processors/SubRootChangedProcessor.cs | 4 +-
.../Packets/Processors/TimeChangeProcessor.cs | 2 +-
.../Processors/ToggleLightsProcessor.cs | 6 +-
.../Packets/Processors/TorpedoHitProcessor.cs | 4 +-
.../Processors/TorpedoShotProcessor.cs | 4 +-
.../TorpedoTargetAcquiredProcessor.cs | 4 +-
.../Processors/VehicleDockingProcessor.cs | 4 +-
.../Processors/VehicleMovementsProcessor.cs | 2 +-
.../VehicleOnPilotModeChangedProcessor.cs | 2 +-
.../Processors/VehicleUndockingProcessor.cs | 2 +-
.../Packets/Processors/WeldActionProcessor.cs | 2 +-
NitroxClient/Debuggers/BaseDebugger.cs | 4 +-
.../Debuggers/Drawer/DrawerManager.cs | 6 +-
.../Drawer/Nitrox/NitroxEntityDrawer.cs | 4 +-
.../Drawer/Unity/CharacterControllerDrawer.cs | 2 +-
.../Debuggers/Drawer/Unity/RigidbodyDrawer.cs | 2 +-
.../Debuggers/Drawer/Unity/TransformDrawer.cs | 2 +-
.../Debuggers/Drawer/Unity/VectorDrawer.cs | 4 +-
.../Debuggers/Drawer/UnityUI/ButtonDrawer.cs | 2 +-
.../Debuggers/Drawer/UnityUI/CanvasDrawer.cs | 2 +-
.../Drawer/UnityUI/CanvasScalerDrawer.cs | 2 +-
.../Drawer/UnityUI/DropdownDrawer.cs | 2 +-
.../Drawer/UnityUI/EventTriggerDrawer.cs | 2 +-
.../Drawer/UnityUI/GridLayoutGroupDrawer.cs | 2 +-
.../Debuggers/Drawer/UnityUI/ImageDrawer.cs | 2 +-
.../Drawer/UnityUI/InputFieldDrawer.cs | 2 +-
.../Drawer/UnityUI/LayoutGroupDrawer.cs | 2 +-
.../Drawer/UnityUI/SelectableDrawer.cs | 2 +-
.../Debuggers/Drawer/UnityUI/SliderDrawer.cs | 2 +-
.../Debuggers/Drawer/UnityUI/TextDrawer.cs | 2 +-
.../Debuggers/Drawer/UnityUI/ToggleDrawer.cs | 2 +-
NitroxClient/Debuggers/EntityDebugger.cs | 2 +-
NitroxClient/Debuggers/NetworkDebugger.cs | 2 +-
NitroxClient/Debuggers/SceneExtraDebugger.cs | 4 +-
NitroxClient/Debuggers/SoundDebugger.cs | 6 +-
.../Extensions/GameObjectExtensions.cs | 4 +-
.../Extensions/NitroxEntityExtensions.cs | 4 +-
NitroxClient/Extensions/PlanterExtensions.cs | 2 +-
NitroxClient/Extensions/StringExtensions.cs | 2 +-
.../Extensions/UnityObjectExtensions.cs | 2 +-
NitroxClient/GameLogic/AI.cs | 6 +-
NitroxClient/GameLogic/Bases/BuildUtils.cs | 14 ++--
.../GameLogic/Bases/BuildingHandler.cs | 14 ++--
.../GameLogic/Bases/GhostMetadataApplier.cs | 6 +-
.../GameLogic/Bases/GhostMetadataRetriever.cs | 4 +-
NitroxClient/GameLogic/BulletManager.cs | 2 +-
.../GameLogic/ChatUI/PlayerChatManager.cs | 2 +-
.../GameLogic/CorrectedTimeManager.cs | 2 +-
NitroxClient/GameLogic/Cyclops.cs | 12 +--
NitroxClient/GameLogic/Entities.cs | 14 ++--
NitroxClient/GameLogic/EquipmentSlots.cs | 4 +-
NitroxClient/GameLogic/ExosuitModuleEvent.cs | 6 +-
NitroxClient/GameLogic/FMOD/FMODSystem.cs | 8 +-
NitroxClient/GameLogic/Fires.cs | 8 +-
.../HUD/PdaTabs/uGUI_PlayerListTab.cs | 2 +-
.../HUD/PdaTabs/uGUI_PlayerPingEntry.cs | 8 +-
.../Helper/BatteryChildEntityHelper.cs | 10 +--
.../GameLogic/Helper/EquipmentHelper.cs | 2 +-
.../Helper/InventoryContainerHelper.cs | 4 +-
.../Helper/TransientLocalObjectManager.cs | 2 +-
.../Helper/VehicleChildEntityHelper.cs | 6 +-
.../Abstract/IInitialSyncProcessor.cs | 2 +-
.../Abstract/InitialSyncProcessor.cs | 2 +-
.../ClockSyncInitialSyncProcessor.cs | 4 +-
.../EquippedItemInitialSyncProcessor.cs | 6 +-
.../GlobalRootInitialSyncProcessor.cs | 6 +-
.../InitialSync/PdaInitialSyncProcessor.cs | 6 +-
.../InitialSync/PlayerInitialSyncProcessor.cs | 6 +-
.../PlayerPositionInitialSyncProcessor.cs | 8 +-
.../PlayerPreferencesInitialSyncProcessor.cs | 4 +-
.../QuickSlotInitialSyncProcessor.cs | 6 +-
.../RemotePlayerInitialSyncProcessor.cs | 4 +-
...SimulationOwnershipInitialSyncProcessor.cs | 4 +-
.../StoryGoalInitialSyncProcessor.cs | 4 +-
NitroxClient/GameLogic/Interior.cs | 4 +-
NitroxClient/GameLogic/ItemContainers.cs | 12 +--
NitroxClient/GameLogic/Items.cs | 14 ++--
NitroxClient/GameLogic/LiveMixinManager.cs | 2 +-
NitroxClient/GameLogic/LocalPlayer.cs | 14 ++--
NitroxClient/GameLogic/MedkitFabricator.cs | 4 +-
NitroxClient/GameLogic/MobileVehicleBay.cs | 6 +-
NitroxClient/GameLogic/NitroxConsole.cs | 8 +-
.../GameLogic/PlayerLogic/PlayerCinematics.cs | 6 +-
.../PlayerModel/Abstract/INitroxPlayer.cs | 2 +-
.../ColorSwap/DiveSuitColorSwapManager.cs | 2 +-
.../ColorSwap/FinColorSwapManager.cs | 2 +-
.../RadiationHelmetColorSwapManager.cs | 2 +-
.../RadiationSuitColorSwapManager.cs | 2 +-
.../RadiationSuitVestColorSwapManager.cs | 2 +-
.../RadiationTankColorSwapManager.cs | 2 +-
.../ColorSwap/RebreatherColorSwapManager.cs | 2 +-
.../ReinforcedSuitColorSwapManager.cs | 2 +-
.../ColorSwap/ScubaTankColorSwapManager.cs | 2 +-
.../ColorSwap/StillSuitColorSwapManager.cs | 2 +-
.../PlayerModel/PlayerModelManager.cs | 2 +-
.../PlayerPreferenceManager.cs | 6 +-
NitroxClient/GameLogic/PlayerManager.cs | 10 +--
NitroxClient/GameLogic/RemotePlayer.cs | 10 +--
NitroxClient/GameLogic/Rockets.cs | 8 +-
NitroxClient/GameLogic/SeamothModulesEvent.cs | 6 +-
.../GameLogic/Simulation/LockRequest.cs | 2 +-
.../GameLogic/Simulation/LockRequestBase.cs | 2 +-
NitroxClient/GameLogic/SimulationOwnership.cs | 4 +-
.../Spawning/Abstract/EntitySpawner.cs | 4 +-
.../Spawning/Abstract/IEntitySpawner.cs | 4 +-
.../Spawning/Abstract/ISyncEntitySpawner.cs | 4 +-
.../Spawning/Abstract/SyncEntitySpawner.cs | 4 +-
.../Spawning/Bases/BaseLeakEntitySpawner.cs | 6 +-
.../Spawning/Bases/BuildEntitySpawner.cs | 14 ++--
.../Spawning/Bases/BuildingPostSpawner.cs | 2 +-
.../Spawning/Bases/GhostEntitySpawner.cs | 6 +-
.../Bases/InteriorPieceEntitySpawner.cs | 12 +--
.../Spawning/Bases/ModuleEntitySpawner.cs | 12 +--
.../Spawning/EscapePodEntitySpawner.cs | 12 +--
.../Spawning/InstalledBatteryEntitySpawner.cs | 8 +-
.../Spawning/InstalledModuleEntitySpawner.cs | 6 +-
.../Spawning/InventoryEntitySpawner.cs | 4 +-
.../Spawning/InventoryItemEntitySpawner.cs | 10 +--
.../Metadata/BeaconMetadataProcessor.cs | 4 +-
.../Metadata/EntityMetadataManager.cs | 6 +-
.../Abstract/EntityMetadataExtractor.cs | 6 +-
.../Abstract/IEntityMetadataExtractor.cs | 4 +-
.../Extractor/BatteryMetadataExtractor.cs | 2 +-
.../Extractor/BeaconMetadataExtractor.cs | 2 +-
.../Extractor/ConstructorMetadataExtractor.cs | 2 +-
.../Extractor/CrashHomeMetadataExtractor.cs | 2 +-
.../CyclopsLightingMetadataExtractor.cs | 2 +-
.../Extractor/CyclopsMetadataExtractor.cs | 2 +-
.../Extractor/EatableMetadataExtractor.cs | 2 +-
.../Extractor/EggMetadataExtractor.cs | 2 +-
.../Extractor/EscapePodMetadataExtractor.cs | 2 +-
.../Extractor/ExosuitMetadataExtractor.cs | 2 +-
...FireExtinguisherHolderMetadataExtractor.cs | 2 +-
.../Extractor/FlareMetadataExtractor.cs | 2 +-
.../Extractor/FlashlightMetadataExtractor.cs | 2 +-
.../Extractor/FruitPlantMetadataExtractor.cs | 2 +-
.../Extractor/PlantableMetadataExtractor.cs | 2 +-
.../Extractor/PlayerMetadataExtractor.cs | 8 +-
.../Extractor/RadiationMetadataExtractor.cs | 2 +-
.../Extractor/RocketMetadataExtractor.cs | 2 +-
.../Extractor/SeaTreaderMetadataExtractor.cs | 4 +-
.../Extractor/SealedDoorMetadataExtractor.cs | 2 +-
.../Extractor/SeamothMetadataExtractor.cs | 2 +-
.../SubNameInputMetadataExtractor.cs | 6 +-
.../WaterParkCreatureMetadataExtractor.cs | 2 +-
.../Metadata/FlareMetadataProcessor.cs | 2 +-
.../Abstract/EntityMetadataProcessor.cs | 4 +-
.../Abstract/IEntityMetadataProcessor.cs | 2 +-
.../Abstract/VehicleMetadataProcessor.cs | 4 +-
.../Processor/BatteryMetadataProcessor.cs | 2 +-
.../Processor/ConstructorMetadataProcessor.cs | 4 +-
.../Processor/CrafterMetadataProcessor.cs | 6 +-
.../Processor/CrashHomeMetadataProcessor.cs | 2 +-
.../CyclopsLightingMetadataProcessor.cs | 4 +-
.../Processor/CyclopsMetadataProcessor.cs | 4 +-
.../Processor/EatableMetadataProcessor.cs | 4 +-
.../Processor/EggMetadataProcessor.cs | 2 +-
.../Processor/EntitySignMetadataProcessor.cs | 2 +-
.../Processor/EscapePodMetadataProcessor.cs | 2 +-
.../Processor/ExosuitMetadataProcessor.cs | 4 +-
...FireExtinguisherHolderMetadataProcessor.cs | 2 +-
.../Processor/FlashlightMetadataProcessor.cs | 2 +-
.../Processor/FruitPlantMetadataProcessor.cs | 4 +-
.../Processor/IncubatorMetadataProcessor.cs | 2 +-
.../Processor/KeypadMetadataProcessor.cs | 2 +-
.../Processor/PlantableMetadataProcessor.cs | 2 +-
.../Processor/PlayerMetadataProcessor.cs | 8 +-
.../PrecursorDoorwayMetadataProcessor.cs | 2 +-
.../PrecursorKeyTerminalMetadataProcessor.cs | 2 +-
...rterActivationTerminalMetadataProcessor.cs | 2 +-
.../PrecursorTeleporterMetadataProcessor.cs | 2 +-
.../Processor/RadiationMetadataProcessor.cs | 4 +-
.../Processor/RocketMetadataProcessor.cs | 4 +-
.../Processor/SeaTreaderMetadataProcessor.cs | 4 +-
.../Processor/SealedDoorMetadataProcessor.cs | 2 +-
.../Processor/SeamothMetadataProcessor.cs | 4 +-
.../StarshipDoorMetadataProcessor.cs | 2 +-
.../StayAtLeashPositionMetadataProcessor.cs | 4 +-
.../SubNameInputMetadataProcessor.cs | 8 +-
.../WaterParkCreatureMetadataProcessor.cs | 2 +-
...ldableWallPanelGenericMetadataProcessor.cs | 2 +-
.../Spawning/PathBasedChildEntitySpawner.cs | 4 +-
.../Spawning/PrefabChildEntitySpawner.cs | 4 +-
.../WorldEntities/CrashEntitySpawner.cs | 6 +-
.../CreatureRespawnEntitySpawner.cs | 8 +-
.../WorldEntities/CreepvineEntitySpawner.cs | 4 +-
.../DefaultWorldEntitySpawner.cs | 8 +-
.../WorldEntities/GeyserWorldEntitySpawner.cs | 6 +-
.../WorldEntities/GlobalRootEntitySpawner.cs | 8 +-
.../WorldEntities/IWorldEntitySpawner.cs | 4 +-
.../WorldEntities/IWorldEntitySyncSpawner.cs | 4 +-
.../WorldEntities/OxygenPipeEntitySpawner.cs | 8 +-
.../WorldEntities/PlacedWorldEntitySpawner.cs | 6 +-
.../PlaceholderGroupWorldEntitySpawner.cs | 10 +--
.../WorldEntities/PlayerEntitySpawner.cs | 6 +-
.../PrefabPlaceholderEntitySpawner.cs | 6 +-
.../RadiationLeakEntitySpawner.cs | 6 +-
.../ReefbackChildEntitySpawner.cs | 6 +-
.../WorldEntities/ReefbackEntitySpawner.cs | 6 +-
.../SerializedWorldEntitySpawner.cs | 12 +--
.../WorldEntities/VehicleEntitySpawner.cs | 10 +--
.../WorldEntitySpawnerResolver.cs | 4 +-
.../GameLogic/Spawning/WorldEntitySpawner.cs | 8 +-
NitroxClient/GameLogic/StoryManager.cs | 4 +-
NitroxClient/GameLogic/Terrain.cs | 6 +-
NitroxClient/GameLogic/TimeManager.cs | 4 +-
NitroxClient/GameLogic/Vehicles.cs | 12 +--
NitroxClient/GlobalUsings.cs | 4 +-
NitroxClient/Helpers/ThrottledPacketSender.cs | 2 +-
.../MonoBehaviours/BaseLeakManager.cs | 6 +-
.../MultiplayerCinematicReference.cs | 2 +-
.../MonoBehaviours/Cyclops/VirtualCyclops.cs | 2 +-
.../MonoBehaviours/Discord/DiscordClient.cs | 8 +-
.../EntityPositionBroadcaster.cs | 10 +--
.../MonoBehaviours/FMODEmitterController.cs | 2 +-
.../Gui/InGame/TopRightWatermarkText.cs | 2 +-
.../MainMenu/ServerJoin/JoinServerBackend.cs | 10 +--
.../ServerJoin/MainMenuEnterPasswordPanel.cs | 2 +-
.../ServersList/MainMenuCreateServerPanel.cs | 2 +-
.../ServersList/MainMenuServerButton.cs | 2 +-
.../ServersList/MainMenuServerListPanel.cs | 2 +-
.../MonoBehaviours/IntroCinematicUpdater.cs | 2 +-
.../MonoBehaviours/MoonpoolManager.cs | 10 +--
.../MonoBehaviours/MovementBroadcaster.cs | 4 +-
.../MonoBehaviours/MovementReplicator.cs | 6 +-
NitroxClient/MonoBehaviours/Multiplayer.cs | 6 +-
.../MonoBehaviours/NitroxDebugManager.cs | 2 +-
NitroxClient/MonoBehaviours/NitroxEntity.cs | 6 +-
NitroxClient/MonoBehaviours/NitroxGeyser.cs | 2 +-
.../MonoBehaviours/OutOfCellEntity.cs | 4 +-
.../PlayerMovementBroadcaster.cs | 4 +-
.../MonoBehaviours/UnderwaterStateTracker.cs | 2 +-
.../Vehicles/CyclopsMovementReplicator.cs | 4 +-
.../Vehicles/ExosuitMovementReplicator.cs | 4 +-
.../Vehicles/SeaMothMovementReplicator.cs | 4 +-
.../MonoBehaviours/Vehicles/WatchedEntry.cs | 6 +-
NitroxClient/NitroxClient.csproj | 4 +-
.../Unity/Helper/AssetBundleLoader.cs | 2 +-
NitroxClient/Unity/Helper/GUISkinUtils.cs | 2 +-
NitroxModel/GlobalUsings.cs | 1 -
NitroxPatcher/GlobalUsings.cs | 4 +-
NitroxPatcher/Helper/TranspilerHelper.cs | 2 +-
NitroxPatcher/Main.cs | 4 +-
NitroxPatcher/NitroxPatcher.csproj | 2 +-
NitroxPatcher/Patcher.cs | 4 +-
...SeeTarget_ScanForAggressionTarget_Patch.cs | 4 +-
.../AttackCyclops_OnCollisionEnter_Patch.cs | 2 +-
.../AttackCyclops_UpdateAggression_Patch.cs | 4 +-
.../BaseDeconstructable_Deconstruct_Patch.cs | 8 +-
...aseHullStrength_CrushDamageUpdate_Patch.cs | 6 +-
.../Dynamic/Battery_charge_set_Patch.cs | 2 +-
.../Dynamic/BeaconLabel_SetLabel_Patch.cs | 2 +-
.../Dynamic/Bed_EnterInUseMode_Patch.cs | 2 +-
.../Dynamic/Bench_ExitSittingMode_Patch.cs | 4 +-
.../Dynamic/Bench_OnHandClick_Patch.cs | 4 +-
.../Dynamic/Bench_OnPlayerDeath_Patch.cs | 4 +-
...akableResource_BreakIntoResources_Patch.cs | 4 +-
.../Dynamic/BuilderTool_Construct_Patch.cs | 2 +-
.../Patches/Dynamic/Builder_TryPlace_Patch.cs | 6 +-
.../Patches/Dynamic/Builder_Update_Patch.cs | 2 +-
.../Patches/Dynamic/Charger_Update_Patch.cs | 2 +-
...CoffeeVendingMachine_OnMachineUse_Patch.cs | 6 +-
.../ConstructableBase_SetState_Patch.cs | 4 +-
.../Dynamic/Constructable_Construct_Patch.cs | 14 ++--
.../Dynamic/Constructor_Deploy_Patch.cs | 2 +-
.../CrafterLogic_NotifyPickup_Patch.cs | 6 +-
.../Dynamic/CrashHome_OnDestroy_Patch.cs | 4 +-
.../Patches/Dynamic/CrashHome_Spawn_Patch.cs | 12 +--
.../Patches/Dynamic/CrashHome_Update_Patch.cs | 6 +-
...oder_OnConsoleCommand_explodeship_Patch.cs | 2 +-
.../Dynamic/CreatureAction_Perform_Patch.cs | 2 +-
.../CreatureAction_StartPerform_Patch.cs | 2 +-
.../CreatureDeath_OnAttackByCreature_Patch.cs | 2 +-
.../CreatureDeath_OnKillAsync_Patch.cs | 6 +-
.../Dynamic/CreatureDeath_OnKill_Patch.cs | 2 +-
.../Dynamic/CreatureDeath_OnPickedUp_Patch.cs | 2 +-
.../CreatureDeath_SpawnRespawner_Patch.cs | 8 +-
.../Dynamic/CreatureEgg_Hatch_Patch.cs | 4 +-
.../Creature_ChooseBestAction_Patch.cs | 2 +-
.../CyclopsDecoyLaunchButton_OnClick_Patch.cs | 4 +-
...psDestructionEvent_DestroyCyclops_Patch.cs | 2 +-
...DestructionEvent_OnConsoleCommand_Patch.cs | 2 +-
...psDestructionEvent_SpawnLootAsync_Patch.cs | 8 +-
.../CyclopsEngineChangeState_OnClick_Patch.cs | 2 +-
...ExternalDamageManager_CreatePoint_Patch.cs | 2 +-
...reSuppressionButton_StartCooldown_Patch.cs | 4 +-
...yclopsHelmHUDManager_StopPiloting_Patch.cs | 2 +-
...psLightingPanel_ToggleFloodlights_Patch.cs | 2 +-
...htingPanel_ToggleInternalLighting_Patch.cs | 2 +-
.../CyclopsMotorModeButton_OnClick_Patch.cs | 2 +-
...clopsShieldButton_ShieldIteration_Patch.cs | 2 +-
.../CyclopsShieldButton_StartShield_Patch.cs | 2 +-
.../CyclopsShieldButton_StopShield_Patch.cs | 2 +-
...bilityButton_TurnOffSilentRunning_Patch.cs | 2 +-
...AbilityButton_TurnOnSilentRunning_Patch.cs | 2 +-
.../CyclopsSonarButton_OnClick_Patch.cs | 2 +-
.../CyclopsSonarButton_SonarPing_Patch.cs | 2 +-
...lopsSonarDisplay_NewEntityOnSonar_Patch.cs | 2 +-
...ayNightCycle_OnConsoleCommand_day_Patch.cs | 4 +-
...NightCycle_OnConsoleCommand_night_Patch.cs | 2 +-
.../Dynamic/DevConsole_Submit_Patch.cs | 4 +-
...ckedVehicleHandTarget_OnHandClick_Patch.cs | 4 +-
.../Dynamic/Eatable_IterateDespawn_Patch.cs | 4 +-
.../Dynamic/EscapePod_OnRepair_Patch.cs | 4 +-
.../Dynamic/EscapePod_RespawnPlayer_Patch.cs | 4 +-
.../Dynamic/ExosuitClawArm_OnPickup_Patch.cs | 2 +-
.../Dynamic/ExosuitClawArm_TryUse_Patch.cs | 2 +-
.../ExosuitDrillArm_OnUseDown_Patch.cs | 2 +-
.../Dynamic/ExosuitDrillArm_OnUseUp_Patch.cs | 2 +-
.../ExosuitGrapplingArm_OnHit_Patch.cs | 2 +-
.../ExosuitGrapplingArm_OnUseUp_Patch.cs | 2 +-
.../Dynamic/FMODUWE_PlayOneShotImpl_Patch.cs | 4 +-
.../FMOD_CustomEmitter_OnPlay_Patch.cs | 4 +-
.../FMOD_CustomEmitter_OnStop_Patch.cs | 4 +-
.../Dynamic/FMOD_CustomEmitter_Start_Patch.cs | 4 +-
.../FMOD_CustomLoopingEmitter_OnPlay_Patch.cs | 2 +-
...ustomLoopingEmitter_PlayStopSound_Patch.cs | 2 +-
.../FMOD_StudioEventEmitter_PlayUI_Patch.cs | 2 +-
.../FMOD_StudioEventEmitter_Start_Patch.cs | 4 +-
.../FMOD_StudioEventEmitter_Stop_Patch.cs | 2 +-
...eExtinguisherHolder_TakeTankAsync_Patch.cs | 2 +-
...reExtinguisherHolder_TryStoreTank_Patch.cs | 4 +-
.../Patches/Dynamic/Flare_OnDestroy_Patch.cs | 4 +-
.../FlashLight_onLightsToggled_Patch.cs | 4 +-
.../Dynamic/Floater_FixedUpdate_Patch.cs | 2 +-
.../Dynamic/FootstepSounds_OnStep_Patch.cs | 4 +-
.../Dynamic/FruitPlant_Update_Patch.cs | 6 +-
...eConsoleCommands_OnConsoleCommand_Patch.cs | 4 +-
.../GhostCrafter_OnCraftingBegin_Patch.cs | 6 +-
.../GhostCrafter_OnCraftingEnd_Patch.cs | 2 +-
.../GoalManager_OnCompletedGoal_Patch.cs | 2 +-
...GrowingPlant_SpawnGrownModelAsync_Patch.cs | 2 +-
.../Dynamic/GrownPlant_OnKill_Patch.cs | 4 +-
...torActivationTerminal_OnHandClick_Patch.cs | 4 +-
...Terminal_OnPlayerCinematicModeEnd_Patch.cs | 4 +-
.../Dynamic/IncubatorEgg_HatchNow_Patch.cs | 8 +-
.../Dynamic/Incubator_OnHandClick_Patch.cs | 6 +-
.../Dynamic/Incubator_OnHatched_Patch.cs | 4 +-
.../ItemsContainer_DestroyItem_Patch.cs | 4 +-
...ypadDoorConsole_AcceptNumberField_Patch.cs | 4 +-
.../Dynamic/KnownTech_NotifyAdd_Patch.cs | 4 +-
.../Dynamic/KnownTech_NotifyAnalyze_Patch.cs | 4 +-
...omWaterPark_OnDeconstructionStart_Patch.cs | 2 +-
.../LargeWorldEntity_UpdateCell_Patch.cs | 2 +-
.../Dynamic/LiveMixin_AddHealth_Patch.cs | 8 +-
.../Patches/Dynamic/LiveMixin_Kill_Patch.cs | 4 +-
.../Dynamic/LiveMixin_TakeDamage_Patch.cs | 8 +-
...Command_OnConsoleCommand_fastgrow_Patch.cs | 2 +-
...ommand_OnConsoleCommand_fasthatch_Patch.cs | 2 +-
.../Openable_PlayOpenAnimation_Patch.cs | 2 +-
.../Dynamic/PDAEncyclopedia_Add_Patch.cs | 2 +-
.../Patches/Dynamic/PDALog_Add_Patch.cs | 2 +-
.../Patches/Dynamic/PDAScanner_Scan_Patch.cs | 6 +-
.../PickPrefab_AddToContainerAsync_Patch.cs | 4 +-
.../Dynamic/PickPrefab_SetPickedUp_Patch.cs | 6 +-
.../PilotingChair_OnHandClick_Patch.cs | 2 +-
.../PilotingChair_OnPlayerDeath_Patch.cs | 2 +-
.../Dynamic/PilotingChair_ReleaseBy_Patch.cs | 2 +-
.../Dynamic/PinManager_NotifyAdd_Patch.cs | 2 +-
.../Dynamic/PinManager_NotifyMovePatch.cs | 2 +-
.../Dynamic/PinManager_NotifyRemove_Patch.cs | 2 +-
.../Dynamic/PingInstance_Set_Patches.cs | 2 +-
.../Patches/Dynamic/Planter_AddItem_Patch.cs | 2 +-
.../Dynamic/Planter_ReplaceItem_Patch.cs | 2 +-
.../Dynamic/Planter_ResetStorage_Patch.cs | 4 +-
...ntroller_OnPlayerCinematicModeEnd_Patch.cs | 2 +-
...aticController_StartCinematicMode_Patch.cs | 2 +-
.../PlayerCinematicController_Start_Patch.cs | 4 +-
.../Player_MovePlayerToRespawnPoint_Patch.cs | 4 +-
.../Player_OnPlayerPositionCheat_Patch.cs | 2 +-
...layer_TriggerInfectionRevealAsync_Patch.cs | 2 +-
.../Patches/Dynamic/Poop_Perform_Patch.cs | 4 +-
...oorMotorModeSetter_OnTriggerEnter_Patch.cs | 6 +-
.../PrecursorDoorway_ToggleDoor_Patch.cs | 4 +-
.../PrecursorKeyTerminal_DestroyKey_Patch.cs | 4 +-
.../PrecursorKeyTerminal_OnHandClick_Patch.cs | 4 +-
.../PrecursorMoonPoolTrigger_Update_Patch.cs | 6 +-
...Terminal_OnPlayerCinematicModeEnd_Patch.cs | 4 +-
...tivationTerminal_OnProxyHandClick_Patch.cs | 4 +-
...orTeleporter_OnActivateTeleporter_Patch.cs | 4 +-
.../PropulsionCannon_GrabObject_Patch.cs | 2 +-
...ulsionCannon_ReleaseGrabbedObject_Patch.cs | 2 +-
.../Patches/Dynamic/QuickSlots_Bind_Patch.cs | 4 +-
.../QuickSlots_DeselectInternal_Patch.cs | 4 +-
.../QuickSlots_SelectInternal_Patch.cs | 8 +-
.../Patches/Dynamic/Radio_OnRepair_Patch.cs | 4 +-
.../Dynamic/Radio_PlayRadioMessage_Patch.cs | 2 +-
...ngedAttackLastTarget_StartCasting_Patch.cs | 3 +-
...gedAttackLastTarget_StartCharging_Patch.cs | 4 +-
.../Patches/Dynamic/Respawn_Start_Patch.cs | 2 +-
...nstructor_StartRocketConstruction_Patch.cs | 2 +-
...eckManager_CompletePreflightCheck_Patch.cs | 2 +-
.../Dynamic/Rocket_CallElevator_Patch.cs | 2 +-
...ket_ElevatorControlButtonActivate_Patch.cs | 2 +-
...aDragonMeleeAttack_OnThrowExosuit_Patch.cs | 2 +-
...SeaDragonMeleeAttack_OnTouchFront_Patch.cs | 4 +-
.../SeaDragonMeleeAttack_OnTouchLeft_Patch.cs | 2 +-
...SeaDragonMeleeAttack_OnTouchRight_Patch.cs | 2 +-
.../SeaDragonMeleeAttack_SwatAttack_Patch.cs | 4 +-
.../Dynamic/SeaDragon_GrabExosuit_Patch.cs | 4 +-
.../Dynamic/SeaMoth_onLightsToggled_Patch.cs | 4 +-
.../SeaTreaderSounds_SpawnChunks_Patch.cs | 6 +-
.../SeaTreader_SetNextPathPoint_Patch.cs | 4 +-
.../Dynamic/Seaglide_onLightsToggled_Patch.cs | 4 +-
.../Patches/Dynamic/Sealed_Weld_Patch.cs | 2 +-
.../Dynamic/SeamothTorpedo_Explode_Patch.cs | 8 +-
...SeamothTorpedo_RepeatingTargeting_Patch.cs | 8 +-
...wnConsoleCommand_OnConsoleCommand_Patch.cs | 2 +-
.../Dynamic/SpawnOnKill_OnKill_Patch.cs | 2 +-
.../Dynamic/Stalker_CheckLoseTooth_Patch.cs | 2 +-
.../Dynamic/StarshipDoor_LockDoor_Patch.cs | 4 +-
.../StarshipDoor_OnDoorToggle_Patch.cs | 4 +-
.../Dynamic/StarshipDoor_UnlockDoor_Patch.cs | 4 +-
.../Dynamic/StasisSphere_OnHit_Patch.cs | 6 +-
.../Dynamic/StasisSphere_Shoot_Patch.cs | 4 +-
...stomEventHandler_OnConsoleCommand_Patch.cs | 2 +-
.../StoryGoalScheduler_Schedule_Patch.cs | 2 +-
.../Dynamic/StoryGoal_Execute_Patch.cs | 4 +-
...nsoleCommand_OnConsoleCommand_sub_Patch.cs | 2 +-
.../Dynamic/SubFire_CreateFire_Patch.cs | 2 +-
.../Dynamic/SubNameInput_Awake_Patch.cs | 2 +-
.../SubNameInput_OnColorChange_Patch.cs | 2 +-
.../SubNameInput_OnNameChange_Patch.cs | 2 +-
.../Dynamic/SubNameInput_SetTarget_Patch.cs | 2 +-
.../Dynamic/SubRoot_OnTakeDamage_Patch.cs | 2 +-
.../Patches/Dynamic/Survival_Eat_Patch.cs | 4 +-
.../Patches/Dynamic/Survival_Use_Patch.cs | 4 +-
.../Patches/Dynamic/TimeCapsule_Open_Patch.cs | 4 +-
.../ToggleLights_SetLightsActive_Patch.cs | 2 +-
.../Patches/Dynamic/Trashcan_Update_Patch.cs | 4 +-
.../Dynamic/Utils_PlayFMODAsset_Patch.cs | 4 +-
.../VehicleDockingBay_OnTriggerEnter.cs | 6 +-
...cleDockingBay_OnUndockingComplete_Patch.cs | 4 +-
.../Dynamic/Vehicle_AddEnergy_Patch.cs | 2 +-
.../Dynamic/Vehicle_OnHandClick_Patch.cs | 2 +-
.../Patches/Dynamic/Vehicle_OnKill_Patch.cs | 2 +-
.../Dynamic/Vehicle_OnPilotModeEnd_Patch.cs | 2 +-
.../Dynamic/Vehicle_TorpedoShot_Patch.cs | 8 +-
.../Vehicle_UpdateEnergyRecharge_Patch.cs | 2 +-
.../WaterParkCreature_BornAsync_Patch.cs | 2 +-
.../WaterParkCreature_ManagedUpdate_Patch.cs | 4 +-
.../WaterParkCreature_ResetBreedTime_Patch.cs | 6 +-
.../WaterParkItem_ManagedUpdate_Patch.cs | 4 +-
.../Patches/Dynamic/WaterPark_Split_Patch.cs | 2 +-
.../Dynamic/WaterPark_TransferValue_Patch.cs | 2 +-
...ldableWallPanelGeneric_UnlockDoor_Patch.cs | 4 +-
.../Patches/Dynamic/Welder_Weld_Patch.cs | 4 +-
.../Dynamic/uGUI_ColorPicker_Awake_Patch.cs | 2 +-
.../uGUI_SceneIntro_HandleInput_Patch.cs | 2 +-
.../uGUI_SceneIntro_IntroSequence_Patch.cs | 2 +-
.../uGUI_SignInput_OnDeselect_Patch.cs | 4 +-
NitroxPatcher/Patches/NitroxPatch.cs | 2 +-
.../Patches/PacketSuppressorPatch.cs | 2 +-
.../Persistent/ReefbackLife_OnEnable_Patch.cs | 2 +-
.../Persistent/uGUI_MainMenu_Start_Patch.cs | 6 +-
NitroxServer/App.config | 23 -----
NitroxServer/Communication/NitroxServer.cs | 83 -------------------
.../Entities/Spawning/IEntityBootstrapper.cs | 10 ---
.../Spawning/IEntityBootstrapperManager.cs | 9 --
NitroxServer/GlobalUsings.cs | 3 -
NitroxServer/NitroxServer.csproj | 2 +-
1256 files changed, 3122 insertions(+), 3226 deletions(-)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/DataStructures/DataExtensions.cs (95%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/DataStructures/GameLogic/Creatures/Actions/SerializableCreatureAction.cs (85%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/DataStructures/GameLogic/CyclopsDamageInfoData.cs (89%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/DataStructures/GameLogic/CyclopsFireData.cs (91%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/DataStructures/GameLogic/Entities/SubnauticaUwePrefabFactory.cs (94%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/DataStructures/GameLogic/Entities/SubnauticaUweWorldEntityFactory.cs (89%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/DataStructures/Surrogates/QuaternionSurrogate.cs (93%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/DataStructures/Surrogates/Vector3Surrogate.cs (92%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/Helper/SubnauticaConstants.cs (74%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/Helper/SubnauticaMap.cs (92%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/Helper/TextureScaler.cs (95%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/Helper/VehicleHelper.cs (96%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/Logger/SubnauticaInGameLogger.cs (89%)
rename NitroxModel-Subnautica/NitroxModel-Subnautica.csproj => Nitrox.Model.Subnautica/Nitrox.Model.Subnautica.csproj (66%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/Packets/CyclopsDamage.cs (94%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/Packets/CyclopsDamagePointRepaired.cs (89%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/Packets/CyclopsDecoyLaunch.cs (76%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/Packets/CyclopsFireCreated.cs (83%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/Packets/CyclopsFireSuppression.cs (77%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/Packets/ExosuitArmActionPacket.cs (86%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/Packets/RocketLaunch.cs (64%)
rename {NitroxModel-Subnautica => Nitrox.Model.Subnautica}/Packets/RocketResync.cs (77%)
rename {NitroxModel => Nitrox.Model}/CallerArgumentExpressionAttribute.cs (100%)
rename {NitroxModel => Nitrox.Model}/Constants/LANDiscoveryConstants.cs (93%)
rename {NitroxModel => Nitrox.Model}/Core/IAutoFacRegistrar.cs (91%)
rename {NitroxModel => Nitrox.Model}/Core/NitroxEnvironment.cs (99%)
rename {NitroxModel => Nitrox.Model}/Core/NitroxServiceLocator.cs (98%)
rename {NitroxModel => Nitrox.Model}/DataStructures/CircularBuffer.cs (98%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/AbsoluteEntityCell.cs (96%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/AuroraEventData.cs (96%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Bases/BaseData.cs (97%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Bases/BuildPieceIdentifier.cs (92%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Bases/NitroxBaseFace.cs (87%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/DamageTakenData.cs (76%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Bases/BaseLeakEntity.cs (91%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Bases/BuildEntity.cs (84%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Bases/GhostEntity.cs (86%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Bases/InteriorPieceEntity.cs (87%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Bases/MapRoomEntity.cs (88%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Bases/ModuleEntity.cs (89%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Bases/MoonpoolEntity.cs (88%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/CellRootEntity.cs (90%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/CreatureRespawnEntity.cs (89%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/EscapePodWorldEntity.cs (89%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/GeyserWorldEntity.cs (88%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/GlobalRootEntity.cs (84%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/IUwePrefabFactory.cs (73%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/IUweWorldEntityFactory.cs (67%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/InstalledBatteryEntity.cs (89%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/InstalledModuleEntity.cs (89%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/InventoryEntity.cs (89%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/InventoryItemEntity.cs (88%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredCellGhostMetadata.cs (89%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredFaceGhostMetadata.cs (83%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/Bases/BaseDeconstructableGhostMetadata.cs (87%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/Bases/GhostMetadata.cs (90%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/BatteryMetadata.cs (89%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/BeaconMetadata.cs (89%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/ConstructorMetadata.cs (89%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/CrafterMetadata.cs (94%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/CrashHomeMetadata.cs (89%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/CyclopsLightingMetadata.cs (92%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/CyclopsMetadata.cs (95%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/EatableMetadata.cs (90%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/EggMetadata.cs (91%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/EntityMetadata.cs (93%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/EntitySignMetadata.cs (94%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/EscapePodMetadata.cs (91%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/ExosuitMetadata.cs (84%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/FireExtinguisherHolderMetadata.cs (92%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/FlareMetadata.cs (93%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/FlashlightMetadata.cs (89%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/FruitPlantMetadata.cs (92%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/IncubatorMetadata.cs (92%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/KeypadMetadata.cs (90%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/NamedColoredMetadata.cs (89%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/PlantableMetadata.cs (94%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/PlayerMetadata.cs (95%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/PrecursorDoorwayMetadata.cs (91%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/PrecursorKeyTerminalMetadata.cs (91%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterActivationTerminalMetadata.cs (92%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterMetadata.cs (91%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/RadiationMetadata.cs (91%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/RocketMetadata.cs (95%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/SeaTreaderMetadata.cs (90%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/SealedDoorMetadata.cs (91%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/SeamothMetadata.cs (86%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/StarshipDoorMetadata.cs (92%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/StayAtLeashPositionMetadata.cs (86%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/SubNameInputMetadata.cs (87%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/VehicleMetadata.cs (89%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/WaterParkCreatureMetadata.cs (94%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/Metadata/WeldableWallPanelGenericMetadata.cs (92%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/OxygenPipeEntity.cs (89%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/PathBasedChildEntity.cs (88%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/PlacedWorldEntity.cs (81%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/PlaceholderGroupWorldEntity.cs (90%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/PlanterEntity.cs (86%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/PlayerEntity.cs (85%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/PrefabChildEntity.cs (94%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/PrefabPlaceholderEntity.cs (91%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/RadiationLeakEntity.cs (86%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/ReefbackChildEntity.cs (91%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/ReefbackEntity.cs (88%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/SerializedWorldEntity.cs (94%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/UwePrefab.cs (64%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/UweWorldEntity.cs (85%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/VehicleEntity.cs (90%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entities/WorldEntity.cs (95%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Entity.cs (86%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/InitialPDAData.cs (96%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/InitialStoryGoalData.cs (96%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/IntroCinematicMode.cs (73%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/NitroxScheduledGoal.cs (95%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/NitroxTechType.cs (97%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/PDAEntry.cs (91%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/PDALogEntry.cs (93%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/Perms.cs (95%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/PingInstancePreference.cs (92%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/PlayerAnimation.cs (88%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/PlayerStatsData.cs (96%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/RandomStartGenerator.cs (95%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/SessionSettings.cs (82%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/SubnauticaPlayerPreferences.cs (94%)
rename {NitroxModel => Nitrox.Model}/DataStructures/GameLogic/TimeData.cs (79%)
rename {NitroxModel => Nitrox.Model}/DataStructures/NitroxId.cs (97%)
rename {NitroxModel => Nitrox.Model}/DataStructures/NitroxInt3.cs (96%)
rename {NitroxModel => Nitrox.Model}/DataStructures/NitroxVersion.cs (96%)
rename {NitroxModel => Nitrox.Model}/DataStructures/Optional.cs (99%)
rename {NitroxModel => Nitrox.Model}/DataStructures/PriorityQueue.cs (99%)
rename {NitroxModel => Nitrox.Model}/DataStructures/SerializedComponent.cs (97%)
rename {NitroxModel => Nitrox.Model}/DataStructures/SimulatedEntity.cs (96%)
rename {NitroxModel => Nitrox.Model}/DataStructures/SimulationLock.cs (96%)
rename {NitroxModel => Nitrox.Model}/DataStructures/Surrogates/SerializationSurrogate.cs (93%)
rename {NitroxModel => Nitrox.Model}/DataStructures/ThreadSafeDictionary.cs (99%)
rename {NitroxModel => Nitrox.Model}/DataStructures/ThreadSafeList.cs (98%)
rename {NitroxModel => Nitrox.Model}/DataStructures/ThreadSafeQueue.cs (98%)
rename {NitroxModel => Nitrox.Model}/DataStructures/ThreadSafeSet.cs (99%)
rename {NitroxModel => Nitrox.Model}/DataStructures/Unity/NitroxColor.cs (97%)
rename {NitroxModel => Nitrox.Model}/DataStructures/Unity/NitroxQuaternion.cs (98%)
rename {NitroxModel => Nitrox.Model}/DataStructures/Unity/NitroxTransform.cs (97%)
rename {NitroxModel => Nitrox.Model}/DataStructures/Unity/NitroxVector3.cs (98%)
rename {NitroxModel => Nitrox.Model}/DataStructures/Unity/NitroxVector4.cs (90%)
rename {NitroxModel => Nitrox.Model}/Discovery/GameInstallationFinder.cs (92%)
rename {NitroxModel => Nitrox.Model}/Discovery/GameInstallationHelper.cs (96%)
rename {NitroxModel => Nitrox.Model}/Discovery/InstallationFinders/ConfigFinder.cs (77%)
rename {NitroxModel => Nitrox.Model}/Discovery/InstallationFinders/Core/GameFinderResult.cs (92%)
rename {NitroxModel => Nitrox.Model}/Discovery/InstallationFinders/Core/IGameFinder.cs (85%)
rename {NitroxModel => Nitrox.Model}/Discovery/InstallationFinders/DiscordFinder.cs (84%)
rename {NitroxModel => Nitrox.Model}/Discovery/InstallationFinders/EnvironmentFinder.cs (84%)
rename {NitroxModel => Nitrox.Model}/Discovery/InstallationFinders/EpicGamesFinder.cs (89%)
rename {NitroxModel => Nitrox.Model}/Discovery/InstallationFinders/MicrosoftFinder.cs (79%)
rename {NitroxModel => Nitrox.Model}/Discovery/InstallationFinders/SteamFinder.cs (96%)
rename {NitroxModel => Nitrox.Model}/Discovery/Models/GameLibraries.cs (95%)
rename {NitroxModel => Nitrox.Model}/Discovery/Models/Platform.cs (87%)
rename {NitroxModel => Nitrox.Model}/Extensions/AssemblyExtensions.cs (93%)
rename {NitroxModel => Nitrox.Model}/Extensions/DictionaryExtensions.cs (97%)
rename {NitroxModel => Nitrox.Model}/Extensions/EnumExtensions.cs (97%)
rename {NitroxModel => Nitrox.Model}/Extensions/EnumerableExtensions.cs (96%)
rename {NitroxModel => Nitrox.Model}/Extensions/ExceptionExtensions.cs (90%)
rename {NitroxModel => Nitrox.Model}/Extensions/KeyValueStoreExtensions.cs (85%)
rename {NitroxModel => Nitrox.Model}/Extensions/ListExtensions.cs (96%)
rename {NitroxModel => Nitrox.Model}/Extensions/Matrix4x4Extension.cs (94%)
rename {NitroxModel => Nitrox.Model}/Extensions/StreamExtensions.cs (93%)
rename {NitroxModel => Nitrox.Model}/Extensions/StringExtensions.cs (97%)
rename {NitroxModel => Nitrox.Model}/Extensions/SubnauticaServerConfigExtensions.cs (74%)
rename {NitroxModel => Nitrox.Model}/Extensions/TaskExtensions.cs (96%)
rename {NitroxModel => Nitrox.Model}/Extensions/UintExtensions.cs (93%)
rename {NitroxModel => Nitrox.Model}/GameInfo.cs (98%)
rename {NitroxModel => Nitrox.Model}/GameLogic/FMOD/FMODWhitelist.cs (97%)
rename {NitroxModel => Nitrox.Model}/GameLogic/FMOD/SoundHelper.cs (87%)
rename {NitroxModel => Nitrox.Model}/GameLogic/PlayerAnimation/AnimChangeState.cs (54%)
rename {NitroxModel => Nitrox.Model}/GameLogic/PlayerAnimation/AnimChangeType.cs (58%)
create mode 100644 Nitrox.Model/GlobalUsings.cs
rename {NitroxModel => Nitrox.Model}/Helper/CultureManager.cs (97%)
rename {NitroxModel => Nitrox.Model}/Helper/IKeyValueStore.cs (97%)
rename {NitroxModel => Nitrox.Model}/Helper/IMap.cs (82%)
rename {NitroxModel => Nitrox.Model}/Helper/Ipc.cs (99%)
rename {NitroxModel => Nitrox.Model}/Helper/KeyValueStore.cs (91%)
rename {NitroxModel => Nitrox.Model}/Helper/LinqExtensions.cs (96%)
rename {NitroxModel => Nitrox.Model}/Helper/Mathf.cs (98%)
rename {NitroxModel => Nitrox.Model}/Helper/NatHelper.cs (99%)
rename {NitroxModel => Nitrox.Model}/Helper/NetHelper.cs (99%)
rename {NitroxModel => Nitrox.Model}/Helper/NitroxUser.cs (96%)
rename {NitroxModel => Nitrox.Model}/Helper/PirateDetection.cs (96%)
rename {NitroxModel => Nitrox.Model}/Helper/Reflect.cs (99%)
rename {NitroxModel => Nitrox.Model}/Helper/StringHelper.cs (94%)
rename {NitroxModel => Nitrox.Model}/Helper/Validate.cs (95%)
rename {NitroxModel => Nitrox.Model}/Logger/ColoredConsoleSink.cs (98%)
rename {NitroxModel => Nitrox.Model}/Logger/ConditionalValveSink.cs (93%)
rename {NitroxModel => Nitrox.Model}/Logger/InGameLogger.cs (78%)
rename {NitroxModel => Nitrox.Model}/Logger/LiteNetLibLogger.cs (97%)
rename {NitroxModel => Nitrox.Model}/Logger/Log.cs (99%)
rename {NitroxModel => Nitrox.Model}/Logger/LoggerSinkConfigurationExtensions.cs (97%)
rename {NitroxModel => Nitrox.Model}/Logger/MessageSink.cs (95%)
rename {NitroxModel => Nitrox.Model}/MultiplayerSession/AuthenticationContext.cs (82%)
rename {NitroxModel => Nitrox.Model}/MultiplayerSession/MultiplayerSessionAuthenticationAuthority.cs (76%)
rename {NitroxModel => Nitrox.Model}/MultiplayerSession/MultiplayerSessionReservationState.cs (98%)
rename {NitroxModel => Nitrox.Model}/MultiplayerSession/PlayerContext.cs (91%)
rename {NitroxModel => Nitrox.Model}/MultiplayerSession/PlayerSettings.cs (82%)
rename {NitroxModel => Nitrox.Model}/MultiplayerSession/RandomColorGenerator.cs (80%)
rename {NitroxModel => Nitrox.Model}/Networking/NitroxDeliveryMethod.cs (97%)
rename {NitroxModel => Nitrox.Model}/Networking/NtpSyncer.cs (99%)
rename NitroxModel/NitroxModel.csproj => Nitrox.Model/Nitrox.Model.csproj (100%)
rename {NitroxModel => Nitrox.Model}/Packets/AggressiveWhenSeeTargetChanged.cs (88%)
rename {NitroxModel => Nitrox.Model}/Packets/AnimationChangeEvent.cs (80%)
rename {NitroxModel => Nitrox.Model}/Packets/AttackCyclopsTargetChanged.cs (87%)
rename {NitroxModel => Nitrox.Model}/Packets/AuroraAndTimeUpdate.cs (78%)
rename {NitroxModel => Nitrox.Model}/Packets/BaseDeconstructed.cs (72%)
rename {NitroxModel => Nitrox.Model}/Packets/BedEnter.cs (73%)
rename {NitroxModel => Nitrox.Model}/Packets/BenchChanged.cs (87%)
rename {NitroxModel => Nitrox.Model}/Packets/BuildingDesyncWarning.cs (81%)
rename {NitroxModel => Nitrox.Model}/Packets/BuildingResync.cs (83%)
rename {NitroxModel => Nitrox.Model}/Packets/BuildingResyncRequest.cs (83%)
rename {NitroxModel => Nitrox.Model}/Packets/CellVisibilityChanged.cs (85%)
rename {NitroxModel => Nitrox.Model}/Packets/ChatMessage.cs (92%)
rename {NitroxModel => Nitrox.Model}/Packets/CheatCommand.cs (80%)
rename {NitroxModel => Nitrox.Model}/Packets/ClearPlanter.cs (74%)
rename {NitroxModel => Nitrox.Model}/Packets/CoffeeMachineUse.cs (83%)
rename {NitroxModel => Nitrox.Model}/Packets/CorrelatedPacket.cs (90%)
rename {NitroxModel => Nitrox.Model}/Packets/CreatureActionChanged.cs (83%)
rename {NitroxModel => Nitrox.Model}/Packets/CreaturePoopPerformed.cs (76%)
rename {NitroxModel => Nitrox.Model}/Packets/DebugStartMapPacket.cs (82%)
rename {NitroxModel => Nitrox.Model}/Packets/DeconstructionBegin.cs (77%)
rename {NitroxModel => Nitrox.Model}/Packets/Disconnect.cs (87%)
rename {NitroxModel => Nitrox.Model}/Packets/DiscordRequestIP.cs (86%)
rename {NitroxModel => Nitrox.Model}/Packets/DropSimulationOwnership.cs (76%)
rename {NitroxModel => Nitrox.Model}/Packets/EntityDestroyed.cs (72%)
rename {NitroxModel => Nitrox.Model}/Packets/EntityMetadataUpdate.cs (72%)
rename {NitroxModel => Nitrox.Model}/Packets/EntityReparented.cs (80%)
rename {NitroxModel => Nitrox.Model}/Packets/EntitySpawnedByClient.cs (84%)
rename {NitroxModel => Nitrox.Model}/Packets/EntityTransformUpdates.cs (95%)
rename {NitroxModel => Nitrox.Model}/Packets/EscapePodChanged.cs (77%)
rename {NitroxModel => Nitrox.Model}/Packets/Exceptions/UncorrelatedPacketException.cs (92%)
rename {NitroxModel => Nitrox.Model}/Packets/FMODAssetPacket.cs (83%)
rename {NitroxModel => Nitrox.Model}/Packets/FMODCustomEmitterPacket.cs (83%)
rename {NitroxModel => Nitrox.Model}/Packets/FMODCustomLoopingEmitterPacket.cs (81%)
rename {NitroxModel => Nitrox.Model}/Packets/FMODEventInstancePacket.cs (76%)
rename {NitroxModel => Nitrox.Model}/Packets/FMODStudioEmitterPacket.cs (86%)
rename {NitroxModel => Nitrox.Model}/Packets/FastCheatChanged.cs (91%)
rename {NitroxModel => Nitrox.Model}/Packets/FireDoused.cs (92%)
rename {NitroxModel => Nitrox.Model}/Packets/FootstepPacket.cs (94%)
rename {NitroxModel => Nitrox.Model}/Packets/GameModeChanged.cs (91%)
rename {NitroxModel => Nitrox.Model}/Packets/GoalCompleted.cs (90%)
rename {NitroxModel => Nitrox.Model}/Packets/InitialPlayerSync.cs (96%)
rename {NitroxModel => Nitrox.Model}/Packets/ItemPosition.cs (79%)
rename {NitroxModel => Nitrox.Model}/Packets/KeepInventoryChanged.cs (88%)
rename {NitroxModel => Nitrox.Model}/Packets/KnownTechEntryAdd.cs (94%)
rename {NitroxModel => Nitrox.Model}/Packets/LargeWaterParkDeconstructed.cs (78%)
rename {NitroxModel => Nitrox.Model}/Packets/LeakRepaired.cs (85%)
rename {NitroxModel => Nitrox.Model}/Packets/MedicalCabinetClicked.cs (88%)
rename {NitroxModel => Nitrox.Model}/Packets/ModifyConstructedAmount.cs (83%)
rename {NitroxModel => Nitrox.Model}/Packets/ModuleAdded.cs (82%)
rename {NitroxModel => Nitrox.Model}/Packets/ModuleRemoved.cs (80%)
rename {NitroxModel => Nitrox.Model}/Packets/Movement.cs (82%)
rename {NitroxModel => Nitrox.Model}/Packets/MultiplayerSessionPolicy.cs (92%)
rename {NitroxModel => Nitrox.Model}/Packets/MultiplayerSessionPolicyRequest.cs (93%)
rename {NitroxModel => Nitrox.Model}/Packets/MultiplayerSessionReservation.cs (92%)
rename {NitroxModel => Nitrox.Model}/Packets/MultiplayerSessionReservationRequest.cs (88%)
rename {NitroxModel => Nitrox.Model}/Packets/MutePlayer.cs (88%)
rename {NitroxModel => Nitrox.Model}/Packets/OpenableStateChanged.cs (85%)
rename {NitroxModel => Nitrox.Model}/Packets/OrderedBuildPacket.cs (87%)
rename {NitroxModel => Nitrox.Model}/Packets/PDAEncyclopediaEntryAdd.cs (91%)
rename {NitroxModel => Nitrox.Model}/Packets/PDALogEntryAdd.cs (88%)
rename {NitroxModel => Nitrox.Model}/Packets/PDAScanFinished.cs (86%)
rename {NitroxModel => Nitrox.Model}/Packets/Packet.cs (96%)
rename {NitroxModel => Nitrox.Model}/Packets/PermsChanged.cs (70%)
rename {NitroxModel => Nitrox.Model}/Packets/PickupItem.cs (69%)
rename {NitroxModel => Nitrox.Model}/Packets/PieceDeconstructed.cs (79%)
rename {NitroxModel => Nitrox.Model}/Packets/PinMoved.cs (88%)
rename {NitroxModel => Nitrox.Model}/Packets/PlaceBase.cs (75%)
rename {NitroxModel => Nitrox.Model}/Packets/PlaceGhost.cs (69%)
rename {NitroxModel => Nitrox.Model}/Packets/PlaceModule.cs (70%)
rename {NitroxModel => Nitrox.Model}/Packets/PlaySunbeamEvent.cs (97%)
rename {NitroxModel => Nitrox.Model}/Packets/PlayerCinematicControllerCall.cs (89%)
rename {NitroxModel => Nitrox.Model}/Packets/PlayerDeathEvent.cs (83%)
rename {NitroxModel => Nitrox.Model}/Packets/PlayerHeldItemChanged.cs (87%)
rename {NitroxModel => Nitrox.Model}/Packets/PlayerInCyclopsMovement.cs (84%)
rename {NitroxModel => Nitrox.Model}/Packets/PlayerJoinedMultiplayerSession.cs (70%)
rename {NitroxModel => Nitrox.Model}/Packets/PlayerJoiningMultiplayerSession.cs (92%)
rename {NitroxModel => Nitrox.Model}/Packets/PlayerKicked.cs (87%)
rename {NitroxModel => Nitrox.Model}/Packets/PlayerMovement.cs (89%)
rename {NitroxModel => Nitrox.Model}/Packets/PlayerQuickSlotsBindingChanged.cs (71%)
rename {NitroxModel => Nitrox.Model}/Packets/PlayerSeeOutOfCellEntity.cs (76%)
rename {NitroxModel => Nitrox.Model}/Packets/PlayerStats.cs (92%)
rename {NitroxModel => Nitrox.Model}/Packets/PlayerSyncFinished.cs (84%)
rename {NitroxModel => Nitrox.Model}/Packets/PlayerTeleported.cs (80%)
rename {NitroxModel => Nitrox.Model}/Packets/PlayerUnseeOutOfCellEntity.cs (77%)
rename {NitroxModel => Nitrox.Model}/Packets/Processors/Abstract/IProcessorContext.cs (50%)
rename {NitroxModel => Nitrox.Model}/Packets/Processors/Abstract/PacketProcessor.cs (97%)
rename {NitroxModel => Nitrox.Model}/Packets/PvPAttack.cs (93%)
rename {NitroxModel => Nitrox.Model}/Packets/RadioPlayPendingMessage.cs (76%)
rename {NitroxModel => Nitrox.Model}/Packets/RangedAttackLastTargetUpdate.cs (89%)
rename {NitroxModel => Nitrox.Model}/Packets/RecipePinned.cs (88%)
rename {NitroxModel => Nitrox.Model}/Packets/RemoveCreatureCorpse.cs (80%)
rename {NitroxModel => Nitrox.Model}/Packets/Schedule.cs (90%)
rename {NitroxModel => Nitrox.Model}/Packets/SeaDragonAttackTarget.cs (85%)
rename {NitroxModel => Nitrox.Model}/Packets/SeaDragonGrabExosuit.cs (82%)
rename {NitroxModel => Nitrox.Model}/Packets/SeaDragonSwatAttack.cs (87%)
rename {NitroxModel => Nitrox.Model}/Packets/SeaTreaderChunkPickedUp.cs (75%)
rename {NitroxModel => Nitrox.Model}/Packets/SeaTreaderSpawnedChunk.cs (82%)
rename {NitroxModel => Nitrox.Model}/Packets/SeamothModulesAction.cs (80%)
rename {NitroxModel => Nitrox.Model}/Packets/ServerCommand.cs (91%)
rename {NitroxModel => Nitrox.Model}/Packets/ServerStopped.cs (70%)
rename {NitroxModel => Nitrox.Model}/Packets/SetIntroCinematicMode.cs (87%)
rename {NitroxModel => Nitrox.Model}/Packets/SignalPingVisibilityChanged.cs (91%)
rename {NitroxModel => Nitrox.Model}/Packets/SimulationOwnershipChange.cs (92%)
rename {NitroxModel => Nitrox.Model}/Packets/SimulationOwnershipRequest.cs (87%)
rename {NitroxModel => Nitrox.Model}/Packets/SimulationOwnershipResponse.cs (87%)
rename {NitroxModel => Nitrox.Model}/Packets/SpawnEntities.cs (92%)
rename {NitroxModel => Nitrox.Model}/Packets/StasisSphereHit.cs (89%)
rename {NitroxModel => Nitrox.Model}/Packets/StasisSphereShot.cs (89%)
rename {NitroxModel => Nitrox.Model}/Packets/StoryGoalExecuted.cs (94%)
rename {NitroxModel => Nitrox.Model}/Packets/SubRootChanged.cs (76%)
rename {NitroxModel => Nitrox.Model}/Packets/TimeChange.cs (96%)
rename {NitroxModel => Nitrox.Model}/Packets/ToggleLights.cs (80%)
rename {NitroxModel => Nitrox.Model}/Packets/TorpedoHit.cs (78%)
rename {NitroxModel => Nitrox.Model}/Packets/TorpedoShot.cs (80%)
rename {NitroxModel => Nitrox.Model}/Packets/TorpedoTargetAcquired.cs (82%)
rename {NitroxModel => Nitrox.Model}/Packets/UpdateBase.cs (90%)
rename {NitroxModel => Nitrox.Model}/Packets/UpdateDisplaySurfaceWater.cs (88%)
rename {NitroxModel => Nitrox.Model}/Packets/UpdateInPrecursor.cs (86%)
rename {NitroxModel => Nitrox.Model}/Packets/VehicleDocking.cs (84%)
rename {NitroxModel => Nitrox.Model}/Packets/VehicleMovements.cs (87%)
rename {NitroxModel => Nitrox.Model}/Packets/VehicleOnPilotModeChanged.cs (85%)
rename {NitroxModel => Nitrox.Model}/Packets/VehicleUndocking.cs (87%)
rename {NitroxModel => Nitrox.Model}/Packets/WaterParkDeconstructed.cs (81%)
rename {NitroxModel => Nitrox.Model}/Packets/WeldAction.cs (82%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/MacOS/MacFileSystem.cs (80%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Shared/ConfigFileKeyValueStore.cs (98%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Shared/FileSystem.cs (98%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Shared/ProcessEx.cs (99%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Unix/UnixFileSystem.cs (80%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/CoffFileHeader.cs (92%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/ImageDosHeader.cs (97%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/ImageExportDirectory.cs (95%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/ImageNtHeader64.cs (92%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/LdrData.cs (91%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/MachineType.cs (90%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/ModuleEntry32.cs (92%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/NtStatus.cs (99%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/OptionalHeader64.cs (98%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/ProcessAccessFlags.cs (91%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/ProcessBasicInformation.cs (88%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/ProcessCreationFlags.cs (94%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/ProcessEnvironmentBlock64.cs (94%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/ProcessInfo.cs (84%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/ProcessThreadEnums.cs (100%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/SecurityAttributes.cs (84%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/SnapshotFlags.cs (85%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/StartupInfo.cs (93%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/ThreadAccess.cs (87%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/Internal/Win32Native.cs (99%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/RegistryEx.cs (99%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/RegistryKeyValueStore.cs (91%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/WinFileSystem.cs (96%)
rename {NitroxModel => Nitrox.Model}/Platforms/OS/Windows/WindowsApi.cs (80%)
rename {NitroxModel => Nitrox.Model}/Platforms/Store/Discord.cs (83%)
rename {NitroxModel => Nitrox.Model}/Platforms/Store/EpicGames.cs (87%)
rename {NitroxModel => Nitrox.Model}/Platforms/Store/Exceptions/GamePlatformException.cs (83%)
rename {NitroxModel => Nitrox.Model}/Platforms/Store/GamePlatforms.cs (86%)
rename {NitroxModel => Nitrox.Model}/Platforms/Store/Interfaces/IGamePlatform.cs (88%)
rename {NitroxModel => Nitrox.Model}/Platforms/Store/MSStore.cs (87%)
rename {NitroxModel => Nitrox.Model}/Platforms/Store/Steam.cs (98%)
rename {NitroxModel => Nitrox.Model}/Properties/AssemblyInfo.cs (100%)
rename {NitroxModel => Nitrox.Model}/Serialization/IProperties.cs (93%)
rename {NitroxModel => Nitrox.Model}/Serialization/NitroxConfig.cs (99%)
rename {NitroxModel => Nitrox.Model}/Serialization/ServerList.cs (98%)
rename {NitroxModel => Nitrox.Model}/Serialization/SubnauticaServerConfig.cs (97%)
rename {NitroxModel => Nitrox.Model}/Server/NitroxGameMode.cs (86%)
rename {NitroxModel => Nitrox.Model}/Server/ServerSerializerMode.cs (71%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/Abstract/CallArgs.cs (94%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/Abstract/Command.cs (94%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/Abstract/Parameter.cs (92%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/Abstract/Type/TypeBoolean.cs (93%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/Abstract/Type/TypeEnum.cs (91%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/Abstract/Type/TypeFloat.cs (88%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/Abstract/Type/TypeInt.cs (87%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/Abstract/Type/TypeNitroxId.cs (82%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/Abstract/Type/TypePlayer.cs (84%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/Abstract/Type/TypeString.cs (85%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/AuroraCommand.cs (82%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/AutosaveCommand.cs (83%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/BackCommand.cs (81%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/BackupCommand.cs (70%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/BroadcastCommand.cs (72%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/ChangeAdminPasswordCommand.cs (81%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/ChangeServerGamemodeCommand.cs (80%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/ChangeServerPasswordCommand.cs (81%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/ConfigCommand.cs (91%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/DebugStartMapCommand.cs (75%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/DeopCommand.cs (76%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/DirectoryCommand.cs (85%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/FastCommand.cs (87%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/GameModeCommand.cs (82%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/HelpCommand.cs (90%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/KickCommand.cs (83%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/ListCommand.cs (79%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/LoadBatchCommand.cs (74%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/LoginCommand.cs (77%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/MuteCommand.cs (83%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/OpCommand.cs (75%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/PlayerCommand.cs (84%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/Processor/ConsoleCommandProcessor.cs (88%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/PromoteCommand.cs (84%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/PvpCommand.cs (81%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/QueryCommand.cs (75%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/SaveCommand.cs (67%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/SetKeepInventoryCommand.cs (74%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/StopCommand.cs (80%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/SummaryCommand.cs (77%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/SunbeamCommand.cs (83%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/SwapSerializerCommand.cs (81%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/TeleportCommand.cs (73%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/TimeCommand.cs (79%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/UnmuteCommand.cs (84%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/WarpCommand.cs (83%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/WhisperCommand.cs (78%)
rename {NitroxServer/ConsoleCommands => Nitrox.Server.Subnautica/Models/Commands}/WhoisCommand.cs (82%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Communication/ConnectionState.cs (92%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Communication/LANBroadcastServer.cs (91%)
rename {NitroxServer/Communication/LiteNetLib => Nitrox.Server.Subnautica/Models/Communication}/LiteNetLibConnection.cs (94%)
rename {NitroxServer/Communication/LiteNetLib => Nitrox.Server.Subnautica/Models/Communication}/LiteNetLibServer.cs (95%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Communication/NitroxConnection.cs (58%)
create mode 100644 Nitrox.Server.Subnautica/Models/Communication/NitroxServer.cs
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Exceptions/DuplicateRegistrationException.cs (84%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Bases/BuildingManager.cs (97%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/ConnectionAssets.cs (72%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Entities/EntityData.cs (92%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Entities/EntityRegistry.cs (97%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Entities/EntitySimulation.cs (96%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Entities/GlobalRootData.cs (88%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Entities/ISimulationWhitelist.cs (88%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Entities/NitroxEntitySlot.cs (70%)
rename Nitrox.Server.Subnautica/{ => Models}/GameLogic/Entities/SimulationWhitelist.cs (93%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Entities/Spawning/BatchEntitySpawner.cs (96%)
rename Nitrox.Server.Subnautica/{ => Models}/GameLogic/Entities/Spawning/CrashHomeBootstrapper.cs (53%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Entities/Spawning/EntitySpawnPoint.cs (91%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Entities/Spawning/EntitySpawnPointFactory.cs (51%)
rename Nitrox.Server.Subnautica/{ => Models}/GameLogic/Entities/Spawning/GeyserBootstrapper.cs (68%)
create mode 100644 Nitrox.Server.Subnautica/Models/GameLogic/Entities/Spawning/IEntityBootstrapper.cs
create mode 100644 Nitrox.Server.Subnautica/Models/GameLogic/Entities/Spawning/IEntityBootstrapperManager.cs
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Entities/Spawning/IEntitySpawner.cs (55%)
rename Nitrox.Server.Subnautica/{ => Models}/GameLogic/Entities/Spawning/ReefbackBootstrapper.cs (86%)
rename Nitrox.Server.Subnautica/{ => Models}/GameLogic/Entities/Spawning/ReefbackSpawnData.cs (99%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Entities/Spawning/SerializedEntitySpawnPoint.cs (74%)
rename Nitrox.Server.Subnautica/{ => Models}/GameLogic/Entities/Spawning/SlotsHelper.cs (94%)
rename Nitrox.Server.Subnautica/{ => Models}/GameLogic/Entities/Spawning/StayAtLeashPositionBootstrapper.cs (51%)
rename Nitrox.Server.Subnautica/{ => Models}/GameLogic/Entities/Spawning/SubnauticaEntityBootstrapperManager.cs (79%)
rename Nitrox.Server.Subnautica/{ => Models}/GameLogic/Entities/Spawning/SubnauticaEntitySpawnPointFactory.cs (91%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Entities/WorldEntityManager.cs (96%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/EscapePodManager.cs (92%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/GameData.cs (88%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/IWorldModifier.cs (66%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/InitialSyncTimerData.cs (86%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/PlayerManager.cs (96%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Players/PersistedPlayerData.cs (93%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Players/PlayerData.cs (91%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/ScheduleKeeper.cs (94%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/SimulationOwnership.cs (97%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/StoryManager.cs (97%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/StoryTimingData.cs (95%)
rename Nitrox.Server.Subnautica/{ => Models}/GameLogic/SubnauticaWorldModifier.cs (77%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/TimeKeeper.cs (93%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Unlockables/PDAStateData.cs (92%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/GameLogic/Unlockables/StoryGoalData.cs (89%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Helper/DeterministicGenerator.cs (90%)
rename NitroxServer/Helper/XORRandom.cs => Nitrox.Server.Subnautica/Models/Helper/XorRandom.cs (97%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/PacketHandler.cs (88%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/AggressiveWhenSeeTargetChangedProcessor.cs (60%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/AnimationChangeEventProcessor.cs (74%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/AttackCyclopsTargetChangedProcessor.cs (59%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/BaseDeconstructedProcessor.cs (70%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/BedEnterProcessor.cs (72%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/BuildingProcessor.cs (78%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/BuildingResyncRequestProcessor.cs (81%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/CellVisibilityChangedProcessor.cs (83%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/ChatMessageProcessor.cs (77%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/CheatCommandProcessor.cs (69%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/ClearPlanterProcessor.cs (74%)
rename {NitroxServer/Communication/Packets/Processors/Abstract => Nitrox.Server.Subnautica/Models/Packets/Processors/Core}/AuthenticatedPacketProcessor.cs (69%)
rename {NitroxServer/Communication/Packets/Processors/Abstract => Nitrox.Server.Subnautica/Models/Packets/Processors/Core}/TransmitIfCanSeePacketProcessor.cs (83%)
rename {NitroxServer/Communication/Packets/Processors/Abstract => Nitrox.Server.Subnautica/Models/Packets/Processors/Core}/UnauthenticatedPacketProcessor.cs (64%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/CreatureActionChangedProcessor.cs (57%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/CreaturePoopPerformedProcessor.cs (57%)
rename Nitrox.Server.Subnautica/{Communication => Models}/Packets/Processors/CyclopsDamagePointRepairedProcessor.cs (66%)
rename Nitrox.Server.Subnautica/{Communication => Models}/Packets/Processors/CyclopsDamageProcessor.cs (68%)
rename Nitrox.Server.Subnautica/{Communication => Models}/Packets/Processors/CyclopsFireCreatedProcessor.cs (65%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/DefaultServerPacketProcessor.cs (90%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/DiscordRequestIPProcessor.cs (89%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/EntityDestroyedPacketProcessor.cs (78%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/EntityMetadataUpdateProcessor.cs (86%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/EntityReparentedProcessor.cs (76%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/EntitySpawnedByClientProcessor.cs (84%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/EntityTransformUpdatesProcessor.cs (90%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/EscapePodChangedPacketProcessor.cs (73%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/FMODAssetProcessor.cs (81%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/FMODEventInstanceProcessor.cs (81%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/FireDousedProcessor.cs (69%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/FootstepPacketProcessor.cs (80%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/GoalCompletedProcessor.cs (63%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/KnownTechEntryAddProcessor.cs (79%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/LargeWaterParkDeconstructedProcessor.cs (80%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/LeakRepairedProcessor.cs (71%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/ModifyConstructedAmountProcessor.cs (71%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/ModuleAddedProcessor.cs (77%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/ModuleRemovedProcessor.cs (81%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/MultiplayerSessionPolicyRequestProcessor.cs (76%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/MultiplayerSessionReservationRequestProcessor.cs (80%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PDAEncyclopediaEntryAddProcessor.cs (71%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PDALogEntryAddProcessor.cs (75%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PDAScanFinishedPacketProcessor.cs (78%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PickupItemPacketProcessor.cs (80%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PieceDeconstructedProcessor.cs (73%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PinnedRecipeMovedProcessor.cs (66%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PlaceBaseProcessor.cs (73%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PlaceGhostProcessor.cs (68%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PlaceModuleProcessor.cs (72%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PlayerDeathEventProcessor.cs (80%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PlayerHeldItemChangedProcessor.cs (76%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PlayerInCyclopsMovementProcessor.cs (79%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PlayerJoiningMultiplayerSessionProcessor.cs (88%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PlayerMovementProcessor.cs (74%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PlayerQuickSlotsBindingChangedProcessor.cs (67%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PlayerSeeOutOfCellEntityProcessor.cs (72%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PlayerStatsProcessor.cs (75%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PlayerSyncFinishedProcessor.cs (77%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PlayerUnseeOutOfCellEntityProcessor.cs (85%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/PvPAttackProcessor.cs (83%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/RadioPlayPendingMessageProcessor.cs (75%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/RangedAttackLastTargetUpdateProcessor.cs (60%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/RecipePinnedProcessor.cs (71%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/RemoveCreatureCorpseProcessor.cs (80%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/ScheduleProcessor.cs (73%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/SeaDragonAttackTargetProcessor.cs (58%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/SeaDragonGrabExosuitProcessor.cs (58%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/SeaDragonSwatAttackProcessor.cs (58%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/SeaTreaderSpawnedChunkProcessor.cs (57%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/ServerCommandProcessor.cs (69%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/SetIntroCinematicModeProcessor.cs (88%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/SignalPingPreferenceChangedProcessor.cs (66%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/SimulationOwnershipRequestProcessor.cs (84%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/StoryGoalExecutedProcessor.cs (85%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/SubRootChangedPacketProcessor.cs (74%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/UpdateBaseProcessor.cs (72%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/UpdateDisplaySurfaceWaterProcessor.cs (70%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/UpdateInPrecursorProcessor.cs (67%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/VehicleDockingProcessor.cs (77%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/VehicleMovementsPacketProcessor.cs (87%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/VehicleOnPilotModeChangedProcessor.cs (72%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/VehicleUndockingProcessor.cs (78%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/WaterParkDeconstructedProcessor.cs (73%)
rename {NitroxServer/Communication => Nitrox.Server.Subnautica/Models}/Packets/Processors/WeldActionProcessor.cs (78%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/AddressablesTools/AddressablesJsonParser.cs (69%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/AddressablesTools/Catalog/ClassJsonObject.cs (82%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/AddressablesTools/Catalog/ContentCatalogData.cs (97%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/AddressablesTools/Catalog/ObjectInitializationData.cs (73%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/AddressablesTools/Catalog/ResourceLocation.cs (92%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/AddressablesTools/Catalog/SerializedObjectDecoder.cs (97%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/AddressablesTools/Catalog/SerializedType.cs (66%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/AddressablesTools/JSON/ContentCatalogDataJson.cs (91%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/AddressablesTools/JSON/ObjectInitializationDataJson.cs (77%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/AddressablesTools/JSON/SerializedTypeJson.cs (73%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Resources/IPrefabAsset.cs (56%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/Parsers/Abstract/AssetParser.cs (86%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/Parsers/Abstract/BundleFileParser.cs (93%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/Parsers/Abstract/ResourceFileParser.cs (87%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/Parsers/EntityDistributionsParser.cs (73%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/Parsers/Helper/AssetTypeValueFieldExtension.cs (87%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/Parsers/Helper/AssetsBundleManager.cs (98%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/Parsers/Helper/AssetsFileMetadataExtension.cs (89%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/Parsers/Helper/ThreadSafeMonoCecilTempGenerator.cs (94%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/Parsers/PrefabPlaceholderGroupsParser.cs (98%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/Parsers/RandomStartParser.cs (87%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/Parsers/WorldEntityInfoParser.cs (86%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Resources/PrefabPlaceholderAsset.cs (72%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Resources/PrefabPlaceholderRandomAsset.cs (72%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Resources/PrefabPlaceholdersGroupAsset.cs (78%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Resources/RandomSpawnSpoofer.cs (77%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/ResourceAssets.cs (87%)
rename Nitrox.Server.Subnautica/{ => Models}/Resources/ResourceAssetsParser.cs (92%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/BatchCellsParser.cs (97%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/IServerSerializer.cs (81%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/Json/AttributeContractResolver.cs (90%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/Json/NitroxIdConverter.cs (85%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/Json/TechTypeConverter.cs (84%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/SaveDataUpgrades/NewtonsoftExtensions.cs (95%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/SaveDataUpgrades/SaveDataUpgrade.cs (94%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/SaveDataUpgrades/Upgrade_V1500.cs (89%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/SaveDataUpgrades/Upgrade_V1600.cs (94%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/SaveDataUpgrades/Upgrade_V1601.cs (86%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/ServerJsonSerializer.cs (92%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/ServerProtoBufSerializer.cs (97%)
rename Nitrox.Server.Subnautica/{ => Models}/Serialization/SubnauticaServerJsonSerializer.cs (62%)
rename Nitrox.Server.Subnautica/{ => Models}/Serialization/SubnauticaServerProtoBufSerializer.cs (80%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/World/PersistedWorldData.cs (86%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/World/SaveFileVersion.cs (93%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/World/VersionMismatchException.cs (84%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/World/World.cs (71%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/World/WorldData.cs (79%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/Serialization/World/WorldPersistence.cs (93%)
rename {NitroxServer => Nitrox.Server.Subnautica/Models}/UnityStubs/GameObject.cs (90%)
rename {NitroxServer => Nitrox.Server.Subnautica}/Player.cs (93%)
rename {NitroxServer => Nitrox.Server.Subnautica}/Server.cs (96%)
rename {NitroxServer => Nitrox.Server.Subnautica}/ServerAutoFacRegistrar.cs (86%)
delete mode 100644 NitroxModel/GlobalUsings.cs
delete mode 100644 NitroxServer/App.config
delete mode 100644 NitroxServer/Communication/NitroxServer.cs
delete mode 100644 NitroxServer/GameLogic/Entities/Spawning/IEntityBootstrapper.cs
delete mode 100644 NitroxServer/GameLogic/Entities/Spawning/IEntityBootstrapperManager.cs
delete mode 100644 NitroxServer/GlobalUsings.cs
diff --git a/Directory.Build.props b/Directory.Build.props
index be3c693fe..4b4e4ef23 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -36,7 +36,7 @@
true
-
+
true
diff --git a/Nitrox.Launcher/App.axaml.cs b/Nitrox.Launcher/App.axaml.cs
index 33a876e2b..b1938a1a6 100644
--- a/Nitrox.Launcher/App.axaml.cs
+++ b/Nitrox.Launcher/App.axaml.cs
@@ -17,9 +17,9 @@
using Nitrox.Launcher.Models.Validators;
using Nitrox.Launcher.ViewModels;
using Nitrox.Launcher.Views;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
-using NitroxModel.Platforms.OS.Shared;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Logger;
+using Nitrox.Model.Platforms.OS.Shared;
namespace Nitrox.Launcher;
diff --git a/Nitrox.Launcher/GlobalStatic.cs b/Nitrox.Launcher/GlobalStatic.cs
index 7b796b7d1..ec14530e3 100644
--- a/Nitrox.Launcher/GlobalStatic.cs
+++ b/Nitrox.Launcher/GlobalStatic.cs
@@ -1,6 +1,6 @@
using System;
using Avalonia.Controls;
-using NitroxModel.Platforms.OS.Shared;
+using Nitrox.Model.Platforms.OS.Shared;
namespace Nitrox.Launcher;
diff --git a/Nitrox.Launcher/GlobalUsings.cs b/Nitrox.Launcher/GlobalUsings.cs
index 46c77481c..ad88ec70e 100644
--- a/Nitrox.Launcher/GlobalUsings.cs
+++ b/Nitrox.Launcher/GlobalUsings.cs
@@ -1,4 +1,4 @@
-global using NitroxModel;
-global using NitroxModel.Extensions;
+global using Nitrox.Model;
+global using Nitrox.Model.Extensions;
global using Nitrox.Launcher.Models.Extensions;
global using static Nitrox.Launcher.GlobalStatic;
diff --git a/Nitrox.Launcher/Models/Converters/PlatformToIconConverter.cs b/Nitrox.Launcher/Models/Converters/PlatformToIconConverter.cs
index aac39d0e7..d169c344a 100644
--- a/Nitrox.Launcher/Models/Converters/PlatformToIconConverter.cs
+++ b/Nitrox.Launcher/Models/Converters/PlatformToIconConverter.cs
@@ -2,7 +2,7 @@
using System.Globalization;
using Avalonia.Media.Imaging;
using Nitrox.Launcher.Models.Utils;
-using NitroxModel.Discovery.Models;
+using Nitrox.Model.Discovery.Models;
namespace Nitrox.Launcher.Models.Converters;
diff --git a/Nitrox.Launcher/Models/Converters/ToStringConverter.cs b/Nitrox.Launcher/Models/Converters/ToStringConverter.cs
index cb9706397..16490651c 100644
--- a/Nitrox.Launcher/Models/Converters/ToStringConverter.cs
+++ b/Nitrox.Launcher/Models/Converters/ToStringConverter.cs
@@ -2,7 +2,7 @@
using System.ComponentModel;
using System.Globalization;
using Avalonia.Data;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
namespace Nitrox.Launcher.Models.Converters;
diff --git a/Nitrox.Launcher/Models/Design/EditorField.cs b/Nitrox.Launcher/Models/Design/EditorField.cs
index d73de03c4..6c51d6fb0 100644
--- a/Nitrox.Launcher/Models/Design/EditorField.cs
+++ b/Nitrox.Launcher/Models/Design/EditorField.cs
@@ -1,6 +1,6 @@
using System.Reflection;
using Avalonia.Collections;
-using NitroxModel.Serialization;
+using Nitrox.Model.Serialization;
namespace Nitrox.Launcher.Models.Design;
diff --git a/Nitrox.Launcher/Models/Design/KnownGame.cs b/Nitrox.Launcher/Models/Design/KnownGame.cs
index 01775101a..de7050169 100644
--- a/Nitrox.Launcher/Models/Design/KnownGame.cs
+++ b/Nitrox.Launcher/Models/Design/KnownGame.cs
@@ -1,4 +1,4 @@
-using NitroxModel.Discovery.Models;
+using Nitrox.Model.Discovery.Models;
namespace Nitrox.Launcher.Models.Design;
diff --git a/Nitrox.Launcher/Models/Design/ServerEntry.cs b/Nitrox.Launcher/Models/Design/ServerEntry.cs
index daa5c5ee4..c39678398 100644
--- a/Nitrox.Launcher/Models/Design/ServerEntry.cs
+++ b/Nitrox.Launcher/Models/Design/ServerEntry.cs
@@ -14,13 +14,13 @@
using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Messaging;
using Nitrox.Launcher.Models.Exceptions;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
-using NitroxModel.Serialization;
-using NitroxModel.Server;
-using NitroxServer.Serialization;
-using NitroxServer.Serialization.World;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Logger;
+using Nitrox.Model.Serialization;
+using Nitrox.Model.Server;
+using Nitrox.Server.Subnautica.Models.Serialization;
+using Nitrox.Server.Subnautica.Models.Serialization.World;
namespace Nitrox.Launcher.Models.Design;
diff --git a/Nitrox.Launcher/Models/Design/StaticCommands.cs b/Nitrox.Launcher/Models/Design/StaticCommands.cs
index 2eb514920..2ea21de4e 100644
--- a/Nitrox.Launcher/Models/Design/StaticCommands.cs
+++ b/Nitrox.Launcher/Models/Design/StaticCommands.cs
@@ -9,7 +9,7 @@
using CommunityToolkit.Mvvm.Input;
using Nitrox.Launcher.ViewModels;
using Nitrox.Launcher.Views.Abstract;
-using NitroxModel.Logger;
+using Nitrox.Model.Logger;
namespace Nitrox.Launcher.Models.Design;
diff --git a/Nitrox.Launcher/Models/Extensions/KeyValueStoreExtensions.cs b/Nitrox.Launcher/Models/Extensions/KeyValueStoreExtensions.cs
index 4d5002884..88fe80e1e 100644
--- a/Nitrox.Launcher/Models/Extensions/KeyValueStoreExtensions.cs
+++ b/Nitrox.Launcher/Models/Extensions/KeyValueStoreExtensions.cs
@@ -1,4 +1,4 @@
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
namespace Nitrox.Launcher.Models.Extensions;
diff --git a/Nitrox.Launcher/Models/Extensions/ProcessExExtensions.cs b/Nitrox.Launcher/Models/Extensions/ProcessExExtensions.cs
index b360e7b1f..38c44ff60 100644
--- a/Nitrox.Launcher/Models/Extensions/ProcessExExtensions.cs
+++ b/Nitrox.Launcher/Models/Extensions/ProcessExExtensions.cs
@@ -1,7 +1,7 @@
using System.Diagnostics;
using System.Runtime.InteropServices;
-using NitroxModel.Platforms.OS.Shared;
-using NitroxModel.Platforms.OS.Windows;
+using Nitrox.Model.Platforms.OS.Shared;
+using Nitrox.Model.Platforms.OS.Windows;
namespace Nitrox.Launcher.Models.Extensions;
diff --git a/Nitrox.Launcher/Models/Extensions/ServiceCollectionExtensions.cs b/Nitrox.Launcher/Models/Extensions/ServiceCollectionExtensions.cs
index 5ed5a63e2..94378f3a7 100644
--- a/Nitrox.Launcher/Models/Extensions/ServiceCollectionExtensions.cs
+++ b/Nitrox.Launcher/Models/Extensions/ServiceCollectionExtensions.cs
@@ -14,7 +14,7 @@
using Nitrox.Launcher.ViewModels.Abstract;
using Nitrox.Launcher.Views;
using Nitrox.Launcher.Views.Abstract;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using ServiceScan.SourceGenerator;
namespace Nitrox.Launcher.Models.Extensions;
diff --git a/Nitrox.Launcher/Models/Extensions/VisualExtensions.cs b/Nitrox.Launcher/Models/Extensions/VisualExtensions.cs
index c4673e081..fddb134c9 100644
--- a/Nitrox.Launcher/Models/Extensions/VisualExtensions.cs
+++ b/Nitrox.Launcher/Models/Extensions/VisualExtensions.cs
@@ -1,7 +1,7 @@
using System.Runtime.InteropServices;
using Avalonia;
using Avalonia.Controls;
-using NitroxModel.Platforms.OS.Windows;
+using Nitrox.Model.Platforms.OS.Windows;
namespace Nitrox.Launcher.Models.Extensions;
diff --git a/Nitrox.Launcher/Models/HttpDelegatingHandlers/FileCacheDelegatingHandler.cs b/Nitrox.Launcher/Models/HttpDelegatingHandlers/FileCacheDelegatingHandler.cs
index ee728f37a..0a2a4eade 100644
--- a/Nitrox.Launcher/Models/HttpDelegatingHandlers/FileCacheDelegatingHandler.cs
+++ b/Nitrox.Launcher/Models/HttpDelegatingHandlers/FileCacheDelegatingHandler.cs
@@ -5,7 +5,7 @@
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using Serilog;
namespace Nitrox.Launcher.Models.HttpDelegatingHandlers;
diff --git a/Nitrox.Launcher/Models/HttpDelegatingHandlers/LogRequestDelegatingHandler.cs b/Nitrox.Launcher/Models/HttpDelegatingHandlers/LogRequestDelegatingHandler.cs
index ed5885c3c..795cc6f05 100644
--- a/Nitrox.Launcher/Models/HttpDelegatingHandlers/LogRequestDelegatingHandler.cs
+++ b/Nitrox.Launcher/Models/HttpDelegatingHandlers/LogRequestDelegatingHandler.cs
@@ -4,8 +4,8 @@
using System.Threading;
using System.Threading.Tasks;
using Nitrox.Launcher.Models.Utils;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Logger;
namespace Nitrox.Launcher.Models.HttpDelegatingHandlers;
diff --git a/Nitrox.Launcher/Models/Services/DialogService.cs b/Nitrox.Launcher/Models/Services/DialogService.cs
index ef4806450..fff38b560 100644
--- a/Nitrox.Launcher/Models/Services/DialogService.cs
+++ b/Nitrox.Launcher/Models/Services/DialogService.cs
@@ -8,7 +8,7 @@
using Nitrox.Launcher.Models.Utils;
using Nitrox.Launcher.ViewModels;
using Nitrox.Launcher.ViewModels.Abstract;
-using NitroxModel.Logger;
+using Nitrox.Model.Logger;
namespace Nitrox.Launcher.Models.Services;
diff --git a/Nitrox.Launcher/Models/Services/ServerService.cs b/Nitrox.Launcher/Models/Services/ServerService.cs
index 3e1ca1eed..243ca7663 100644
--- a/Nitrox.Launcher/Models/Services/ServerService.cs
+++ b/Nitrox.Launcher/Models/Services/ServerService.cs
@@ -14,10 +14,10 @@
using Nitrox.Launcher.Models.Design;
using Nitrox.Launcher.Models.Utils;
using Nitrox.Launcher.ViewModels;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
-using NitroxModel.Platforms.OS.Shared;
-using NitroxModel.Server;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Logger;
+using Nitrox.Model.Platforms.OS.Shared;
+using Nitrox.Model.Server;
namespace Nitrox.Launcher.Models.Services;
diff --git a/Nitrox.Launcher/Models/Styles/Theme/RadioButtonGroupStyle.axaml b/Nitrox.Launcher/Models/Styles/Theme/RadioButtonGroupStyle.axaml
index e7ef63a1e..3cc64a75e 100644
--- a/Nitrox.Launcher/Models/Styles/Theme/RadioButtonGroupStyle.axaml
+++ b/Nitrox.Launcher/Models/Styles/Theme/RadioButtonGroupStyle.axaml
@@ -3,7 +3,7 @@
xmlns:controls="clr-namespace:Nitrox.Launcher.Models.Controls"
xmlns:converters="clr-namespace:Nitrox.Launcher.Models.Converters"
xmlns:design="clr-namespace:Nitrox.Launcher.Models.Design"
- xmlns:server="clr-namespace:NitroxModel.Server;assembly=NitroxModel"
+ xmlns:server="clr-namespace:Nitrox.Model.Server;assembly=Nitrox.Model"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=System.Runtime">
diff --git a/Nitrox.Launcher/Models/Utils/AssetHelper.cs b/Nitrox.Launcher/Models/Utils/AssetHelper.cs
index 3bec717ae..d746ada92 100644
--- a/Nitrox.Launcher/Models/Utils/AssetHelper.cs
+++ b/Nitrox.Launcher/Models/Utils/AssetHelper.cs
@@ -5,7 +5,7 @@
using System.Reflection;
using System.Threading;
using Avalonia.Platform;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
namespace Nitrox.Launcher.Models.Utils;
diff --git a/Nitrox.Launcher/Models/Utils/CrashReporter.cs b/Nitrox.Launcher/Models/Utils/CrashReporter.cs
index 8ff2e393f..027ffdd39 100644
--- a/Nitrox.Launcher/Models/Utils/CrashReporter.cs
+++ b/Nitrox.Launcher/Models/Utils/CrashReporter.cs
@@ -1,9 +1,9 @@
using System;
using System.IO;
using System.Linq;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
-using NitroxModel.Platforms.OS.Shared;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Logger;
+using Nitrox.Model.Platforms.OS.Shared;
namespace Nitrox.Launcher.Models.Utils;
diff --git a/Nitrox.Launcher/Models/Utils/GameInspect.cs b/Nitrox.Launcher/Models/Utils/GameInspect.cs
index 26c96c2cd..cf5111543 100644
--- a/Nitrox.Launcher/Models/Utils/GameInspect.cs
+++ b/Nitrox.Launcher/Models/Utils/GameInspect.cs
@@ -3,9 +3,9 @@
using System.Threading.Tasks;
using Nitrox.Launcher.Models.Services;
using Nitrox.Launcher.ViewModels;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
-using NitroxModel.Platforms.OS.Shared;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Logger;
+using Nitrox.Model.Platforms.OS.Shared;
namespace Nitrox.Launcher.Models.Utils;
diff --git a/Nitrox.Launcher/Models/Utils/Hashing.cs b/Nitrox.Launcher/Models/Utils/Hashing.cs
index 33adf84c9..899837d3b 100644
--- a/Nitrox.Launcher/Models/Utils/Hashing.cs
+++ b/Nitrox.Launcher/Models/Utils/Hashing.cs
@@ -4,8 +4,8 @@
using System.Text;
using System.Threading;
using System.Threading.Tasks;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Logger;
namespace Nitrox.Launcher.Models.Utils;
diff --git a/Nitrox.Launcher/Models/Utils/NitroxEntryPatch.cs b/Nitrox.Launcher/Models/Utils/NitroxEntryPatch.cs
index 5d2c9be9d..3cb00502d 100644
--- a/Nitrox.Launcher/Models/Utils/NitroxEntryPatch.cs
+++ b/Nitrox.Launcher/Models/Utils/NitroxEntryPatch.cs
@@ -5,8 +5,8 @@
using System.Threading.Tasks;
using dnlib.DotNet;
using dnlib.DotNet.Emit;
-using NitroxModel.Logger;
-using NitroxModel.Platforms.OS.Shared;
+using Nitrox.Model.Logger;
+using Nitrox.Model.Platforms.OS.Shared;
namespace Nitrox.Launcher.Models.Utils;
diff --git a/Nitrox.Launcher/Nitrox.Launcher.csproj b/Nitrox.Launcher/Nitrox.Launcher.csproj
index c22db13ce..4ea7cdf97 100644
--- a/Nitrox.Launcher/Nitrox.Launcher.csproj
+++ b/Nitrox.Launcher/Nitrox.Launcher.csproj
@@ -61,8 +61,7 @@
-
-
+
diff --git a/Nitrox.Launcher/ViewModels/BackupRestoreViewModel.cs b/Nitrox.Launcher/ViewModels/BackupRestoreViewModel.cs
index 74af86078..2a889de0d 100644
--- a/Nitrox.Launcher/ViewModels/BackupRestoreViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/BackupRestoreViewModel.cs
@@ -10,7 +10,7 @@
using Nitrox.Launcher.Models.Design;
using Nitrox.Launcher.Models.Validators;
using Nitrox.Launcher.ViewModels.Abstract;
-using NitroxServer.Serialization.World;
+using Nitrox.Server.Subnautica.Models.Serialization.World;
namespace Nitrox.Launcher.ViewModels;
diff --git a/Nitrox.Launcher/ViewModels/BlogViewModel.cs b/Nitrox.Launcher/ViewModels/BlogViewModel.cs
index 61196e9ec..9861793c9 100644
--- a/Nitrox.Launcher/ViewModels/BlogViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/BlogViewModel.cs
@@ -10,7 +10,7 @@
using Nitrox.Launcher.Models.Services;
using Nitrox.Launcher.Models.Utils;
using Nitrox.Launcher.ViewModels.Abstract;
-using NitroxModel.Logger;
+using Nitrox.Model.Logger;
namespace Nitrox.Launcher.ViewModels;
diff --git a/Nitrox.Launcher/ViewModels/CrashWindowViewModel.cs b/Nitrox.Launcher/ViewModels/CrashWindowViewModel.cs
index 9af3313e6..8664fd21b 100644
--- a/Nitrox.Launcher/ViewModels/CrashWindowViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/CrashWindowViewModel.cs
@@ -3,9 +3,9 @@
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Nitrox.Launcher.ViewModels.Abstract;
-using NitroxModel.Discovery.Models;
-using NitroxModel.Helper;
-using NitroxModel.Platforms.OS.Shared;
+using Nitrox.Model.Discovery.Models;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Platforms.OS.Shared;
namespace Nitrox.Launcher.ViewModels;
diff --git a/Nitrox.Launcher/ViewModels/CreateServerViewModel.cs b/Nitrox.Launcher/ViewModels/CreateServerViewModel.cs
index ecefb9415..02b31f16c 100644
--- a/Nitrox.Launcher/ViewModels/CreateServerViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/CreateServerViewModel.cs
@@ -6,8 +6,8 @@
using Nitrox.Launcher.Models.Design;
using Nitrox.Launcher.Models.Validators;
using Nitrox.Launcher.ViewModels.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Server;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Server;
namespace Nitrox.Launcher.ViewModels;
diff --git a/Nitrox.Launcher/ViewModels/Designer/DesignObjectPropertyEditorViewModel.cs b/Nitrox.Launcher/ViewModels/Designer/DesignObjectPropertyEditorViewModel.cs
index def97ea9c..ad9345095 100644
--- a/Nitrox.Launcher/ViewModels/Designer/DesignObjectPropertyEditorViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/Designer/DesignObjectPropertyEditorViewModel.cs
@@ -1,4 +1,4 @@
-using NitroxModel.Serialization;
+using Nitrox.Model.Serialization;
namespace Nitrox.Launcher.ViewModels.Designer;
diff --git a/Nitrox.Launcher/ViewModels/Designer/DesignOptionsViewModel.cs b/Nitrox.Launcher/ViewModels/Designer/DesignOptionsViewModel.cs
index c4993f2cd..eca6891bb 100644
--- a/Nitrox.Launcher/ViewModels/Designer/DesignOptionsViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/Designer/DesignOptionsViewModel.cs
@@ -1,5 +1,5 @@
using Nitrox.Launcher.Models.Design;
-using NitroxModel.Discovery.Models;
+using Nitrox.Model.Discovery.Models;
namespace Nitrox.Launcher.ViewModels.Designer;
diff --git a/Nitrox.Launcher/ViewModels/Designer/DesignServersViewModel.cs b/Nitrox.Launcher/ViewModels/Designer/DesignServersViewModel.cs
index 378503256..69540bb56 100644
--- a/Nitrox.Launcher/ViewModels/Designer/DesignServersViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/Designer/DesignServersViewModel.cs
@@ -1,5 +1,5 @@
using Nitrox.Launcher.Models.Services;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
namespace Nitrox.Launcher.ViewModels.Designer;
diff --git a/Nitrox.Launcher/ViewModels/EmbeddedServerViewModel.cs b/Nitrox.Launcher/ViewModels/EmbeddedServerViewModel.cs
index 497bf860a..9e92f497a 100644
--- a/Nitrox.Launcher/ViewModels/EmbeddedServerViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/EmbeddedServerViewModel.cs
@@ -10,7 +10,7 @@
using Nitrox.Launcher.Models;
using Nitrox.Launcher.Models.Design;
using Nitrox.Launcher.ViewModels.Abstract;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
namespace Nitrox.Launcher.ViewModels;
diff --git a/Nitrox.Launcher/ViewModels/LaunchGameViewModel.cs b/Nitrox.Launcher/ViewModels/LaunchGameViewModel.cs
index 02942a0c7..a246cb505 100644
--- a/Nitrox.Launcher/ViewModels/LaunchGameViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/LaunchGameViewModel.cs
@@ -14,12 +14,12 @@
using Nitrox.Launcher.Models.Services;
using Nitrox.Launcher.Models.Utils;
using Nitrox.Launcher.ViewModels.Abstract;
-using NitroxModel.Discovery.Models;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
-using NitroxModel.Platforms.OS.Shared;
-using NitroxModel.Platforms.Store;
-using NitroxModel.Platforms.Store.Interfaces;
+using Nitrox.Model.Discovery.Models;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Logger;
+using Nitrox.Model.Platforms.OS.Shared;
+using Nitrox.Model.Platforms.Store;
+using Nitrox.Model.Platforms.Store.Interfaces;
namespace Nitrox.Launcher.ViewModels;
diff --git a/Nitrox.Launcher/ViewModels/MainWindowViewModel.cs b/Nitrox.Launcher/ViewModels/MainWindowViewModel.cs
index a810a0989..5e97b26f5 100644
--- a/Nitrox.Launcher/ViewModels/MainWindowViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/MainWindowViewModel.cs
@@ -15,8 +15,8 @@
using Nitrox.Launcher.Models.Services;
using Nitrox.Launcher.Models.Utils;
using Nitrox.Launcher.ViewModels.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Logger;
namespace Nitrox.Launcher.ViewModels;
diff --git a/Nitrox.Launcher/ViewModels/ManageServerViewModel.cs b/Nitrox.Launcher/ViewModels/ManageServerViewModel.cs
index c9da04639..ddadacc6c 100644
--- a/Nitrox.Launcher/ViewModels/ManageServerViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/ManageServerViewModel.cs
@@ -18,11 +18,11 @@
using Nitrox.Launcher.Models.Utils;
using Nitrox.Launcher.Models.Validators;
using Nitrox.Launcher.ViewModels.Abstract;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
-using NitroxModel.Server;
-using Config = NitroxModel.Serialization.SubnauticaServerConfig;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Logger;
+using Nitrox.Model.Server;
+using Config = Nitrox.Model.Serialization.SubnauticaServerConfig;
namespace Nitrox.Launcher.ViewModels;
diff --git a/Nitrox.Launcher/ViewModels/OptionsViewModel.cs b/Nitrox.Launcher/ViewModels/OptionsViewModel.cs
index 0e1b29d49..fd6fda2cb 100644
--- a/Nitrox.Launcher/ViewModels/OptionsViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/OptionsViewModel.cs
@@ -13,10 +13,10 @@
using Nitrox.Launcher.Models.Services;
using Nitrox.Launcher.Models.Utils;
using Nitrox.Launcher.ViewModels.Abstract;
-using NitroxModel.Discovery;
-using NitroxModel.Discovery.Models;
-using NitroxModel.Helper;
-using NitroxModel.Platforms.OS.Shared;
+using Nitrox.Model.Discovery;
+using Nitrox.Model.Discovery.Models;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Platforms.OS.Shared;
namespace Nitrox.Launcher.ViewModels;
@@ -66,7 +66,7 @@ internal override async Task ViewContentLoadAsync(CancellationToken cancellation
ProgramDataFolderDir = NitroxUser.AppDataPath;
ScreenshotsFolderDir = NitroxUser.ScreenshotsPath;
SavesFolderDir = keyValueStore.GetSavesFolderDir();
- LogsFolderDir = NitroxModel.Logger.Log.LogDirectory;
+ LogsFolderDir = Model.Logger.Log.LogDirectory;
LightModeEnabled = keyValueStore.GetIsLightModeEnabled();
AllowMultipleGameInstances = keyValueStore.GetIsMultipleGameInstancesAllowed();
IsInReleaseMode = NitroxEnvironment.IsReleaseMode;
diff --git a/Nitrox.Launcher/ViewModels/ServersViewModel.cs b/Nitrox.Launcher/ViewModels/ServersViewModel.cs
index 6bb259853..65da2b743 100644
--- a/Nitrox.Launcher/ViewModels/ServersViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/ServersViewModel.cs
@@ -12,8 +12,8 @@
using Nitrox.Launcher.Models.Services;
using Nitrox.Launcher.Models.Utils;
using Nitrox.Launcher.ViewModels.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Logger;
namespace Nitrox.Launcher.ViewModels;
diff --git a/Nitrox.Launcher/ViewModels/UpdatesViewModel.cs b/Nitrox.Launcher/ViewModels/UpdatesViewModel.cs
index 3c64262fa..db729d5d4 100644
--- a/Nitrox.Launcher/ViewModels/UpdatesViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/UpdatesViewModel.cs
@@ -9,8 +9,8 @@
using Nitrox.Launcher.Models.Services;
using Nitrox.Launcher.Models.Utils;
using Nitrox.Launcher.ViewModels.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Logger;
namespace Nitrox.Launcher.ViewModels;
diff --git a/Nitrox.Launcher/Views/CreateServerModal.axaml b/Nitrox.Launcher/Views/CreateServerModal.axaml
index 18f6aa260..a6192bac5 100644
--- a/Nitrox.Launcher/Views/CreateServerModal.axaml
+++ b/Nitrox.Launcher/Views/CreateServerModal.axaml
@@ -12,7 +12,7 @@
xmlns:converters="clr-namespace:Nitrox.Launcher.Models.Converters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:server="clr-namespace:NitroxModel.Server;assembly=NitroxModel"
+ xmlns:server="clr-namespace:Nitrox.Model.Server;assembly=Nitrox.Model"
xmlns:vm="clr-namespace:Nitrox.Launcher.ViewModels"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:behaviors="clr-namespace:Nitrox.Launcher.Models.Behaviors">
diff --git a/Nitrox.Launcher/Views/MainWindow.axaml b/Nitrox.Launcher/Views/MainWindow.axaml
index 4c0ef3555..8b790b234 100644
--- a/Nitrox.Launcher/Views/MainWindow.axaml
+++ b/Nitrox.Launcher/Views/MainWindow.axaml
@@ -21,7 +21,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:generic="clr-namespace:System.Collections.Generic;assembly=System.Collections"
xmlns:designer="clr-namespace:Nitrox.Launcher.ViewModels.Designer"
- xmlns:helper="clr-namespace:NitroxModel.Helper;assembly=NitroxModel">
+ xmlns:helper="clr-namespace:Nitrox.Model.Helper;assembly=Nitrox.Model">
diff --git a/Nitrox.Launcher/Views/ManageServerView.axaml b/Nitrox.Launcher/Views/ManageServerView.axaml
index aea5fc34c..9db6ea52b 100644
--- a/Nitrox.Launcher/Views/ManageServerView.axaml
+++ b/Nitrox.Launcher/Views/ManageServerView.axaml
@@ -10,7 +10,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:design="clr-namespace:Nitrox.Launcher.Models.Design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:server="clr-namespace:NitroxModel.Server;assembly=NitroxModel"
+ xmlns:server="clr-namespace:Nitrox.Model.Server;assembly=Nitrox.Model"
xmlns:vm="clr-namespace:Nitrox.Launcher.ViewModels"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:behaviors="clr-namespace:Nitrox.Launcher.Models.Behaviors"
diff --git a/NitroxModel-Subnautica/DataStructures/DataExtensions.cs b/Nitrox.Model.Subnautica/DataStructures/DataExtensions.cs
similarity index 95%
rename from NitroxModel-Subnautica/DataStructures/DataExtensions.cs
rename to Nitrox.Model.Subnautica/DataStructures/DataExtensions.cs
index d319e6932..245b85256 100644
--- a/NitroxModel-Subnautica/DataStructures/DataExtensions.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/DataExtensions.cs
@@ -1,12 +1,12 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.GameLogic.Bases;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures.GameLogic.Bases;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
using UnityEngine;
-namespace NitroxModel_Subnautica.DataStructures;
+namespace Nitrox.Model.Subnautica.DataStructures;
///
/// Contains extension methods for converting Unity types to Nitrox types and vice versa.
diff --git a/NitroxModel-Subnautica/DataStructures/GameLogic/Creatures/Actions/SerializableCreatureAction.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Creatures/Actions/SerializableCreatureAction.cs
similarity index 85%
rename from NitroxModel-Subnautica/DataStructures/GameLogic/Creatures/Actions/SerializableCreatureAction.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Creatures/Actions/SerializableCreatureAction.cs
index 747109c7e..3aaf79df2 100644
--- a/NitroxModel-Subnautica/DataStructures/GameLogic/Creatures/Actions/SerializableCreatureAction.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Creatures/Actions/SerializableCreatureAction.cs
@@ -1,7 +1,7 @@
using System;
using UnityEngine;
-namespace NitroxModel_Subnautica.DataStructures.GameLogic.Creatures.Actions
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Creatures.Actions
{
public interface SerializableCreatureAction
{
diff --git a/NitroxModel-Subnautica/DataStructures/GameLogic/CyclopsDamageInfoData.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/CyclopsDamageInfoData.cs
similarity index 89%
rename from NitroxModel-Subnautica/DataStructures/GameLogic/CyclopsDamageInfoData.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/CyclopsDamageInfoData.cs
index 60a3e374d..bbf2c811b 100644
--- a/NitroxModel-Subnautica/DataStructures/GameLogic/CyclopsDamageInfoData.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/CyclopsDamageInfoData.cs
@@ -1,10 +1,10 @@
using System;
using System.Runtime.Serialization;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Util;
-namespace NitroxModel_Subnautica.DataStructures.GameLogic
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic
{
[Serializable]
[DataContract]
diff --git a/NitroxModel-Subnautica/DataStructures/GameLogic/CyclopsFireData.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/CyclopsFireData.cs
similarity index 91%
rename from NitroxModel-Subnautica/DataStructures/GameLogic/CyclopsFireData.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/CyclopsFireData.cs
index 7aaf4c60c..254c9a491 100644
--- a/NitroxModel-Subnautica/DataStructures/GameLogic/CyclopsFireData.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/CyclopsFireData.cs
@@ -1,8 +1,8 @@
using System;
using System.Runtime.Serialization;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel_Subnautica.DataStructures.GameLogic
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic
{
[Serializable]
[DataContract]
diff --git a/NitroxModel-Subnautica/DataStructures/GameLogic/Entities/SubnauticaUwePrefabFactory.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/SubnauticaUwePrefabFactory.cs
similarity index 94%
rename from NitroxModel-Subnautica/DataStructures/GameLogic/Entities/SubnauticaUwePrefabFactory.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/SubnauticaUwePrefabFactory.cs
index 416523a7f..dcfed7b5b 100644
--- a/NitroxModel-Subnautica/DataStructures/GameLogic/Entities/SubnauticaUwePrefabFactory.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/SubnauticaUwePrefabFactory.cs
@@ -1,11 +1,11 @@
using System;
using System.Collections.Generic;
using LitJson;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Helper;
using static LootDistributionData;
-namespace NitroxModel_Subnautica.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
public class SubnauticaUwePrefabFactory : IUwePrefabFactory
{
diff --git a/NitroxModel-Subnautica/DataStructures/GameLogic/Entities/SubnauticaUweWorldEntityFactory.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/SubnauticaUweWorldEntityFactory.cs
similarity index 89%
rename from NitroxModel-Subnautica/DataStructures/GameLogic/Entities/SubnauticaUweWorldEntityFactory.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/SubnauticaUweWorldEntityFactory.cs
index 9c2de05b8..5aa085b1c 100644
--- a/NitroxModel-Subnautica/DataStructures/GameLogic/Entities/SubnauticaUweWorldEntityFactory.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/SubnauticaUweWorldEntityFactory.cs
@@ -1,8 +1,8 @@
using System.Collections.Generic;
-using NitroxModel.DataStructures.GameLogic.Entities;
+using Nitrox.Model.DataStructures.GameLogic.Entities;
using UWE;
-namespace NitroxModel_Subnautica.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
public class SubnauticaUweWorldEntityFactory : IUweWorldEntityFactory
{
diff --git a/NitroxModel-Subnautica/DataStructures/Surrogates/QuaternionSurrogate.cs b/Nitrox.Model.Subnautica/DataStructures/Surrogates/QuaternionSurrogate.cs
similarity index 93%
rename from NitroxModel-Subnautica/DataStructures/Surrogates/QuaternionSurrogate.cs
rename to Nitrox.Model.Subnautica/DataStructures/Surrogates/QuaternionSurrogate.cs
index 9c696369c..d7aca2058 100644
--- a/NitroxModel-Subnautica/DataStructures/Surrogates/QuaternionSurrogate.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/Surrogates/QuaternionSurrogate.cs
@@ -1,9 +1,9 @@
using System.Runtime.Serialization;
-using NitroxModel.DataStructures.Surrogates;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Surrogates;
+using Nitrox.Model.DataStructures.Unity;
using UnityEngine;
-namespace NitroxModel_Subnautica.DataStructures.Surrogates
+namespace Nitrox.Model.Subnautica.DataStructures.Surrogates
{
[DataContract]
public class QuaternionSurrogate : SerializationSurrogate
diff --git a/NitroxModel-Subnautica/DataStructures/Surrogates/Vector3Surrogate.cs b/Nitrox.Model.Subnautica/DataStructures/Surrogates/Vector3Surrogate.cs
similarity index 92%
rename from NitroxModel-Subnautica/DataStructures/Surrogates/Vector3Surrogate.cs
rename to Nitrox.Model.Subnautica/DataStructures/Surrogates/Vector3Surrogate.cs
index e341295be..b89f9b185 100644
--- a/NitroxModel-Subnautica/DataStructures/Surrogates/Vector3Surrogate.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/Surrogates/Vector3Surrogate.cs
@@ -1,9 +1,9 @@
using System.Runtime.Serialization;
-using NitroxModel.DataStructures.Surrogates;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Surrogates;
+using Nitrox.Model.DataStructures.Unity;
using UnityEngine;
-namespace NitroxModel_Subnautica.DataStructures.Surrogates
+namespace Nitrox.Model.Subnautica.DataStructures.Surrogates
{
[DataContract]
public class Vector3Surrogate : SerializationSurrogate
diff --git a/NitroxModel-Subnautica/Helper/SubnauticaConstants.cs b/Nitrox.Model.Subnautica/Helper/SubnauticaConstants.cs
similarity index 74%
rename from NitroxModel-Subnautica/Helper/SubnauticaConstants.cs
rename to Nitrox.Model.Subnautica/Helper/SubnauticaConstants.cs
index 6433bd061..b517a8a21 100644
--- a/NitroxModel-Subnautica/Helper/SubnauticaConstants.cs
+++ b/Nitrox.Model.Subnautica/Helper/SubnauticaConstants.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel_Subnautica.Helper;
+namespace Nitrox.Model.Subnautica.Helper;
public static class SubnauticaConstants
{
diff --git a/NitroxModel-Subnautica/Helper/SubnauticaMap.cs b/Nitrox.Model.Subnautica/Helper/SubnauticaMap.cs
similarity index 92%
rename from NitroxModel-Subnautica/Helper/SubnauticaMap.cs
rename to Nitrox.Model.Subnautica/Helper/SubnauticaMap.cs
index a27553310..8417774d1 100644
--- a/NitroxModel-Subnautica/Helper/SubnauticaMap.cs
+++ b/Nitrox.Model.Subnautica/Helper/SubnauticaMap.cs
@@ -1,9 +1,9 @@
using System.Collections.Generic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.Helper;
-namespace NitroxModel_Subnautica.Helper
+namespace Nitrox.Model.Subnautica.Helper
{
///
/// Static information about the game world loaded by Subnautica that isn't (and shouldn't) be retrievable from the game directly.
diff --git a/NitroxModel-Subnautica/Helper/TextureScaler.cs b/Nitrox.Model.Subnautica/Helper/TextureScaler.cs
similarity index 95%
rename from NitroxModel-Subnautica/Helper/TextureScaler.cs
rename to Nitrox.Model.Subnautica/Helper/TextureScaler.cs
index a518f7ed6..2ccd31646 100644
--- a/NitroxModel-Subnautica/Helper/TextureScaler.cs
+++ b/Nitrox.Model.Subnautica/Helper/TextureScaler.cs
@@ -1,6 +1,6 @@
using UnityEngine;
-namespace NitroxModel_Subnautica.Helper
+namespace Nitrox.Model.Subnautica.Helper
{
public static class TextureScaler
{
diff --git a/NitroxModel-Subnautica/Helper/VehicleHelper.cs b/Nitrox.Model.Subnautica/Helper/VehicleHelper.cs
similarity index 96%
rename from NitroxModel-Subnautica/Helper/VehicleHelper.cs
rename to Nitrox.Model.Subnautica/Helper/VehicleHelper.cs
index 9c022b9c9..975c06a7c 100644
--- a/NitroxModel-Subnautica/Helper/VehicleHelper.cs
+++ b/Nitrox.Model.Subnautica/Helper/VehicleHelper.cs
@@ -1,6 +1,6 @@
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel_Subnautica.Helper
+namespace Nitrox.Model.Subnautica.Helper
{
public static class VehicleHelper
{
diff --git a/NitroxModel-Subnautica/Logger/SubnauticaInGameLogger.cs b/Nitrox.Model.Subnautica/Logger/SubnauticaInGameLogger.cs
similarity index 89%
rename from NitroxModel-Subnautica/Logger/SubnauticaInGameLogger.cs
rename to Nitrox.Model.Subnautica/Logger/SubnauticaInGameLogger.cs
index bf5c91a26..861333eb9 100644
--- a/NitroxModel-Subnautica/Logger/SubnauticaInGameLogger.cs
+++ b/Nitrox.Model.Subnautica/Logger/SubnauticaInGameLogger.cs
@@ -1,6 +1,6 @@
-using NitroxModel.Logger;
+using Nitrox.Model.Logger;
-namespace NitroxModel_Subnautica.Logger
+namespace Nitrox.Model.Subnautica.Logger
{
///
/// Log handler for logging and showing information to the player.
diff --git a/NitroxModel-Subnautica/NitroxModel-Subnautica.csproj b/Nitrox.Model.Subnautica/Nitrox.Model.Subnautica.csproj
similarity index 66%
rename from NitroxModel-Subnautica/NitroxModel-Subnautica.csproj
rename to Nitrox.Model.Subnautica/Nitrox.Model.Subnautica.csproj
index d88e8a7b5..11f93f8ec 100644
--- a/NitroxModel-Subnautica/NitroxModel-Subnautica.csproj
+++ b/Nitrox.Model.Subnautica/Nitrox.Model.Subnautica.csproj
@@ -2,11 +2,10 @@
net472;net9.0
- NitroxModel_Subnautica
-
+
diff --git a/NitroxModel-Subnautica/Packets/CyclopsDamage.cs b/Nitrox.Model.Subnautica/Packets/CyclopsDamage.cs
similarity index 94%
rename from NitroxModel-Subnautica/Packets/CyclopsDamage.cs
rename to Nitrox.Model.Subnautica/Packets/CyclopsDamage.cs
index 6af8c0401..afb3844e0 100644
--- a/NitroxModel-Subnautica/Packets/CyclopsDamage.cs
+++ b/Nitrox.Model.Subnautica/Packets/CyclopsDamage.cs
@@ -1,10 +1,10 @@
using System;
using System.Linq;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel_Subnautica.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
///
/// A state update packet for the Cyclops that could be sent due to a create/repair, create/extinguish,
diff --git a/NitroxModel-Subnautica/Packets/CyclopsDamagePointRepaired.cs b/Nitrox.Model.Subnautica/Packets/CyclopsDamagePointRepaired.cs
similarity index 89%
rename from NitroxModel-Subnautica/Packets/CyclopsDamagePointRepaired.cs
rename to Nitrox.Model.Subnautica/Packets/CyclopsDamagePointRepaired.cs
index 974272b1a..474644cfb 100644
--- a/NitroxModel-Subnautica/Packets/CyclopsDamagePointRepaired.cs
+++ b/Nitrox.Model.Subnautica/Packets/CyclopsDamagePointRepaired.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel_Subnautica.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class CyclopsDamagePointRepaired : Packet
diff --git a/NitroxModel-Subnautica/Packets/CyclopsDecoyLaunch.cs b/Nitrox.Model.Subnautica/Packets/CyclopsDecoyLaunch.cs
similarity index 76%
rename from NitroxModel-Subnautica/Packets/CyclopsDecoyLaunch.cs
rename to Nitrox.Model.Subnautica/Packets/CyclopsDecoyLaunch.cs
index 61a3e59cf..1f316209c 100644
--- a/NitroxModel-Subnautica/Packets/CyclopsDecoyLaunch.cs
+++ b/Nitrox.Model.Subnautica/Packets/CyclopsDecoyLaunch.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel_Subnautica.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class CyclopsDecoyLaunch : Packet
diff --git a/NitroxModel-Subnautica/Packets/CyclopsFireCreated.cs b/Nitrox.Model.Subnautica/Packets/CyclopsFireCreated.cs
similarity index 83%
rename from NitroxModel-Subnautica/Packets/CyclopsFireCreated.cs
rename to Nitrox.Model.Subnautica/Packets/CyclopsFireCreated.cs
index e10989e42..f8abe5b96 100644
--- a/NitroxModel-Subnautica/Packets/CyclopsFireCreated.cs
+++ b/Nitrox.Model.Subnautica/Packets/CyclopsFireCreated.cs
@@ -1,9 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel_Subnautica.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
///
/// Triggered when a fire has been created in
diff --git a/NitroxModel-Subnautica/Packets/CyclopsFireSuppression.cs b/Nitrox.Model.Subnautica/Packets/CyclopsFireSuppression.cs
similarity index 77%
rename from NitroxModel-Subnautica/Packets/CyclopsFireSuppression.cs
rename to Nitrox.Model.Subnautica/Packets/CyclopsFireSuppression.cs
index b5e50672c..0a346fb9d 100644
--- a/NitroxModel-Subnautica/Packets/CyclopsFireSuppression.cs
+++ b/Nitrox.Model.Subnautica/Packets/CyclopsFireSuppression.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel_Subnautica.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class CyclopsFireSuppression : Packet
diff --git a/NitroxModel-Subnautica/Packets/ExosuitArmActionPacket.cs b/Nitrox.Model.Subnautica/Packets/ExosuitArmActionPacket.cs
similarity index 86%
rename from NitroxModel-Subnautica/Packets/ExosuitArmActionPacket.cs
rename to Nitrox.Model.Subnautica/Packets/ExosuitArmActionPacket.cs
index b2e9a6bb6..9ab6234e6 100644
--- a/NitroxModel-Subnautica/Packets/ExosuitArmActionPacket.cs
+++ b/Nitrox.Model.Subnautica/Packets/ExosuitArmActionPacket.cs
@@ -1,10 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.Packets;
-using UnityEngine;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
-namespace NitroxModel_Subnautica.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class ExosuitArmActionPacket : Packet
diff --git a/NitroxModel-Subnautica/Packets/RocketLaunch.cs b/Nitrox.Model.Subnautica/Packets/RocketLaunch.cs
similarity index 64%
rename from NitroxModel-Subnautica/Packets/RocketLaunch.cs
rename to Nitrox.Model.Subnautica/Packets/RocketLaunch.cs
index 62f1dfd8e..7a7222189 100644
--- a/NitroxModel-Subnautica/Packets/RocketLaunch.cs
+++ b/Nitrox.Model.Subnautica/Packets/RocketLaunch.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel_Subnautica.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class RocketLaunch : Packet
diff --git a/NitroxModel-Subnautica/Packets/RocketResync.cs b/Nitrox.Model.Subnautica/Packets/RocketResync.cs
similarity index 77%
rename from NitroxModel-Subnautica/Packets/RocketResync.cs
rename to Nitrox.Model.Subnautica/Packets/RocketResync.cs
index 522d211dd..de48357a3 100644
--- a/NitroxModel-Subnautica/Packets/RocketResync.cs
+++ b/Nitrox.Model.Subnautica/Packets/RocketResync.cs
@@ -1,9 +1,9 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel_Subnautica.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class RocketResync : Packet
diff --git a/NitroxModel/CallerArgumentExpressionAttribute.cs b/Nitrox.Model/CallerArgumentExpressionAttribute.cs
similarity index 100%
rename from NitroxModel/CallerArgumentExpressionAttribute.cs
rename to Nitrox.Model/CallerArgumentExpressionAttribute.cs
diff --git a/NitroxModel/Constants/LANDiscoveryConstants.cs b/Nitrox.Model/Constants/LANDiscoveryConstants.cs
similarity index 93%
rename from NitroxModel/Constants/LANDiscoveryConstants.cs
rename to Nitrox.Model/Constants/LANDiscoveryConstants.cs
index 82bda7d52..6b6e78183 100644
--- a/NitroxModel/Constants/LANDiscoveryConstants.cs
+++ b/Nitrox.Model/Constants/LANDiscoveryConstants.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.Constants
+namespace Nitrox.Model.Constants
{
///
/// Shared values across LANDiscoveryClient, in NitroxClient project and LANDiscoveryServer in NitroxServer project.
diff --git a/NitroxModel/Core/IAutoFacRegistrar.cs b/Nitrox.Model/Core/IAutoFacRegistrar.cs
similarity index 91%
rename from NitroxModel/Core/IAutoFacRegistrar.cs
rename to Nitrox.Model/Core/IAutoFacRegistrar.cs
index 80b222461..b524b9789 100644
--- a/NitroxModel/Core/IAutoFacRegistrar.cs
+++ b/Nitrox.Model/Core/IAutoFacRegistrar.cs
@@ -1,6 +1,6 @@
using Autofac;
-namespace NitroxModel.Core
+namespace Nitrox.Model.Core
{
///
/// Nitrox projects should inherit from this interface and register their services into the DI container using the builder method.
diff --git a/NitroxModel/Core/NitroxEnvironment.cs b/Nitrox.Model/Core/NitroxEnvironment.cs
similarity index 99%
rename from NitroxModel/Core/NitroxEnvironment.cs
rename to Nitrox.Model/Core/NitroxEnvironment.cs
index 68f8b136c..62adfe1f6 100644
--- a/NitroxModel/Core/NitroxEnvironment.cs
+++ b/Nitrox.Model/Core/NitroxEnvironment.cs
@@ -4,7 +4,7 @@
using System.Reflection;
using System.Runtime.InteropServices;
-namespace NitroxModel.Helper;
+namespace Nitrox.Model.Helper;
///
/// Environment helper for getting meta data about where and how Nitrox is running.
diff --git a/NitroxModel/Core/NitroxServiceLocator.cs b/Nitrox.Model/Core/NitroxServiceLocator.cs
similarity index 98%
rename from NitroxModel/Core/NitroxServiceLocator.cs
rename to Nitrox.Model/Core/NitroxServiceLocator.cs
index 3c7fc2011..7bff9f9f6 100644
--- a/NitroxModel/Core/NitroxServiceLocator.cs
+++ b/Nitrox.Model/Core/NitroxServiceLocator.cs
@@ -1,9 +1,9 @@
using System;
using Autofac;
using Autofac.Builder;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures.Util;
-namespace NitroxModel.Core;
+namespace Nitrox.Model.Core;
///
/// Dependency Injection (DI) class for resolving types as defined in the DI registrar, implementing .
diff --git a/NitroxModel/DataStructures/CircularBuffer.cs b/Nitrox.Model/DataStructures/CircularBuffer.cs
similarity index 98%
rename from NitroxModel/DataStructures/CircularBuffer.cs
rename to Nitrox.Model/DataStructures/CircularBuffer.cs
index 0435e104b..2a73d7369 100644
--- a/NitroxModel/DataStructures/CircularBuffer.cs
+++ b/Nitrox.Model/DataStructures/CircularBuffer.cs
@@ -2,7 +2,7 @@
using System.Collections;
using System.Collections.Generic;
-namespace NitroxModel.DataStructures;
+namespace Nitrox.Model.DataStructures;
///
/// Given a fixed size, fills to capacity and then overwrites earliest item.
diff --git a/NitroxModel/DataStructures/GameLogic/AbsoluteEntityCell.cs b/Nitrox.Model/DataStructures/GameLogic/AbsoluteEntityCell.cs
similarity index 96%
rename from NitroxModel/DataStructures/GameLogic/AbsoluteEntityCell.cs
rename to Nitrox.Model/DataStructures/GameLogic/AbsoluteEntityCell.cs
index eb70cc5a5..aa22dee20 100644
--- a/NitroxModel/DataStructures/GameLogic/AbsoluteEntityCell.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/AbsoluteEntityCell.cs
@@ -1,11 +1,11 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.Core;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.Helper;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Helper;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.DataStructures.GameLogic;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/AuroraEventData.cs b/Nitrox.Model/DataStructures/GameLogic/AuroraEventData.cs
similarity index 96%
rename from NitroxModel/DataStructures/GameLogic/AuroraEventData.cs
rename to Nitrox.Model/DataStructures/GameLogic/AuroraEventData.cs
index 37dd65f25..ecca1740a 100644
--- a/NitroxModel/DataStructures/GameLogic/AuroraEventData.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/AuroraEventData.cs
@@ -3,7 +3,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.DataStructures.GameLogic;
///
/// Aurora events data
diff --git a/NitroxModel/DataStructures/GameLogic/Bases/BaseData.cs b/Nitrox.Model/DataStructures/GameLogic/Bases/BaseData.cs
similarity index 97%
rename from NitroxModel/DataStructures/GameLogic/Bases/BaseData.cs
rename to Nitrox.Model/DataStructures/GameLogic/Bases/BaseData.cs
index d936b4bc8..36aefe541 100644
--- a/NitroxModel/DataStructures/GameLogic/Bases/BaseData.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Bases/BaseData.cs
@@ -2,7 +2,7 @@
using System.Linq;
using System.Runtime.Serialization;
-namespace NitroxModel.DataStructures.GameLogic.Bases;
+namespace Nitrox.Model.DataStructures.GameLogic.Bases;
[DataContract]
public class BaseData : IEquatable
diff --git a/NitroxModel/DataStructures/GameLogic/Bases/BuildPieceIdentifier.cs b/Nitrox.Model/DataStructures/GameLogic/Bases/BuildPieceIdentifier.cs
similarity index 92%
rename from NitroxModel/DataStructures/GameLogic/Bases/BuildPieceIdentifier.cs
rename to Nitrox.Model/DataStructures/GameLogic/Bases/BuildPieceIdentifier.cs
index bd08c91f9..d4c9f3b9b 100644
--- a/NitroxModel/DataStructures/GameLogic/Bases/BuildPieceIdentifier.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Bases/BuildPieceIdentifier.cs
@@ -1,7 +1,7 @@
using System;
using System.Runtime.Serialization;
-namespace NitroxModel.DataStructures.GameLogic.Bases;
+namespace Nitrox.Model.DataStructures.GameLogic.Bases;
[Serializable, DataContract]
public record struct BuildPieceIdentifier(NitroxTechType Recipe, NitroxBaseFace? BaseFace, NitroxInt3 BaseCell, NitroxInt3 PiecePoint)
diff --git a/NitroxModel/DataStructures/GameLogic/Bases/NitroxBaseFace.cs b/Nitrox.Model/DataStructures/GameLogic/Bases/NitroxBaseFace.cs
similarity index 87%
rename from NitroxModel/DataStructures/GameLogic/Bases/NitroxBaseFace.cs
rename to Nitrox.Model/DataStructures/GameLogic/Bases/NitroxBaseFace.cs
index e8c6086c0..f003721d1 100644
--- a/NitroxModel/DataStructures/GameLogic/Bases/NitroxBaseFace.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Bases/NitroxBaseFace.cs
@@ -1,7 +1,7 @@
using System;
using System.Runtime.Serialization;
-namespace NitroxModel.DataStructures.GameLogic.Bases;
+namespace Nitrox.Model.DataStructures.GameLogic.Bases;
[Serializable, DataContract]
public record struct NitroxBaseFace(NitroxInt3 Cell, int Direction)
diff --git a/NitroxModel/DataStructures/GameLogic/DamageTakenData.cs b/Nitrox.Model/DataStructures/GameLogic/DamageTakenData.cs
similarity index 76%
rename from NitroxModel/DataStructures/GameLogic/DamageTakenData.cs
rename to Nitrox.Model/DataStructures/GameLogic/DamageTakenData.cs
index 1b94f041b..4d7043d5d 100644
--- a/NitroxModel/DataStructures/GameLogic/DamageTakenData.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/DamageTakenData.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Util;
-namespace NitroxModel.DataStructures.GameLogic
+namespace Nitrox.Model.DataStructures.GameLogic
{
[Serializable]
public class DamageTakenData
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Bases/BaseLeakEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Bases/BaseLeakEntity.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/Entities/Bases/BaseLeakEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Bases/BaseLeakEntity.cs
index 44491050f..07ae64c18 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Bases/BaseLeakEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Bases/BaseLeakEntity.cs
@@ -2,9 +2,9 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Bases;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
[Serializable, DataContract]
public class BaseLeakEntity : Entity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Bases/BuildEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Bases/BuildEntity.cs
similarity index 84%
rename from NitroxModel/DataStructures/GameLogic/Entities/Bases/BuildEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Bases/BuildEntity.cs
index 866bdff86..3e01e53f9 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Bases/BuildEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Bases/BuildEntity.cs
@@ -2,11 +2,11 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Bases;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Bases;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Bases;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
[Serializable, DataContract]
public class BuildEntity : GlobalRootEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Bases/GhostEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Bases/GhostEntity.cs
similarity index 86%
rename from NitroxModel/DataStructures/GameLogic/Entities/Bases/GhostEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Bases/GhostEntity.cs
index 1146a1977..3388eefb9 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Bases/GhostEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Bases/GhostEntity.cs
@@ -2,11 +2,11 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Bases;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Bases;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Bases;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
[Serializable, DataContract]
public class GhostEntity : ModuleEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Bases/InteriorPieceEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Bases/InteriorPieceEntity.cs
similarity index 87%
rename from NitroxModel/DataStructures/GameLogic/Entities/Bases/InteriorPieceEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Bases/InteriorPieceEntity.cs
index b2faffecc..bdbef1091 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Bases/InteriorPieceEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Bases/InteriorPieceEntity.cs
@@ -2,11 +2,11 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Bases;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Bases;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Bases;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
[Serializable, DataContract]
public class InteriorPieceEntity : GlobalRootEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Bases/MapRoomEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Bases/MapRoomEntity.cs
similarity index 88%
rename from NitroxModel/DataStructures/GameLogic/Entities/Bases/MapRoomEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Bases/MapRoomEntity.cs
index cc919a32a..2646abdd8 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Bases/MapRoomEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Bases/MapRoomEntity.cs
@@ -2,10 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Bases;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
[Serializable, DataContract]
public class MapRoomEntity : GlobalRootEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Bases/ModuleEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Bases/ModuleEntity.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/Bases/ModuleEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Bases/ModuleEntity.cs
index e578c5ee7..06e18eecd 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Bases/ModuleEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Bases/ModuleEntity.cs
@@ -2,11 +2,11 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
using ProtoBufNet;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Bases;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
[Serializable, DataContract]
[ProtoInclude(50, typeof(GhostEntity))]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Bases/MoonpoolEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Bases/MoonpoolEntity.cs
similarity index 88%
rename from NitroxModel/DataStructures/GameLogic/Entities/Bases/MoonpoolEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Bases/MoonpoolEntity.cs
index ec755cd85..4821c2659 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Bases/MoonpoolEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Bases/MoonpoolEntity.cs
@@ -2,10 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Bases;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
[Serializable, DataContract]
public class MoonpoolEntity : GlobalRootEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/CellRootEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/CellRootEntity.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/Entities/CellRootEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/CellRootEntity.cs
index ef7688724..5cc19bad2 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/CellRootEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/CellRootEntity.cs
@@ -2,10 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/CreatureRespawnEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/CreatureRespawnEntity.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/CreatureRespawnEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/CreatureRespawnEntity.cs
index 09c7a0347..2385eed67 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/CreatureRespawnEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/CreatureRespawnEntity.cs
@@ -1,11 +1,11 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using System.Collections.Generic;
using BinaryPack.Attributes;
using System.Runtime.Serialization;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class CreatureRespawnEntity : WorldEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/EscapePodWorldEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/EscapePodWorldEntity.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/EscapePodWorldEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/EscapePodWorldEntity.cs
index 0ce950ac3..da0cd5fc6 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/EscapePodWorldEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/EscapePodWorldEntity.cs
@@ -2,10 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/GeyserWorldEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/GeyserWorldEntity.cs
similarity index 88%
rename from NitroxModel/DataStructures/GameLogic/Entities/GeyserWorldEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/GeyserWorldEntity.cs
index bba524d2d..b2e2e144a 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/GeyserWorldEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/GeyserWorldEntity.cs
@@ -2,10 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class GeyserWorldEntity : WorldEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/GlobalRootEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/GlobalRootEntity.cs
similarity index 84%
rename from NitroxModel/DataStructures/GameLogic/Entities/GlobalRootEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/GlobalRootEntity.cs
index d42f053e4..1eb98fa49 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/GlobalRootEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/GlobalRootEntity.cs
@@ -2,12 +2,12 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
using ProtoBufNet;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
[ProtoInclude(50, typeof(BuildEntity))]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/IUwePrefabFactory.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/IUwePrefabFactory.cs
similarity index 73%
rename from NitroxModel/DataStructures/GameLogic/Entities/IUwePrefabFactory.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/IUwePrefabFactory.cs
index f600e6c0c..c301a64ec 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/IUwePrefabFactory.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/IUwePrefabFactory.cs
@@ -1,6 +1,6 @@
using System.Collections.Generic;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
public interface IUwePrefabFactory
{
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/IUweWorldEntityFactory.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/IUweWorldEntityFactory.cs
similarity index 67%
rename from NitroxModel/DataStructures/GameLogic/Entities/IUweWorldEntityFactory.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/IUweWorldEntityFactory.cs
index 680e0f9b8..22b0d99c9 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/IUweWorldEntityFactory.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/IUweWorldEntityFactory.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
public interface IUweWorldEntityFactory
{
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/InstalledBatteryEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/InstalledBatteryEntity.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/InstalledBatteryEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/InstalledBatteryEntity.cs
index e4dfc4bc1..38950b450 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/InstalledBatteryEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/InstalledBatteryEntity.cs
@@ -2,9 +2,9 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/InstalledModuleEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/InstalledModuleEntity.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/InstalledModuleEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/InstalledModuleEntity.cs
index 4e0059e27..044dc0aff 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/InstalledModuleEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/InstalledModuleEntity.cs
@@ -1,10 +1,10 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using System.Collections.Generic;
using BinaryPack.Attributes;
using System.Runtime.Serialization;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/InventoryEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/InventoryEntity.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/InventoryEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/InventoryEntity.cs
index 8a45fe15c..aaf00be2b 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/InventoryEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/InventoryEntity.cs
@@ -1,10 +1,10 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using System.Collections.Generic;
using BinaryPack.Attributes;
using System.Runtime.Serialization;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
///
/// Represents an object that can hold InventoryItemEntity, such as the locker in the escape pod.
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/InventoryItemEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/InventoryItemEntity.cs
similarity index 88%
rename from NitroxModel/DataStructures/GameLogic/Entities/InventoryItemEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/InventoryItemEntity.cs
index 6e5d5caf0..a3f234f74 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/InventoryItemEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/InventoryItemEntity.cs
@@ -1,10 +1,10 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using System.Collections.Generic;
using BinaryPack.Attributes;
using System.Runtime.Serialization;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredCellGhostMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredCellGhostMetadata.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredCellGhostMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredCellGhostMetadata.cs
index 0418b728c..0ff1b190a 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredCellGhostMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredCellGhostMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata.Bases;
[Serializable, DataContract]
public class BaseAnchoredCellGhostMetadata : GhostMetadata
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredFaceGhostMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredFaceGhostMetadata.cs
similarity index 83%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredFaceGhostMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredFaceGhostMetadata.cs
index 07174ca35..f073dacf1 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredFaceGhostMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredFaceGhostMetadata.cs
@@ -1,9 +1,9 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Bases;
+using Nitrox.Model.DataStructures.GameLogic.Bases;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata.Bases;
[Serializable, DataContract]
public class BaseAnchoredFaceGhostMetadata : GhostMetadata
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseDeconstructableGhostMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/Bases/BaseDeconstructableGhostMetadata.cs
similarity index 87%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseDeconstructableGhostMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/Bases/BaseDeconstructableGhostMetadata.cs
index 5625e2316..71f674973 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseDeconstructableGhostMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/Bases/BaseDeconstructableGhostMetadata.cs
@@ -1,9 +1,9 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Bases;
+using Nitrox.Model.DataStructures.GameLogic.Bases;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata.Bases;
[Serializable, DataContract]
public class BaseDeconstructableGhostMetadata : GhostMetadata
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/GhostMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/Bases/GhostMetadata.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/GhostMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/Bases/GhostMetadata.cs
index 6ed32aba2..09dd730f3 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/GhostMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/Bases/GhostMetadata.cs
@@ -3,7 +3,7 @@
using BinaryPack.Attributes;
using ProtoBufNet;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata.Bases;
[Serializable, DataContract]
[ProtoInclude(50, typeof(BaseDeconstructableGhostMetadata))]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/BatteryMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/BatteryMetadata.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/BatteryMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/BatteryMetadata.cs
index ebb5046f3..57096f851 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/BatteryMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/BatteryMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/BeaconMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/BeaconMetadata.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/BeaconMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/BeaconMetadata.cs
index b0136b82b..1772d3b42 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/BeaconMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/BeaconMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/ConstructorMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/ConstructorMetadata.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/ConstructorMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/ConstructorMetadata.cs
index d6773653a..c87b3b876 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/ConstructorMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/ConstructorMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CrafterMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/CrafterMetadata.cs
similarity index 94%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/CrafterMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/CrafterMetadata.cs
index e8ef7705f..cf9ec694f 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CrafterMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/CrafterMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CrashHomeMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/CrashHomeMetadata.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/CrashHomeMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/CrashHomeMetadata.cs
index 814bd78a6..e647915e2 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CrashHomeMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/CrashHomeMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
public class CrashHomeMetadata : EntityMetadata
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CyclopsLightingMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/CyclopsLightingMetadata.cs
similarity index 92%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/CyclopsLightingMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/CyclopsLightingMetadata.cs
index 50dd12472..6cc4a2b22 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CyclopsLightingMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/CyclopsLightingMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CyclopsMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/CyclopsMetadata.cs
similarity index 95%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/CyclopsMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/CyclopsMetadata.cs
index 1e6466c73..54f18309c 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CyclopsMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/CyclopsMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EatableMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/EatableMetadata.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/EatableMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/EatableMetadata.cs
index e0b6fa740..8b14a8a41 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EatableMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/EatableMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EggMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/EggMetadata.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/EggMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/EggMetadata.cs
index 4754e13d5..10932bf15 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EggMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/EggMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EntityMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/EntityMetadata.cs
similarity index 93%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/EntityMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/EntityMetadata.cs
index 63583b5b2..fbcd13067 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EntityMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/EntityMetadata.cs
@@ -1,9 +1,9 @@
using System;
using System.Runtime.Serialization;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata.Bases;
using ProtoBufNet;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EntitySignMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/EntitySignMetadata.cs
similarity index 94%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/EntitySignMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/EntitySignMetadata.cs
index b74aa8bde..69156c7b6 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EntitySignMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/EntitySignMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EscapePodMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/EscapePodMetadata.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/EscapePodMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/EscapePodMetadata.cs
index b95bb825d..0808e03cf 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EscapePodMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/EscapePodMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/ExosuitMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/ExosuitMetadata.cs
similarity index 84%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/ExosuitMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/ExosuitMetadata.cs
index 32bead5ea..943746e55 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/ExosuitMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/ExosuitMetadata.cs
@@ -1,9 +1,9 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
public class ExosuitMetadata : VehicleMetadata
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FireExtinguisherHolderMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/FireExtinguisherHolderMetadata.cs
similarity index 92%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/FireExtinguisherHolderMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/FireExtinguisherHolderMetadata.cs
index 1dec9dd7b..3ccf1ff1a 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FireExtinguisherHolderMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/FireExtinguisherHolderMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FlareMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/FlareMetadata.cs
similarity index 93%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/FlareMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/FlareMetadata.cs
index 5637f8a40..b4e0b537f 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FlareMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/FlareMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
public class FlareMetadata : EntityMetadata
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FlashlightMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/FlashlightMetadata.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/FlashlightMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/FlashlightMetadata.cs
index ccca0a70e..70c3b059f 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FlashlightMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/FlashlightMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FruitPlantMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/FruitPlantMetadata.cs
similarity index 92%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/FruitPlantMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/FruitPlantMetadata.cs
index c84ce552f..2664bf5d4 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FruitPlantMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/FruitPlantMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/IncubatorMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/IncubatorMetadata.cs
similarity index 92%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/IncubatorMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/IncubatorMetadata.cs
index 277b27d18..10fce0e18 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/IncubatorMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/IncubatorMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/KeypadMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/KeypadMetadata.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/KeypadMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/KeypadMetadata.cs
index 9e8b60029..15bd59adb 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/KeypadMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/KeypadMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/NamedColoredMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/NamedColoredMetadata.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/NamedColoredMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/NamedColoredMetadata.cs
index 5d0e23e53..4467c12cb 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/NamedColoredMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/NamedColoredMetadata.cs
@@ -1,10 +1,10 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
using ProtoBufNet;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
[ProtoInclude(50, typeof(VehicleMetadata))]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PlantableMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PlantableMetadata.cs
similarity index 94%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/PlantableMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PlantableMetadata.cs
index 0d3398169..fc11cea5c 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PlantableMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PlantableMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PlayerMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PlayerMetadata.cs
similarity index 95%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/PlayerMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PlayerMetadata.cs
index 5a3645dc8..8c3b186fd 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PlayerMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PlayerMetadata.cs
@@ -3,7 +3,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorDoorwayMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PrecursorDoorwayMetadata.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorDoorwayMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PrecursorDoorwayMetadata.cs
index aae373f08..e702f6ee3 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorDoorwayMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PrecursorDoorwayMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorKeyTerminalMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PrecursorKeyTerminalMetadata.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorKeyTerminalMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PrecursorKeyTerminalMetadata.cs
index 92994c072..c81fbffac 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorKeyTerminalMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PrecursorKeyTerminalMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterActivationTerminalMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterActivationTerminalMetadata.cs
similarity index 92%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterActivationTerminalMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterActivationTerminalMetadata.cs
index ba9de48ff..755864943 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterActivationTerminalMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterActivationTerminalMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterMetadata.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterMetadata.cs
index 423e62be6..d74590f8a 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/RadiationMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/RadiationMetadata.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/RadiationMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/RadiationMetadata.cs
index 377f5bd22..218944210 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/RadiationMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/RadiationMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
public class RadiationMetadata : EntityMetadata
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/RocketMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/RocketMetadata.cs
similarity index 95%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/RocketMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/RocketMetadata.cs
index 2c5b434e1..739a0743b 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/RocketMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/RocketMetadata.cs
@@ -3,7 +3,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SeaTreaderMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/SeaTreaderMetadata.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/SeaTreaderMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/SeaTreaderMetadata.cs
index 4c44c67b3..a54fe5b29 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SeaTreaderMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/SeaTreaderMetadata.cs
@@ -1,9 +1,9 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SealedDoorMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/SealedDoorMetadata.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/SealedDoorMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/SealedDoorMetadata.cs
index 11f973d35..2e2a71c30 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SealedDoorMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/SealedDoorMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SeamothMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/SeamothMetadata.cs
similarity index 86%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/SeamothMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/SeamothMetadata.cs
index 4e777045b..a738fdfc5 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SeamothMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/SeamothMetadata.cs
@@ -1,9 +1,9 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/StarshipDoorMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/StarshipDoorMetadata.cs
similarity index 92%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/StarshipDoorMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/StarshipDoorMetadata.cs
index c407b4e46..3adb910b9 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/StarshipDoorMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/StarshipDoorMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/StayAtLeashPositionMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/StayAtLeashPositionMetadata.cs
similarity index 86%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/StayAtLeashPositionMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/StayAtLeashPositionMetadata.cs
index 5b4563725..e2e335902 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/StayAtLeashPositionMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/StayAtLeashPositionMetadata.cs
@@ -1,9 +1,9 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
public class StayAtLeashPositionMetadata : EntityMetadata
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SubNameInputMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/SubNameInputMetadata.cs
similarity index 87%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/SubNameInputMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/SubNameInputMetadata.cs
index 55173ef9c..854bf0167 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SubNameInputMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/SubNameInputMetadata.cs
@@ -1,9 +1,9 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/VehicleMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/VehicleMetadata.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/VehicleMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/VehicleMetadata.cs
index c3df51b9c..2bd359596 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/VehicleMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/VehicleMetadata.cs
@@ -1,10 +1,10 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
using ProtoBufNet;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
[ProtoInclude(50, typeof(SeamothMetadata))]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/WaterParkCreatureMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/WaterParkCreatureMetadata.cs
similarity index 94%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/WaterParkCreatureMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/WaterParkCreatureMetadata.cs
index 2eb343f4d..435ee076e 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/WaterParkCreatureMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/WaterParkCreatureMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
public class WaterParkCreatureMetadata : EntityMetadata
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/WeldableWallPanelGenericMetadata.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/WeldableWallPanelGenericMetadata.cs
similarity index 92%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/WeldableWallPanelGenericMetadata.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/WeldableWallPanelGenericMetadata.cs
index eddb26b4f..0151d5807 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/WeldableWallPanelGenericMetadata.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/Metadata/WeldableWallPanelGenericMetadata.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata
+namespace Nitrox.Model.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/OxygenPipeEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/OxygenPipeEntity.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/OxygenPipeEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/OxygenPipeEntity.cs
index 9415d4411..b6f23c9c5 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/OxygenPipeEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/OxygenPipeEntity.cs
@@ -2,10 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class OxygenPipeEntity : WorldEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/PathBasedChildEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/PathBasedChildEntity.cs
similarity index 88%
rename from NitroxModel/DataStructures/GameLogic/Entities/PathBasedChildEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/PathBasedChildEntity.cs
index 51495b459..de4d00b61 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/PathBasedChildEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/PathBasedChildEntity.cs
@@ -1,10 +1,10 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/PlacedWorldEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/PlacedWorldEntity.cs
similarity index 81%
rename from NitroxModel/DataStructures/GameLogic/Entities/PlacedWorldEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/PlacedWorldEntity.cs
index d23c143e8..ef48d32c2 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/PlacedWorldEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/PlacedWorldEntity.cs
@@ -2,10 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class PlacedWorldEntity : WorldEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/PlaceholderGroupWorldEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/PlaceholderGroupWorldEntity.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/Entities/PlaceholderGroupWorldEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/PlaceholderGroupWorldEntity.cs
index 13a73f123..a4f5ea3c4 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/PlaceholderGroupWorldEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/PlaceholderGroupWorldEntity.cs
@@ -2,10 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class PlaceholderGroupWorldEntity : WorldEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/PlanterEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/PlanterEntity.cs
similarity index 86%
rename from NitroxModel/DataStructures/GameLogic/Entities/PlanterEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/PlanterEntity.cs
index 64c51bd16..38d0ae762 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/PlanterEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/PlanterEntity.cs
@@ -2,10 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class PlanterEntity : GlobalRootEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/PlayerEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/PlayerEntity.cs
similarity index 85%
rename from NitroxModel/DataStructures/GameLogic/Entities/PlayerEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/PlayerEntity.cs
index 3adf7e079..577cdf47f 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/PlayerEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/PlayerEntity.cs
@@ -1,11 +1,11 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using System.Collections.Generic;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.Unity;
using System.Runtime.Serialization;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/PrefabChildEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/PrefabChildEntity.cs
similarity index 94%
rename from NitroxModel/DataStructures/GameLogic/Entities/PrefabChildEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/PrefabChildEntity.cs
index a2ca85b99..69cca480c 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/PrefabChildEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/PrefabChildEntity.cs
@@ -1,10 +1,10 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities
+namespace Nitrox.Model.DataStructures.GameLogic.Entities
{
/*
* A PrefabChildEntity is a gameobject that resides inside of a spawned prefab. Although the server knows about these,
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/PrefabPlaceholderEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/PrefabPlaceholderEntity.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/Entities/PrefabPlaceholderEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/PrefabPlaceholderEntity.cs
index 293254148..b20a37a0b 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/PrefabPlaceholderEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/PrefabPlaceholderEntity.cs
@@ -2,10 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
///
/// Represents a Placeholder GameObject located under a PrefabPlaceholdersGroup
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/RadiationLeakEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/RadiationLeakEntity.cs
similarity index 86%
rename from NitroxModel/DataStructures/GameLogic/Entities/RadiationLeakEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/RadiationLeakEntity.cs
index c5822f503..92adac287 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/RadiationLeakEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/RadiationLeakEntity.cs
@@ -2,10 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class RadiationLeakEntity : GlobalRootEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/ReefbackChildEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/ReefbackChildEntity.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/Entities/ReefbackChildEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/ReefbackChildEntity.cs
index 8295b5b39..b57b6ce7b 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/ReefbackChildEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/ReefbackChildEntity.cs
@@ -2,10 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class ReefbackChildEntity : WorldEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/ReefbackEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/ReefbackEntity.cs
similarity index 88%
rename from NitroxModel/DataStructures/GameLogic/Entities/ReefbackEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/ReefbackEntity.cs
index 4fea9d73b..f2d68f1c7 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/ReefbackEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/ReefbackEntity.cs
@@ -2,10 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class ReefbackEntity : WorldEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/SerializedWorldEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/SerializedWorldEntity.cs
similarity index 94%
rename from NitroxModel/DataStructures/GameLogic/Entities/SerializedWorldEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/SerializedWorldEntity.cs
index 85b9b2496..91811f20f 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/SerializedWorldEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/SerializedWorldEntity.cs
@@ -2,10 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
///
/// An implementation for GameObjects marked as CreateEmptyObject in the protobuf serializer.
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/UwePrefab.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/UwePrefab.cs
similarity index 64%
rename from NitroxModel/DataStructures/GameLogic/Entities/UwePrefab.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/UwePrefab.cs
index ab8d278b2..cc92e90d2 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/UwePrefab.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/UwePrefab.cs
@@ -1,3 +1,3 @@
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
public readonly record struct UwePrefab(string ClassId, int Count, float Probability, bool IsFragment);
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/UweWorldEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/UweWorldEntity.cs
similarity index 85%
rename from NitroxModel/DataStructures/GameLogic/Entities/UweWorldEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/UweWorldEntity.cs
index 0608deb20..e02ae85c6 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/UweWorldEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/UweWorldEntity.cs
@@ -1,6 +1,6 @@
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
public class UweWorldEntity
{
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/VehicleEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/VehicleEntity.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/Entities/VehicleEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/VehicleEntity.cs
index 646ae9e95..362e7b832 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/VehicleEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/VehicleEntity.cs
@@ -1,11 +1,11 @@
using System;
using BinaryPack.Attributes;
using System.Runtime.Serialization;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
using System.Collections.Generic;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/WorldEntity.cs b/Nitrox.Model/DataStructures/GameLogic/Entities/WorldEntity.cs
similarity index 95%
rename from NitroxModel/DataStructures/GameLogic/Entities/WorldEntity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entities/WorldEntity.cs
index 1f6969574..b9898014f 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/WorldEntity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entities/WorldEntity.cs
@@ -2,11 +2,11 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.Unity;
using ProtoBufNet;
-namespace NitroxModel.DataStructures.GameLogic.Entities
+namespace Nitrox.Model.DataStructures.GameLogic.Entities
{
/*
* A world entity is an object physically in the world with a transform. It is either a global root entity
diff --git a/NitroxModel/DataStructures/GameLogic/Entity.cs b/Nitrox.Model/DataStructures/GameLogic/Entity.cs
similarity index 86%
rename from NitroxModel/DataStructures/GameLogic/Entity.cs
rename to Nitrox.Model/DataStructures/GameLogic/Entity.cs
index 7c72aba23..f2347c806 100644
--- a/NitroxModel/DataStructures/GameLogic/Entity.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Entity.cs
@@ -2,12 +2,12 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures.GameLogic.Entities;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
using ProtoBufNet;
-namespace NitroxModel.DataStructures.GameLogic
+namespace Nitrox.Model.DataStructures.GameLogic
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/InitialPDAData.cs b/Nitrox.Model/DataStructures/GameLogic/InitialPDAData.cs
similarity index 96%
rename from NitroxModel/DataStructures/GameLogic/InitialPDAData.cs
rename to Nitrox.Model/DataStructures/GameLogic/InitialPDAData.cs
index c5b5155d2..346be564e 100644
--- a/NitroxModel/DataStructures/GameLogic/InitialPDAData.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/InitialPDAData.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic
+namespace Nitrox.Model.DataStructures.GameLogic
{
[Serializable]
public class InitialPDAData
diff --git a/NitroxModel/DataStructures/GameLogic/InitialStoryGoalData.cs b/Nitrox.Model/DataStructures/GameLogic/InitialStoryGoalData.cs
similarity index 96%
rename from NitroxModel/DataStructures/GameLogic/InitialStoryGoalData.cs
rename to Nitrox.Model/DataStructures/GameLogic/InitialStoryGoalData.cs
index 0c0fe0a85..a2771c265 100644
--- a/NitroxModel/DataStructures/GameLogic/InitialStoryGoalData.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/InitialStoryGoalData.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic
+namespace Nitrox.Model.DataStructures.GameLogic
{
[Serializable]
public class InitialStoryGoalData
diff --git a/NitroxModel/DataStructures/GameLogic/IntroCinematicMode.cs b/Nitrox.Model/DataStructures/GameLogic/IntroCinematicMode.cs
similarity index 73%
rename from NitroxModel/DataStructures/GameLogic/IntroCinematicMode.cs
rename to Nitrox.Model/DataStructures/GameLogic/IntroCinematicMode.cs
index c4b1dcdfc..5b7e49936 100644
--- a/NitroxModel/DataStructures/GameLogic/IntroCinematicMode.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/IntroCinematicMode.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.DataStructures.GameLogic;
public enum IntroCinematicMode : byte
{
diff --git a/NitroxModel/DataStructures/GameLogic/NitroxScheduledGoal.cs b/Nitrox.Model/DataStructures/GameLogic/NitroxScheduledGoal.cs
similarity index 95%
rename from NitroxModel/DataStructures/GameLogic/NitroxScheduledGoal.cs
rename to Nitrox.Model/DataStructures/GameLogic/NitroxScheduledGoal.cs
index 963b91def..eb4c48470 100644
--- a/NitroxModel/DataStructures/GameLogic/NitroxScheduledGoal.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/NitroxScheduledGoal.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.DataStructures.GameLogic;
[Serializable, DataContract]
public class NitroxScheduledGoal
diff --git a/NitroxModel/DataStructures/GameLogic/NitroxTechType.cs b/Nitrox.Model/DataStructures/GameLogic/NitroxTechType.cs
similarity index 97%
rename from NitroxModel/DataStructures/GameLogic/NitroxTechType.cs
rename to Nitrox.Model/DataStructures/GameLogic/NitroxTechType.cs
index 41b65087d..f9497b0a6 100644
--- a/NitroxModel/DataStructures/GameLogic/NitroxTechType.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/NitroxTechType.cs
@@ -3,7 +3,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.DataStructures.GameLogic;
///
/// TechType is the enum used in Subnautica for defining all the spawnable objects in the world. This includes food, enemies and bases.
diff --git a/NitroxModel/DataStructures/GameLogic/PDAEntry.cs b/Nitrox.Model/DataStructures/GameLogic/PDAEntry.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/PDAEntry.cs
rename to Nitrox.Model/DataStructures/GameLogic/PDAEntry.cs
index 80113c8a1..d870f00a4 100644
--- a/NitroxModel/DataStructures/GameLogic/PDAEntry.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/PDAEntry.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.DataStructures.GameLogic;
[Serializable, DataContract]
public class PDAEntry
diff --git a/NitroxModel/DataStructures/GameLogic/PDALogEntry.cs b/Nitrox.Model/DataStructures/GameLogic/PDALogEntry.cs
similarity index 93%
rename from NitroxModel/DataStructures/GameLogic/PDALogEntry.cs
rename to Nitrox.Model/DataStructures/GameLogic/PDALogEntry.cs
index a2e126919..c780157d3 100644
--- a/NitroxModel/DataStructures/GameLogic/PDALogEntry.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/PDALogEntry.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic
+namespace Nitrox.Model.DataStructures.GameLogic
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Perms.cs b/Nitrox.Model/DataStructures/GameLogic/Perms.cs
similarity index 95%
rename from NitroxModel/DataStructures/GameLogic/Perms.cs
rename to Nitrox.Model/DataStructures/GameLogic/Perms.cs
index d158758ac..5a7857b1a 100644
--- a/NitroxModel/DataStructures/GameLogic/Perms.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/Perms.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.DataStructures.GameLogic
+namespace Nitrox.Model.DataStructures.GameLogic
{
public enum Perms : byte
{
diff --git a/NitroxModel/DataStructures/GameLogic/PingInstancePreference.cs b/Nitrox.Model/DataStructures/GameLogic/PingInstancePreference.cs
similarity index 92%
rename from NitroxModel/DataStructures/GameLogic/PingInstancePreference.cs
rename to Nitrox.Model/DataStructures/GameLogic/PingInstancePreference.cs
index 6a06d0212..ca045473b 100644
--- a/NitroxModel/DataStructures/GameLogic/PingInstancePreference.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/PingInstancePreference.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.DataStructures.GameLogic;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/PlayerAnimation.cs b/Nitrox.Model/DataStructures/GameLogic/PlayerAnimation.cs
similarity index 88%
rename from NitroxModel/DataStructures/GameLogic/PlayerAnimation.cs
rename to Nitrox.Model/DataStructures/GameLogic/PlayerAnimation.cs
index d6f062a08..0cba0f0f2 100644
--- a/NitroxModel/DataStructures/GameLogic/PlayerAnimation.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/PlayerAnimation.cs
@@ -1,9 +1,9 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.GameLogic.PlayerAnimation;
+using Nitrox.Model.GameLogic.PlayerAnimation;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.DataStructures.GameLogic;
[Serializable, DataContract]
public class PlayerAnimation
diff --git a/NitroxModel/DataStructures/GameLogic/PlayerStatsData.cs b/Nitrox.Model/DataStructures/GameLogic/PlayerStatsData.cs
similarity index 96%
rename from NitroxModel/DataStructures/GameLogic/PlayerStatsData.cs
rename to Nitrox.Model/DataStructures/GameLogic/PlayerStatsData.cs
index 7a4414f02..d2b5b6971 100644
--- a/NitroxModel/DataStructures/GameLogic/PlayerStatsData.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/PlayerStatsData.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic
+namespace Nitrox.Model.DataStructures.GameLogic
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/RandomStartGenerator.cs b/Nitrox.Model/DataStructures/GameLogic/RandomStartGenerator.cs
similarity index 95%
rename from NitroxModel/DataStructures/GameLogic/RandomStartGenerator.cs
rename to Nitrox.Model/DataStructures/GameLogic/RandomStartGenerator.cs
index a139cb2f1..f2026b232 100644
--- a/NitroxModel/DataStructures/GameLogic/RandomStartGenerator.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/RandomStartGenerator.cs
@@ -1,8 +1,8 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.DataStructures.GameLogic;
public class RandomStartGenerator
{
diff --git a/NitroxModel/DataStructures/GameLogic/SessionSettings.cs b/Nitrox.Model/DataStructures/GameLogic/SessionSettings.cs
similarity index 82%
rename from NitroxModel/DataStructures/GameLogic/SessionSettings.cs
rename to Nitrox.Model/DataStructures/GameLogic/SessionSettings.cs
index d320d28fc..0ce05d678 100644
--- a/NitroxModel/DataStructures/GameLogic/SessionSettings.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/SessionSettings.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.DataStructures.GameLogic;
///
/// States that are temporary for one session so we don't need to persist them
diff --git a/NitroxModel/DataStructures/GameLogic/SubnauticaPlayerPreferences.cs b/Nitrox.Model/DataStructures/GameLogic/SubnauticaPlayerPreferences.cs
similarity index 94%
rename from NitroxModel/DataStructures/GameLogic/SubnauticaPlayerPreferences.cs
rename to Nitrox.Model/DataStructures/GameLogic/SubnauticaPlayerPreferences.cs
index 26219d2f5..780f1b269 100644
--- a/NitroxModel/DataStructures/GameLogic/SubnauticaPlayerPreferences.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/SubnauticaPlayerPreferences.cs
@@ -3,7 +3,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.DataStructures.GameLogic;
[Serializable, DataContract]
public class SubnauticaPlayerPreferences
diff --git a/NitroxModel/DataStructures/GameLogic/TimeData.cs b/Nitrox.Model/DataStructures/GameLogic/TimeData.cs
similarity index 79%
rename from NitroxModel/DataStructures/GameLogic/TimeData.cs
rename to Nitrox.Model/DataStructures/GameLogic/TimeData.cs
index 824c11884..bc8c2e9ee 100644
--- a/NitroxModel/DataStructures/GameLogic/TimeData.cs
+++ b/Nitrox.Model/DataStructures/GameLogic/TimeData.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.DataStructures.GameLogic;
[Serializable]
public class TimeData
diff --git a/NitroxModel/DataStructures/NitroxId.cs b/Nitrox.Model/DataStructures/NitroxId.cs
similarity index 97%
rename from NitroxModel/DataStructures/NitroxId.cs
rename to Nitrox.Model/DataStructures/NitroxId.cs
index 2f36b7ff6..530671d22 100644
--- a/NitroxModel/DataStructures/NitroxId.cs
+++ b/Nitrox.Model/DataStructures/NitroxId.cs
@@ -1,10 +1,9 @@
using System;
using System.Linq;
using System.Runtime.Serialization;
-using System.Security.Permissions;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures;
+namespace Nitrox.Model.DataStructures;
///
/// Used to reference a Unity GameObject and makes it possible to synchronize a GameObject between connected players.
diff --git a/NitroxModel/DataStructures/NitroxInt3.cs b/Nitrox.Model/DataStructures/NitroxInt3.cs
similarity index 96%
rename from NitroxModel/DataStructures/NitroxInt3.cs
rename to Nitrox.Model/DataStructures/NitroxInt3.cs
index 6bffd5b0b..8dcc864d2 100644
--- a/NitroxModel/DataStructures/NitroxInt3.cs
+++ b/Nitrox.Model/DataStructures/NitroxInt3.cs
@@ -1,11 +1,11 @@
using System;
using System.Runtime.Serialization;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures
+namespace Nitrox.Model.DataStructures
{
///
- /// Model to allow to be decoupled from Assembly-csharp-firstpass (i.e. game code).
+ /// Model to allow to be decoupled from Assembly-csharp-firstpass (i.e. game code).
///
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/NitroxVersion.cs b/Nitrox.Model/DataStructures/NitroxVersion.cs
similarity index 96%
rename from NitroxModel/DataStructures/NitroxVersion.cs
rename to Nitrox.Model/DataStructures/NitroxVersion.cs
index b16591621..571133e5f 100644
--- a/NitroxModel/DataStructures/NitroxVersion.cs
+++ b/Nitrox.Model/DataStructures/NitroxVersion.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.DataStructures;
+namespace Nitrox.Model.DataStructures;
///
/// Serializable version of with only major and minor properties.
diff --git a/NitroxModel/DataStructures/Optional.cs b/Nitrox.Model/DataStructures/Optional.cs
similarity index 99%
rename from NitroxModel/DataStructures/Optional.cs
rename to Nitrox.Model/DataStructures/Optional.cs
index 4cf92daaf..106da901c 100644
--- a/NitroxModel/DataStructures/Optional.cs
+++ b/Nitrox.Model/DataStructures/Optional.cs
@@ -3,7 +3,7 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
-namespace NitroxModel.DataStructures.Util
+namespace Nitrox.Model.DataStructures.Util
{
///
/// Used to give context on whether the wrapped value is nullable and to improve error logging.
diff --git a/NitroxModel/DataStructures/PriorityQueue.cs b/Nitrox.Model/DataStructures/PriorityQueue.cs
similarity index 99%
rename from NitroxModel/DataStructures/PriorityQueue.cs
rename to Nitrox.Model/DataStructures/PriorityQueue.cs
index 78e9f4e46..b523a8215 100644
--- a/NitroxModel/DataStructures/PriorityQueue.cs
+++ b/Nitrox.Model/DataStructures/PriorityQueue.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Diagnostics;
-namespace NitroxModel.DataStructures
+namespace Nitrox.Model.DataStructures
{
public class PriorityQueue
{
diff --git a/NitroxModel/DataStructures/SerializedComponent.cs b/Nitrox.Model/DataStructures/SerializedComponent.cs
similarity index 97%
rename from NitroxModel/DataStructures/SerializedComponent.cs
rename to Nitrox.Model/DataStructures/SerializedComponent.cs
index 8b9950a9f..69343249e 100644
--- a/NitroxModel/DataStructures/SerializedComponent.cs
+++ b/Nitrox.Model/DataStructures/SerializedComponent.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
-namespace NitroxModel.DataStructures;
+namespace Nitrox.Model.DataStructures;
///
/// Holds an Unity component's data to be restored on clients.
diff --git a/NitroxModel/DataStructures/SimulatedEntity.cs b/Nitrox.Model/DataStructures/SimulatedEntity.cs
similarity index 96%
rename from NitroxModel/DataStructures/SimulatedEntity.cs
rename to Nitrox.Model/DataStructures/SimulatedEntity.cs
index 8511353f8..f62bd9a25 100644
--- a/NitroxModel/DataStructures/SimulatedEntity.cs
+++ b/Nitrox.Model/DataStructures/SimulatedEntity.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.DataStructures
+namespace Nitrox.Model.DataStructures
{
///
/// A simulated entity that is tracked by the Nitrox server so that it knows which connected game client owns (and simulates) the entity.
diff --git a/NitroxModel/DataStructures/SimulationLock.cs b/Nitrox.Model/DataStructures/SimulationLock.cs
similarity index 96%
rename from NitroxModel/DataStructures/SimulationLock.cs
rename to Nitrox.Model/DataStructures/SimulationLock.cs
index 61fca3570..9def40e6b 100644
--- a/NitroxModel/DataStructures/SimulationLock.cs
+++ b/Nitrox.Model/DataStructures/SimulationLock.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.DataStructures;
+namespace Nitrox.Model.DataStructures;
[Serializable]
public enum SimulationLockType
diff --git a/NitroxModel/DataStructures/Surrogates/SerializationSurrogate.cs b/Nitrox.Model/DataStructures/Surrogates/SerializationSurrogate.cs
similarity index 93%
rename from NitroxModel/DataStructures/Surrogates/SerializationSurrogate.cs
rename to Nitrox.Model/DataStructures/Surrogates/SerializationSurrogate.cs
index b678b6588..a9be8d290 100644
--- a/NitroxModel/DataStructures/Surrogates/SerializationSurrogate.cs
+++ b/Nitrox.Model/DataStructures/Surrogates/SerializationSurrogate.cs
@@ -1,6 +1,6 @@
using System.Runtime.Serialization;
-namespace NitroxModel.DataStructures.Surrogates;
+namespace Nitrox.Model.DataStructures.Surrogates;
#pragma warning disable SYSLIB0050 // Nitrox can depend on Binary serialization
public abstract class SerializationSurrogate : ISerializationSurrogate
diff --git a/NitroxModel/DataStructures/ThreadSafeDictionary.cs b/Nitrox.Model/DataStructures/ThreadSafeDictionary.cs
similarity index 99%
rename from NitroxModel/DataStructures/ThreadSafeDictionary.cs
rename to Nitrox.Model/DataStructures/ThreadSafeDictionary.cs
index daf58d414..445f6dc3b 100644
--- a/NitroxModel/DataStructures/ThreadSafeDictionary.cs
+++ b/Nitrox.Model/DataStructures/ThreadSafeDictionary.cs
@@ -4,7 +4,7 @@
using System.Linq;
using System.Runtime.Serialization;
-namespace NitroxModel.DataStructures
+namespace Nitrox.Model.DataStructures
{
[DebuggerDisplay($"Items = {{{nameof(Entries)}}}")]
[DataContract]
diff --git a/NitroxModel/DataStructures/ThreadSafeList.cs b/Nitrox.Model/DataStructures/ThreadSafeList.cs
similarity index 98%
rename from NitroxModel/DataStructures/ThreadSafeList.cs
rename to Nitrox.Model/DataStructures/ThreadSafeList.cs
index 40f6bc5b8..3153015b3 100644
--- a/NitroxModel/DataStructures/ThreadSafeList.cs
+++ b/Nitrox.Model/DataStructures/ThreadSafeList.cs
@@ -5,9 +5,9 @@
using System.Linq;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
-namespace NitroxModel.DataStructures
+namespace Nitrox.Model.DataStructures
{
[DebuggerDisplay($"Items = {{{nameof(list)}}}")]
[DataContract]
diff --git a/NitroxModel/DataStructures/ThreadSafeQueue.cs b/Nitrox.Model/DataStructures/ThreadSafeQueue.cs
similarity index 98%
rename from NitroxModel/DataStructures/ThreadSafeQueue.cs
rename to Nitrox.Model/DataStructures/ThreadSafeQueue.cs
index ee95c0ec6..d835c1d77 100644
--- a/NitroxModel/DataStructures/ThreadSafeQueue.cs
+++ b/Nitrox.Model/DataStructures/ThreadSafeQueue.cs
@@ -6,7 +6,7 @@
using Newtonsoft.Json;
using ProtoBufNet;
-namespace NitroxModel.DataStructures;
+namespace Nitrox.Model.DataStructures;
[DebuggerDisplay($"Items = {{{nameof(queue)}}}")]
[ProtoContract, JsonObject(MemberSerialization.OptIn)]
diff --git a/NitroxModel/DataStructures/ThreadSafeSet.cs b/Nitrox.Model/DataStructures/ThreadSafeSet.cs
similarity index 99%
rename from NitroxModel/DataStructures/ThreadSafeSet.cs
rename to Nitrox.Model/DataStructures/ThreadSafeSet.cs
index 179851587..296d72eed 100644
--- a/NitroxModel/DataStructures/ThreadSafeSet.cs
+++ b/Nitrox.Model/DataStructures/ThreadSafeSet.cs
@@ -4,7 +4,7 @@
using System.Diagnostics;
using System.Runtime.Serialization;
-namespace NitroxModel.DataStructures
+namespace Nitrox.Model.DataStructures
{
[DebuggerDisplay($"Items = {{{nameof(set)}}}")]
[DataContract]
diff --git a/NitroxModel/DataStructures/Unity/NitroxColor.cs b/Nitrox.Model/DataStructures/Unity/NitroxColor.cs
similarity index 97%
rename from NitroxModel/DataStructures/Unity/NitroxColor.cs
rename to Nitrox.Model/DataStructures/Unity/NitroxColor.cs
index ad8f2c91f..8b6d93548 100644
--- a/NitroxModel/DataStructures/Unity/NitroxColor.cs
+++ b/Nitrox.Model/DataStructures/Unity/NitroxColor.cs
@@ -1,8 +1,8 @@
using System;
using System.Runtime.Serialization;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
-namespace NitroxModel.DataStructures.Unity
+namespace Nitrox.Model.DataStructures.Unity
{
[DataContract]
[Serializable]
diff --git a/NitroxModel/DataStructures/Unity/NitroxQuaternion.cs b/Nitrox.Model/DataStructures/Unity/NitroxQuaternion.cs
similarity index 98%
rename from NitroxModel/DataStructures/Unity/NitroxQuaternion.cs
rename to Nitrox.Model/DataStructures/Unity/NitroxQuaternion.cs
index eae746d89..b6105abb6 100644
--- a/NitroxModel/DataStructures/Unity/NitroxQuaternion.cs
+++ b/Nitrox.Model/DataStructures/Unity/NitroxQuaternion.cs
@@ -1,9 +1,9 @@
using System;
using System.Numerics;
using System.Runtime.Serialization;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
-namespace NitroxModel.DataStructures.Unity
+namespace Nitrox.Model.DataStructures.Unity
{
[DataContract]
[Serializable]
diff --git a/NitroxModel/DataStructures/Unity/NitroxTransform.cs b/Nitrox.Model/DataStructures/Unity/NitroxTransform.cs
similarity index 97%
rename from NitroxModel/DataStructures/Unity/NitroxTransform.cs
rename to Nitrox.Model/DataStructures/Unity/NitroxTransform.cs
index 259e3301b..a3b4ddf8d 100644
--- a/NitroxModel/DataStructures/Unity/NitroxTransform.cs
+++ b/Nitrox.Model/DataStructures/Unity/NitroxTransform.cs
@@ -2,9 +2,8 @@
using System.Numerics;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.Helper;
-namespace NitroxModel.DataStructures.Unity
+namespace Nitrox.Model.DataStructures.Unity
{
[DataContract]
[Serializable]
diff --git a/NitroxModel/DataStructures/Unity/NitroxVector3.cs b/Nitrox.Model/DataStructures/Unity/NitroxVector3.cs
similarity index 98%
rename from NitroxModel/DataStructures/Unity/NitroxVector3.cs
rename to Nitrox.Model/DataStructures/Unity/NitroxVector3.cs
index 5a380d11c..b58afa166 100644
--- a/NitroxModel/DataStructures/Unity/NitroxVector3.cs
+++ b/Nitrox.Model/DataStructures/Unity/NitroxVector3.cs
@@ -1,9 +1,9 @@
using System;
using System.Numerics;
using System.Runtime.Serialization;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
-namespace NitroxModel.DataStructures.Unity
+namespace Nitrox.Model.DataStructures.Unity
{
[DataContract]
[Serializable]
diff --git a/NitroxModel/DataStructures/Unity/NitroxVector4.cs b/Nitrox.Model/DataStructures/Unity/NitroxVector4.cs
similarity index 90%
rename from NitroxModel/DataStructures/Unity/NitroxVector4.cs
rename to Nitrox.Model/DataStructures/Unity/NitroxVector4.cs
index a04bb95ae..533b06c00 100644
--- a/NitroxModel/DataStructures/Unity/NitroxVector4.cs
+++ b/Nitrox.Model/DataStructures/Unity/NitroxVector4.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.DataStructures.Unity
+namespace Nitrox.Model.DataStructures.Unity
{
public struct NitroxVector4
{
diff --git a/NitroxModel/Discovery/GameInstallationFinder.cs b/Nitrox.Model/Discovery/GameInstallationFinder.cs
similarity index 92%
rename from NitroxModel/Discovery/GameInstallationFinder.cs
rename to Nitrox.Model/Discovery/GameInstallationFinder.cs
index b0a4deffb..3ce5dafa8 100644
--- a/NitroxModel/Discovery/GameInstallationFinder.cs
+++ b/Nitrox.Model/Discovery/GameInstallationFinder.cs
@@ -1,11 +1,11 @@
using System;
using System.Collections.Generic;
using System.IO;
-using NitroxModel.Discovery.InstallationFinders;
-using NitroxModel.Discovery.InstallationFinders.Core;
-using NitroxModel.Discovery.Models;
+using Nitrox.Model.Discovery.InstallationFinders;
+using Nitrox.Model.Discovery.InstallationFinders.Core;
+using Nitrox.Model.Discovery.Models;
-namespace NitroxModel.Discovery;
+namespace Nitrox.Model.Discovery;
///
/// Main game installation finder that will use all available methods of detection to find the game installation directory
diff --git a/NitroxModel/Discovery/GameInstallationHelper.cs b/Nitrox.Model/Discovery/GameInstallationHelper.cs
similarity index 96%
rename from NitroxModel/Discovery/GameInstallationHelper.cs
rename to Nitrox.Model/Discovery/GameInstallationHelper.cs
index 72bd1cbdd..362adae11 100644
--- a/NitroxModel/Discovery/GameInstallationHelper.cs
+++ b/Nitrox.Model/Discovery/GameInstallationHelper.cs
@@ -1,7 +1,7 @@
using System.IO;
using System.Runtime.InteropServices;
-namespace NitroxModel.Discovery;
+namespace Nitrox.Model.Discovery;
public static class GameInstallationHelper
{
diff --git a/NitroxModel/Discovery/InstallationFinders/ConfigFinder.cs b/Nitrox.Model/Discovery/InstallationFinders/ConfigFinder.cs
similarity index 77%
rename from NitroxModel/Discovery/InstallationFinders/ConfigFinder.cs
rename to Nitrox.Model/Discovery/InstallationFinders/ConfigFinder.cs
index 5cf3c837b..80de5dea0 100644
--- a/NitroxModel/Discovery/InstallationFinders/ConfigFinder.cs
+++ b/Nitrox.Model/Discovery/InstallationFinders/ConfigFinder.cs
@@ -1,8 +1,8 @@
-using NitroxModel.Discovery.InstallationFinders.Core;
-using NitroxModel.Helper;
-using static NitroxModel.Discovery.InstallationFinders.Core.GameFinderResult;
+using Nitrox.Model.Discovery.InstallationFinders.Core;
+using Nitrox.Model.Helper;
+using static Nitrox.Model.Discovery.InstallationFinders.Core.GameFinderResult;
-namespace NitroxModel.Discovery.InstallationFinders;
+namespace Nitrox.Model.Discovery.InstallationFinders;
///
/// Tries to read a local config value that contains the installation directory.
diff --git a/NitroxModel/Discovery/InstallationFinders/Core/GameFinderResult.cs b/Nitrox.Model/Discovery/InstallationFinders/Core/GameFinderResult.cs
similarity index 92%
rename from NitroxModel/Discovery/InstallationFinders/Core/GameFinderResult.cs
rename to Nitrox.Model/Discovery/InstallationFinders/Core/GameFinderResult.cs
index b78e8b55a..1a006f9c7 100644
--- a/NitroxModel/Discovery/InstallationFinders/Core/GameFinderResult.cs
+++ b/Nitrox.Model/Discovery/InstallationFinders/Core/GameFinderResult.cs
@@ -2,10 +2,10 @@
using System;
using System.Runtime.CompilerServices;
using JB::JetBrains.Annotations;
-using NitroxModel.Discovery.Models;
-using NitroxModel.Helper;
+using Nitrox.Model.Discovery.Models;
+using Nitrox.Model.Helper;
-namespace NitroxModel.Discovery.InstallationFinders.Core;
+namespace Nitrox.Model.Discovery.InstallationFinders.Core;
public sealed record GameFinderResult
{
diff --git a/NitroxModel/Discovery/InstallationFinders/Core/IGameFinder.cs b/Nitrox.Model/Discovery/InstallationFinders/Core/IGameFinder.cs
similarity index 85%
rename from NitroxModel/Discovery/InstallationFinders/Core/IGameFinder.cs
rename to Nitrox.Model/Discovery/InstallationFinders/Core/IGameFinder.cs
index 70b71048c..ac8f42724 100644
--- a/NitroxModel/Discovery/InstallationFinders/Core/IGameFinder.cs
+++ b/Nitrox.Model/Discovery/InstallationFinders/Core/IGameFinder.cs
@@ -1,7 +1,7 @@
extern alias JB;
using JB::JetBrains.Annotations;
-namespace NitroxModel.Discovery.InstallationFinders.Core;
+namespace Nitrox.Model.Discovery.InstallationFinders.Core;
public interface IGameFinder
{
diff --git a/NitroxModel/Discovery/InstallationFinders/DiscordFinder.cs b/Nitrox.Model/Discovery/InstallationFinders/DiscordFinder.cs
similarity index 84%
rename from NitroxModel/Discovery/InstallationFinders/DiscordFinder.cs
rename to Nitrox.Model/Discovery/InstallationFinders/DiscordFinder.cs
index bb3a01e65..a792222a9 100644
--- a/NitroxModel/Discovery/InstallationFinders/DiscordFinder.cs
+++ b/Nitrox.Model/Discovery/InstallationFinders/DiscordFinder.cs
@@ -1,9 +1,9 @@
using System;
using System.IO;
-using NitroxModel.Discovery.InstallationFinders.Core;
-using static NitroxModel.Discovery.InstallationFinders.Core.GameFinderResult;
+using Nitrox.Model.Discovery.InstallationFinders.Core;
+using static Nitrox.Model.Discovery.InstallationFinders.Core.GameFinderResult;
-namespace NitroxModel.Discovery.InstallationFinders;
+namespace Nitrox.Model.Discovery.InstallationFinders;
///
/// Trying to find install either in appdata or in C:. So for now we just check these 2 paths until we have a better way.
diff --git a/NitroxModel/Discovery/InstallationFinders/EnvironmentFinder.cs b/Nitrox.Model/Discovery/InstallationFinders/EnvironmentFinder.cs
similarity index 84%
rename from NitroxModel/Discovery/InstallationFinders/EnvironmentFinder.cs
rename to Nitrox.Model/Discovery/InstallationFinders/EnvironmentFinder.cs
index 87596b97b..02aa53266 100644
--- a/NitroxModel/Discovery/InstallationFinders/EnvironmentFinder.cs
+++ b/Nitrox.Model/Discovery/InstallationFinders/EnvironmentFinder.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.Discovery.InstallationFinders.Core;
-using static NitroxModel.Discovery.InstallationFinders.Core.GameFinderResult;
+using Nitrox.Model.Discovery.InstallationFinders.Core;
+using static Nitrox.Model.Discovery.InstallationFinders.Core.GameFinderResult;
-namespace NitroxModel.Discovery.InstallationFinders;
+namespace Nitrox.Model.Discovery.InstallationFinders;
///
/// Trying to find the path in environment variables by the key {GAMEINFO FULLNAME}_INSTALLATION_PATH that contains the installation directory.
diff --git a/NitroxModel/Discovery/InstallationFinders/EpicGamesFinder.cs b/Nitrox.Model/Discovery/InstallationFinders/EpicGamesFinder.cs
similarity index 89%
rename from NitroxModel/Discovery/InstallationFinders/EpicGamesFinder.cs
rename to Nitrox.Model/Discovery/InstallationFinders/EpicGamesFinder.cs
index a20d65201..b62e3fddb 100644
--- a/NitroxModel/Discovery/InstallationFinders/EpicGamesFinder.cs
+++ b/Nitrox.Model/Discovery/InstallationFinders/EpicGamesFinder.cs
@@ -1,10 +1,10 @@
using System;
using System.IO;
using System.Text.RegularExpressions;
-using NitroxModel.Discovery.InstallationFinders.Core;
-using static NitroxModel.Discovery.InstallationFinders.Core.GameFinderResult;
+using Nitrox.Model.Discovery.InstallationFinders.Core;
+using static Nitrox.Model.Discovery.InstallationFinders.Core.GameFinderResult;
-namespace NitroxModel.Discovery.InstallationFinders;
+namespace Nitrox.Model.Discovery.InstallationFinders;
///
/// Trying to find the path in the Epic Games installation records.
diff --git a/NitroxModel/Discovery/InstallationFinders/MicrosoftFinder.cs b/Nitrox.Model/Discovery/InstallationFinders/MicrosoftFinder.cs
similarity index 79%
rename from NitroxModel/Discovery/InstallationFinders/MicrosoftFinder.cs
rename to Nitrox.Model/Discovery/InstallationFinders/MicrosoftFinder.cs
index 714bc3ac5..17ae17d9a 100644
--- a/NitroxModel/Discovery/InstallationFinders/MicrosoftFinder.cs
+++ b/Nitrox.Model/Discovery/InstallationFinders/MicrosoftFinder.cs
@@ -1,8 +1,8 @@
using System.IO;
-using NitroxModel.Discovery.InstallationFinders.Core;
-using static NitroxModel.Discovery.InstallationFinders.Core.GameFinderResult;
+using Nitrox.Model.Discovery.InstallationFinders.Core;
+using static Nitrox.Model.Discovery.InstallationFinders.Core.GameFinderResult;
-namespace NitroxModel.Discovery.InstallationFinders;
+namespace Nitrox.Model.Discovery.InstallationFinders;
///
/// MS Store games are stored under C:\XboxGames\[GAME]\Content\ by default.
diff --git a/NitroxModel/Discovery/InstallationFinders/SteamFinder.cs b/Nitrox.Model/Discovery/InstallationFinders/SteamFinder.cs
similarity index 96%
rename from NitroxModel/Discovery/InstallationFinders/SteamFinder.cs
rename to Nitrox.Model/Discovery/InstallationFinders/SteamFinder.cs
index 14fc129de..6d12d7760 100644
--- a/NitroxModel/Discovery/InstallationFinders/SteamFinder.cs
+++ b/Nitrox.Model/Discovery/InstallationFinders/SteamFinder.cs
@@ -2,11 +2,11 @@
using System.IO;
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
-using NitroxModel.Discovery.InstallationFinders.Core;
-using NitroxModel.Platforms.OS.Windows;
-using static NitroxModel.Discovery.InstallationFinders.Core.GameFinderResult;
+using Nitrox.Model.Discovery.InstallationFinders.Core;
+using Nitrox.Model.Platforms.OS.Windows;
+using static Nitrox.Model.Discovery.InstallationFinders.Core.GameFinderResult;
-namespace NitroxModel.Discovery.InstallationFinders;
+namespace Nitrox.Model.Discovery.InstallationFinders;
///
/// Trying to find the path in the Steam installation directory by the appid that contains the game installation directory.
diff --git a/NitroxModel/Discovery/Models/GameLibraries.cs b/Nitrox.Model/Discovery/Models/GameLibraries.cs
similarity index 95%
rename from NitroxModel/Discovery/Models/GameLibraries.cs
rename to Nitrox.Model/Discovery/Models/GameLibraries.cs
index 253c2760d..7ee964d90 100644
--- a/NitroxModel/Discovery/Models/GameLibraries.cs
+++ b/Nitrox.Model/Discovery/Models/GameLibraries.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Discovery.Models;
+namespace Nitrox.Model.Discovery.Models;
[Flags]
public enum GameLibraries
diff --git a/NitroxModel/Discovery/Models/Platform.cs b/Nitrox.Model/Discovery/Models/Platform.cs
similarity index 87%
rename from NitroxModel/Discovery/Models/Platform.cs
rename to Nitrox.Model/Discovery/Models/Platform.cs
index f419abf54..76dbe8668 100644
--- a/NitroxModel/Discovery/Models/Platform.cs
+++ b/Nitrox.Model/Discovery/Models/Platform.cs
@@ -1,6 +1,6 @@
using System.ComponentModel;
-namespace NitroxModel.Discovery.Models;
+namespace Nitrox.Model.Discovery.Models;
public enum Platform
{
diff --git a/NitroxModel/Extensions/AssemblyExtensions.cs b/Nitrox.Model/Extensions/AssemblyExtensions.cs
similarity index 93%
rename from NitroxModel/Extensions/AssemblyExtensions.cs
rename to Nitrox.Model/Extensions/AssemblyExtensions.cs
index 0a6532b7c..7f91aee03 100644
--- a/NitroxModel/Extensions/AssemblyExtensions.cs
+++ b/Nitrox.Model/Extensions/AssemblyExtensions.cs
@@ -1,6 +1,6 @@
using System.Reflection;
-namespace NitroxModel.Extensions;
+namespace Nitrox.Model.Extensions;
public static class AssemblyExtensions
{
diff --git a/NitroxModel/Extensions/DictionaryExtensions.cs b/Nitrox.Model/Extensions/DictionaryExtensions.cs
similarity index 97%
rename from NitroxModel/Extensions/DictionaryExtensions.cs
rename to Nitrox.Model/Extensions/DictionaryExtensions.cs
index 68630765a..dd4d28c67 100644
--- a/NitroxModel/Extensions/DictionaryExtensions.cs
+++ b/Nitrox.Model/Extensions/DictionaryExtensions.cs
@@ -2,7 +2,7 @@
using System.Buffers;
using System.Collections.Generic;
-namespace NitroxModel.Extensions;
+namespace Nitrox.Model.Extensions;
public static class DictionaryExtensions
{
diff --git a/NitroxModel/Extensions/EnumExtensions.cs b/Nitrox.Model/Extensions/EnumExtensions.cs
similarity index 97%
rename from NitroxModel/Extensions/EnumExtensions.cs
rename to Nitrox.Model/Extensions/EnumExtensions.cs
index 453e69525..c7e396a63 100644
--- a/NitroxModel/Extensions/EnumExtensions.cs
+++ b/Nitrox.Model/Extensions/EnumExtensions.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Linq;
-namespace NitroxModel.Extensions;
+namespace Nitrox.Model.Extensions;
public static class EnumExtensions
{
diff --git a/NitroxModel/Extensions/EnumerableExtensions.cs b/Nitrox.Model/Extensions/EnumerableExtensions.cs
similarity index 96%
rename from NitroxModel/Extensions/EnumerableExtensions.cs
rename to Nitrox.Model/Extensions/EnumerableExtensions.cs
index d13043172..ac8d5623d 100644
--- a/NitroxModel/Extensions/EnumerableExtensions.cs
+++ b/Nitrox.Model/Extensions/EnumerableExtensions.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Linq;
-namespace NitroxModel.Extensions;
+namespace Nitrox.Model.Extensions;
public static class EnumerableExtensions
{
diff --git a/NitroxModel/Extensions/ExceptionExtensions.cs b/Nitrox.Model/Extensions/ExceptionExtensions.cs
similarity index 90%
rename from NitroxModel/Extensions/ExceptionExtensions.cs
rename to Nitrox.Model/Extensions/ExceptionExtensions.cs
index 3b713be32..b3d6a43b2 100644
--- a/NitroxModel/Extensions/ExceptionExtensions.cs
+++ b/Nitrox.Model/Extensions/ExceptionExtensions.cs
@@ -1,7 +1,7 @@
using System;
using System.Linq;
-namespace NitroxModel.Extensions;
+namespace Nitrox.Model.Extensions;
public static class ExceptionExtensions
{
diff --git a/NitroxModel/Extensions/KeyValueStoreExtensions.cs b/Nitrox.Model/Extensions/KeyValueStoreExtensions.cs
similarity index 85%
rename from NitroxModel/Extensions/KeyValueStoreExtensions.cs
rename to Nitrox.Model/Extensions/KeyValueStoreExtensions.cs
index 1dad6aa87..a7ed613b4 100644
--- a/NitroxModel/Extensions/KeyValueStoreExtensions.cs
+++ b/Nitrox.Model/Extensions/KeyValueStoreExtensions.cs
@@ -1,7 +1,7 @@
using System.IO;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
-namespace NitroxModel.Extensions;
+namespace Nitrox.Model.Extensions;
public static class KeyValueStoreExtensions
{
diff --git a/NitroxModel/Extensions/ListExtensions.cs b/Nitrox.Model/Extensions/ListExtensions.cs
similarity index 96%
rename from NitroxModel/Extensions/ListExtensions.cs
rename to Nitrox.Model/Extensions/ListExtensions.cs
index 706663337..5c41d10cb 100644
--- a/NitroxModel/Extensions/ListExtensions.cs
+++ b/Nitrox.Model/Extensions/ListExtensions.cs
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
-namespace NitroxModel.Extensions;
+namespace Nitrox.Model.Extensions;
public static class ListExtensions
{
diff --git a/NitroxModel/Extensions/Matrix4x4Extension.cs b/Nitrox.Model/Extensions/Matrix4x4Extension.cs
similarity index 94%
rename from NitroxModel/Extensions/Matrix4x4Extension.cs
rename to Nitrox.Model/Extensions/Matrix4x4Extension.cs
index 00784a12a..ec36643f8 100644
--- a/NitroxModel/Extensions/Matrix4x4Extension.cs
+++ b/Nitrox.Model/Extensions/Matrix4x4Extension.cs
@@ -1,8 +1,8 @@
using System;
using System.Numerics;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Extensions;
+namespace Nitrox.Model.Extensions;
// ReSharper disable once InconsistentNaming
public static class Matrix4x4Extension
diff --git a/NitroxModel/Extensions/StreamExtensions.cs b/Nitrox.Model/Extensions/StreamExtensions.cs
similarity index 93%
rename from NitroxModel/Extensions/StreamExtensions.cs
rename to Nitrox.Model/Extensions/StreamExtensions.cs
index 5b6778dc2..85403ee40 100644
--- a/NitroxModel/Extensions/StreamExtensions.cs
+++ b/Nitrox.Model/Extensions/StreamExtensions.cs
@@ -1,6 +1,6 @@
using System.IO;
-namespace NitroxModel.Extensions;
+namespace Nitrox.Model.Extensions;
public static class StreamExtensions
{
diff --git a/NitroxModel/Extensions/StringExtensions.cs b/Nitrox.Model/Extensions/StringExtensions.cs
similarity index 97%
rename from NitroxModel/Extensions/StringExtensions.cs
rename to Nitrox.Model/Extensions/StringExtensions.cs
index cb5241454..62c47696c 100644
--- a/NitroxModel/Extensions/StringExtensions.cs
+++ b/Nitrox.Model/Extensions/StringExtensions.cs
@@ -2,7 +2,7 @@
using System.Security.Cryptography;
using System.Text;
-namespace NitroxModel.Extensions;
+namespace Nitrox.Model.Extensions;
public static class StringExtensions
{
diff --git a/NitroxModel/Extensions/SubnauticaServerConfigExtensions.cs b/Nitrox.Model/Extensions/SubnauticaServerConfigExtensions.cs
similarity index 74%
rename from NitroxModel/Extensions/SubnauticaServerConfigExtensions.cs
rename to Nitrox.Model/Extensions/SubnauticaServerConfigExtensions.cs
index fe6407db1..ba6060dc2 100644
--- a/NitroxModel/Extensions/SubnauticaServerConfigExtensions.cs
+++ b/Nitrox.Model/Extensions/SubnauticaServerConfigExtensions.cs
@@ -1,7 +1,7 @@
-using NitroxModel.Serialization;
-using NitroxModel.Server;
+using Nitrox.Model.Serialization;
+using Nitrox.Model.Server;
-namespace NitroxModel.Extensions;
+namespace Nitrox.Model.Extensions;
public static class SubnauticaServerConfigExtensions
{
diff --git a/NitroxModel/Extensions/TaskExtensions.cs b/Nitrox.Model/Extensions/TaskExtensions.cs
similarity index 96%
rename from NitroxModel/Extensions/TaskExtensions.cs
rename to Nitrox.Model/Extensions/TaskExtensions.cs
index 5dbec81a2..a564bfd1f 100644
--- a/NitroxModel/Extensions/TaskExtensions.cs
+++ b/Nitrox.Model/Extensions/TaskExtensions.cs
@@ -1,7 +1,7 @@
using System;
using System.Threading.Tasks;
-namespace NitroxModel.Extensions;
+namespace Nitrox.Model.Extensions;
public static class TaskExtensions
{
diff --git a/NitroxModel/Extensions/UintExtensions.cs b/Nitrox.Model/Extensions/UintExtensions.cs
similarity index 93%
rename from NitroxModel/Extensions/UintExtensions.cs
rename to Nitrox.Model/Extensions/UintExtensions.cs
index 853d0cbf9..665656a73 100644
--- a/NitroxModel/Extensions/UintExtensions.cs
+++ b/Nitrox.Model/Extensions/UintExtensions.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Extensions;
+namespace Nitrox.Model.Extensions;
public static class UintExtensions
{
diff --git a/NitroxModel/GameInfo.cs b/Nitrox.Model/GameInfo.cs
similarity index 98%
rename from NitroxModel/GameInfo.cs
rename to Nitrox.Model/GameInfo.cs
index 424af44bf..518bee18b 100644
--- a/NitroxModel/GameInfo.cs
+++ b/Nitrox.Model/GameInfo.cs
@@ -1,7 +1,7 @@
using System.IO;
using System.Runtime.InteropServices;
-namespace NitroxModel;
+namespace Nitrox.Model;
public sealed record GameInfo
{
diff --git a/NitroxModel/GameLogic/FMOD/FMODWhitelist.cs b/Nitrox.Model/GameLogic/FMOD/FMODWhitelist.cs
similarity index 97%
rename from NitroxModel/GameLogic/FMOD/FMODWhitelist.cs
rename to Nitrox.Model/GameLogic/FMOD/FMODWhitelist.cs
index d4877f022..a11631a91 100644
--- a/NitroxModel/GameLogic/FMOD/FMODWhitelist.cs
+++ b/Nitrox.Model/GameLogic/FMOD/FMODWhitelist.cs
@@ -3,9 +3,9 @@
using System.Collections.ObjectModel;
using System.Globalization;
using System.IO;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
-namespace NitroxModel.GameLogic.FMOD;
+namespace Nitrox.Model.GameLogic.FMOD;
public class FMODWhitelist
{
diff --git a/NitroxModel/GameLogic/FMOD/SoundHelper.cs b/Nitrox.Model/GameLogic/FMOD/SoundHelper.cs
similarity index 87%
rename from NitroxModel/GameLogic/FMOD/SoundHelper.cs
rename to Nitrox.Model/GameLogic/FMOD/SoundHelper.cs
index 35a795f27..6e34c2e25 100644
--- a/NitroxModel/GameLogic/FMOD/SoundHelper.cs
+++ b/Nitrox.Model/GameLogic/FMOD/SoundHelper.cs
@@ -1,6 +1,6 @@
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
-namespace NitroxModel.GameLogic.FMOD;
+namespace Nitrox.Model.GameLogic.FMOD;
public static class SoundHelper
{
diff --git a/NitroxModel/GameLogic/PlayerAnimation/AnimChangeState.cs b/Nitrox.Model/GameLogic/PlayerAnimation/AnimChangeState.cs
similarity index 54%
rename from NitroxModel/GameLogic/PlayerAnimation/AnimChangeState.cs
rename to Nitrox.Model/GameLogic/PlayerAnimation/AnimChangeState.cs
index d38a70264..aaf6aa18b 100644
--- a/NitroxModel/GameLogic/PlayerAnimation/AnimChangeState.cs
+++ b/Nitrox.Model/GameLogic/PlayerAnimation/AnimChangeState.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.GameLogic.PlayerAnimation;
+namespace Nitrox.Model.GameLogic.PlayerAnimation;
public enum AnimChangeState
{
diff --git a/NitroxModel/GameLogic/PlayerAnimation/AnimChangeType.cs b/Nitrox.Model/GameLogic/PlayerAnimation/AnimChangeType.cs
similarity index 58%
rename from NitroxModel/GameLogic/PlayerAnimation/AnimChangeType.cs
rename to Nitrox.Model/GameLogic/PlayerAnimation/AnimChangeType.cs
index 1542ab03f..ed47a61f4 100644
--- a/NitroxModel/GameLogic/PlayerAnimation/AnimChangeType.cs
+++ b/Nitrox.Model/GameLogic/PlayerAnimation/AnimChangeType.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.GameLogic.PlayerAnimation;
+namespace Nitrox.Model.GameLogic.PlayerAnimation;
public enum AnimChangeType
{
diff --git a/Nitrox.Model/GlobalUsings.cs b/Nitrox.Model/GlobalUsings.cs
new file mode 100644
index 000000000..3ad8d2164
--- /dev/null
+++ b/Nitrox.Model/GlobalUsings.cs
@@ -0,0 +1 @@
+global using Nitrox.Model.Extensions;
diff --git a/NitroxModel/Helper/CultureManager.cs b/Nitrox.Model/Helper/CultureManager.cs
similarity index 97%
rename from NitroxModel/Helper/CultureManager.cs
rename to Nitrox.Model/Helper/CultureManager.cs
index c0f5e1b8f..4832a80f7 100644
--- a/NitroxModel/Helper/CultureManager.cs
+++ b/Nitrox.Model/Helper/CultureManager.cs
@@ -1,7 +1,7 @@
using System.Globalization;
using System.Threading;
-namespace NitroxModel.Helper;
+namespace Nitrox.Model.Helper;
public static class CultureManager
{
diff --git a/NitroxModel/Helper/IKeyValueStore.cs b/Nitrox.Model/Helper/IKeyValueStore.cs
similarity index 97%
rename from NitroxModel/Helper/IKeyValueStore.cs
rename to Nitrox.Model/Helper/IKeyValueStore.cs
index e8b7d22c6..149ed1619 100644
--- a/NitroxModel/Helper/IKeyValueStore.cs
+++ b/Nitrox.Model/Helper/IKeyValueStore.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.Helper;
+namespace Nitrox.Model.Helper;
public interface IKeyValueStore
{
diff --git a/NitroxModel/Helper/IMap.cs b/Nitrox.Model/Helper/IMap.cs
similarity index 82%
rename from NitroxModel/Helper/IMap.cs
rename to Nitrox.Model/Helper/IMap.cs
index e31aa61d3..f24a3f9c3 100644
--- a/NitroxModel/Helper/IMap.cs
+++ b/Nitrox.Model/Helper/IMap.cs
@@ -1,8 +1,8 @@
using System.Collections.Generic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic;
-namespace NitroxModel.Helper
+namespace Nitrox.Model.Helper
{
public interface IMap
{
diff --git a/NitroxModel/Helper/Ipc.cs b/Nitrox.Model/Helper/Ipc.cs
similarity index 99%
rename from NitroxModel/Helper/Ipc.cs
rename to Nitrox.Model/Helper/Ipc.cs
index 72983bdfc..c34229f19 100644
--- a/NitroxModel/Helper/Ipc.cs
+++ b/Nitrox.Model/Helper/Ipc.cs
@@ -7,8 +7,9 @@
using System.Text;
using System.Threading;
using System.Threading.Tasks;
+using Nitrox.Model.Logger;
-namespace NitroxModel.Helper;
+namespace Nitrox.Model.Helper;
public static class Ipc
{
diff --git a/NitroxModel/Helper/KeyValueStore.cs b/Nitrox.Model/Helper/KeyValueStore.cs
similarity index 91%
rename from NitroxModel/Helper/KeyValueStore.cs
rename to Nitrox.Model/Helper/KeyValueStore.cs
index 951164380..117d5103d 100644
--- a/NitroxModel/Helper/KeyValueStore.cs
+++ b/Nitrox.Model/Helper/KeyValueStore.cs
@@ -1,9 +1,8 @@
-using System;
using System.Runtime.InteropServices;
-using NitroxModel.Platforms.OS.Shared;
-using NitroxModel.Platforms.OS.Windows;
+using Nitrox.Model.Platforms.OS.Shared;
+using Nitrox.Model.Platforms.OS.Windows;
-namespace NitroxModel.Helper;
+namespace Nitrox.Model.Helper;
///
/// Simple Key-Value store that works cross-platform.
diff --git a/NitroxModel/Helper/LinqExtensions.cs b/Nitrox.Model/Helper/LinqExtensions.cs
similarity index 96%
rename from NitroxModel/Helper/LinqExtensions.cs
rename to Nitrox.Model/Helper/LinqExtensions.cs
index fa89ecb9c..7924252fd 100644
--- a/NitroxModel/Helper/LinqExtensions.cs
+++ b/Nitrox.Model/Helper/LinqExtensions.cs
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
-namespace NitroxModel.Helper;
+namespace Nitrox.Model.Helper;
public static class LinqExtensions
{
diff --git a/NitroxModel/Helper/Mathf.cs b/Nitrox.Model/Helper/Mathf.cs
similarity index 98%
rename from NitroxModel/Helper/Mathf.cs
rename to Nitrox.Model/Helper/Mathf.cs
index 71fc06905..3ab3caf84 100644
--- a/NitroxModel/Helper/Mathf.cs
+++ b/Nitrox.Model/Helper/Mathf.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Helper
+namespace Nitrox.Model.Helper
{
public class Mathf
{
diff --git a/NitroxModel/Helper/NatHelper.cs b/Nitrox.Model/Helper/NatHelper.cs
similarity index 99%
rename from NitroxModel/Helper/NatHelper.cs
rename to Nitrox.Model/Helper/NatHelper.cs
index 416c1621f..ab814269a 100644
--- a/NitroxModel/Helper/NatHelper.cs
+++ b/Nitrox.Model/Helper/NatHelper.cs
@@ -7,7 +7,7 @@
using System.Threading.Tasks;
using Mono.Nat;
-namespace NitroxModel.Helper;
+namespace Nitrox.Model.Helper;
public static class NatHelper
{
diff --git a/NitroxModel/Helper/NetHelper.cs b/Nitrox.Model/Helper/NetHelper.cs
similarity index 99%
rename from NitroxModel/Helper/NetHelper.cs
rename to Nitrox.Model/Helper/NetHelper.cs
index 438627e3e..57734bb12 100644
--- a/NitroxModel/Helper/NetHelper.cs
+++ b/Nitrox.Model/Helper/NetHelper.cs
@@ -10,7 +10,7 @@
using System.Text.RegularExpressions;
#endif
-namespace NitroxModel.Helper;
+namespace Nitrox.Model.Helper;
public static class NetHelper
{
diff --git a/NitroxModel/Helper/NitroxUser.cs b/Nitrox.Model/Helper/NitroxUser.cs
similarity index 96%
rename from NitroxModel/Helper/NitroxUser.cs
rename to Nitrox.Model/Helper/NitroxUser.cs
index 2ae89e8a6..fb7b4898b 100644
--- a/NitroxModel/Helper/NitroxUser.cs
+++ b/Nitrox.Model/Helper/NitroxUser.cs
@@ -4,13 +4,13 @@
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
-using NitroxModel.Discovery;
-using NitroxModel.Discovery.InstallationFinders.Core;
-using NitroxModel.Platforms.OS.Shared;
-using NitroxModel.Platforms.Store;
-using NitroxModel.Platforms.Store.Interfaces;
+using Nitrox.Model.Discovery;
+using Nitrox.Model.Discovery.InstallationFinders.Core;
+using Nitrox.Model.Platforms.OS.Shared;
+using Nitrox.Model.Platforms.Store;
+using Nitrox.Model.Platforms.Store.Interfaces;
-namespace NitroxModel.Helper;
+namespace Nitrox.Model.Helper;
public static class NitroxUser
{
@@ -44,7 +44,7 @@ public static class NitroxUser
return execParentDir.FullName;
}
- // NitroxModel, NitroxServer and other assemblies are stored in Nitrox.Launcher/lib
+ // Nitrox.Model and other assemblies are stored in Nitrox.Launcher/lib
if (execParentDir?.Parent != null && Directory.Exists(Path.Combine(execParentDir.Parent.FullName, "Resources", "LanguageFiles")))
{
return execParentDir.Parent.FullName;
diff --git a/NitroxModel/Helper/PirateDetection.cs b/Nitrox.Model/Helper/PirateDetection.cs
similarity index 96%
rename from NitroxModel/Helper/PirateDetection.cs
rename to Nitrox.Model/Helper/PirateDetection.cs
index 9d953f73a..aacbd857a 100644
--- a/NitroxModel/Helper/PirateDetection.cs
+++ b/Nitrox.Model/Helper/PirateDetection.cs
@@ -1,8 +1,8 @@
using System;
using System.IO;
-using NitroxModel.Platforms.OS.Shared;
+using Nitrox.Model.Platforms.OS.Shared;
-namespace NitroxModel.Helper
+namespace Nitrox.Model.Helper
{
public static class PirateDetection
{
diff --git a/NitroxModel/Helper/Reflect.cs b/Nitrox.Model/Helper/Reflect.cs
similarity index 99%
rename from NitroxModel/Helper/Reflect.cs
rename to Nitrox.Model/Helper/Reflect.cs
index 9b8d58ade..7ca0375ec 100644
--- a/NitroxModel/Helper/Reflect.cs
+++ b/Nitrox.Model/Helper/Reflect.cs
@@ -2,7 +2,7 @@
using System.Linq.Expressions;
using System.Reflection;
-namespace NitroxModel.Helper;
+namespace Nitrox.Model.Helper;
///
/// Utility class for reflection API.
diff --git a/NitroxModel/Helper/StringHelper.cs b/Nitrox.Model/Helper/StringHelper.cs
similarity index 94%
rename from NitroxModel/Helper/StringHelper.cs
rename to Nitrox.Model/Helper/StringHelper.cs
index 1c4b9db6f..fd913aa34 100644
--- a/NitroxModel/Helper/StringHelper.cs
+++ b/Nitrox.Model/Helper/StringHelper.cs
@@ -1,7 +1,7 @@
using System;
using System.Text;
-namespace NitroxModel.Helper
+namespace Nitrox.Model.Helper
{
public static class StringHelper
{
diff --git a/NitroxModel/Helper/Validate.cs b/Nitrox.Model/Helper/Validate.cs
similarity index 95%
rename from NitroxModel/Helper/Validate.cs
rename to Nitrox.Model/Helper/Validate.cs
index eb3bd2361..f333b43ac 100644
--- a/NitroxModel/Helper/Validate.cs
+++ b/Nitrox.Model/Helper/Validate.cs
@@ -2,9 +2,9 @@
using System;
using System.Runtime.CompilerServices;
using JB::JetBrains.Annotations;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures.Util;
-namespace NitroxModel.Helper;
+namespace Nitrox.Model.Helper;
public static class Validate
{
diff --git a/NitroxModel/Logger/ColoredConsoleSink.cs b/Nitrox.Model/Logger/ColoredConsoleSink.cs
similarity index 98%
rename from NitroxModel/Logger/ColoredConsoleSink.cs
rename to Nitrox.Model/Logger/ColoredConsoleSink.cs
index dbb6076bd..5d701720b 100644
--- a/NitroxModel/Logger/ColoredConsoleSink.cs
+++ b/Nitrox.Model/Logger/ColoredConsoleSink.cs
@@ -6,7 +6,7 @@
using Serilog.Formatting;
using Serilog.Formatting.Display;
-namespace NitroxModel.Logger
+namespace Nitrox.Model.Logger
{
public class ColoredConsoleSink : ILogEventSink
{
diff --git a/NitroxModel/Logger/ConditionalValveSink.cs b/Nitrox.Model/Logger/ConditionalValveSink.cs
similarity index 93%
rename from NitroxModel/Logger/ConditionalValveSink.cs
rename to Nitrox.Model/Logger/ConditionalValveSink.cs
index 10c2ce65d..c1c2fbd5a 100644
--- a/NitroxModel/Logger/ConditionalValveSink.cs
+++ b/Nitrox.Model/Logger/ConditionalValveSink.cs
@@ -1,11 +1,9 @@
using System;
using System.Collections.Generic;
-using System.IO;
using Serilog.Core;
using Serilog.Events;
-using Serilog.Formatting;
-namespace NitroxModel.Logger;
+namespace Nitrox.Model.Logger;
public class ConditionalValveSink : ILogEventSink
{
@@ -39,4 +37,4 @@ public void Emit(LogEvent logEvent)
queue.Enqueue(logEvent);
}
}
-}
\ No newline at end of file
+}
diff --git a/NitroxModel/Logger/InGameLogger.cs b/Nitrox.Model/Logger/InGameLogger.cs
similarity index 78%
rename from NitroxModel/Logger/InGameLogger.cs
rename to Nitrox.Model/Logger/InGameLogger.cs
index 5a77f60f7..08acec861 100644
--- a/NitroxModel/Logger/InGameLogger.cs
+++ b/Nitrox.Model/Logger/InGameLogger.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.Logger
+namespace Nitrox.Model.Logger
{
public interface InGameLogger
{
diff --git a/NitroxModel/Logger/LiteNetLibLogger.cs b/Nitrox.Model/Logger/LiteNetLibLogger.cs
similarity index 97%
rename from NitroxModel/Logger/LiteNetLibLogger.cs
rename to Nitrox.Model/Logger/LiteNetLibLogger.cs
index 586a70bfc..9520502a8 100644
--- a/NitroxModel/Logger/LiteNetLibLogger.cs
+++ b/Nitrox.Model/Logger/LiteNetLibLogger.cs
@@ -1,7 +1,7 @@
using System;
using LiteNetLib;
-namespace NitroxModel.Logger;
+namespace Nitrox.Model.Logger;
public class LiteNetLibLogger : INetLogger
{
diff --git a/NitroxModel/Logger/Log.cs b/Nitrox.Model/Logger/Log.cs
similarity index 99%
rename from NitroxModel/Logger/Log.cs
rename to Nitrox.Model/Logger/Log.cs
index 8823384ca..d7ae8e6b0 100644
--- a/NitroxModel/Logger/Log.cs
+++ b/Nitrox.Model/Logger/Log.cs
@@ -1,4 +1,4 @@
-global using NitroxModel.Logger;
+global using Nitrox.Model.Logger;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
@@ -8,7 +8,7 @@
using System.Reflection;
using System.Threading;
using LiteNetLib;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using Serilog;
using Serilog.Configuration;
using Serilog.Context;
@@ -16,7 +16,7 @@
using Serilog.Events;
using Serilog.Formatting.Display;
-namespace NitroxModel.Logger
+namespace Nitrox.Model.Logger
{
public static class Log
{
diff --git a/NitroxModel/Logger/LoggerSinkConfigurationExtensions.cs b/Nitrox.Model/Logger/LoggerSinkConfigurationExtensions.cs
similarity index 97%
rename from NitroxModel/Logger/LoggerSinkConfigurationExtensions.cs
rename to Nitrox.Model/Logger/LoggerSinkConfigurationExtensions.cs
index 2be1008dc..4f8937145 100644
--- a/NitroxModel/Logger/LoggerSinkConfigurationExtensions.cs
+++ b/Nitrox.Model/Logger/LoggerSinkConfigurationExtensions.cs
@@ -5,7 +5,7 @@
using Serilog.Events;
using Serilog.Formatting.Display;
-namespace NitroxModel.Logger;
+namespace Nitrox.Model.Logger;
public static class LoggerSinkConfigurationExtensions
{
diff --git a/NitroxModel/Logger/MessageSink.cs b/Nitrox.Model/Logger/MessageSink.cs
similarity index 95%
rename from NitroxModel/Logger/MessageSink.cs
rename to Nitrox.Model/Logger/MessageSink.cs
index 3b5e29fa4..0031ea8cf 100644
--- a/NitroxModel/Logger/MessageSink.cs
+++ b/Nitrox.Model/Logger/MessageSink.cs
@@ -4,7 +4,7 @@
using Serilog.Events;
using Serilog.Formatting;
-namespace NitroxModel.Logger
+namespace Nitrox.Model.Logger
{
public class MessageSink : ILogEventSink
{
diff --git a/NitroxModel/MultiplayerSession/AuthenticationContext.cs b/Nitrox.Model/MultiplayerSession/AuthenticationContext.cs
similarity index 82%
rename from NitroxModel/MultiplayerSession/AuthenticationContext.cs
rename to Nitrox.Model/MultiplayerSession/AuthenticationContext.cs
index 798e9cd30..d033ffad1 100644
--- a/NitroxModel/MultiplayerSession/AuthenticationContext.cs
+++ b/Nitrox.Model/MultiplayerSession/AuthenticationContext.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures.Util;
-namespace NitroxModel.MultiplayerSession
+namespace Nitrox.Model.MultiplayerSession
{
[Serializable]
public class AuthenticationContext
diff --git a/NitroxModel/MultiplayerSession/MultiplayerSessionAuthenticationAuthority.cs b/Nitrox.Model/MultiplayerSession/MultiplayerSessionAuthenticationAuthority.cs
similarity index 76%
rename from NitroxModel/MultiplayerSession/MultiplayerSessionAuthenticationAuthority.cs
rename to Nitrox.Model/MultiplayerSession/MultiplayerSessionAuthenticationAuthority.cs
index e20dba4e3..0793fe44a 100644
--- a/NitroxModel/MultiplayerSession/MultiplayerSessionAuthenticationAuthority.cs
+++ b/Nitrox.Model/MultiplayerSession/MultiplayerSessionAuthenticationAuthority.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.MultiplayerSession
+namespace Nitrox.Model.MultiplayerSession
{
public enum MultiplayerSessionAuthenticationAuthority
{
diff --git a/NitroxModel/MultiplayerSession/MultiplayerSessionReservationState.cs b/Nitrox.Model/MultiplayerSession/MultiplayerSessionReservationState.cs
similarity index 98%
rename from NitroxModel/MultiplayerSession/MultiplayerSessionReservationState.cs
rename to Nitrox.Model/MultiplayerSession/MultiplayerSessionReservationState.cs
index 0bf650938..fa1b94218 100644
--- a/NitroxModel/MultiplayerSession/MultiplayerSessionReservationState.cs
+++ b/Nitrox.Model/MultiplayerSession/MultiplayerSessionReservationState.cs
@@ -2,7 +2,7 @@
using System.ComponentModel;
using System.Text;
-namespace NitroxModel.MultiplayerSession
+namespace Nitrox.Model.MultiplayerSession
{
[Flags]
public enum MultiplayerSessionReservationState
diff --git a/NitroxModel/MultiplayerSession/PlayerContext.cs b/Nitrox.Model/MultiplayerSession/PlayerContext.cs
similarity index 91%
rename from NitroxModel/MultiplayerSession/PlayerContext.cs
rename to Nitrox.Model/MultiplayerSession/PlayerContext.cs
index ab9d5737d..75a51b7f2 100644
--- a/NitroxModel/MultiplayerSession/PlayerContext.cs
+++ b/Nitrox.Model/MultiplayerSession/PlayerContext.cs
@@ -1,9 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Server;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.Server;
-namespace NitroxModel.MultiplayerSession;
+namespace Nitrox.Model.MultiplayerSession;
[Serializable]
public class PlayerContext
diff --git a/NitroxModel/MultiplayerSession/PlayerSettings.cs b/Nitrox.Model/MultiplayerSession/PlayerSettings.cs
similarity index 82%
rename from NitroxModel/MultiplayerSession/PlayerSettings.cs
rename to Nitrox.Model/MultiplayerSession/PlayerSettings.cs
index a7c928f68..77ed0a160 100644
--- a/NitroxModel/MultiplayerSession/PlayerSettings.cs
+++ b/Nitrox.Model/MultiplayerSession/PlayerSettings.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.MultiplayerSession
+namespace Nitrox.Model.MultiplayerSession
{
[Serializable]
public class PlayerSettings
diff --git a/NitroxModel/MultiplayerSession/RandomColorGenerator.cs b/Nitrox.Model/MultiplayerSession/RandomColorGenerator.cs
similarity index 80%
rename from NitroxModel/MultiplayerSession/RandomColorGenerator.cs
rename to Nitrox.Model/MultiplayerSession/RandomColorGenerator.cs
index c4b8c5c3a..efa38c02d 100644
--- a/NitroxModel/MultiplayerSession/RandomColorGenerator.cs
+++ b/Nitrox.Model/MultiplayerSession/RandomColorGenerator.cs
@@ -1,6 +1,6 @@
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.MultiplayerSession
+namespace Nitrox.Model.MultiplayerSession
{
public static class RandomColorGenerator
{
diff --git a/NitroxModel/Networking/NitroxDeliveryMethod.cs b/Nitrox.Model/Networking/NitroxDeliveryMethod.cs
similarity index 97%
rename from NitroxModel/Networking/NitroxDeliveryMethod.cs
rename to Nitrox.Model/Networking/NitroxDeliveryMethod.cs
index 424ab5899..d32bcf146 100644
--- a/NitroxModel/Networking/NitroxDeliveryMethod.cs
+++ b/Nitrox.Model/Networking/NitroxDeliveryMethod.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.Networking;
+namespace Nitrox.Model.Networking;
public static class NitroxDeliveryMethod
{
diff --git a/NitroxModel/Networking/NtpSyncer.cs b/Nitrox.Model/Networking/NtpSyncer.cs
similarity index 99%
rename from NitroxModel/Networking/NtpSyncer.cs
rename to Nitrox.Model/Networking/NtpSyncer.cs
index 200771b4f..1f079d6be 100644
--- a/NitroxModel/Networking/NtpSyncer.cs
+++ b/Nitrox.Model/Networking/NtpSyncer.cs
@@ -6,7 +6,7 @@
using LiteNetLib;
using LiteNetLib.Utils;
-namespace NitroxModel.Networking;
+namespace Nitrox.Model.Networking;
public class NtpSyncer
{
diff --git a/NitroxModel/NitroxModel.csproj b/Nitrox.Model/Nitrox.Model.csproj
similarity index 100%
rename from NitroxModel/NitroxModel.csproj
rename to Nitrox.Model/Nitrox.Model.csproj
diff --git a/NitroxModel/Packets/AggressiveWhenSeeTargetChanged.cs b/Nitrox.Model/Packets/AggressiveWhenSeeTargetChanged.cs
similarity index 88%
rename from NitroxModel/Packets/AggressiveWhenSeeTargetChanged.cs
rename to Nitrox.Model/Packets/AggressiveWhenSeeTargetChanged.cs
index 408e8a71a..9843e957f 100644
--- a/NitroxModel/Packets/AggressiveWhenSeeTargetChanged.cs
+++ b/Nitrox.Model/Packets/AggressiveWhenSeeTargetChanged.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class AggressiveWhenSeeTargetChanged : Packet
diff --git a/NitroxModel/Packets/AnimationChangeEvent.cs b/Nitrox.Model/Packets/AnimationChangeEvent.cs
similarity index 80%
rename from NitroxModel/Packets/AnimationChangeEvent.cs
rename to Nitrox.Model/Packets/AnimationChangeEvent.cs
index 3787bbc13..a91c5d186 100644
--- a/NitroxModel/Packets/AnimationChangeEvent.cs
+++ b/Nitrox.Model/Packets/AnimationChangeEvent.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures.GameLogic;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class AnimationChangeEvent : Packet
diff --git a/NitroxModel/Packets/AttackCyclopsTargetChanged.cs b/Nitrox.Model/Packets/AttackCyclopsTargetChanged.cs
similarity index 87%
rename from NitroxModel/Packets/AttackCyclopsTargetChanged.cs
rename to Nitrox.Model/Packets/AttackCyclopsTargetChanged.cs
index ff25e3c18..a57328e72 100644
--- a/NitroxModel/Packets/AttackCyclopsTargetChanged.cs
+++ b/Nitrox.Model/Packets/AttackCyclopsTargetChanged.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class AttackCyclopsTargetChanged : Packet
diff --git a/NitroxModel/Packets/AuroraAndTimeUpdate.cs b/Nitrox.Model/Packets/AuroraAndTimeUpdate.cs
similarity index 78%
rename from NitroxModel/Packets/AuroraAndTimeUpdate.cs
rename to Nitrox.Model/Packets/AuroraAndTimeUpdate.cs
index aec23dfcd..194e7d4b1 100644
--- a/NitroxModel/Packets/AuroraAndTimeUpdate.cs
+++ b/Nitrox.Model/Packets/AuroraAndTimeUpdate.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures.GameLogic;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class AuroraAndTimeUpdate : Packet
diff --git a/NitroxModel/Packets/BaseDeconstructed.cs b/Nitrox.Model/Packets/BaseDeconstructed.cs
similarity index 72%
rename from NitroxModel/Packets/BaseDeconstructed.cs
rename to Nitrox.Model/Packets/BaseDeconstructed.cs
index 76325245d..32393c683 100644
--- a/NitroxModel/Packets/BaseDeconstructed.cs
+++ b/Nitrox.Model/Packets/BaseDeconstructed.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public sealed class BaseDeconstructed : Packet
diff --git a/NitroxModel/Packets/BedEnter.cs b/Nitrox.Model/Packets/BedEnter.cs
similarity index 73%
rename from NitroxModel/Packets/BedEnter.cs
rename to Nitrox.Model/Packets/BedEnter.cs
index bc0ac7f1d..e4fdf303f 100644
--- a/NitroxModel/Packets/BedEnter.cs
+++ b/Nitrox.Model/Packets/BedEnter.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class BedEnter : Packet
diff --git a/NitroxModel/Packets/BenchChanged.cs b/Nitrox.Model/Packets/BenchChanged.cs
similarity index 87%
rename from NitroxModel/Packets/BenchChanged.cs
rename to Nitrox.Model/Packets/BenchChanged.cs
index 784806572..6907cec26 100644
--- a/NitroxModel/Packets/BenchChanged.cs
+++ b/Nitrox.Model/Packets/BenchChanged.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class BenchChanged : Packet
diff --git a/NitroxModel/Packets/BuildingDesyncWarning.cs b/Nitrox.Model/Packets/BuildingDesyncWarning.cs
similarity index 81%
rename from NitroxModel/Packets/BuildingDesyncWarning.cs
rename to Nitrox.Model/Packets/BuildingDesyncWarning.cs
index 11ab0a21f..1da3d996a 100644
--- a/NitroxModel/Packets/BuildingDesyncWarning.cs
+++ b/Nitrox.Model/Packets/BuildingDesyncWarning.cs
@@ -1,8 +1,8 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public sealed class BuildingDesyncWarning : Packet
diff --git a/NitroxModel/Packets/BuildingResync.cs b/Nitrox.Model/Packets/BuildingResync.cs
similarity index 83%
rename from NitroxModel/Packets/BuildingResync.cs
rename to Nitrox.Model/Packets/BuildingResync.cs
index 6e4e62f83..bb0e923fb 100644
--- a/NitroxModel/Packets/BuildingResync.cs
+++ b/Nitrox.Model/Packets/BuildingResync.cs
@@ -1,8 +1,8 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public sealed class BuildingResync : Packet
diff --git a/NitroxModel/Packets/BuildingResyncRequest.cs b/Nitrox.Model/Packets/BuildingResyncRequest.cs
similarity index 83%
rename from NitroxModel/Packets/BuildingResyncRequest.cs
rename to Nitrox.Model/Packets/BuildingResyncRequest.cs
index 4fa76f0c1..e1b261df9 100644
--- a/NitroxModel/Packets/BuildingResyncRequest.cs
+++ b/Nitrox.Model/Packets/BuildingResyncRequest.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public sealed class BuildingResyncRequest : Packet
diff --git a/NitroxModel/Packets/CellVisibilityChanged.cs b/Nitrox.Model/Packets/CellVisibilityChanged.cs
similarity index 85%
rename from NitroxModel/Packets/CellVisibilityChanged.cs
rename to Nitrox.Model/Packets/CellVisibilityChanged.cs
index b71c215ba..08e3e44ff 100644
--- a/NitroxModel/Packets/CellVisibilityChanged.cs
+++ b/Nitrox.Model/Packets/CellVisibilityChanged.cs
@@ -1,8 +1,8 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures.GameLogic;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class CellVisibilityChanged : Packet
diff --git a/NitroxModel/Packets/ChatMessage.cs b/Nitrox.Model/Packets/ChatMessage.cs
similarity index 92%
rename from NitroxModel/Packets/ChatMessage.cs
rename to Nitrox.Model/Packets/ChatMessage.cs
index 5830077d2..f726e8e53 100644
--- a/NitroxModel/Packets/ChatMessage.cs
+++ b/Nitrox.Model/Packets/ChatMessage.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class ChatMessage : Packet
diff --git a/NitroxModel/Packets/CheatCommand.cs b/Nitrox.Model/Packets/CheatCommand.cs
similarity index 80%
rename from NitroxModel/Packets/CheatCommand.cs
rename to Nitrox.Model/Packets/CheatCommand.cs
index d9e3daa7b..46f3fb260 100644
--- a/NitroxModel/Packets/CheatCommand.cs
+++ b/Nitrox.Model/Packets/CheatCommand.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.Networking;
+using Nitrox.Model.Networking;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class CheatCommand : Packet
diff --git a/NitroxModel/Packets/ClearPlanter.cs b/Nitrox.Model/Packets/ClearPlanter.cs
similarity index 74%
rename from NitroxModel/Packets/ClearPlanter.cs
rename to Nitrox.Model/Packets/ClearPlanter.cs
index cead8744c..7a26065fc 100644
--- a/NitroxModel/Packets/ClearPlanter.cs
+++ b/Nitrox.Model/Packets/ClearPlanter.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class ClearPlanter : Packet
diff --git a/NitroxModel/Packets/CoffeeMachineUse.cs b/Nitrox.Model/Packets/CoffeeMachineUse.cs
similarity index 83%
rename from NitroxModel/Packets/CoffeeMachineUse.cs
rename to Nitrox.Model/Packets/CoffeeMachineUse.cs
index 5460c5875..a1e28b128 100644
--- a/NitroxModel/Packets/CoffeeMachineUse.cs
+++ b/Nitrox.Model/Packets/CoffeeMachineUse.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public sealed class CoffeeMachineUse : Packet
@@ -21,4 +21,3 @@ public enum CoffeeMachineSlot
TWO
}
}
-
diff --git a/NitroxModel/Packets/CorrelatedPacket.cs b/Nitrox.Model/Packets/CorrelatedPacket.cs
similarity index 90%
rename from NitroxModel/Packets/CorrelatedPacket.cs
rename to Nitrox.Model/Packets/CorrelatedPacket.cs
index 8c12d91da..66dd6bebc 100644
--- a/NitroxModel/Packets/CorrelatedPacket.cs
+++ b/Nitrox.Model/Packets/CorrelatedPacket.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public abstract class CorrelatedPacket : Packet
diff --git a/NitroxModel/Packets/CreatureActionChanged.cs b/Nitrox.Model/Packets/CreatureActionChanged.cs
similarity index 83%
rename from NitroxModel/Packets/CreatureActionChanged.cs
rename to Nitrox.Model/Packets/CreatureActionChanged.cs
index acc817d5f..d3c69c8a8 100644
--- a/NitroxModel/Packets/CreatureActionChanged.cs
+++ b/Nitrox.Model/Packets/CreatureActionChanged.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public sealed class CreatureActionChanged : Packet
diff --git a/NitroxModel/Packets/CreaturePoopPerformed.cs b/Nitrox.Model/Packets/CreaturePoopPerformed.cs
similarity index 76%
rename from NitroxModel/Packets/CreaturePoopPerformed.cs
rename to Nitrox.Model/Packets/CreaturePoopPerformed.cs
index 1d0b0d82a..c791ce131 100644
--- a/NitroxModel/Packets/CreaturePoopPerformed.cs
+++ b/Nitrox.Model/Packets/CreaturePoopPerformed.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class CreaturePoopPerformed : Packet
diff --git a/NitroxModel/Packets/DebugStartMapPacket.cs b/Nitrox.Model/Packets/DebugStartMapPacket.cs
similarity index 82%
rename from NitroxModel/Packets/DebugStartMapPacket.cs
rename to Nitrox.Model/Packets/DebugStartMapPacket.cs
index 76895b25c..b268f3b2a 100644
--- a/NitroxModel/Packets/DebugStartMapPacket.cs
+++ b/Nitrox.Model/Packets/DebugStartMapPacket.cs
@@ -1,8 +1,8 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class DebugStartMapPacket : Packet
diff --git a/NitroxModel/Packets/DeconstructionBegin.cs b/Nitrox.Model/Packets/DeconstructionBegin.cs
similarity index 77%
rename from NitroxModel/Packets/DeconstructionBegin.cs
rename to Nitrox.Model/Packets/DeconstructionBegin.cs
index d4699fc46..654599344 100644
--- a/NitroxModel/Packets/DeconstructionBegin.cs
+++ b/Nitrox.Model/Packets/DeconstructionBegin.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class DeconstructionBegin : Packet
diff --git a/NitroxModel/Packets/Disconnect.cs b/Nitrox.Model/Packets/Disconnect.cs
similarity index 87%
rename from NitroxModel/Packets/Disconnect.cs
rename to Nitrox.Model/Packets/Disconnect.cs
index 261bf0d3a..4b3940eec 100644
--- a/NitroxModel/Packets/Disconnect.cs
+++ b/Nitrox.Model/Packets/Disconnect.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class Disconnect : Packet
diff --git a/NitroxModel/Packets/DiscordRequestIP.cs b/Nitrox.Model/Packets/DiscordRequestIP.cs
similarity index 86%
rename from NitroxModel/Packets/DiscordRequestIP.cs
rename to Nitrox.Model/Packets/DiscordRequestIP.cs
index 5d5287048..d236a090b 100644
--- a/NitroxModel/Packets/DiscordRequestIP.cs
+++ b/Nitrox.Model/Packets/DiscordRequestIP.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class DiscordRequestIP : Packet
diff --git a/NitroxModel/Packets/DropSimulationOwnership.cs b/Nitrox.Model/Packets/DropSimulationOwnership.cs
similarity index 76%
rename from NitroxModel/Packets/DropSimulationOwnership.cs
rename to Nitrox.Model/Packets/DropSimulationOwnership.cs
index 7dffed244..bb1a0b7d1 100644
--- a/NitroxModel/Packets/DropSimulationOwnership.cs
+++ b/Nitrox.Model/Packets/DropSimulationOwnership.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class DropSimulationOwnership : Packet
diff --git a/NitroxModel/Packets/EntityDestroyed.cs b/Nitrox.Model/Packets/EntityDestroyed.cs
similarity index 72%
rename from NitroxModel/Packets/EntityDestroyed.cs
rename to Nitrox.Model/Packets/EntityDestroyed.cs
index 64062f812..c2ac5b025 100644
--- a/NitroxModel/Packets/EntityDestroyed.cs
+++ b/Nitrox.Model/Packets/EntityDestroyed.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class EntityDestroyed : Packet
diff --git a/NitroxModel/Packets/EntityMetadataUpdate.cs b/Nitrox.Model/Packets/EntityMetadataUpdate.cs
similarity index 72%
rename from NitroxModel/Packets/EntityMetadataUpdate.cs
rename to Nitrox.Model/Packets/EntityMetadataUpdate.cs
index 63f43efbb..0c9eb5882 100644
--- a/NitroxModel/Packets/EntityMetadataUpdate.cs
+++ b/Nitrox.Model/Packets/EntityMetadataUpdate.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class EntityMetadataUpdate : Packet
diff --git a/NitroxModel/Packets/EntityReparented.cs b/Nitrox.Model/Packets/EntityReparented.cs
similarity index 80%
rename from NitroxModel/Packets/EntityReparented.cs
rename to Nitrox.Model/Packets/EntityReparented.cs
index 23d85ccd9..23adb3def 100644
--- a/NitroxModel/Packets/EntityReparented.cs
+++ b/Nitrox.Model/Packets/EntityReparented.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class EntityReparented : Packet
diff --git a/NitroxModel/Packets/EntitySpawnedByClient.cs b/Nitrox.Model/Packets/EntitySpawnedByClient.cs
similarity index 84%
rename from NitroxModel/Packets/EntitySpawnedByClient.cs
rename to Nitrox.Model/Packets/EntitySpawnedByClient.cs
index ae86a3745..681897e12 100644
--- a/NitroxModel/Packets/EntitySpawnedByClient.cs
+++ b/Nitrox.Model/Packets/EntitySpawnedByClient.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures.GameLogic;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class EntitySpawnedByClient : Packet
diff --git a/NitroxModel/Packets/EntityTransformUpdates.cs b/Nitrox.Model/Packets/EntityTransformUpdates.cs
similarity index 95%
rename from NitroxModel/Packets/EntityTransformUpdates.cs
rename to Nitrox.Model/Packets/EntityTransformUpdates.cs
index 257deaade..19cbf2246 100644
--- a/NitroxModel/Packets/EntityTransformUpdates.cs
+++ b/Nitrox.Model/Packets/EntityTransformUpdates.cs
@@ -1,9 +1,9 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class EntityTransformUpdates : Packet
diff --git a/NitroxModel/Packets/EscapePodChanged.cs b/Nitrox.Model/Packets/EscapePodChanged.cs
similarity index 77%
rename from NitroxModel/Packets/EscapePodChanged.cs
rename to Nitrox.Model/Packets/EscapePodChanged.cs
index 1c96cda90..9f376022f 100644
--- a/NitroxModel/Packets/EscapePodChanged.cs
+++ b/Nitrox.Model/Packets/EscapePodChanged.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Util;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class EscapePodChanged : Packet
@@ -17,4 +17,3 @@ public EscapePodChanged(ushort playerId, Optional escapePodId)
}
}
}
-
diff --git a/NitroxModel/Packets/Exceptions/UncorrelatedPacketException.cs b/Nitrox.Model/Packets/Exceptions/UncorrelatedPacketException.cs
similarity index 92%
rename from NitroxModel/Packets/Exceptions/UncorrelatedPacketException.cs
rename to Nitrox.Model/Packets/Exceptions/UncorrelatedPacketException.cs
index 48344d9fd..092dde962 100644
--- a/NitroxModel/Packets/Exceptions/UncorrelatedPacketException.cs
+++ b/Nitrox.Model/Packets/Exceptions/UncorrelatedPacketException.cs
@@ -1,7 +1,6 @@
using System;
-using System.Runtime.Serialization;
-namespace NitroxModel.Packets.Exceptions
+namespace Nitrox.Model.Packets.Exceptions
{
public class UncorrelatedPacketException : Exception
{
diff --git a/NitroxModel/Packets/FMODAssetPacket.cs b/Nitrox.Model/Packets/FMODAssetPacket.cs
similarity index 83%
rename from NitroxModel/Packets/FMODAssetPacket.cs
rename to Nitrox.Model/Packets/FMODAssetPacket.cs
index c6b2a219c..618cca6ce 100644
--- a/NitroxModel/Packets/FMODAssetPacket.cs
+++ b/Nitrox.Model/Packets/FMODAssetPacket.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class FMODAssetPacket : Packet
diff --git a/NitroxModel/Packets/FMODCustomEmitterPacket.cs b/Nitrox.Model/Packets/FMODCustomEmitterPacket.cs
similarity index 83%
rename from NitroxModel/Packets/FMODCustomEmitterPacket.cs
rename to Nitrox.Model/Packets/FMODCustomEmitterPacket.cs
index d271999fc..111f5a2f3 100644
--- a/NitroxModel/Packets/FMODCustomEmitterPacket.cs
+++ b/Nitrox.Model/Packets/FMODCustomEmitterPacket.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class FMODCustomEmitterPacket : Packet
diff --git a/NitroxModel/Packets/FMODCustomLoopingEmitterPacket.cs b/Nitrox.Model/Packets/FMODCustomLoopingEmitterPacket.cs
similarity index 81%
rename from NitroxModel/Packets/FMODCustomLoopingEmitterPacket.cs
rename to Nitrox.Model/Packets/FMODCustomLoopingEmitterPacket.cs
index 2f183d4de..e5eb63fcb 100644
--- a/NitroxModel/Packets/FMODCustomLoopingEmitterPacket.cs
+++ b/Nitrox.Model/Packets/FMODCustomLoopingEmitterPacket.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class FMODCustomLoopingEmitterPacket : Packet
diff --git a/NitroxModel/Packets/FMODEventInstancePacket.cs b/Nitrox.Model/Packets/FMODEventInstancePacket.cs
similarity index 76%
rename from NitroxModel/Packets/FMODEventInstancePacket.cs
rename to Nitrox.Model/Packets/FMODEventInstancePacket.cs
index 88758db48..1840eb0fd 100644
--- a/NitroxModel/Packets/FMODEventInstancePacket.cs
+++ b/Nitrox.Model/Packets/FMODEventInstancePacket.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class FMODEventInstancePacket : FMODAssetPacket
diff --git a/NitroxModel/Packets/FMODStudioEmitterPacket.cs b/Nitrox.Model/Packets/FMODStudioEmitterPacket.cs
similarity index 86%
rename from NitroxModel/Packets/FMODStudioEmitterPacket.cs
rename to Nitrox.Model/Packets/FMODStudioEmitterPacket.cs
index 3c25e6190..c5d65c861 100644
--- a/NitroxModel/Packets/FMODStudioEmitterPacket.cs
+++ b/Nitrox.Model/Packets/FMODStudioEmitterPacket.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class FMODStudioEmitterPacket : Packet
diff --git a/NitroxModel/Packets/FastCheatChanged.cs b/Nitrox.Model/Packets/FastCheatChanged.cs
similarity index 91%
rename from NitroxModel/Packets/FastCheatChanged.cs
rename to Nitrox.Model/Packets/FastCheatChanged.cs
index 4a189e8c7..d6771b0d7 100644
--- a/NitroxModel/Packets/FastCheatChanged.cs
+++ b/Nitrox.Model/Packets/FastCheatChanged.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class FastCheatChanged : Packet
diff --git a/NitroxModel/Packets/FireDoused.cs b/Nitrox.Model/Packets/FireDoused.cs
similarity index 92%
rename from NitroxModel/Packets/FireDoused.cs
rename to Nitrox.Model/Packets/FireDoused.cs
index 6affa49bb..b07b92d0c 100644
--- a/NitroxModel/Packets/FireDoused.cs
+++ b/Nitrox.Model/Packets/FireDoused.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
///
/// Triggered when a fire has been doused. Fire growth is a static thing, so we only need to track dousing
diff --git a/NitroxModel/Packets/FootstepPacket.cs b/Nitrox.Model/Packets/FootstepPacket.cs
similarity index 94%
rename from NitroxModel/Packets/FootstepPacket.cs
rename to Nitrox.Model/Packets/FootstepPacket.cs
index 743e06b81..1469c1777 100644
--- a/NitroxModel/Packets/FootstepPacket.cs
+++ b/Nitrox.Model/Packets/FootstepPacket.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class FootstepPacket : Packet
diff --git a/NitroxModel/Packets/GameModeChanged.cs b/Nitrox.Model/Packets/GameModeChanged.cs
similarity index 91%
rename from NitroxModel/Packets/GameModeChanged.cs
rename to Nitrox.Model/Packets/GameModeChanged.cs
index 64e93b9c3..c7ba26ea5 100644
--- a/NitroxModel/Packets/GameModeChanged.cs
+++ b/Nitrox.Model/Packets/GameModeChanged.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.Server;
+using Nitrox.Model.Server;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class GameModeChanged : Packet
diff --git a/NitroxModel/Packets/GoalCompleted.cs b/Nitrox.Model/Packets/GoalCompleted.cs
similarity index 90%
rename from NitroxModel/Packets/GoalCompleted.cs
rename to Nitrox.Model/Packets/GoalCompleted.cs
index eeedf8a42..6d1f736b2 100644
--- a/NitroxModel/Packets/GoalCompleted.cs
+++ b/Nitrox.Model/Packets/GoalCompleted.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class GoalCompleted : Packet
diff --git a/NitroxModel/Packets/InitialPlayerSync.cs b/Nitrox.Model/Packets/InitialPlayerSync.cs
similarity index 96%
rename from NitroxModel/Packets/InitialPlayerSync.cs
rename to Nitrox.Model/Packets/InitialPlayerSync.cs
index 78c75d0ab..2080fee5e 100644
--- a/NitroxModel/Packets/InitialPlayerSync.cs
+++ b/Nitrox.Model/Packets/InitialPlayerSync.cs
@@ -1,14 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.MultiplayerSession;
-using NitroxModel.Server;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Util;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Server;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class InitialPlayerSync : Packet
diff --git a/NitroxModel/Packets/ItemPosition.cs b/Nitrox.Model/Packets/ItemPosition.cs
similarity index 79%
rename from NitroxModel/Packets/ItemPosition.cs
rename to Nitrox.Model/Packets/ItemPosition.cs
index c89407da1..2b3d65a24 100644
--- a/NitroxModel/Packets/ItemPosition.cs
+++ b/Nitrox.Model/Packets/ItemPosition.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class ItemPosition : Packet
diff --git a/NitroxModel/Packets/KeepInventoryChanged.cs b/Nitrox.Model/Packets/KeepInventoryChanged.cs
similarity index 88%
rename from NitroxModel/Packets/KeepInventoryChanged.cs
rename to Nitrox.Model/Packets/KeepInventoryChanged.cs
index a2628c33e..6e053b083 100644
--- a/NitroxModel/Packets/KeepInventoryChanged.cs
+++ b/Nitrox.Model/Packets/KeepInventoryChanged.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class KeepInventoryChanged : Packet
diff --git a/NitroxModel/Packets/KnownTechEntryAdd.cs b/Nitrox.Model/Packets/KnownTechEntryAdd.cs
similarity index 94%
rename from NitroxModel/Packets/KnownTechEntryAdd.cs
rename to Nitrox.Model/Packets/KnownTechEntryAdd.cs
index 7c5cebb08..dfbe19597 100644
--- a/NitroxModel/Packets/KnownTechEntryAdd.cs
+++ b/Nitrox.Model/Packets/KnownTechEntryAdd.cs
@@ -1,8 +1,8 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures.GameLogic;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class KnownTechEntryAdd : Packet
diff --git a/NitroxModel/Packets/LargeWaterParkDeconstructed.cs b/Nitrox.Model/Packets/LargeWaterParkDeconstructed.cs
similarity index 78%
rename from NitroxModel/Packets/LargeWaterParkDeconstructed.cs
rename to Nitrox.Model/Packets/LargeWaterParkDeconstructed.cs
index 62a7837d1..cb50031bc 100644
--- a/NitroxModel/Packets/LargeWaterParkDeconstructed.cs
+++ b/Nitrox.Model/Packets/LargeWaterParkDeconstructed.cs
@@ -1,10 +1,10 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Bases;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic.Bases;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public sealed class LargeWaterParkDeconstructed : PieceDeconstructed
diff --git a/NitroxModel/Packets/LeakRepaired.cs b/Nitrox.Model/Packets/LeakRepaired.cs
similarity index 85%
rename from NitroxModel/Packets/LeakRepaired.cs
rename to Nitrox.Model/Packets/LeakRepaired.cs
index 0c68853fc..de9db940e 100644
--- a/NitroxModel/Packets/LeakRepaired.cs
+++ b/Nitrox.Model/Packets/LeakRepaired.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class LeakRepaired : Packet
diff --git a/NitroxModel/Packets/MedicalCabinetClicked.cs b/Nitrox.Model/Packets/MedicalCabinetClicked.cs
similarity index 88%
rename from NitroxModel/Packets/MedicalCabinetClicked.cs
rename to Nitrox.Model/Packets/MedicalCabinetClicked.cs
index 1a90d7061..1e3fd1a45 100644
--- a/NitroxModel/Packets/MedicalCabinetClicked.cs
+++ b/Nitrox.Model/Packets/MedicalCabinetClicked.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class MedicalCabinetClicked : Packet
diff --git a/NitroxModel/Packets/ModifyConstructedAmount.cs b/Nitrox.Model/Packets/ModifyConstructedAmount.cs
similarity index 83%
rename from NitroxModel/Packets/ModifyConstructedAmount.cs
rename to Nitrox.Model/Packets/ModifyConstructedAmount.cs
index aa6654e82..0df42493c 100644
--- a/NitroxModel/Packets/ModifyConstructedAmount.cs
+++ b/Nitrox.Model/Packets/ModifyConstructedAmount.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public sealed class ModifyConstructedAmount : Packet
diff --git a/NitroxModel/Packets/ModuleAdded.cs b/Nitrox.Model/Packets/ModuleAdded.cs
similarity index 82%
rename from NitroxModel/Packets/ModuleAdded.cs
rename to Nitrox.Model/Packets/ModuleAdded.cs
index 8d8e0c387..99f3f228b 100644
--- a/NitroxModel/Packets/ModuleAdded.cs
+++ b/Nitrox.Model/Packets/ModuleAdded.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class ModuleAdded : Packet
diff --git a/NitroxModel/Packets/ModuleRemoved.cs b/Nitrox.Model/Packets/ModuleRemoved.cs
similarity index 80%
rename from NitroxModel/Packets/ModuleRemoved.cs
rename to Nitrox.Model/Packets/ModuleRemoved.cs
index fa644122a..9842b9236 100644
--- a/NitroxModel/Packets/ModuleRemoved.cs
+++ b/Nitrox.Model/Packets/ModuleRemoved.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class ModuleRemoved : Packet
diff --git a/NitroxModel/Packets/Movement.cs b/Nitrox.Model/Packets/Movement.cs
similarity index 82%
rename from NitroxModel/Packets/Movement.cs
rename to Nitrox.Model/Packets/Movement.cs
index 12b4ad05a..84a1725f2 100644
--- a/NitroxModel/Packets/Movement.cs
+++ b/Nitrox.Model/Packets/Movement.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public abstract class Movement : Packet
diff --git a/NitroxModel/Packets/MultiplayerSessionPolicy.cs b/Nitrox.Model/Packets/MultiplayerSessionPolicy.cs
similarity index 92%
rename from NitroxModel/Packets/MultiplayerSessionPolicy.cs
rename to Nitrox.Model/Packets/MultiplayerSessionPolicy.cs
index 535edd0a5..428a091e3 100644
--- a/NitroxModel/Packets/MultiplayerSessionPolicy.cs
+++ b/Nitrox.Model/Packets/MultiplayerSessionPolicy.cs
@@ -1,9 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.MultiplayerSession;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Helper;
+using Nitrox.Model.MultiplayerSession;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class MultiplayerSessionPolicy : CorrelatedPacket
diff --git a/NitroxModel/Packets/MultiplayerSessionPolicyRequest.cs b/Nitrox.Model/Packets/MultiplayerSessionPolicyRequest.cs
similarity index 93%
rename from NitroxModel/Packets/MultiplayerSessionPolicyRequest.cs
rename to Nitrox.Model/Packets/MultiplayerSessionPolicyRequest.cs
index 0e8c3589c..35f740981 100644
--- a/NitroxModel/Packets/MultiplayerSessionPolicyRequest.cs
+++ b/Nitrox.Model/Packets/MultiplayerSessionPolicyRequest.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
///
/// This is a packet that we use to "ping" a server to let it know that we'd like more information
diff --git a/NitroxModel/Packets/MultiplayerSessionReservation.cs b/Nitrox.Model/Packets/MultiplayerSessionReservation.cs
similarity index 92%
rename from NitroxModel/Packets/MultiplayerSessionReservation.cs
rename to Nitrox.Model/Packets/MultiplayerSessionReservation.cs
index ce2ac5e9f..ee7935551 100644
--- a/NitroxModel/Packets/MultiplayerSessionReservation.cs
+++ b/Nitrox.Model/Packets/MultiplayerSessionReservation.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.MultiplayerSession;
+using Nitrox.Model.MultiplayerSession;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class MultiplayerSessionReservation : CorrelatedPacket
diff --git a/NitroxModel/Packets/MultiplayerSessionReservationRequest.cs b/Nitrox.Model/Packets/MultiplayerSessionReservationRequest.cs
similarity index 88%
rename from NitroxModel/Packets/MultiplayerSessionReservationRequest.cs
rename to Nitrox.Model/Packets/MultiplayerSessionReservationRequest.cs
index c5918ef2b..a7be87d48 100644
--- a/NitroxModel/Packets/MultiplayerSessionReservationRequest.cs
+++ b/Nitrox.Model/Packets/MultiplayerSessionReservationRequest.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.MultiplayerSession;
+using Nitrox.Model.MultiplayerSession;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class MultiplayerSessionReservationRequest : CorrelatedPacket
diff --git a/NitroxModel/Packets/MutePlayer.cs b/Nitrox.Model/Packets/MutePlayer.cs
similarity index 88%
rename from NitroxModel/Packets/MutePlayer.cs
rename to Nitrox.Model/Packets/MutePlayer.cs
index 53e90452a..7ef88dc56 100644
--- a/NitroxModel/Packets/MutePlayer.cs
+++ b/Nitrox.Model/Packets/MutePlayer.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class MutePlayer : Packet
diff --git a/NitroxModel/Packets/OpenableStateChanged.cs b/Nitrox.Model/Packets/OpenableStateChanged.cs
similarity index 85%
rename from NitroxModel/Packets/OpenableStateChanged.cs
rename to Nitrox.Model/Packets/OpenableStateChanged.cs
index ec345bb0e..f1f2daed8 100644
--- a/NitroxModel/Packets/OpenableStateChanged.cs
+++ b/Nitrox.Model/Packets/OpenableStateChanged.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class OpenableStateChanged : Packet
diff --git a/NitroxModel/Packets/OrderedBuildPacket.cs b/Nitrox.Model/Packets/OrderedBuildPacket.cs
similarity index 87%
rename from NitroxModel/Packets/OrderedBuildPacket.cs
rename to Nitrox.Model/Packets/OrderedBuildPacket.cs
index 30c297518..4d4f77870 100644
--- a/NitroxModel/Packets/OrderedBuildPacket.cs
+++ b/Nitrox.Model/Packets/OrderedBuildPacket.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public abstract class OrderedBuildPacket : Packet
diff --git a/NitroxModel/Packets/PDAEncyclopediaEntryAdd.cs b/Nitrox.Model/Packets/PDAEncyclopediaEntryAdd.cs
similarity index 91%
rename from NitroxModel/Packets/PDAEncyclopediaEntryAdd.cs
rename to Nitrox.Model/Packets/PDAEncyclopediaEntryAdd.cs
index 7f7f449a8..93535e487 100644
--- a/NitroxModel/Packets/PDAEncyclopediaEntryAdd.cs
+++ b/Nitrox.Model/Packets/PDAEncyclopediaEntryAdd.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PDAEncyclopediaEntryAdd : Packet
diff --git a/NitroxModel/Packets/PDALogEntryAdd.cs b/Nitrox.Model/Packets/PDALogEntryAdd.cs
similarity index 88%
rename from NitroxModel/Packets/PDALogEntryAdd.cs
rename to Nitrox.Model/Packets/PDALogEntryAdd.cs
index 03eb69b53..a8ef39f98 100644
--- a/NitroxModel/Packets/PDALogEntryAdd.cs
+++ b/Nitrox.Model/Packets/PDALogEntryAdd.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PDALogEntryAdd : Packet
diff --git a/NitroxModel/Packets/PDAScanFinished.cs b/Nitrox.Model/Packets/PDAScanFinished.cs
similarity index 86%
rename from NitroxModel/Packets/PDAScanFinished.cs
rename to Nitrox.Model/Packets/PDAScanFinished.cs
index 445421bf1..28e62f324 100644
--- a/NitroxModel/Packets/PDAScanFinished.cs
+++ b/Nitrox.Model/Packets/PDAScanFinished.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PDAScanFinished : Packet
diff --git a/NitroxModel/Packets/Packet.cs b/Nitrox.Model/Packets/Packet.cs
similarity index 96%
rename from NitroxModel/Packets/Packet.cs
rename to Nitrox.Model/Packets/Packet.cs
index 6f5898aef..fd5b11cd6 100644
--- a/NitroxModel/Packets/Packet.cs
+++ b/Nitrox.Model/Packets/Packet.cs
@@ -6,9 +6,9 @@
using System.Text;
using BinaryPack;
using BinaryPack.Attributes;
-using NitroxModel.Networking;
+using Nitrox.Model.Networking;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public abstract class Packet
@@ -22,7 +22,7 @@ public static void InitSerializer()
static IEnumerable FindTypesInModelAssemblies()
{
return AppDomain.CurrentDomain.GetAssemblies()
- .Where(assembly => new[] { nameof(NitroxModel), "NitroxModel-Subnautica" }
+ .Where(assembly => new[] { $"{nameof(Nitrox)}.{nameof(Model)}", "Nitrox.Model.Subnautica" }
.Contains(assembly.GetName().Name))
.SelectMany(assembly =>
{
diff --git a/NitroxModel/Packets/PermsChanged.cs b/Nitrox.Model/Packets/PermsChanged.cs
similarity index 70%
rename from NitroxModel/Packets/PermsChanged.cs
rename to Nitrox.Model/Packets/PermsChanged.cs
index 2636d3e44..53923045f 100644
--- a/NitroxModel/Packets/PermsChanged.cs
+++ b/Nitrox.Model/Packets/PermsChanged.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures.GameLogic;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PermsChanged : Packet
diff --git a/NitroxModel/Packets/PickupItem.cs b/Nitrox.Model/Packets/PickupItem.cs
similarity index 69%
rename from NitroxModel/Packets/PickupItem.cs
rename to Nitrox.Model/Packets/PickupItem.cs
index 4189cbea7..ba6367924 100644
--- a/NitroxModel/Packets/PickupItem.cs
+++ b/Nitrox.Model/Packets/PickupItem.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities;
+using Nitrox.Model.DataStructures.GameLogic.Entities;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PickupItem : Packet
diff --git a/NitroxModel/Packets/PieceDeconstructed.cs b/Nitrox.Model/Packets/PieceDeconstructed.cs
similarity index 79%
rename from NitroxModel/Packets/PieceDeconstructed.cs
rename to Nitrox.Model/Packets/PieceDeconstructed.cs
index 0dcf04480..7b8219271 100644
--- a/NitroxModel/Packets/PieceDeconstructed.cs
+++ b/Nitrox.Model/Packets/PieceDeconstructed.cs
@@ -1,9 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Bases;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic.Bases;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PieceDeconstructed : OrderedBuildPacket
diff --git a/NitroxModel/Packets/PinMoved.cs b/Nitrox.Model/Packets/PinMoved.cs
similarity index 88%
rename from NitroxModel/Packets/PinMoved.cs
rename to Nitrox.Model/Packets/PinMoved.cs
index 992afbf9f..118fac4b7 100644
--- a/NitroxModel/Packets/PinMoved.cs
+++ b/Nitrox.Model/Packets/PinMoved.cs
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PinnedRecipeMoved : Packet
diff --git a/NitroxModel/Packets/PlaceBase.cs b/Nitrox.Model/Packets/PlaceBase.cs
similarity index 75%
rename from NitroxModel/Packets/PlaceBase.cs
rename to Nitrox.Model/Packets/PlaceBase.cs
index 7bc133b1c..1d330eb39 100644
--- a/NitroxModel/Packets/PlaceBase.cs
+++ b/Nitrox.Model/Packets/PlaceBase.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public sealed class PlaceBase : Packet
diff --git a/NitroxModel/Packets/PlaceGhost.cs b/Nitrox.Model/Packets/PlaceGhost.cs
similarity index 69%
rename from NitroxModel/Packets/PlaceGhost.cs
rename to Nitrox.Model/Packets/PlaceGhost.cs
index 7d2d6aac0..738a514c9 100644
--- a/NitroxModel/Packets/PlaceGhost.cs
+++ b/Nitrox.Model/Packets/PlaceGhost.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public sealed class PlaceGhost : Packet
diff --git a/NitroxModel/Packets/PlaceModule.cs b/Nitrox.Model/Packets/PlaceModule.cs
similarity index 70%
rename from NitroxModel/Packets/PlaceModule.cs
rename to Nitrox.Model/Packets/PlaceModule.cs
index ae8ebb343..78620fdcb 100644
--- a/NitroxModel/Packets/PlaceModule.cs
+++ b/Nitrox.Model/Packets/PlaceModule.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public sealed class PlaceModule : Packet
diff --git a/NitroxModel/Packets/PlaySunbeamEvent.cs b/Nitrox.Model/Packets/PlaySunbeamEvent.cs
similarity index 97%
rename from NitroxModel/Packets/PlaySunbeamEvent.cs
rename to Nitrox.Model/Packets/PlaySunbeamEvent.cs
index 76d8ed26c..b61dd59bb 100644
--- a/NitroxModel/Packets/PlaySunbeamEvent.cs
+++ b/Nitrox.Model/Packets/PlaySunbeamEvent.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PlaySunbeamEvent : Packet
diff --git a/NitroxModel/Packets/PlayerCinematicControllerCall.cs b/Nitrox.Model/Packets/PlayerCinematicControllerCall.cs
similarity index 89%
rename from NitroxModel/Packets/PlayerCinematicControllerCall.cs
rename to Nitrox.Model/Packets/PlayerCinematicControllerCall.cs
index 9f129d658..e506ecf81 100644
--- a/NitroxModel/Packets/PlayerCinematicControllerCall.cs
+++ b/Nitrox.Model/Packets/PlayerCinematicControllerCall.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PlayerCinematicControllerCall : Packet
diff --git a/NitroxModel/Packets/PlayerDeathEvent.cs b/Nitrox.Model/Packets/PlayerDeathEvent.cs
similarity index 83%
rename from NitroxModel/Packets/PlayerDeathEvent.cs
rename to Nitrox.Model/Packets/PlayerDeathEvent.cs
index b559d10ce..67ccc5b52 100644
--- a/NitroxModel/Packets/PlayerDeathEvent.cs
+++ b/Nitrox.Model/Packets/PlayerDeathEvent.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class PlayerDeathEvent : Packet
diff --git a/NitroxModel/Packets/PlayerHeldItemChanged.cs b/Nitrox.Model/Packets/PlayerHeldItemChanged.cs
similarity index 87%
rename from NitroxModel/Packets/PlayerHeldItemChanged.cs
rename to Nitrox.Model/Packets/PlayerHeldItemChanged.cs
index 6a9d1d2cd..9b71940b5 100644
--- a/NitroxModel/Packets/PlayerHeldItemChanged.cs
+++ b/Nitrox.Model/Packets/PlayerHeldItemChanged.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class PlayerHeldItemChanged : Packet
diff --git a/NitroxModel/Packets/PlayerInCyclopsMovement.cs b/Nitrox.Model/Packets/PlayerInCyclopsMovement.cs
similarity index 84%
rename from NitroxModel/Packets/PlayerInCyclopsMovement.cs
rename to Nitrox.Model/Packets/PlayerInCyclopsMovement.cs
index 74265e5b3..e7b85f07b 100644
--- a/NitroxModel/Packets/PlayerInCyclopsMovement.cs
+++ b/Nitrox.Model/Packets/PlayerInCyclopsMovement.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.Networking;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Networking;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PlayerInCyclopsMovement : Packet
diff --git a/NitroxModel/Packets/PlayerJoinedMultiplayerSession.cs b/Nitrox.Model/Packets/PlayerJoinedMultiplayerSession.cs
similarity index 70%
rename from NitroxModel/Packets/PlayerJoinedMultiplayerSession.cs
rename to Nitrox.Model/Packets/PlayerJoinedMultiplayerSession.cs
index 6da3bdcdb..b94e7a661 100644
--- a/NitroxModel/Packets/PlayerJoinedMultiplayerSession.cs
+++ b/Nitrox.Model/Packets/PlayerJoinedMultiplayerSession.cs
@@ -1,10 +1,10 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.MultiplayerSession;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic.Entities;
+using Nitrox.Model.DataStructures.Util;
+using Nitrox.Model.MultiplayerSession;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PlayerJoinedMultiplayerSession : Packet
diff --git a/NitroxModel/Packets/PlayerJoiningMultiplayerSession.cs b/Nitrox.Model/Packets/PlayerJoiningMultiplayerSession.cs
similarity index 92%
rename from NitroxModel/Packets/PlayerJoiningMultiplayerSession.cs
rename to Nitrox.Model/Packets/PlayerJoiningMultiplayerSession.cs
index 1a1ef87d2..d1bc2ae36 100644
--- a/NitroxModel/Packets/PlayerJoiningMultiplayerSession.cs
+++ b/Nitrox.Model/Packets/PlayerJoiningMultiplayerSession.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class PlayerJoiningMultiplayerSession : CorrelatedPacket
diff --git a/NitroxModel/Packets/PlayerKicked.cs b/Nitrox.Model/Packets/PlayerKicked.cs
similarity index 87%
rename from NitroxModel/Packets/PlayerKicked.cs
rename to Nitrox.Model/Packets/PlayerKicked.cs
index 356f3dcf5..17bff9b9d 100644
--- a/NitroxModel/Packets/PlayerKicked.cs
+++ b/Nitrox.Model/Packets/PlayerKicked.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class PlayerKicked : Packet
diff --git a/NitroxModel/Packets/PlayerMovement.cs b/Nitrox.Model/Packets/PlayerMovement.cs
similarity index 89%
rename from NitroxModel/Packets/PlayerMovement.cs
rename to Nitrox.Model/Packets/PlayerMovement.cs
index 5e45e5670..8b20dfa1d 100644
--- a/NitroxModel/Packets/PlayerMovement.cs
+++ b/Nitrox.Model/Packets/PlayerMovement.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.Networking;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Networking;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class PlayerMovement : Movement
diff --git a/NitroxModel/Packets/PlayerQuickSlotsBindingChanged.cs b/Nitrox.Model/Packets/PlayerQuickSlotsBindingChanged.cs
similarity index 71%
rename from NitroxModel/Packets/PlayerQuickSlotsBindingChanged.cs
rename to Nitrox.Model/Packets/PlayerQuickSlotsBindingChanged.cs
index a10b9ba68..bc1dd582d 100644
--- a/NitroxModel/Packets/PlayerQuickSlotsBindingChanged.cs
+++ b/Nitrox.Model/Packets/PlayerQuickSlotsBindingChanged.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Util;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PlayerQuickSlotsBindingChanged : Packet
diff --git a/NitroxModel/Packets/PlayerSeeOutOfCellEntity.cs b/Nitrox.Model/Packets/PlayerSeeOutOfCellEntity.cs
similarity index 76%
rename from NitroxModel/Packets/PlayerSeeOutOfCellEntity.cs
rename to Nitrox.Model/Packets/PlayerSeeOutOfCellEntity.cs
index f4f4f7be8..309e464dc 100644
--- a/NitroxModel/Packets/PlayerSeeOutOfCellEntity.cs
+++ b/Nitrox.Model/Packets/PlayerSeeOutOfCellEntity.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PlayerSeeOutOfCellEntity : Packet
diff --git a/NitroxModel/Packets/PlayerStats.cs b/Nitrox.Model/Packets/PlayerStats.cs
similarity index 92%
rename from NitroxModel/Packets/PlayerStats.cs
rename to Nitrox.Model/Packets/PlayerStats.cs
index bde2a9fc9..e9592b295 100644
--- a/NitroxModel/Packets/PlayerStats.cs
+++ b/Nitrox.Model/Packets/PlayerStats.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.Networking;
+using Nitrox.Model.Networking;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PlayerStats : Packet
diff --git a/NitroxModel/Packets/PlayerSyncFinished.cs b/Nitrox.Model/Packets/PlayerSyncFinished.cs
similarity index 84%
rename from NitroxModel/Packets/PlayerSyncFinished.cs
rename to Nitrox.Model/Packets/PlayerSyncFinished.cs
index 0cd21c32c..953181d13 100644
--- a/NitroxModel/Packets/PlayerSyncFinished.cs
+++ b/Nitrox.Model/Packets/PlayerSyncFinished.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class PlayerSyncFinished : Packet
diff --git a/NitroxModel/Packets/PlayerTeleported.cs b/Nitrox.Model/Packets/PlayerTeleported.cs
similarity index 80%
rename from NitroxModel/Packets/PlayerTeleported.cs
rename to Nitrox.Model/Packets/PlayerTeleported.cs
index 8df3d9f3b..6bb4fe514 100644
--- a/NitroxModel/Packets/PlayerTeleported.cs
+++ b/Nitrox.Model/Packets/PlayerTeleported.cs
@@ -1,9 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Util;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class PlayerTeleported : Packet
diff --git a/NitroxModel/Packets/PlayerUnseeOutOfCellEntity.cs b/Nitrox.Model/Packets/PlayerUnseeOutOfCellEntity.cs
similarity index 77%
rename from NitroxModel/Packets/PlayerUnseeOutOfCellEntity.cs
rename to Nitrox.Model/Packets/PlayerUnseeOutOfCellEntity.cs
index ccb4fed53..037d233fb 100644
--- a/NitroxModel/Packets/PlayerUnseeOutOfCellEntity.cs
+++ b/Nitrox.Model/Packets/PlayerUnseeOutOfCellEntity.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PlayerUnseeOutOfCellEntity : Packet
diff --git a/NitroxModel/Packets/Processors/Abstract/IProcessorContext.cs b/Nitrox.Model/Packets/Processors/Abstract/IProcessorContext.cs
similarity index 50%
rename from NitroxModel/Packets/Processors/Abstract/IProcessorContext.cs
rename to Nitrox.Model/Packets/Processors/Abstract/IProcessorContext.cs
index 5c7be3ed3..7f2365b37 100644
--- a/NitroxModel/Packets/Processors/Abstract/IProcessorContext.cs
+++ b/Nitrox.Model/Packets/Processors/Abstract/IProcessorContext.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.Packets.Processors.Abstract
+namespace Nitrox.Model.Packets.Processors.Abstract
{
public interface IProcessorContext
{
diff --git a/NitroxModel/Packets/Processors/Abstract/PacketProcessor.cs b/Nitrox.Model/Packets/Processors/Abstract/PacketProcessor.cs
similarity index 97%
rename from NitroxModel/Packets/Processors/Abstract/PacketProcessor.cs
rename to Nitrox.Model/Packets/Processors/Abstract/PacketProcessor.cs
index 3d6d0ecd4..28a8bf81e 100644
--- a/NitroxModel/Packets/Processors/Abstract/PacketProcessor.cs
+++ b/Nitrox.Model/Packets/Processors/Abstract/PacketProcessor.cs
@@ -3,7 +3,7 @@
using System.Linq;
using System.Reflection;
-namespace NitroxModel.Packets.Processors.Abstract
+namespace Nitrox.Model.Packets.Processors.Abstract
{
public abstract class PacketProcessor
{
diff --git a/NitroxModel/Packets/PvPAttack.cs b/Nitrox.Model/Packets/PvPAttack.cs
similarity index 93%
rename from NitroxModel/Packets/PvPAttack.cs
rename to Nitrox.Model/Packets/PvPAttack.cs
index ce93a12bc..1b44495e1 100644
--- a/NitroxModel/Packets/PvPAttack.cs
+++ b/Nitrox.Model/Packets/PvPAttack.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class PvPAttack : Packet
diff --git a/NitroxModel/Packets/RadioPlayPendingMessage.cs b/Nitrox.Model/Packets/RadioPlayPendingMessage.cs
similarity index 76%
rename from NitroxModel/Packets/RadioPlayPendingMessage.cs
rename to Nitrox.Model/Packets/RadioPlayPendingMessage.cs
index 1b45ea0f1..5a2cf68d2 100644
--- a/NitroxModel/Packets/RadioPlayPendingMessage.cs
+++ b/Nitrox.Model/Packets/RadioPlayPendingMessage.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class RadioPlayPendingMessage : Packet
diff --git a/NitroxModel/Packets/RangedAttackLastTargetUpdate.cs b/Nitrox.Model/Packets/RangedAttackLastTargetUpdate.cs
similarity index 89%
rename from NitroxModel/Packets/RangedAttackLastTargetUpdate.cs
rename to Nitrox.Model/Packets/RangedAttackLastTargetUpdate.cs
index 92555a5a5..9e8e8daa1 100644
--- a/NitroxModel/Packets/RangedAttackLastTargetUpdate.cs
+++ b/Nitrox.Model/Packets/RangedAttackLastTargetUpdate.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class RangedAttackLastTargetUpdate : Packet
diff --git a/NitroxModel/Packets/RecipePinned.cs b/Nitrox.Model/Packets/RecipePinned.cs
similarity index 88%
rename from NitroxModel/Packets/RecipePinned.cs
rename to Nitrox.Model/Packets/RecipePinned.cs
index 6014a7c6d..eabccd4f6 100644
--- a/NitroxModel/Packets/RecipePinned.cs
+++ b/Nitrox.Model/Packets/RecipePinned.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class RecipePinned : Packet
diff --git a/NitroxModel/Packets/RemoveCreatureCorpse.cs b/Nitrox.Model/Packets/RemoveCreatureCorpse.cs
similarity index 80%
rename from NitroxModel/Packets/RemoveCreatureCorpse.cs
rename to Nitrox.Model/Packets/RemoveCreatureCorpse.cs
index 5f067d22b..10557b6ca 100644
--- a/NitroxModel/Packets/RemoveCreatureCorpse.cs
+++ b/Nitrox.Model/Packets/RemoveCreatureCorpse.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class RemoveCreatureCorpse : Packet
diff --git a/NitroxModel/Packets/Schedule.cs b/Nitrox.Model/Packets/Schedule.cs
similarity index 90%
rename from NitroxModel/Packets/Schedule.cs
rename to Nitrox.Model/Packets/Schedule.cs
index 25ffcf512..c5ed80175 100644
--- a/NitroxModel/Packets/Schedule.cs
+++ b/Nitrox.Model/Packets/Schedule.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class Schedule : Packet
diff --git a/NitroxModel/Packets/SeaDragonAttackTarget.cs b/Nitrox.Model/Packets/SeaDragonAttackTarget.cs
similarity index 85%
rename from NitroxModel/Packets/SeaDragonAttackTarget.cs
rename to Nitrox.Model/Packets/SeaDragonAttackTarget.cs
index 45b23f404..b9dc6ad5b 100644
--- a/NitroxModel/Packets/SeaDragonAttackTarget.cs
+++ b/Nitrox.Model/Packets/SeaDragonAttackTarget.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class SeaDragonAttackTarget : Packet
diff --git a/NitroxModel/Packets/SeaDragonGrabExosuit.cs b/Nitrox.Model/Packets/SeaDragonGrabExosuit.cs
similarity index 82%
rename from NitroxModel/Packets/SeaDragonGrabExosuit.cs
rename to Nitrox.Model/Packets/SeaDragonGrabExosuit.cs
index 7b9893da5..f6da87c3e 100644
--- a/NitroxModel/Packets/SeaDragonGrabExosuit.cs
+++ b/Nitrox.Model/Packets/SeaDragonGrabExosuit.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class SeaDragonGrabExosuit : Packet
diff --git a/NitroxModel/Packets/SeaDragonSwatAttack.cs b/Nitrox.Model/Packets/SeaDragonSwatAttack.cs
similarity index 87%
rename from NitroxModel/Packets/SeaDragonSwatAttack.cs
rename to Nitrox.Model/Packets/SeaDragonSwatAttack.cs
index 53c171382..854dc32ed 100644
--- a/NitroxModel/Packets/SeaDragonSwatAttack.cs
+++ b/Nitrox.Model/Packets/SeaDragonSwatAttack.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class SeaDragonSwatAttack : Packet
diff --git a/NitroxModel/Packets/SeaTreaderChunkPickedUp.cs b/Nitrox.Model/Packets/SeaTreaderChunkPickedUp.cs
similarity index 75%
rename from NitroxModel/Packets/SeaTreaderChunkPickedUp.cs
rename to Nitrox.Model/Packets/SeaTreaderChunkPickedUp.cs
index f77dfa910..15b69e548 100644
--- a/NitroxModel/Packets/SeaTreaderChunkPickedUp.cs
+++ b/Nitrox.Model/Packets/SeaTreaderChunkPickedUp.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class SeaTreaderChunkPickedUp : Packet
diff --git a/NitroxModel/Packets/SeaTreaderSpawnedChunk.cs b/Nitrox.Model/Packets/SeaTreaderSpawnedChunk.cs
similarity index 82%
rename from NitroxModel/Packets/SeaTreaderSpawnedChunk.cs
rename to Nitrox.Model/Packets/SeaTreaderSpawnedChunk.cs
index dd49badec..70da0a175 100644
--- a/NitroxModel/Packets/SeaTreaderSpawnedChunk.cs
+++ b/Nitrox.Model/Packets/SeaTreaderSpawnedChunk.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class SeaTreaderSpawnedChunk : Packet
diff --git a/NitroxModel/Packets/SeamothModulesAction.cs b/Nitrox.Model/Packets/SeamothModulesAction.cs
similarity index 80%
rename from NitroxModel/Packets/SeamothModulesAction.cs
rename to Nitrox.Model/Packets/SeamothModulesAction.cs
index d6e1c660c..9dba308f3 100644
--- a/NitroxModel/Packets/SeamothModulesAction.cs
+++ b/Nitrox.Model/Packets/SeamothModulesAction.cs
@@ -1,9 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class SeamothModulesAction : Packet
diff --git a/NitroxModel/Packets/ServerCommand.cs b/Nitrox.Model/Packets/ServerCommand.cs
similarity index 91%
rename from NitroxModel/Packets/ServerCommand.cs
rename to Nitrox.Model/Packets/ServerCommand.cs
index db8b94cfc..721e60030 100644
--- a/NitroxModel/Packets/ServerCommand.cs
+++ b/Nitrox.Model/Packets/ServerCommand.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class ServerCommand : Packet
diff --git a/NitroxModel/Packets/ServerStopped.cs b/Nitrox.Model/Packets/ServerStopped.cs
similarity index 70%
rename from NitroxModel/Packets/ServerStopped.cs
rename to Nitrox.Model/Packets/ServerStopped.cs
index a1dc7e5ee..e8a9cf3c8 100644
--- a/NitroxModel/Packets/ServerStopped.cs
+++ b/Nitrox.Model/Packets/ServerStopped.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class ServerStopped : Packet
diff --git a/NitroxModel/Packets/SetIntroCinematicMode.cs b/Nitrox.Model/Packets/SetIntroCinematicMode.cs
similarity index 87%
rename from NitroxModel/Packets/SetIntroCinematicMode.cs
rename to Nitrox.Model/Packets/SetIntroCinematicMode.cs
index f6e72649b..772319f30 100644
--- a/NitroxModel/Packets/SetIntroCinematicMode.cs
+++ b/Nitrox.Model/Packets/SetIntroCinematicMode.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures.GameLogic;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class SetIntroCinematicMode : Packet
diff --git a/NitroxModel/Packets/SignalPingVisibilityChanged.cs b/Nitrox.Model/Packets/SignalPingVisibilityChanged.cs
similarity index 91%
rename from NitroxModel/Packets/SignalPingVisibilityChanged.cs
rename to Nitrox.Model/Packets/SignalPingVisibilityChanged.cs
index 46aa1fc59..e8fb5cde3 100644
--- a/NitroxModel/Packets/SignalPingVisibilityChanged.cs
+++ b/Nitrox.Model/Packets/SignalPingVisibilityChanged.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class SignalPingPreferenceChanged : Packet
diff --git a/NitroxModel/Packets/SimulationOwnershipChange.cs b/Nitrox.Model/Packets/SimulationOwnershipChange.cs
similarity index 92%
rename from NitroxModel/Packets/SimulationOwnershipChange.cs
rename to Nitrox.Model/Packets/SimulationOwnershipChange.cs
index 3b8735bac..155a378e3 100644
--- a/NitroxModel/Packets/SimulationOwnershipChange.cs
+++ b/Nitrox.Model/Packets/SimulationOwnershipChange.cs
@@ -1,8 +1,8 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class SimulationOwnershipChange : Packet
diff --git a/NitroxModel/Packets/SimulationOwnershipRequest.cs b/Nitrox.Model/Packets/SimulationOwnershipRequest.cs
similarity index 87%
rename from NitroxModel/Packets/SimulationOwnershipRequest.cs
rename to Nitrox.Model/Packets/SimulationOwnershipRequest.cs
index 273d597b0..d34ab5780 100644
--- a/NitroxModel/Packets/SimulationOwnershipRequest.cs
+++ b/Nitrox.Model/Packets/SimulationOwnershipRequest.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class SimulationOwnershipRequest : Packet
diff --git a/NitroxModel/Packets/SimulationOwnershipResponse.cs b/Nitrox.Model/Packets/SimulationOwnershipResponse.cs
similarity index 87%
rename from NitroxModel/Packets/SimulationOwnershipResponse.cs
rename to Nitrox.Model/Packets/SimulationOwnershipResponse.cs
index a09f3721a..52338af7b 100644
--- a/NitroxModel/Packets/SimulationOwnershipResponse.cs
+++ b/Nitrox.Model/Packets/SimulationOwnershipResponse.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class SimulationOwnershipResponse : Packet
diff --git a/NitroxModel/Packets/SpawnEntities.cs b/Nitrox.Model/Packets/SpawnEntities.cs
similarity index 92%
rename from NitroxModel/Packets/SpawnEntities.cs
rename to Nitrox.Model/Packets/SpawnEntities.cs
index 7385ddfe9..5a0bc81b0 100644
--- a/NitroxModel/Packets/SpawnEntities.cs
+++ b/Nitrox.Model/Packets/SpawnEntities.cs
@@ -1,9 +1,9 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class SpawnEntities : Packet
diff --git a/NitroxModel/Packets/StasisSphereHit.cs b/Nitrox.Model/Packets/StasisSphereHit.cs
similarity index 89%
rename from NitroxModel/Packets/StasisSphereHit.cs
rename to Nitrox.Model/Packets/StasisSphereHit.cs
index b28ad5560..be2779197 100644
--- a/NitroxModel/Packets/StasisSphereHit.cs
+++ b/Nitrox.Model/Packets/StasisSphereHit.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class StasisSphereHit : Packet
diff --git a/NitroxModel/Packets/StasisSphereShot.cs b/Nitrox.Model/Packets/StasisSphereShot.cs
similarity index 89%
rename from NitroxModel/Packets/StasisSphereShot.cs
rename to Nitrox.Model/Packets/StasisSphereShot.cs
index dfb2bf5dc..1a91e1b64 100644
--- a/NitroxModel/Packets/StasisSphereShot.cs
+++ b/Nitrox.Model/Packets/StasisSphereShot.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class StasisSphereShot : Packet
diff --git a/NitroxModel/Packets/StoryGoalExecuted.cs b/Nitrox.Model/Packets/StoryGoalExecuted.cs
similarity index 94%
rename from NitroxModel/Packets/StoryGoalExecuted.cs
rename to Nitrox.Model/Packets/StoryGoalExecuted.cs
index ba099355e..467904f7d 100644
--- a/NitroxModel/Packets/StoryGoalExecuted.cs
+++ b/Nitrox.Model/Packets/StoryGoalExecuted.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class StoryGoalExecuted : Packet
diff --git a/NitroxModel/Packets/SubRootChanged.cs b/Nitrox.Model/Packets/SubRootChanged.cs
similarity index 76%
rename from NitroxModel/Packets/SubRootChanged.cs
rename to Nitrox.Model/Packets/SubRootChanged.cs
index 58997e2e6..7705efdbe 100644
--- a/NitroxModel/Packets/SubRootChanged.cs
+++ b/Nitrox.Model/Packets/SubRootChanged.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Util;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class SubRootChanged : Packet
diff --git a/NitroxModel/Packets/TimeChange.cs b/Nitrox.Model/Packets/TimeChange.cs
similarity index 96%
rename from NitroxModel/Packets/TimeChange.cs
rename to Nitrox.Model/Packets/TimeChange.cs
index c83b6c7d9..02847b6df 100644
--- a/NitroxModel/Packets/TimeChange.cs
+++ b/Nitrox.Model/Packets/TimeChange.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class TimeChange : Packet
diff --git a/NitroxModel/Packets/ToggleLights.cs b/Nitrox.Model/Packets/ToggleLights.cs
similarity index 80%
rename from NitroxModel/Packets/ToggleLights.cs
rename to Nitrox.Model/Packets/ToggleLights.cs
index 76edaf5bb..44e7f547f 100644
--- a/NitroxModel/Packets/ToggleLights.cs
+++ b/Nitrox.Model/Packets/ToggleLights.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class ToggleLights : Packet
diff --git a/NitroxModel/Packets/TorpedoHit.cs b/Nitrox.Model/Packets/TorpedoHit.cs
similarity index 78%
rename from NitroxModel/Packets/TorpedoHit.cs
rename to Nitrox.Model/Packets/TorpedoHit.cs
index 12c44fc84..92a2068c0 100644
--- a/NitroxModel/Packets/TorpedoHit.cs
+++ b/Nitrox.Model/Packets/TorpedoHit.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class TorpedoHit : Packet
diff --git a/NitroxModel/Packets/TorpedoShot.cs b/Nitrox.Model/Packets/TorpedoShot.cs
similarity index 80%
rename from NitroxModel/Packets/TorpedoShot.cs
rename to Nitrox.Model/Packets/TorpedoShot.cs
index aaa99692b..84e9fb901 100644
--- a/NitroxModel/Packets/TorpedoShot.cs
+++ b/Nitrox.Model/Packets/TorpedoShot.cs
@@ -1,9 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class TorpedoShot : Packet
diff --git a/NitroxModel/Packets/TorpedoTargetAcquired.cs b/Nitrox.Model/Packets/TorpedoTargetAcquired.cs
similarity index 82%
rename from NitroxModel/Packets/TorpedoTargetAcquired.cs
rename to Nitrox.Model/Packets/TorpedoTargetAcquired.cs
index bba38f6bd..22314a636 100644
--- a/NitroxModel/Packets/TorpedoTargetAcquired.cs
+++ b/Nitrox.Model/Packets/TorpedoTargetAcquired.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class TorpedoTargetAcquired : Packet
diff --git a/NitroxModel/Packets/UpdateBase.cs b/Nitrox.Model/Packets/UpdateBase.cs
similarity index 90%
rename from NitroxModel/Packets/UpdateBase.cs
rename to Nitrox.Model/Packets/UpdateBase.cs
index 5b3281f1b..9f22391a8 100644
--- a/NitroxModel/Packets/UpdateBase.cs
+++ b/Nitrox.Model/Packets/UpdateBase.cs
@@ -1,10 +1,10 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.GameLogic.Bases;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures.GameLogic.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public sealed class UpdateBase : OrderedBuildPacket
diff --git a/NitroxModel/Packets/UpdateDisplaySurfaceWater.cs b/Nitrox.Model/Packets/UpdateDisplaySurfaceWater.cs
similarity index 88%
rename from NitroxModel/Packets/UpdateDisplaySurfaceWater.cs
rename to Nitrox.Model/Packets/UpdateDisplaySurfaceWater.cs
index 05b79bc26..6dd51a8bc 100644
--- a/NitroxModel/Packets/UpdateDisplaySurfaceWater.cs
+++ b/Nitrox.Model/Packets/UpdateDisplaySurfaceWater.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class UpdateDisplaySurfaceWater : Packet
diff --git a/NitroxModel/Packets/UpdateInPrecursor.cs b/Nitrox.Model/Packets/UpdateInPrecursor.cs
similarity index 86%
rename from NitroxModel/Packets/UpdateInPrecursor.cs
rename to Nitrox.Model/Packets/UpdateInPrecursor.cs
index c02a08671..ea10fa974 100644
--- a/NitroxModel/Packets/UpdateInPrecursor.cs
+++ b/Nitrox.Model/Packets/UpdateInPrecursor.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class UpdateInPrecursor : Packet
diff --git a/NitroxModel/Packets/VehicleDocking.cs b/Nitrox.Model/Packets/VehicleDocking.cs
similarity index 84%
rename from NitroxModel/Packets/VehicleDocking.cs
rename to Nitrox.Model/Packets/VehicleDocking.cs
index 3757aa483..88499fe1a 100644
--- a/NitroxModel/Packets/VehicleDocking.cs
+++ b/Nitrox.Model/Packets/VehicleDocking.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class VehicleDocking : Packet
diff --git a/NitroxModel/Packets/VehicleMovements.cs b/Nitrox.Model/Packets/VehicleMovements.cs
similarity index 87%
rename from NitroxModel/Packets/VehicleMovements.cs
rename to Nitrox.Model/Packets/VehicleMovements.cs
index 60331d273..4bc211803 100644
--- a/NitroxModel/Packets/VehicleMovements.cs
+++ b/Nitrox.Model/Packets/VehicleMovements.cs
@@ -1,10 +1,10 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.Networking;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Networking;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class VehicleMovements : Packet
diff --git a/NitroxModel/Packets/VehicleOnPilotModeChanged.cs b/Nitrox.Model/Packets/VehicleOnPilotModeChanged.cs
similarity index 85%
rename from NitroxModel/Packets/VehicleOnPilotModeChanged.cs
rename to Nitrox.Model/Packets/VehicleOnPilotModeChanged.cs
index 07ba472d4..f95a863b6 100644
--- a/NitroxModel/Packets/VehicleOnPilotModeChanged.cs
+++ b/Nitrox.Model/Packets/VehicleOnPilotModeChanged.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class VehicleOnPilotModeChanged : Packet
diff --git a/NitroxModel/Packets/VehicleUndocking.cs b/Nitrox.Model/Packets/VehicleUndocking.cs
similarity index 87%
rename from NitroxModel/Packets/VehicleUndocking.cs
rename to Nitrox.Model/Packets/VehicleUndocking.cs
index e73740e3b..6811fc614 100644
--- a/NitroxModel/Packets/VehicleUndocking.cs
+++ b/Nitrox.Model/Packets/VehicleUndocking.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public class VehicleUndocking : Packet
diff --git a/NitroxModel/Packets/WaterParkDeconstructed.cs b/Nitrox.Model/Packets/WaterParkDeconstructed.cs
similarity index 81%
rename from NitroxModel/Packets/WaterParkDeconstructed.cs
rename to Nitrox.Model/Packets/WaterParkDeconstructed.cs
index 066ee3fa0..440eaac37 100644
--- a/NitroxModel/Packets/WaterParkDeconstructed.cs
+++ b/Nitrox.Model/Packets/WaterParkDeconstructed.cs
@@ -1,10 +1,10 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Bases;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic.Bases;
+using Nitrox.Model.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Packets;
[Serializable]
public sealed class WaterParkDeconstructed : PieceDeconstructed
diff --git a/NitroxModel/Packets/WeldAction.cs b/Nitrox.Model/Packets/WeldAction.cs
similarity index 82%
rename from NitroxModel/Packets/WeldAction.cs
rename to Nitrox.Model/Packets/WeldAction.cs
index b4e638147..a66523a82 100644
--- a/NitroxModel/Packets/WeldAction.cs
+++ b/Nitrox.Model/Packets/WeldAction.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Packets
{
[Serializable]
public class WeldAction : Packet
diff --git a/NitroxModel/Platforms/OS/MacOS/MacFileSystem.cs b/Nitrox.Model/Platforms/OS/MacOS/MacFileSystem.cs
similarity index 80%
rename from NitroxModel/Platforms/OS/MacOS/MacFileSystem.cs
rename to Nitrox.Model/Platforms/OS/MacOS/MacFileSystem.cs
index 3d6885e09..44c155996 100644
--- a/NitroxModel/Platforms/OS/MacOS/MacFileSystem.cs
+++ b/Nitrox.Model/Platforms/OS/MacOS/MacFileSystem.cs
@@ -1,7 +1,7 @@
using System.Collections.Generic;
-using NitroxModel.Platforms.OS.Shared;
+using Nitrox.Model.Platforms.OS.Shared;
-namespace NitroxModel.Platforms.OS.MacOS;
+namespace Nitrox.Model.Platforms.OS.MacOS;
public sealed class MacFileSystem : FileSystem
{
diff --git a/NitroxModel/Platforms/OS/Shared/ConfigFileKeyValueStore.cs b/Nitrox.Model/Platforms/OS/Shared/ConfigFileKeyValueStore.cs
similarity index 98%
rename from NitroxModel/Platforms/OS/Shared/ConfigFileKeyValueStore.cs
rename to Nitrox.Model/Platforms/OS/Shared/ConfigFileKeyValueStore.cs
index b2f1b8edd..62584cad2 100644
--- a/NitroxModel/Platforms/OS/Shared/ConfigFileKeyValueStore.cs
+++ b/Nitrox.Model/Platforms/OS/Shared/ConfigFileKeyValueStore.cs
@@ -2,9 +2,9 @@
using System.Collections.Generic;
using System.IO;
using System.Text.Json;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
-namespace NitroxModel.Platforms.OS.Shared;
+namespace Nitrox.Model.Platforms.OS.Shared;
public class ConfigFileKeyValueStore : IKeyValueStore
{
diff --git a/NitroxModel/Platforms/OS/Shared/FileSystem.cs b/Nitrox.Model/Platforms/OS/Shared/FileSystem.cs
similarity index 98%
rename from NitroxModel/Platforms/OS/Shared/FileSystem.cs
rename to Nitrox.Model/Platforms/OS/Shared/FileSystem.cs
index 7cee47d5b..502311181 100644
--- a/NitroxModel/Platforms/OS/Shared/FileSystem.cs
+++ b/Nitrox.Model/Platforms/OS/Shared/FileSystem.cs
@@ -6,11 +6,11 @@
using System.Linq;
using System.Runtime.InteropServices;
using System.Threading;
-using NitroxModel.Platforms.OS.MacOS;
-using NitroxModel.Platforms.OS.Unix;
-using NitroxModel.Platforms.OS.Windows;
+using Nitrox.Model.Platforms.OS.MacOS;
+using Nitrox.Model.Platforms.OS.Unix;
+using Nitrox.Model.Platforms.OS.Windows;
-namespace NitroxModel.Platforms.OS.Shared;
+namespace Nitrox.Model.Platforms.OS.Shared;
public abstract class FileSystem
{
diff --git a/NitroxModel/Platforms/OS/Shared/ProcessEx.cs b/Nitrox.Model/Platforms/OS/Shared/ProcessEx.cs
similarity index 99%
rename from NitroxModel/Platforms/OS/Shared/ProcessEx.cs
rename to Nitrox.Model/Platforms/OS/Shared/ProcessEx.cs
index 3aa620fa3..29891ce69 100644
--- a/NitroxModel/Platforms/OS/Shared/ProcessEx.cs
+++ b/Nitrox.Model/Platforms/OS/Shared/ProcessEx.cs
@@ -9,7 +9,7 @@
using System.Security.Principal;
using System.Text;
-namespace NitroxModel.Platforms.OS.Shared;
+namespace Nitrox.Model.Platforms.OS.Shared;
public class ProcessEx : IDisposable
{
diff --git a/NitroxModel/Platforms/OS/Unix/UnixFileSystem.cs b/Nitrox.Model/Platforms/OS/Unix/UnixFileSystem.cs
similarity index 80%
rename from NitroxModel/Platforms/OS/Unix/UnixFileSystem.cs
rename to Nitrox.Model/Platforms/OS/Unix/UnixFileSystem.cs
index bbf91157f..7c5d7fb56 100644
--- a/NitroxModel/Platforms/OS/Unix/UnixFileSystem.cs
+++ b/Nitrox.Model/Platforms/OS/Unix/UnixFileSystem.cs
@@ -1,7 +1,7 @@
using System.Collections.Generic;
-using NitroxModel.Platforms.OS.Shared;
+using Nitrox.Model.Platforms.OS.Shared;
-namespace NitroxModel.Platforms.OS.Unix;
+namespace Nitrox.Model.Platforms.OS.Unix;
public sealed class UnixFileSystem : FileSystem
{
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/CoffFileHeader.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/CoffFileHeader.cs
similarity index 92%
rename from NitroxModel/Platforms/OS/Windows/Internal/CoffFileHeader.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/CoffFileHeader.cs
index add725d15..d70db3a39 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/CoffFileHeader.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/CoffFileHeader.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
///
/// See:
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/ImageDosHeader.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/ImageDosHeader.cs
similarity index 97%
rename from NitroxModel/Platforms/OS/Windows/Internal/ImageDosHeader.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/ImageDosHeader.cs
index f60cd9fb1..16683e28c 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/ImageDosHeader.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/ImageDosHeader.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
[StructLayout(LayoutKind.Sequential)]
public struct ImageDosHeader
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/ImageExportDirectory.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/ImageExportDirectory.cs
similarity index 95%
rename from NitroxModel/Platforms/OS/Windows/Internal/ImageExportDirectory.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/ImageExportDirectory.cs
index 3fe47133e..b8fa04c38 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/ImageExportDirectory.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/ImageExportDirectory.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
[StructLayout(LayoutKind.Sequential)]
public struct ImageExportDirectory
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/ImageNtHeader64.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/ImageNtHeader64.cs
similarity index 92%
rename from NitroxModel/Platforms/OS/Windows/Internal/ImageNtHeader64.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/ImageNtHeader64.cs
index c3cb8846f..1131ef908 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/ImageNtHeader64.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/ImageNtHeader64.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
///
/// See: https://www.vergiliusproject.com/kernels/x64/Windows%2010%20|%202016/2009%2020H2%20(October%202020%20Update)/_IMAGE_NT_HEADERS64
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/LdrData.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/LdrData.cs
similarity index 91%
rename from NitroxModel/Platforms/OS/Windows/Internal/LdrData.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/LdrData.cs
index 2d3cca3ff..787fe1d3a 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/LdrData.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/LdrData.cs
@@ -1,7 +1,7 @@
using System;
using System.Runtime.InteropServices;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
[StructLayout(LayoutKind.Explicit)]
public struct LdrData
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/MachineType.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/MachineType.cs
similarity index 90%
rename from NitroxModel/Platforms/OS/Windows/Internal/MachineType.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/MachineType.cs
index ec764385b..810439c95 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/MachineType.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/MachineType.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
///
/// See: MSDN
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/ModuleEntry32.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/ModuleEntry32.cs
similarity index 92%
rename from NitroxModel/Platforms/OS/Windows/Internal/ModuleEntry32.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/ModuleEntry32.cs
index 18b86fcef..fdbcd08ce 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/ModuleEntry32.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/ModuleEntry32.cs
@@ -1,7 +1,7 @@
using System;
using System.Runtime.InteropServices;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct ModuleEntry32
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/NtStatus.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/NtStatus.cs
similarity index 99%
rename from NitroxModel/Platforms/OS/Windows/Internal/NtStatus.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/NtStatus.cs
index 0a3427f6b..4515c3f69 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/NtStatus.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/NtStatus.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
public enum NtStatus : uint
{
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/OptionalHeader64.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/OptionalHeader64.cs
similarity index 98%
rename from NitroxModel/Platforms/OS/Windows/Internal/OptionalHeader64.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/OptionalHeader64.cs
index 6cfdd4508..38dfaceb7 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/OptionalHeader64.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/OptionalHeader64.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
///
/// Structs from (copy paste url in browser to visit):
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/ProcessAccessFlags.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/ProcessAccessFlags.cs
similarity index 91%
rename from NitroxModel/Platforms/OS/Windows/Internal/ProcessAccessFlags.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/ProcessAccessFlags.cs
index b2df9b134..1cd08ec4c 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/ProcessAccessFlags.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/ProcessAccessFlags.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
[Flags]
public enum ProcessAccessFlags : uint
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/ProcessBasicInformation.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/ProcessBasicInformation.cs
similarity index 88%
rename from NitroxModel/Platforms/OS/Windows/Internal/ProcessBasicInformation.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/ProcessBasicInformation.cs
index 36f26c71b..15843aea4 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/ProcessBasicInformation.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/ProcessBasicInformation.cs
@@ -1,7 +1,7 @@
using System;
using System.Runtime.InteropServices;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct ProcessBasicInformation
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/ProcessCreationFlags.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/ProcessCreationFlags.cs
similarity index 94%
rename from NitroxModel/Platforms/OS/Windows/Internal/ProcessCreationFlags.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/ProcessCreationFlags.cs
index fdfdd9b9f..482151195 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/ProcessCreationFlags.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/ProcessCreationFlags.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
[Flags]
public enum ProcessCreationFlags : uint
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/ProcessEnvironmentBlock64.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/ProcessEnvironmentBlock64.cs
similarity index 94%
rename from NitroxModel/Platforms/OS/Windows/Internal/ProcessEnvironmentBlock64.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/ProcessEnvironmentBlock64.cs
index 8e66b8c09..37bf27b4b 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/ProcessEnvironmentBlock64.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/ProcessEnvironmentBlock64.cs
@@ -1,7 +1,7 @@
using System;
using System.Runtime.InteropServices;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
///
/// PEB structure in a used by Windows in 64-bit processes.
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/ProcessInfo.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/ProcessInfo.cs
similarity index 84%
rename from NitroxModel/Platforms/OS/Windows/Internal/ProcessInfo.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/ProcessInfo.cs
index a8ce90c9a..d79ea5f7f 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/ProcessInfo.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/ProcessInfo.cs
@@ -1,7 +1,7 @@
using System;
using System.Runtime.InteropServices;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct ProcessInfo
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/ProcessThreadEnums.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/ProcessThreadEnums.cs
similarity index 100%
rename from NitroxModel/Platforms/OS/Windows/Internal/ProcessThreadEnums.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/ProcessThreadEnums.cs
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/SecurityAttributes.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/SecurityAttributes.cs
similarity index 84%
rename from NitroxModel/Platforms/OS/Windows/Internal/SecurityAttributes.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/SecurityAttributes.cs
index 7d52e67c5..fab4c30ec 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/SecurityAttributes.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/SecurityAttributes.cs
@@ -1,7 +1,7 @@
using System;
using System.Runtime.InteropServices;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct SecurityAttributes
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/SnapshotFlags.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/SnapshotFlags.cs
similarity index 85%
rename from NitroxModel/Platforms/OS/Windows/Internal/SnapshotFlags.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/SnapshotFlags.cs
index 56a394453..c543bfbe5 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/SnapshotFlags.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/SnapshotFlags.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
[Flags]
public enum SnapshotFlags : uint
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/StartupInfo.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/StartupInfo.cs
similarity index 93%
rename from NitroxModel/Platforms/OS/Windows/Internal/StartupInfo.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/StartupInfo.cs
index f2a1367ea..82062980a 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/StartupInfo.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/StartupInfo.cs
@@ -1,7 +1,7 @@
using System;
using System.Runtime.InteropServices;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct StartupInfo
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/ThreadAccess.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/ThreadAccess.cs
similarity index 87%
rename from NitroxModel/Platforms/OS/Windows/Internal/ThreadAccess.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/ThreadAccess.cs
index 19d36ddb1..2e958b14c 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/ThreadAccess.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/ThreadAccess.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.Platforms.OS.Windows.Internal
+namespace Nitrox.Model.Platforms.OS.Windows.Internal
{
[Flags]
public enum ThreadAccess
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/Win32Native.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/Win32Native.cs
similarity index 99%
rename from NitroxModel/Platforms/OS/Windows/Internal/Win32Native.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/Win32Native.cs
index 934ac433e..9f2456395 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/Win32Native.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/Win32Native.cs
@@ -2,7 +2,7 @@
using System.Runtime.InteropServices;
using System.Text;
-namespace NitroxModel.Platforms.OS.Windows.Internal;
+namespace Nitrox.Model.Platforms.OS.Windows.Internal;
internal static class Win32Native
{
diff --git a/NitroxModel/Platforms/OS/Windows/RegistryEx.cs b/Nitrox.Model/Platforms/OS/Windows/RegistryEx.cs
similarity index 99%
rename from NitroxModel/Platforms/OS/Windows/RegistryEx.cs
rename to Nitrox.Model/Platforms/OS/Windows/RegistryEx.cs
index a04ec8b6f..71acb41ef 100644
--- a/NitroxModel/Platforms/OS/Windows/RegistryEx.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/RegistryEx.cs
@@ -5,7 +5,7 @@
using System.Threading.Tasks;
using Microsoft.Win32;
-namespace NitroxModel.Platforms.OS.Windows;
+namespace Nitrox.Model.Platforms.OS.Windows;
#if NET5_0_OR_GREATER
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
diff --git a/NitroxModel/Platforms/OS/Windows/RegistryKeyValueStore.cs b/Nitrox.Model/Platforms/OS/Windows/RegistryKeyValueStore.cs
similarity index 91%
rename from NitroxModel/Platforms/OS/Windows/RegistryKeyValueStore.cs
rename to Nitrox.Model/Platforms/OS/Windows/RegistryKeyValueStore.cs
index 75c04ba14..4ef10f11f 100644
--- a/NitroxModel/Platforms/OS/Windows/RegistryKeyValueStore.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/RegistryKeyValueStore.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
-namespace NitroxModel.Platforms.OS.Windows;
+namespace Nitrox.Model.Platforms.OS.Windows;
#if NET5_0_OR_GREATER
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
diff --git a/NitroxModel/Platforms/OS/Windows/WinFileSystem.cs b/Nitrox.Model/Platforms/OS/Windows/WinFileSystem.cs
similarity index 96%
rename from NitroxModel/Platforms/OS/Windows/WinFileSystem.cs
rename to Nitrox.Model/Platforms/OS/Windows/WinFileSystem.cs
index 4e9172908..344bce166 100644
--- a/NitroxModel/Platforms/OS/Windows/WinFileSystem.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/WinFileSystem.cs
@@ -4,10 +4,10 @@
using System.Security.AccessControl;
using System.Security.Principal;
using Microsoft.Win32;
-using NitroxModel.Platforms.OS.Shared;
-using NitroxModel.Platforms.OS.Windows.Internal;
+using Nitrox.Model.Platforms.OS.Shared;
+using Nitrox.Model.Platforms.OS.Windows.Internal;
-namespace NitroxModel.Platforms.OS.Windows;
+namespace Nitrox.Model.Platforms.OS.Windows;
#if NET5_0_OR_GREATER
diff --git a/NitroxModel/Platforms/OS/Windows/WindowsApi.cs b/Nitrox.Model/Platforms/OS/Windows/WindowsApi.cs
similarity index 80%
rename from NitroxModel/Platforms/OS/Windows/WindowsApi.cs
rename to Nitrox.Model/Platforms/OS/Windows/WindowsApi.cs
index 7a4578dd4..459729a0c 100644
--- a/NitroxModel/Platforms/OS/Windows/WindowsApi.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/WindowsApi.cs
@@ -1,8 +1,9 @@
using System;
using System.Runtime.InteropServices;
-using static NitroxModel.Platforms.OS.Windows.Internal.Win32Native;
+using Nitrox.Model.Platforms.OS.Windows.Internal;
+using static Nitrox.Model.Platforms.OS.Windows.Internal.Win32Native;
-namespace NitroxModel.Platforms.OS.Windows;
+namespace Nitrox.Model.Platforms.OS.Windows;
public class WindowsApi
{
@@ -19,10 +20,10 @@ public static void EnableDefaultWindowAnimations(nint windowHandle, bool canResi
return;
}
- WS dwNewLong = WS.WS_CAPTION | WS.WS_CLIPCHILDREN | WS.WS_MINIMIZEBOX | WS.WS_MAXIMIZEBOX | WS.WS_SYSMENU;
+ Win32Native.WS dwNewLong = Win32Native.WS.WS_CAPTION | Win32Native.WS.WS_CLIPCHILDREN | Win32Native.WS.WS_MINIMIZEBOX | Win32Native.WS.WS_MAXIMIZEBOX | Win32Native.WS.WS_SYSMENU;
if (canResize)
{
- dwNewLong |= WS.WS_SIZEBOX;
+ dwNewLong |= Win32Native.WS.WS_SIZEBOX;
}
HandleRef handle = new(null, windowHandle);
diff --git a/NitroxModel/Platforms/Store/Discord.cs b/Nitrox.Model/Platforms/Store/Discord.cs
similarity index 83%
rename from NitroxModel/Platforms/Store/Discord.cs
rename to Nitrox.Model/Platforms/Store/Discord.cs
index 123671d9b..e67637754 100644
--- a/NitroxModel/Platforms/Store/Discord.cs
+++ b/Nitrox.Model/Platforms/Store/Discord.cs
@@ -1,12 +1,12 @@
using System;
using System.IO;
using System.Threading.Tasks;
-using NitroxModel.Discovery.Models;
-using NitroxModel.Helper;
-using NitroxModel.Platforms.OS.Shared;
-using NitroxModel.Platforms.Store.Interfaces;
+using Nitrox.Model.Discovery.Models;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Platforms.OS.Shared;
+using Nitrox.Model.Platforms.Store.Interfaces;
-namespace NitroxModel.Platforms.Store;
+namespace Nitrox.Model.Platforms.Store;
public sealed class Discord : IGamePlatform
{
diff --git a/NitroxModel/Platforms/Store/EpicGames.cs b/Nitrox.Model/Platforms/Store/EpicGames.cs
similarity index 87%
rename from NitroxModel/Platforms/Store/EpicGames.cs
rename to Nitrox.Model/Platforms/Store/EpicGames.cs
index 254d04e65..9aca19a31 100644
--- a/NitroxModel/Platforms/Store/EpicGames.cs
+++ b/Nitrox.Model/Platforms/Store/EpicGames.cs
@@ -1,12 +1,12 @@
using System;
using System.IO;
using System.Threading.Tasks;
-using NitroxModel.Discovery.Models;
-using NitroxModel.Helper;
-using NitroxModel.Platforms.OS.Shared;
-using NitroxModel.Platforms.Store.Interfaces;
+using Nitrox.Model.Discovery.Models;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Platforms.OS.Shared;
+using Nitrox.Model.Platforms.Store.Interfaces;
-namespace NitroxModel.Platforms.Store;
+namespace Nitrox.Model.Platforms.Store;
public sealed class EpicGames : IGamePlatform
{
diff --git a/NitroxModel/Platforms/Store/Exceptions/GamePlatformException.cs b/Nitrox.Model/Platforms/Store/Exceptions/GamePlatformException.cs
similarity index 83%
rename from NitroxModel/Platforms/Store/Exceptions/GamePlatformException.cs
rename to Nitrox.Model/Platforms/Store/Exceptions/GamePlatformException.cs
index 9b64c0417..8e31840be 100644
--- a/NitroxModel/Platforms/Store/Exceptions/GamePlatformException.cs
+++ b/Nitrox.Model/Platforms/Store/Exceptions/GamePlatformException.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.Platforms.Store.Interfaces;
+using Nitrox.Model.Platforms.Store.Interfaces;
-namespace NitroxModel.Platforms.Store.Exceptions;
+namespace Nitrox.Model.Platforms.Store.Exceptions;
///
/// Exception to be thrown when an issue with a game store occurs.
diff --git a/NitroxModel/Platforms/Store/GamePlatforms.cs b/Nitrox.Model/Platforms/Store/GamePlatforms.cs
similarity index 86%
rename from NitroxModel/Platforms/Store/GamePlatforms.cs
rename to Nitrox.Model/Platforms/Store/GamePlatforms.cs
index e2b63cf6c..4a570295e 100644
--- a/NitroxModel/Platforms/Store/GamePlatforms.cs
+++ b/Nitrox.Model/Platforms/Store/GamePlatforms.cs
@@ -1,7 +1,7 @@
using System.IO;
-using NitroxModel.Platforms.Store.Interfaces;
+using Nitrox.Model.Platforms.Store.Interfaces;
-namespace NitroxModel.Platforms.Store;
+namespace Nitrox.Model.Platforms.Store;
public static class GamePlatforms
{
diff --git a/NitroxModel/Platforms/Store/Interfaces/IGamePlatform.cs b/Nitrox.Model/Platforms/Store/Interfaces/IGamePlatform.cs
similarity index 88%
rename from NitroxModel/Platforms/Store/Interfaces/IGamePlatform.cs
rename to Nitrox.Model/Platforms/Store/Interfaces/IGamePlatform.cs
index 762151231..b22d55dd0 100644
--- a/NitroxModel/Platforms/Store/Interfaces/IGamePlatform.cs
+++ b/Nitrox.Model/Platforms/Store/Interfaces/IGamePlatform.cs
@@ -1,8 +1,8 @@
using System.Threading.Tasks;
-using NitroxModel.Discovery.Models;
-using NitroxModel.Platforms.OS.Shared;
+using Nitrox.Model.Discovery.Models;
+using Nitrox.Model.Platforms.OS.Shared;
-namespace NitroxModel.Platforms.Store.Interfaces;
+namespace Nitrox.Model.Platforms.Store.Interfaces;
public interface IGamePlatform
{
diff --git a/NitroxModel/Platforms/Store/MSStore.cs b/Nitrox.Model/Platforms/Store/MSStore.cs
similarity index 87%
rename from NitroxModel/Platforms/Store/MSStore.cs
rename to Nitrox.Model/Platforms/Store/MSStore.cs
index 9008bfd52..694b14414 100644
--- a/NitroxModel/Platforms/Store/MSStore.cs
+++ b/Nitrox.Model/Platforms/Store/MSStore.cs
@@ -1,12 +1,12 @@
using System;
using System.IO;
using System.Threading.Tasks;
-using NitroxModel.Discovery.Models;
-using NitroxModel.Helper;
-using NitroxModel.Platforms.OS.Shared;
-using NitroxModel.Platforms.Store.Interfaces;
+using Nitrox.Model.Discovery.Models;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Platforms.OS.Shared;
+using Nitrox.Model.Platforms.Store.Interfaces;
-namespace NitroxModel.Platforms.Store;
+namespace Nitrox.Model.Platforms.Store;
public sealed class MSStore : IGamePlatform
{
diff --git a/NitroxModel/Platforms/Store/Steam.cs b/Nitrox.Model/Platforms/Store/Steam.cs
similarity index 98%
rename from NitroxModel/Platforms/Store/Steam.cs
rename to Nitrox.Model/Platforms/Store/Steam.cs
index d1d57f9ad..716a2f5d5 100644
--- a/NitroxModel/Platforms/Store/Steam.cs
+++ b/Nitrox.Model/Platforms/Store/Steam.cs
@@ -6,14 +6,14 @@
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
-using NitroxModel.Discovery.Models;
-using NitroxModel.Helper;
-using NitroxModel.Platforms.OS.Shared;
-using NitroxModel.Platforms.OS.Windows;
-using NitroxModel.Platforms.Store.Exceptions;
-using NitroxModel.Platforms.Store.Interfaces;
-
-namespace NitroxModel.Platforms.Store;
+using Nitrox.Model.Discovery.Models;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Platforms.OS.Shared;
+using Nitrox.Model.Platforms.OS.Windows;
+using Nitrox.Model.Platforms.Store.Exceptions;
+using Nitrox.Model.Platforms.Store.Interfaces;
+
+namespace Nitrox.Model.Platforms.Store;
public sealed class Steam : IGamePlatform
{
diff --git a/NitroxModel/Properties/AssemblyInfo.cs b/Nitrox.Model/Properties/AssemblyInfo.cs
similarity index 100%
rename from NitroxModel/Properties/AssemblyInfo.cs
rename to Nitrox.Model/Properties/AssemblyInfo.cs
diff --git a/NitroxModel/Serialization/IProperties.cs b/Nitrox.Model/Serialization/IProperties.cs
similarity index 93%
rename from NitroxModel/Serialization/IProperties.cs
rename to Nitrox.Model/Serialization/IProperties.cs
index 9427d0178..5feca3be2 100644
--- a/NitroxModel/Serialization/IProperties.cs
+++ b/Nitrox.Model/Serialization/IProperties.cs
@@ -1,7 +1,7 @@
using System;
using System.ComponentModel;
-namespace NitroxModel.Serialization;
+namespace Nitrox.Model.Serialization;
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Class, Inherited = false)]
public sealed class PropertyDescriptionAttribute : DescriptionAttribute
diff --git a/NitroxModel/Serialization/NitroxConfig.cs b/Nitrox.Model/Serialization/NitroxConfig.cs
similarity index 99%
rename from NitroxModel/Serialization/NitroxConfig.cs
rename to Nitrox.Model/Serialization/NitroxConfig.cs
index 81601161b..a8bfd7318 100644
--- a/NitroxModel/Serialization/NitroxConfig.cs
+++ b/Nitrox.Model/Serialization/NitroxConfig.cs
@@ -7,7 +7,7 @@
using System.Reflection;
using System.Text;
-namespace NitroxModel.Serialization;
+namespace Nitrox.Model.Serialization;
public abstract class NitroxConfig where T : NitroxConfig, new()
{
diff --git a/NitroxModel/Serialization/ServerList.cs b/Nitrox.Model/Serialization/ServerList.cs
similarity index 98%
rename from NitroxModel/Serialization/ServerList.cs
rename to Nitrox.Model/Serialization/ServerList.cs
index 160fa0f57..cf066d494 100644
--- a/NitroxModel/Serialization/ServerList.cs
+++ b/Nitrox.Model/Serialization/ServerList.cs
@@ -3,9 +3,9 @@
using System.IO;
using System.Linq;
using System.Net;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
-namespace NitroxModel.Serialization;
+namespace Nitrox.Model.Serialization;
public class ServerList
{
diff --git a/NitroxModel/Serialization/SubnauticaServerConfig.cs b/Nitrox.Model/Serialization/SubnauticaServerConfig.cs
similarity index 97%
rename from NitroxModel/Serialization/SubnauticaServerConfig.cs
rename to Nitrox.Model/Serialization/SubnauticaServerConfig.cs
index 0f58cf8f5..0f9ee7246 100644
--- a/NitroxModel/Serialization/SubnauticaServerConfig.cs
+++ b/Nitrox.Model/Serialization/SubnauticaServerConfig.cs
@@ -1,8 +1,8 @@
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Helper;
-using NitroxModel.Server;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Server;
-namespace NitroxModel.Serialization
+namespace Nitrox.Model.Serialization
{
[PropertyDescription("Server settings can be changed here")]
public class SubnauticaServerConfig : NitroxConfig
diff --git a/NitroxModel/Server/NitroxGameMode.cs b/Nitrox.Model/Server/NitroxGameMode.cs
similarity index 86%
rename from NitroxModel/Server/NitroxGameMode.cs
rename to Nitrox.Model/Server/NitroxGameMode.cs
index 525fbd8a5..62f194c31 100644
--- a/NitroxModel/Server/NitroxGameMode.cs
+++ b/Nitrox.Model/Server/NitroxGameMode.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.Server;
+namespace Nitrox.Model.Server;
///
/// GameModes according to Subnautica's enum GameModeOption
diff --git a/NitroxModel/Server/ServerSerializerMode.cs b/Nitrox.Model/Server/ServerSerializerMode.cs
similarity index 71%
rename from NitroxModel/Server/ServerSerializerMode.cs
rename to Nitrox.Model/Server/ServerSerializerMode.cs
index 9c472a44f..020d10a55 100644
--- a/NitroxModel/Server/ServerSerializerMode.cs
+++ b/Nitrox.Model/Server/ServerSerializerMode.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.Server
+namespace Nitrox.Model.Server
{
public enum ServerSerializerMode
{
diff --git a/Nitrox.Server.Subnautica/AppMutex.cs b/Nitrox.Server.Subnautica/AppMutex.cs
index 5893d5f02..e3ca95bb2 100644
--- a/Nitrox.Server.Subnautica/AppMutex.cs
+++ b/Nitrox.Server.Subnautica/AppMutex.cs
@@ -3,6 +3,7 @@
namespace Nitrox.Server.Subnautica;
+// TODO: Convert to .NET HostedService when using MSDI.
public static class AppMutex
{
private static readonly SemaphoreSlim mutexReleaseGate = new(1);
diff --git a/Nitrox.Server.Subnautica/GlobalUsings.cs b/Nitrox.Server.Subnautica/GlobalUsings.cs
index 06cb4063b..68e42cd20 100644
--- a/Nitrox.Server.Subnautica/GlobalUsings.cs
+++ b/Nitrox.Server.Subnautica/GlobalUsings.cs
@@ -1,2 +1,5 @@
-global using NitroxModel.Logger;
-global using NitroxModel.Extensions;
+global using System.Threading.Tasks;
+global using Nitrox.Model;
+global using Nitrox.Model.Logger;
+global using Nitrox.Model.Helper;
+global using Nitrox.Model.Extensions;
diff --git a/NitroxServer/ConsoleCommands/Abstract/CallArgs.cs b/Nitrox.Server.Subnautica/Models/Commands/Abstract/CallArgs.cs
similarity index 94%
rename from NitroxServer/ConsoleCommands/Abstract/CallArgs.cs
rename to Nitrox.Server.Subnautica/Models/Commands/Abstract/CallArgs.cs
index 26c06d122..804a5f4d8 100644
--- a/NitroxServer/ConsoleCommands/Abstract/CallArgs.cs
+++ b/Nitrox.Server.Subnautica/Models/Commands/Abstract/CallArgs.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures.Util;
-namespace NitroxServer.ConsoleCommands.Abstract
+namespace Nitrox.Server.Subnautica.Models.Commands.Abstract
{
public abstract partial class Command
{
diff --git a/NitroxServer/ConsoleCommands/Abstract/Command.cs b/Nitrox.Server.Subnautica/Models/Commands/Abstract/Command.cs
similarity index 94%
rename from NitroxServer/ConsoleCommands/Abstract/Command.cs
rename to Nitrox.Server.Subnautica/Models/Commands/Abstract/Command.cs
index 64ee2b9f5..220339010 100644
--- a/NitroxServer/ConsoleCommands/Abstract/Command.cs
+++ b/Nitrox.Server.Subnautica/Models/Commands/Abstract/Command.cs
@@ -2,14 +2,13 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
-using NitroxModel.Core;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
-using NitroxServer.GameLogic;
-
-namespace NitroxServer.ConsoleCommands.Abstract
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures.Util;
+using Nitrox.Model.Packets;
+using Nitrox.Server.Subnautica.Models.GameLogic;
+
+namespace Nitrox.Server.Subnautica.Models.Commands.Abstract
{
public abstract partial class Command
{
diff --git a/NitroxServer/ConsoleCommands/Abstract/Parameter.cs b/Nitrox.Server.Subnautica/Models/Commands/Abstract/Parameter.cs
similarity index 92%
rename from NitroxServer/ConsoleCommands/Abstract/Parameter.cs
rename to Nitrox.Server.Subnautica/Models/Commands/Abstract/Parameter.cs
index 85a145938..eb2e6b6db 100644
--- a/NitroxServer/ConsoleCommands/Abstract/Parameter.cs
+++ b/Nitrox.Server.Subnautica/Models/Commands/Abstract/Parameter.cs
@@ -1,6 +1,4 @@
-using NitroxModel.Helper;
-
-namespace NitroxServer.ConsoleCommands.Abstract
+namespace Nitrox.Server.Subnautica.Models.Commands.Abstract
{
public abstract class Parameter : IParameter
{
diff --git a/NitroxServer/ConsoleCommands/Abstract/Type/TypeBoolean.cs b/Nitrox.Server.Subnautica/Models/Commands/Abstract/Type/TypeBoolean.cs
similarity index 93%
rename from NitroxServer/ConsoleCommands/Abstract/Type/TypeBoolean.cs
rename to Nitrox.Server.Subnautica/Models/Commands/Abstract/Type/TypeBoolean.cs
index 44cda7326..4c4cfbe3b 100644
--- a/NitroxServer/ConsoleCommands/Abstract/Type/TypeBoolean.cs
+++ b/Nitrox.Server.Subnautica/Models/Commands/Abstract/Type/TypeBoolean.cs
@@ -1,8 +1,7 @@
using System;
using System.Linq;
-using NitroxModel.Helper;
-namespace NitroxServer.ConsoleCommands.Abstract.Type
+namespace Nitrox.Server.Subnautica.Models.Commands.Abstract.Type
{
public class TypeBoolean : Parameter, IParameter