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.
diff --git a/Directory.Build.props b/Directory.Build.props
index 7cb1e07b4..f05d280c8 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
@@ -28,6 +28,8 @@
false
false
false
+ Subnautica
+ 82304
@@ -36,7 +38,7 @@
true
-
+
true
@@ -49,10 +51,10 @@
-
+
JB
-
+
all
runtime; build; native; contentfiles; analyzers
@@ -62,15 +64,15 @@
-
+
all
build; native; contentfiles; analyzers
-
+
all
build; native; contentfiles; analyzers
-
+
all
build; native; contentfiles; analyzers; buildtransitive
diff --git a/Directory.Build.targets b/Directory.Build.targets
index 1d834f1c4..48e3b5168 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -33,6 +33,10 @@
<_Parameter1>GitShortHash
<_Parameter2>$(_GitShortHash)
+
+ <_Parameter1>GameMinimumVersion
+ <_Parameter2>$(GameMinimumVersion)
+
@@ -71,12 +75,11 @@
$(GameDir)$(GameDataFolder)\Managed\
$(GameDir)$(GameDataFolder)\StreamingAssets\SNUnmanagedData\plastic_status.ignore
- 68598
-
+
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/App.axaml.cs b/Nitrox.Launcher/App.axaml.cs
index 33a876e2b..03c3defd9 100644
--- a/Nitrox.Launcher/App.axaml.cs
+++ b/Nitrox.Launcher/App.axaml.cs
@@ -17,9 +17,10 @@
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.Core;
+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 47ba95504..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;
@@ -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/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/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();
}
diff --git a/Nitrox.Launcher/Models/Converters/PlatformToIconConverter.cs b/Nitrox.Launcher/Models/Converters/PlatformToIconConverter.cs
index a920faa14..0ebf28164 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..e673d63e5 100644
--- a/Nitrox.Launcher/Models/Design/ServerEntry.cs
+++ b/Nitrox.Launcher/Models/Design/ServerEntry.cs
@@ -14,13 +14,15 @@
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.Core;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Logger;
+using Nitrox.Model.Serialization;
+using Nitrox.Model.Server;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+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/DtoExtensions.cs b/Nitrox.Launcher/Models/Extensions/DtoExtensions.cs
index e871a2e86..9d85cc44a 100644
--- a/Nitrox.Launcher/Models/Extensions/DtoExtensions.cs
+++ b/Nitrox.Launcher/Models/Extensions/DtoExtensions.cs
@@ -17,15 +17,24 @@ 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
{
buffer.AppendLine($"• {patchNote}");
}
}
- return new NitroxChangelog(changeLog.Version, changeLog.Released.DateTime, buffer.ToString());
+ 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;
+ }
}
}
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..405954f50 100644
--- a/Nitrox.Launcher/Models/Services/ServerService.cs
+++ b/Nitrox.Launcher/Models/Services/ServerService.cs
@@ -14,10 +14,11 @@
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.Core;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Logger;
+using Nitrox.Model.Platforms.OS.Shared;
+using Nitrox.Model.Server;
namespace Nitrox.Launcher.Models.Services;
@@ -140,7 +141,7 @@ public async Task ConfirmServerVersionAsync(ServerEntry server) =>
await dialogService.ShowAsync(model =>
{
model.Title = "Version Mismatch Detected";
- model.Description = $"The version of '{server.Name}' is v{(server.Version != null ? server.Version.ToString() : "X.X.X.X")}. It is highly recommended to NOT use this save file with Nitrox v{NitroxEnvironment.Version}. Would you still like to continue?";
+ model.Description = $"The save '{server.Name}' is v{(server.Version != null ? server.Version.ToString() : "X.X.X.X")} but current Nitrox version is v{NitroxEnvironment.Version}{Environment.NewLine}{Environment.NewLine}It is advisable to find out about the latest changes and whether the backup is compatible.{Environment.NewLine}Note that it's always possible to use the world backup feature in case of failures.{Environment.NewLine}{Environment.NewLine}Would you still like to continue?";
model.ButtonOptions = ButtonOptions.YesNo;
});
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..c58d35a58 100644
--- a/Nitrox.Launcher/Models/Utils/AssetHelper.cs
+++ b/Nitrox.Launcher/Models/Utils/AssetHelper.cs
@@ -5,7 +5,8 @@
using System.Reflection;
using System.Threading;
using Avalonia.Platform;
-using NitroxModel.Helper;
+using Nitrox.Model.Core;
+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 c15ae0692..c7accf086 100644
--- a/Nitrox.Launcher/Models/Utils/GameInspect.cs
+++ b/Nitrox.Launcher/Models/Utils/GameInspect.cs
@@ -3,8 +3,10 @@
using System.Threading.Tasks;
using Nitrox.Launcher.Models.Services;
using Nitrox.Launcher.ViewModels;
-using NitroxModel.Logger;
-using NitroxModel.Platforms.OS.Shared;
+using Nitrox.Model.Core;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Logger;
+using Nitrox.Model.Platforms.OS.Shared;
namespace Nitrox.Launcher.Models.Utils;
@@ -20,15 +22,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.GameMinimumVersion)
{
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}Minimum game version: {NitroxEnvironment.GameMinimumVersion}{Environment.NewLine}Version file location:{Environment.NewLine}{gameVersionFile}{Environment.NewLine}";
model.ButtonOptions = ButtonOptions.Ok;
});
}
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 bb5bc6886..4ea7cdf97 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,18 +57,17 @@
-
+
-
-
+
-
+
NitroxPatcher472
TargetFramework=net472
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..baee295f4 100644
--- a/Nitrox.Launcher/ViewModels/CrashWindowViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/CrashWindowViewModel.cs
@@ -3,9 +3,10 @@
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.Core;
+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 094c47cf0..b9c36be52 100644
--- a/Nitrox.Launcher/ViewModels/LaunchGameViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/LaunchGameViewModel.cs
@@ -14,12 +14,13 @@
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.Core;
+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 b564c094c..378f891d5 100644
--- a/Nitrox.Launcher/ViewModels/MainWindowViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/MainWindowViewModel.cs
@@ -15,8 +15,9 @@
using Nitrox.Launcher.Models.Services;
using Nitrox.Launcher.Models.Utils;
using Nitrox.Launcher.ViewModels.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
+using Nitrox.Model.Core;
+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..0e16e97cc 100644
--- a/Nitrox.Launcher/ViewModels/ManageServerViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/ManageServerViewModel.cs
@@ -18,11 +18,12 @@
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 Nitrox.Model.Subnautica.DataStructures.GameLogic;
+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 ddfa38473..192e5d9c2 100644
--- a/Nitrox.Launcher/ViewModels/OptionsViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/OptionsViewModel.cs
@@ -13,10 +13,11 @@
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.Core;
+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 +67,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..052f80477 100644
--- a/Nitrox.Launcher/ViewModels/ServersViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/ServersViewModel.cs
@@ -12,8 +12,9 @@
using Nitrox.Launcher.Models.Services;
using Nitrox.Launcher.Models.Utils;
using Nitrox.Launcher.ViewModels.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
+using Nitrox.Model.Core;
+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 33057eae5..db0aa6571 100644
--- a/Nitrox.Launcher/ViewModels/UpdatesViewModel.cs
+++ b/Nitrox.Launcher/ViewModels/UpdatesViewModel.cs
@@ -9,8 +9,9 @@
using Nitrox.Launcher.Models.Services;
using Nitrox.Launcher.Models.Utils;
using Nitrox.Launcher.ViewModels.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
+using Nitrox.Model.Core;
+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 f38db187f..544e6af91 100644
--- a/Nitrox.Launcher/Views/MainWindow.axaml
+++ b/Nitrox.Launcher/Views/MainWindow.axaml
@@ -21,12 +21,12 @@
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:core="clr-namespace:Nitrox.Model.Core;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/DataStructures/GameLogic/AbsoluteEntityCell.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/AbsoluteEntityCell.cs
similarity index 87%
rename from NitroxModel/DataStructures/GameLogic/AbsoluteEntityCell.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/AbsoluteEntityCell.cs
index eb70cc5a5..38db56b77 100644
--- a/NitroxModel/DataStructures/GameLogic/AbsoluteEntityCell.cs
+++ b/Nitrox.Model.Subnautica/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.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.Helper;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic;
[Serializable]
[DataContract]
@@ -20,9 +20,7 @@ public class AbsoluteEntityCell
[DataMember(Order = 3)]
public int Level { get; }
- private static readonly Lazy map = new(NitroxServiceLocator.LocateService);
-
- private NitroxInt3 BatchPosition => BatchId * map.Value.BatchSize - map.Value.BatchDimensionCenter;
+ private NitroxInt3 BatchPosition => BatchId * SubnauticaMap.BatchSize - SubnauticaMap.BatchDimensionCenter;
public NitroxInt3 Position => BatchPosition + CellId * GetCellSize();
public NitroxInt3 Center
@@ -51,7 +49,7 @@ public AbsoluteEntityCell(NitroxVector3 worldSpace, int level)
{
Level = level;
- NitroxVector3 localPosition = (worldSpace + map.Value.BatchDimensionCenter) / map.Value.BatchSize;
+ NitroxVector3 localPosition = (worldSpace + SubnauticaMap.BatchDimensionCenter) / SubnauticaMap.BatchSize;
BatchId = NitroxInt3.Floor(localPosition);
NitroxVector3 cell = (localPosition - BatchId) * GetCellsPerBlock();
@@ -124,7 +122,7 @@ public override int GetHashCode()
public NitroxInt3 GetCellSize()
{
- return GetCellSize(map.Value.BatchDimensions);
+ return GetCellSize(SubnauticaMap.BatchDimensions);
}
public NitroxInt3 GetCellSize(NitroxInt3 blocksPerBatch)
diff --git a/NitroxModel/DataStructures/GameLogic/AuroraEventData.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/AuroraEventData.cs
similarity index 95%
rename from NitroxModel/DataStructures/GameLogic/AuroraEventData.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/AuroraEventData.cs
index 37dd65f25..9fce9a0bd 100644
--- a/NitroxModel/DataStructures/GameLogic/AuroraEventData.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/AuroraEventData.cs
@@ -3,7 +3,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic;
///
/// Aurora events data
diff --git a/NitroxModel/DataStructures/GameLogic/Bases/BaseData.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Bases/BaseData.cs
similarity index 95%
rename from NitroxModel/DataStructures/GameLogic/Bases/BaseData.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Bases/BaseData.cs
index d936b4bc8..eea62c4ed 100644
--- a/NitroxModel/DataStructures/GameLogic/Bases/BaseData.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Bases/BaseData.cs
@@ -1,8 +1,9 @@
using System;
using System.Linq;
using System.Runtime.Serialization;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.DataStructures.GameLogic.Bases;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Bases;
[DataContract]
public class BaseData : IEquatable
diff --git a/NitroxModel/DataStructures/GameLogic/Bases/BuildPieceIdentifier.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Bases/BuildPieceIdentifier.cs
similarity index 87%
rename from NitroxModel/DataStructures/GameLogic/Bases/BuildPieceIdentifier.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Bases/BuildPieceIdentifier.cs
index bd08c91f9..657f3f07e 100644
--- a/NitroxModel/DataStructures/GameLogic/Bases/BuildPieceIdentifier.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Bases/BuildPieceIdentifier.cs
@@ -1,7 +1,8 @@
using System;
using System.Runtime.Serialization;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.DataStructures.GameLogic.Bases;
+namespace Nitrox.Model.Subnautica.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.Subnautica/DataStructures/GameLogic/Bases/NitroxBaseFace.cs
similarity index 79%
rename from NitroxModel/DataStructures/GameLogic/Bases/NitroxBaseFace.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Bases/NitroxBaseFace.cs
index e8c6086c0..4e33099ef 100644
--- a/NitroxModel/DataStructures/GameLogic/Bases/NitroxBaseFace.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Bases/NitroxBaseFace.cs
@@ -1,7 +1,8 @@
using System;
using System.Runtime.Serialization;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.DataStructures.GameLogic.Bases;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Bases;
[Serializable, DataContract]
public record struct NitroxBaseFace(NitroxInt3 Cell, int Direction)
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..14b7b4baf 100644
--- a/NitroxModel-Subnautica/DataStructures/GameLogic/CyclopsDamageInfoData.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/CyclopsDamageInfoData.cs
@@ -1,10 +1,9 @@
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;
-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/DataStructures/GameLogic/DamageTakenData.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/DamageTakenData.cs
similarity index 75%
rename from NitroxModel/DataStructures/GameLogic/DamageTakenData.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/DamageTakenData.cs
index 1b94f041b..fc12bd93b 100644
--- a/NitroxModel/DataStructures/GameLogic/DamageTakenData.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/DamageTakenData.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic
{
[Serializable]
public class DamageTakenData
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Bases/BaseLeakEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/BaseLeakEntity.cs
similarity index 87%
rename from NitroxModel/DataStructures/GameLogic/Entities/Bases/BaseLeakEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/BaseLeakEntity.cs
index 44491050f..1b4931e4b 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Bases/BaseLeakEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/BaseLeakEntity.cs
@@ -2,9 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Bases;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
[Serializable, DataContract]
public class BaseLeakEntity : Entity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Bases/BuildEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/BuildEntity.cs
similarity index 80%
rename from NitroxModel/DataStructures/GameLogic/Entities/Bases/BuildEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/BuildEntity.cs
index 866bdff86..9a2814aea 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Bases/BuildEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/BuildEntity.cs
@@ -2,11 +2,12 @@
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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Bases;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Bases;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
[Serializable, DataContract]
public class BuildEntity : GlobalRootEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Bases/GhostEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/GhostEntity.cs
similarity index 82%
rename from NitroxModel/DataStructures/GameLogic/Entities/Bases/GhostEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/GhostEntity.cs
index 1146a1977..b208ef5b6 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Bases/GhostEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/GhostEntity.cs
@@ -2,11 +2,12 @@
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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Bases;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Bases;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
[Serializable, DataContract]
public class GhostEntity : ModuleEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Bases/InteriorPieceEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/InteriorPieceEntity.cs
similarity index 83%
rename from NitroxModel/DataStructures/GameLogic/Entities/Bases/InteriorPieceEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/InteriorPieceEntity.cs
index b2faffecc..fe02541e6 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Bases/InteriorPieceEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/InteriorPieceEntity.cs
@@ -2,11 +2,12 @@
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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Bases;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Bases;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
[Serializable, DataContract]
public class InteriorPieceEntity : GlobalRootEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Bases/MapRoomEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/MapRoomEntity.cs
similarity index 84%
rename from NitroxModel/DataStructures/GameLogic/Entities/Bases/MapRoomEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/MapRoomEntity.cs
index cc919a32a..007db0c81 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Bases/MapRoomEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/MapRoomEntity.cs
@@ -2,10 +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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Bases;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
[Serializable, DataContract]
public class MapRoomEntity : GlobalRootEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Bases/ModuleEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/ModuleEntity.cs
similarity index 86%
rename from NitroxModel/DataStructures/GameLogic/Entities/Bases/ModuleEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/ModuleEntity.cs
index e578c5ee7..977d1bf88 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Bases/ModuleEntity.cs
+++ b/Nitrox.Model.Subnautica/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 ProtoBufNet;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Bases;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
[Serializable, DataContract]
[ProtoInclude(50, typeof(GhostEntity))]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Bases/MoonpoolEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/MoonpoolEntity.cs
similarity index 84%
rename from NitroxModel/DataStructures/GameLogic/Entities/Bases/MoonpoolEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/MoonpoolEntity.cs
index ec755cd85..2a88a0eb6 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Bases/MoonpoolEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Bases/MoonpoolEntity.cs
@@ -2,10 +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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Bases;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
[Serializable, DataContract]
public class MoonpoolEntity : GlobalRootEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/CellRootEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/CellRootEntity.cs
similarity index 87%
rename from NitroxModel/DataStructures/GameLogic/Entities/CellRootEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/CellRootEntity.cs
index ef7688724..cd17ad0c1 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/CellRootEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/CellRootEntity.cs
@@ -2,10 +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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/CreatureRespawnEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/CreatureRespawnEntity.cs
similarity index 86%
rename from NitroxModel/DataStructures/GameLogic/Entities/CreatureRespawnEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/CreatureRespawnEntity.cs
index 09c7a0347..8950875b7 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/CreatureRespawnEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/CreatureRespawnEntity.cs
@@ -1,11 +1,12 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using System.Collections.Generic;
-using BinaryPack.Attributes;
using System.Runtime.Serialization;
-using NitroxModel.DataStructures.Unity;
+using BinaryPack.Attributes;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class CreatureRespawnEntity : WorldEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/EscapePodWorldEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/EscapePodWorldEntity.cs
similarity index 86%
rename from NitroxModel/DataStructures/GameLogic/Entities/EscapePodWorldEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/EscapePodWorldEntity.cs
index 0ce950ac3..5917fb5fe 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/EscapePodWorldEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/EscapePodWorldEntity.cs
@@ -2,10 +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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/GeyserWorldEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/GeyserWorldEntity.cs
similarity index 85%
rename from NitroxModel/DataStructures/GameLogic/Entities/GeyserWorldEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/GeyserWorldEntity.cs
index bba524d2d..91f8d5e57 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/GeyserWorldEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/GeyserWorldEntity.cs
@@ -2,10 +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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class GeyserWorldEntity : WorldEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/GlobalRootEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/GlobalRootEntity.cs
similarity index 80%
rename from NitroxModel/DataStructures/GameLogic/Entities/GlobalRootEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/GlobalRootEntity.cs
index d42f053e4..6e21c85d9 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/GlobalRootEntity.cs
+++ b/Nitrox.Model.Subnautica/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 ProtoBufNet;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
[ProtoInclude(50, typeof(BuildEntity))]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/IUwePrefabFactory.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/IUwePrefabFactory.cs
similarity index 70%
rename from NitroxModel/DataStructures/GameLogic/Entities/IUwePrefabFactory.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/IUwePrefabFactory.cs
index f600e6c0c..376f11da9 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/IUwePrefabFactory.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/IUwePrefabFactory.cs
@@ -1,6 +1,6 @@
using System.Collections.Generic;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
public interface IUwePrefabFactory
{
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/IUweWorldEntityFactory.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/IUweWorldEntityFactory.cs
similarity index 63%
rename from NitroxModel/DataStructures/GameLogic/Entities/IUweWorldEntityFactory.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/IUweWorldEntityFactory.cs
index 680e0f9b8..f142ae84f 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/IUweWorldEntityFactory.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/IUweWorldEntityFactory.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
public interface IUweWorldEntityFactory
{
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/InstalledBatteryEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/InstalledBatteryEntity.cs
similarity index 84%
rename from NitroxModel/DataStructures/GameLogic/Entities/InstalledBatteryEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/InstalledBatteryEntity.cs
index e4dfc4bc1..5524d4bb5 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/InstalledBatteryEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/InstalledBatteryEntity.cs
@@ -2,9 +2,10 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/InstalledModuleEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/InstalledModuleEntity.cs
similarity index 85%
rename from NitroxModel/DataStructures/GameLogic/Entities/InstalledModuleEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/InstalledModuleEntity.cs
index 4e0059e27..d82dd1350 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/InstalledModuleEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/InstalledModuleEntity.cs
@@ -1,10 +1,11 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using System.Collections.Generic;
-using BinaryPack.Attributes;
using System.Runtime.Serialization;
+using BinaryPack.Attributes;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/InventoryEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/InventoryEntity.cs
similarity index 85%
rename from NitroxModel/DataStructures/GameLogic/Entities/InventoryEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/InventoryEntity.cs
index 8a45fe15c..25ff51bb0 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/InventoryEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/InventoryEntity.cs
@@ -1,10 +1,11 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using System.Collections.Generic;
-using BinaryPack.Attributes;
using System.Runtime.Serialization;
+using BinaryPack.Attributes;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.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.Subnautica/DataStructures/GameLogic/Entities/InventoryItemEntity.cs
similarity index 84%
rename from NitroxModel/DataStructures/GameLogic/Entities/InventoryItemEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/InventoryItemEntity.cs
index 6e5d5caf0..edcf53d63 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/InventoryItemEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/InventoryItemEntity.cs
@@ -1,10 +1,11 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using System.Collections.Generic;
-using BinaryPack.Attributes;
using System.Runtime.Serialization;
+using BinaryPack.Attributes;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredCellGhostMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredCellGhostMetadata.cs
similarity index 83%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredCellGhostMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredCellGhostMetadata.cs
index 0418b728c..78e98437e 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredCellGhostMetadata.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredCellGhostMetadata.cs
@@ -1,8 +1,9 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
+namespace Nitrox.Model.Subnautica.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.Subnautica/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredFaceGhostMetadata.cs
similarity index 77%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredFaceGhostMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredFaceGhostMetadata.cs
index 07174ca35..14e5806a3 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredFaceGhostMetadata.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/Bases/BaseAnchoredFaceGhostMetadata.cs
@@ -1,9 +1,10 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Bases;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Bases;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
+namespace Nitrox.Model.Subnautica.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.Subnautica/DataStructures/GameLogic/Entities/Metadata/Bases/BaseDeconstructableGhostMetadata.cs
similarity index 83%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseDeconstructableGhostMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/Bases/BaseDeconstructableGhostMetadata.cs
index 5625e2316..cf52d28d4 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/BaseDeconstructableGhostMetadata.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/Bases/BaseDeconstructableGhostMetadata.cs
@@ -1,9 +1,10 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.GameLogic.Bases;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Bases;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
+namespace Nitrox.Model.Subnautica.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.Subnautica/DataStructures/GameLogic/Entities/Metadata/Bases/GhostMetadata.cs
similarity index 85%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/GhostMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/Bases/GhostMetadata.cs
index 6ed32aba2..9e5c82808 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/Bases/GhostMetadata.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/Bases/GhostMetadata.cs
@@ -1,9 +1,9 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using ProtoBufNet;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata.Bases;
[Serializable, DataContract]
[ProtoInclude(50, typeof(BaseDeconstructableGhostMetadata))]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/BatteryMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/BatteryMetadata.cs
similarity index 87%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/BatteryMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/BatteryMetadata.cs
index ebb5046f3..d0f34517c 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/BatteryMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/BeaconMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/BeaconMetadata.cs
similarity index 87%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/BeaconMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/BeaconMetadata.cs
index b0136b82b..c77f39e40 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/BeaconMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/ConstructorMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/ConstructorMetadata.cs
similarity index 88%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/ConstructorMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/ConstructorMetadata.cs
index d6773653a..0ed32bf0a 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/ConstructorMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CrafterMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/CrafterMetadata.cs
similarity index 93%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/CrafterMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/CrafterMetadata.cs
index e8ef7705f..cd46cec4b 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CrafterMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CrashHomeMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/CrashHomeMetadata.cs
similarity index 88%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/CrashHomeMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/CrashHomeMetadata.cs
index 814bd78a6..1e6f75f3c 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CrashHomeMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
public class CrashHomeMetadata : EntityMetadata
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CyclopsLightingMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/CyclopsLightingMetadata.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/CyclopsLightingMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/CyclopsLightingMetadata.cs
index 50dd12472..59704877d 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CyclopsLightingMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CyclopsMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/CyclopsMetadata.cs
similarity index 94%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/CyclopsMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/CyclopsMetadata.cs
index 1e6466c73..45882a473 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/CyclopsMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EatableMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/EatableMetadata.cs
similarity index 88%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/EatableMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/EatableMetadata.cs
index e0b6fa740..0702cb6a1 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EatableMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EggMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/EggMetadata.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/EggMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/EggMetadata.cs
index 4754e13d5..eeda452f1 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EggMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EntityMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/EntityMetadata.cs
similarity index 92%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/EntityMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/EntityMetadata.cs
index 63583b5b2..c3475af95 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EntityMetadata.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/EntityMetadata.cs
@@ -1,9 +1,8 @@
using System;
using System.Runtime.Serialization;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
-using ProtoBufNet;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata.Bases;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EntitySignMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/EntitySignMetadata.cs
similarity index 93%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/EntitySignMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/EntitySignMetadata.cs
index b74aa8bde..3ee17578a 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EntitySignMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EscapePodMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/EscapePodMetadata.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/EscapePodMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/EscapePodMetadata.cs
index b95bb825d..12b7b0ae8 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/EscapePodMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/ExosuitMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/ExosuitMetadata.cs
similarity index 82%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/ExosuitMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/ExosuitMetadata.cs
index 32bead5ea..700cf3a34 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/ExosuitMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
public class ExosuitMetadata : VehicleMetadata
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FireExtinguisherHolderMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/FireExtinguisherHolderMetadata.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/FireExtinguisherHolderMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/FireExtinguisherHolderMetadata.cs
index 1dec9dd7b..d92a3bcb8 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FireExtinguisherHolderMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FlareMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/FlareMetadata.cs
similarity index 92%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/FlareMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/FlareMetadata.cs
index 5637f8a40..e9d29d30e 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FlareMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
public class FlareMetadata : EntityMetadata
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FlashlightMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/FlashlightMetadata.cs
similarity index 87%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/FlashlightMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/FlashlightMetadata.cs
index ccca0a70e..ba93ca687 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FlashlightMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FruitPlantMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/FruitPlantMetadata.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/FruitPlantMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/FruitPlantMetadata.cs
index c84ce552f..fc669845b 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/FruitPlantMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/IncubatorMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/IncubatorMetadata.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/IncubatorMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/IncubatorMetadata.cs
index 277b27d18..d77357519 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/IncubatorMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/KeypadMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/KeypadMetadata.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/KeypadMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/KeypadMetadata.cs
index 9e8b60029..6598849cc 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/KeypadMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/NamedColoredMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/NamedColoredMetadata.cs
similarity index 87%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/NamedColoredMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/NamedColoredMetadata.cs
index 5d0e23e53..ed8bcdf0d 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/NamedColoredMetadata.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/NamedColoredMetadata.cs
@@ -1,10 +1,9 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.Unity;
-using ProtoBufNet;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
[ProtoInclude(50, typeof(VehicleMetadata))]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PlantableMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/PlantableMetadata.cs
similarity index 94%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/PlantableMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/PlantableMetadata.cs
index 0d3398169..680cacf1d 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PlantableMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PlayerMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/PlayerMetadata.cs
similarity index 92%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/PlayerMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/PlayerMetadata.cs
index 5a3645dc8..db2cb3fe7 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PlayerMetadata.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/PlayerMetadata.cs
@@ -2,8 +2,9 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorDoorwayMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/PrecursorDoorwayMetadata.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorDoorwayMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/PrecursorDoorwayMetadata.cs
index aae373f08..0a86d029f 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorDoorwayMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorKeyTerminalMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/PrecursorKeyTerminalMetadata.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorKeyTerminalMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/PrecursorKeyTerminalMetadata.cs
index 92994c072..6f857bbd5 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorKeyTerminalMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterActivationTerminalMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterActivationTerminalMetadata.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterActivationTerminalMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterActivationTerminalMetadata.cs
index ba9de48ff..93c7d23fc 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterActivationTerminalMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterMetadata.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterMetadata.cs
index 423e62be6..4922a55f2 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/PrecursorTeleporterMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/RadiationMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/RadiationMetadata.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/RadiationMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/RadiationMetadata.cs
index 377f5bd22..ed66eca90 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/RadiationMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
public class RadiationMetadata : EntityMetadata
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/RocketMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/RocketMetadata.cs
similarity index 94%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/RocketMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/RocketMetadata.cs
index 2c5b434e1..20c0d0bd5 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/RocketMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SeaTreaderMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/SeaTreaderMetadata.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/SeaTreaderMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/SeaTreaderMetadata.cs
index 4c44c67b3..a9a6d8496 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SeaTreaderMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SealedDoorMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/SealedDoorMetadata.cs
similarity index 89%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/SealedDoorMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/SealedDoorMetadata.cs
index 11f973d35..37c164556 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SealedDoorMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SeamothMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/SeamothMetadata.cs
similarity index 85%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/SeamothMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/SeamothMetadata.cs
index 4e777045b..e88a5a8dd 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SeamothMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/StarshipDoorMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/StarshipDoorMetadata.cs
similarity index 91%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/StarshipDoorMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/StarshipDoorMetadata.cs
index c407b4e46..24cf3f892 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/StarshipDoorMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/StayAtLeashPositionMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/StayAtLeashPositionMetadata.cs
similarity index 85%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/StayAtLeashPositionMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/StayAtLeashPositionMetadata.cs
index 5b4563725..ae1c4d4a6 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/StayAtLeashPositionMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
public class StayAtLeashPositionMetadata : EntityMetadata
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SubNameInputMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/SubNameInputMetadata.cs
similarity index 86%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/SubNameInputMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/SubNameInputMetadata.cs
index 55173ef9c..c40bc3e51 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/SubNameInputMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/VehicleMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/VehicleMetadata.cs
similarity index 87%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/VehicleMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/VehicleMetadata.cs
index c3df51b9c..01a114fe0 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/VehicleMetadata.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/VehicleMetadata.cs
@@ -1,10 +1,9 @@
using System;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-using NitroxModel.DataStructures.Unity;
-using ProtoBufNet;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
[ProtoInclude(50, typeof(SeamothMetadata))]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/WaterParkCreatureMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/WaterParkCreatureMetadata.cs
similarity index 93%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/WaterParkCreatureMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/WaterParkCreatureMetadata.cs
index 2eb343f4d..e2d1441fe 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/WaterParkCreatureMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata;
[Serializable, DataContract]
public class WaterParkCreatureMetadata : EntityMetadata
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/WeldableWallPanelGenericMetadata.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/WeldableWallPanelGenericMetadata.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/Entities/Metadata/WeldableWallPanelGenericMetadata.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/Metadata/WeldableWallPanelGenericMetadata.cs
index eddb26b4f..a3618cf39 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/Metadata/WeldableWallPanelGenericMetadata.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities.Metadata
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/OxygenPipeEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/OxygenPipeEntity.cs
similarity index 86%
rename from NitroxModel/DataStructures/GameLogic/Entities/OxygenPipeEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/OxygenPipeEntity.cs
index 9415d4411..644f5f13a 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/OxygenPipeEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/OxygenPipeEntity.cs
@@ -2,10 +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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class OxygenPipeEntity : WorldEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/PathBasedChildEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PathBasedChildEntity.cs
similarity index 83%
rename from NitroxModel/DataStructures/GameLogic/Entities/PathBasedChildEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PathBasedChildEntity.cs
index 51495b459..8385ce46a 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/PathBasedChildEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PathBasedChildEntity.cs
@@ -1,10 +1,11 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/PlacedWorldEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PlacedWorldEntity.cs
similarity index 76%
rename from NitroxModel/DataStructures/GameLogic/Entities/PlacedWorldEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PlacedWorldEntity.cs
index d23c143e8..63373ca25 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/PlacedWorldEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PlacedWorldEntity.cs
@@ -2,10 +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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class PlacedWorldEntity : WorldEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/PlaceholderGroupWorldEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PlaceholderGroupWorldEntity.cs
similarity index 87%
rename from NitroxModel/DataStructures/GameLogic/Entities/PlaceholderGroupWorldEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PlaceholderGroupWorldEntity.cs
index 13a73f123..9712d1f1e 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/PlaceholderGroupWorldEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PlaceholderGroupWorldEntity.cs
@@ -2,10 +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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class PlaceholderGroupWorldEntity : WorldEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/PlanterEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PlanterEntity.cs
similarity index 83%
rename from NitroxModel/DataStructures/GameLogic/Entities/PlanterEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PlanterEntity.cs
index 64c51bd16..f6c85b170 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/PlanterEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PlanterEntity.cs
@@ -2,10 +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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class PlanterEntity : GlobalRootEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/PlayerEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PlayerEntity.cs
similarity index 81%
rename from NitroxModel/DataStructures/GameLogic/Entities/PlayerEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PlayerEntity.cs
index 3adf7e079..f0ca0b2d4 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/PlayerEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PlayerEntity.cs
@@ -1,11 +1,12 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using System.Collections.Generic;
-using BinaryPack.Attributes;
-using NitroxModel.DataStructures.Unity;
using System.Runtime.Serialization;
+using BinaryPack.Attributes;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/PrefabChildEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PrefabChildEntity.cs
similarity index 92%
rename from NitroxModel/DataStructures/GameLogic/Entities/PrefabChildEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PrefabChildEntity.cs
index a2ca85b99..5af1c0572 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/PrefabChildEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PrefabChildEntity.cs
@@ -1,10 +1,11 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities
+namespace Nitrox.Model.Subnautica.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.Subnautica/DataStructures/GameLogic/Entities/PrefabPlaceholderEntity.cs
similarity index 88%
rename from NitroxModel/DataStructures/GameLogic/Entities/PrefabPlaceholderEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PrefabPlaceholderEntity.cs
index 293254148..f4ae0c26d 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/PrefabPlaceholderEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/PrefabPlaceholderEntity.cs
@@ -2,10 +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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
///
/// Represents a Placeholder GameObject located under a PrefabPlaceholdersGroup
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/RadiationLeakEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/RadiationLeakEntity.cs
similarity index 83%
rename from NitroxModel/DataStructures/GameLogic/Entities/RadiationLeakEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/RadiationLeakEntity.cs
index c5822f503..84eeed06d 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/RadiationLeakEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/RadiationLeakEntity.cs
@@ -2,10 +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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class RadiationLeakEntity : GlobalRootEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/ReefbackChildEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/ReefbackChildEntity.cs
similarity index 88%
rename from NitroxModel/DataStructures/GameLogic/Entities/ReefbackChildEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/ReefbackChildEntity.cs
index 8295b5b39..8f38afad2 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/ReefbackChildEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/ReefbackChildEntity.cs
@@ -2,10 +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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class ReefbackChildEntity : WorldEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/ReefbackEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/ReefbackEntity.cs
similarity index 84%
rename from NitroxModel/DataStructures/GameLogic/Entities/ReefbackEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/ReefbackEntity.cs
index 4fea9d73b..66f7dd270 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/ReefbackEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/ReefbackEntity.cs
@@ -2,10 +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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable, DataContract]
public class ReefbackEntity : WorldEntity
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/SerializedWorldEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/SerializedWorldEntity.cs
similarity index 92%
rename from NitroxModel/DataStructures/GameLogic/Entities/SerializedWorldEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/SerializedWorldEntity.cs
index 85b9b2496..71d78660d 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/SerializedWorldEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/SerializedWorldEntity.cs
@@ -2,10 +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;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
///
/// An implementation for GameObjects marked as CreateEmptyObject in the protobuf serializer.
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..5700387b5 100644
--- a/NitroxModel-Subnautica/DataStructures/GameLogic/Entities/SubnauticaUwePrefabFactory.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/SubnauticaUwePrefabFactory.cs
@@ -1,11 +1,10 @@
using System;
using System.Collections.Generic;
using LitJson;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.Helper;
+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..63ea8d65c 100644
--- a/NitroxModel-Subnautica/DataStructures/GameLogic/Entities/SubnauticaUweWorldEntityFactory.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/SubnauticaUweWorldEntityFactory.cs
@@ -1,8 +1,7 @@
using System.Collections.Generic;
-using NitroxModel.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/DataStructures/GameLogic/Entities/UwePrefab.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/UwePrefab.cs
similarity index 60%
rename from NitroxModel/DataStructures/GameLogic/Entities/UwePrefab.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/UwePrefab.cs
index ab8d278b2..4de23f5f3 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/UwePrefab.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/UwePrefab.cs
@@ -1,3 +1,3 @@
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.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.Subnautica/DataStructures/GameLogic/Entities/UweWorldEntity.cs
similarity index 84%
rename from NitroxModel/DataStructures/GameLogic/Entities/UweWorldEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/UweWorldEntity.cs
index 0608deb20..7d4527c04 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/UweWorldEntity.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Entities;
public class UweWorldEntity
{
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/VehicleEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/VehicleEntity.cs
similarity index 87%
rename from NitroxModel/DataStructures/GameLogic/Entities/VehicleEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/VehicleEntity.cs
index 646ae9e95..a7cccbbb6 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/VehicleEntity.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/VehicleEntity.cs
@@ -1,11 +1,12 @@
using System;
-using BinaryPack.Attributes;
-using System.Runtime.Serialization;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Unity;
using System.Collections.Generic;
+using System.Runtime.Serialization;
+using BinaryPack.Attributes;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/Entities/WorldEntity.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/WorldEntity.cs
similarity index 94%
rename from NitroxModel/DataStructures/GameLogic/Entities/WorldEntity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entities/WorldEntity.cs
index 1f6969574..7079aaeb6 100644
--- a/NitroxModel/DataStructures/GameLogic/Entities/WorldEntity.cs
+++ b/Nitrox.Model.Subnautica/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 ProtoBufNet;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic.Entities
+namespace Nitrox.Model.Subnautica.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.Subnautica/DataStructures/GameLogic/Entity.cs
similarity index 82%
rename from NitroxModel/DataStructures/GameLogic/Entity.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/Entity.cs
index 7c72aba23..1d6a8053e 100644
--- a/NitroxModel/DataStructures/GameLogic/Entity.cs
+++ b/Nitrox.Model.Subnautica/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 ProtoBufNet;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.DataStructures.GameLogic
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/InitialPDAData.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/InitialPDAData.cs
similarity index 93%
rename from NitroxModel/DataStructures/GameLogic/InitialPDAData.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/InitialPDAData.cs
index c5b5155d2..bfc4907ba 100644
--- a/NitroxModel/DataStructures/GameLogic/InitialPDAData.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/InitialPDAData.cs
@@ -1,8 +1,9 @@
using System;
using System.Collections.Generic;
using BinaryPack.Attributes;
+using Nitrox.Model.DataStructures;
-namespace NitroxModel.DataStructures.GameLogic
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic
{
[Serializable]
public class InitialPDAData
diff --git a/NitroxModel/DataStructures/GameLogic/InitialStoryGoalData.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/InitialStoryGoalData.cs
similarity index 95%
rename from NitroxModel/DataStructures/GameLogic/InitialStoryGoalData.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/InitialStoryGoalData.cs
index 0c0fe0a85..5f9179487 100644
--- a/NitroxModel/DataStructures/GameLogic/InitialStoryGoalData.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/InitialStoryGoalData.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic
{
[Serializable]
public class InitialStoryGoalData
diff --git a/NitroxModel/DataStructures/GameLogic/IntroCinematicMode.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/IntroCinematicMode.cs
similarity index 69%
rename from NitroxModel/DataStructures/GameLogic/IntroCinematicMode.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/IntroCinematicMode.cs
index c4b1dcdfc..f20836706 100644
--- a/NitroxModel/DataStructures/GameLogic/IntroCinematicMode.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/IntroCinematicMode.cs
@@ -1,4 +1,4 @@
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic;
public enum IntroCinematicMode : byte
{
diff --git a/NitroxModel/DataStructures/GameLogic/NitroxScheduledGoal.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/NitroxScheduledGoal.cs
similarity index 94%
rename from NitroxModel/DataStructures/GameLogic/NitroxScheduledGoal.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/NitroxScheduledGoal.cs
index 963b91def..8753bb7b9 100644
--- a/NitroxModel/DataStructures/GameLogic/NitroxScheduledGoal.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/NitroxScheduledGoal.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic;
[Serializable, DataContract]
public class NitroxScheduledGoal
diff --git a/NitroxModel/DataStructures/GameLogic/NitroxTechType.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/NitroxTechType.cs
similarity index 96%
rename from NitroxModel/DataStructures/GameLogic/NitroxTechType.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/NitroxTechType.cs
index 41b65087d..3162819c3 100644
--- a/NitroxModel/DataStructures/GameLogic/NitroxTechType.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/NitroxTechType.cs
@@ -3,7 +3,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.Subnautica.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.Subnautica/DataStructures/GameLogic/PDAEntry.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/PDAEntry.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/PDAEntry.cs
index 80113c8a1..2daee6ef7 100644
--- a/NitroxModel/DataStructures/GameLogic/PDAEntry.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/PDAEntry.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic;
[Serializable, DataContract]
public class PDAEntry
diff --git a/NitroxModel/DataStructures/GameLogic/PDALogEntry.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/PDALogEntry.cs
similarity index 92%
rename from NitroxModel/DataStructures/GameLogic/PDALogEntry.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/PDALogEntry.cs
index a2e126919..4ea4bdd99 100644
--- a/NitroxModel/DataStructures/GameLogic/PDALogEntry.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/PDALogEntry.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/PingInstancePreference.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/PingInstancePreference.cs
similarity index 90%
rename from NitroxModel/DataStructures/GameLogic/PingInstancePreference.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/PingInstancePreference.cs
index 6a06d0212..a24db3e34 100644
--- a/NitroxModel/DataStructures/GameLogic/PingInstancePreference.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/PingInstancePreference.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic;
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/PlayerAnimation.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/PlayerAnimation.cs
similarity index 86%
rename from NitroxModel/DataStructures/GameLogic/PlayerAnimation.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/PlayerAnimation.cs
index d6f062a08..b850bff11 100644
--- a/NitroxModel/DataStructures/GameLogic/PlayerAnimation.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic;
[Serializable, DataContract]
public class PlayerAnimation
diff --git a/NitroxModel/DataStructures/GameLogic/PlayerStatsData.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/PlayerStatsData.cs
similarity index 95%
rename from NitroxModel/DataStructures/GameLogic/PlayerStatsData.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/PlayerStatsData.cs
index 7a4414f02..223e1dbcb 100644
--- a/NitroxModel/DataStructures/GameLogic/PlayerStatsData.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/PlayerStatsData.cs
@@ -2,7 +2,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic
{
[Serializable]
[DataContract]
diff --git a/NitroxModel/DataStructures/GameLogic/RandomStartGenerator.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/RandomStartGenerator.cs
similarity index 95%
rename from NitroxModel/DataStructures/GameLogic/RandomStartGenerator.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/RandomStartGenerator.cs
index a139cb2f1..e0636176b 100644
--- a/NitroxModel/DataStructures/GameLogic/RandomStartGenerator.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic;
public class RandomStartGenerator
{
diff --git a/NitroxModel/DataStructures/GameLogic/SessionSettings.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/SessionSettings.cs
similarity index 78%
rename from NitroxModel/DataStructures/GameLogic/SessionSettings.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/SessionSettings.cs
index d320d28fc..ca9b1ebf1 100644
--- a/NitroxModel/DataStructures/GameLogic/SessionSettings.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/SessionSettings.cs
@@ -1,6 +1,6 @@
using System;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.Subnautica.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.Subnautica/DataStructures/GameLogic/SubnauticaPlayerPreferences.cs
similarity index 93%
rename from NitroxModel/DataStructures/GameLogic/SubnauticaPlayerPreferences.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/SubnauticaPlayerPreferences.cs
index 26219d2f5..002129723 100644
--- a/NitroxModel/DataStructures/GameLogic/SubnauticaPlayerPreferences.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/SubnauticaPlayerPreferences.cs
@@ -3,7 +3,7 @@
using System.Runtime.Serialization;
using BinaryPack.Attributes;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic;
[Serializable, DataContract]
public class SubnauticaPlayerPreferences
diff --git a/NitroxModel/DataStructures/GameLogic/TimeData.cs b/Nitrox.Model.Subnautica/DataStructures/GameLogic/TimeData.cs
similarity index 70%
rename from NitroxModel/DataStructures/GameLogic/TimeData.cs
rename to Nitrox.Model.Subnautica/DataStructures/GameLogic/TimeData.cs
index 824c11884..456989418 100644
--- a/NitroxModel/DataStructures/GameLogic/TimeData.cs
+++ b/Nitrox.Model.Subnautica/DataStructures/GameLogic/TimeData.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
-namespace NitroxModel.DataStructures.GameLogic;
+namespace Nitrox.Model.Subnautica.DataStructures.GameLogic;
[Serializable]
public class TimeData
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/DataStructures/DataExtensions.cs b/Nitrox.Model.Subnautica/Extensions/DataExtensions.cs
similarity index 94%
rename from NitroxModel-Subnautica/DataStructures/DataExtensions.cs
rename to Nitrox.Model.Subnautica/Extensions/DataExtensions.cs
index d319e6932..021d479a7 100644
--- a/NitroxModel-Subnautica/DataStructures/DataExtensions.cs
+++ b/Nitrox.Model.Subnautica/Extensions/DataExtensions.cs
@@ -1,12 +1,13 @@
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.Unity;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Bases;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
-namespace NitroxModel_Subnautica.DataStructures;
+namespace Nitrox.Model.Subnautica.Extensions;
///
/// Contains extension methods for converting Unity types to Nitrox types and vice versa.
diff --git a/Nitrox.Model.Subnautica/GlobalUsings.cs b/Nitrox.Model.Subnautica/GlobalUsings.cs
new file mode 100644
index 000000000..8406390e9
--- /dev/null
+++ b/Nitrox.Model.Subnautica/GlobalUsings.cs
@@ -0,0 +1,3 @@
+global using Nitrox.Model.Extensions;
+global using Nitrox.Model.Subnautica.Extensions;
+global using ProtoBufNet;
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/Nitrox.Model.Subnautica/Helper/SubnauticaMap.cs b/Nitrox.Model.Subnautica/Helper/SubnauticaMap.cs
new file mode 100644
index 000000000..24bbfed25
--- /dev/null
+++ b/Nitrox.Model.Subnautica/Helper/SubnauticaMap.cs
@@ -0,0 +1,39 @@
+using System.Collections.Generic;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+
+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.
+///
+public static class SubnauticaMap
+{
+ private const int BATCH_SIZE = 160;
+ private const int SKYBOX_METERS_ABOVE_WATER = 160;
+
+ ///
+ /// TechType can't be introspected at runtime in RELEASE mode because its reflection info is elided.
+ ///
+ public static readonly List GLOBAL_ROOT_TECH_TYPES =
+ [
+ new(nameof(TechType.Pipe)),
+ new(nameof(TechType.Constructor)),
+ new(nameof(TechType.Flare)),
+ new(nameof(TechType.Gravsphere)),
+ new(nameof(TechType.PipeSurfaceFloater)),
+ new(nameof(TechType.SmallStorage)),
+ new(nameof(TechType.CyclopsDecoy)),
+ new(nameof(TechType.LEDLight)),
+ new(nameof(TechType.Beacon))
+ ];
+
+ public static int ItemLevelOfDetail => 3;
+ public static int BatchSize => 160;
+ public static NitroxInt3 BatchDimensions => new(BatchSize, BatchSize, BatchSize);
+ public static NitroxInt3 DimensionsInMeters => new(4096, 3200, 4096);
+ public static NitroxInt3 DimensionsInBatches => NitroxInt3.Ceil(DimensionsInMeters / BATCH_SIZE);
+ public static NitroxInt3 BatchDimensionCenter => new(DimensionsInMeters.X / 2, DimensionsInMeters.Y - SKYBOX_METERS_ABOVE_WATER, DimensionsInMeters.Z / 2);
+ public static List GlobalRootTechTypes => GLOBAL_ROOT_TECH_TYPES;
+}
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/MultiplayerSession/PlayerContext.cs b/Nitrox.Model.Subnautica/MultiplayerSession/PlayerContext.cs
similarity index 90%
rename from NitroxModel/MultiplayerSession/PlayerContext.cs
rename to Nitrox.Model.Subnautica/MultiplayerSession/PlayerContext.cs
index ab9d5737d..66983d4d2 100644
--- a/NitroxModel/MultiplayerSession/PlayerContext.cs
+++ b/Nitrox.Model.Subnautica/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.Server;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
-namespace NitroxModel.MultiplayerSession;
+namespace Nitrox.Model.Subnautica.MultiplayerSession;
[Serializable]
public class PlayerContext
diff --git a/NitroxModel/MultiplayerSession/PlayerSettings.cs b/Nitrox.Model.Subnautica/MultiplayerSession/PlayerSettings.cs
similarity index 80%
rename from NitroxModel/MultiplayerSession/PlayerSettings.cs
rename to Nitrox.Model.Subnautica/MultiplayerSession/PlayerSettings.cs
index a7c928f68..05616aa26 100644
--- a/NitroxModel/MultiplayerSession/PlayerSettings.cs
+++ b/Nitrox.Model.Subnautica/MultiplayerSession/PlayerSettings.cs
@@ -1,7 +1,7 @@
using System;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
-namespace NitroxModel.MultiplayerSession
+namespace Nitrox.Model.Subnautica.MultiplayerSession
{
[Serializable]
public class PlayerSettings
diff --git a/NitroxServer/NitroxServer.csproj b/Nitrox.Model.Subnautica/Nitrox.Model.Subnautica.csproj
similarity index 58%
rename from NitroxServer/NitroxServer.csproj
rename to Nitrox.Model.Subnautica/Nitrox.Model.Subnautica.csproj
index 5d5219b68..c92d26072 100644
--- a/NitroxServer/NitroxServer.csproj
+++ b/Nitrox.Model.Subnautica/Nitrox.Model.Subnautica.csproj
@@ -1,11 +1,15 @@
- net9.0
+ net472;net9.0
-
+
+
+
+
+
@@ -13,4 +17,5 @@
..\Nitrox.Assets.Subnautica\protobuf-net.dll
+
diff --git a/NitroxModel/Packets/AggressiveWhenSeeTargetChanged.cs b/Nitrox.Model.Subnautica/Packets/AggressiveWhenSeeTargetChanged.cs
similarity index 82%
rename from NitroxModel/Packets/AggressiveWhenSeeTargetChanged.cs
rename to Nitrox.Model.Subnautica/Packets/AggressiveWhenSeeTargetChanged.cs
index 408e8a71a..b240cc8aa 100644
--- a/NitroxModel/Packets/AggressiveWhenSeeTargetChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/AggressiveWhenSeeTargetChanged.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class AggressiveWhenSeeTargetChanged : Packet
diff --git a/NitroxModel/Packets/AnimationChangeEvent.cs b/Nitrox.Model.Subnautica/Packets/AnimationChangeEvent.cs
similarity index 70%
rename from NitroxModel/Packets/AnimationChangeEvent.cs
rename to Nitrox.Model.Subnautica/Packets/AnimationChangeEvent.cs
index 3787bbc13..0e18951f0 100644
--- a/NitroxModel/Packets/AnimationChangeEvent.cs
+++ b/Nitrox.Model.Subnautica/Packets/AnimationChangeEvent.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class AnimationChangeEvent : Packet
diff --git a/NitroxModel/Packets/AttackCyclopsTargetChanged.cs b/Nitrox.Model.Subnautica/Packets/AttackCyclopsTargetChanged.cs
similarity index 81%
rename from NitroxModel/Packets/AttackCyclopsTargetChanged.cs
rename to Nitrox.Model.Subnautica/Packets/AttackCyclopsTargetChanged.cs
index ff25e3c18..257e36ba3 100644
--- a/NitroxModel/Packets/AttackCyclopsTargetChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/AttackCyclopsTargetChanged.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class AttackCyclopsTargetChanged : Packet
diff --git a/NitroxModel/Packets/AuroraAndTimeUpdate.cs b/Nitrox.Model.Subnautica/Packets/AuroraAndTimeUpdate.cs
similarity index 68%
rename from NitroxModel/Packets/AuroraAndTimeUpdate.cs
rename to Nitrox.Model.Subnautica/Packets/AuroraAndTimeUpdate.cs
index aec23dfcd..95aa4c479 100644
--- a/NitroxModel/Packets/AuroraAndTimeUpdate.cs
+++ b/Nitrox.Model.Subnautica/Packets/AuroraAndTimeUpdate.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class AuroraAndTimeUpdate : Packet
diff --git a/NitroxModel/Packets/BaseDeconstructed.cs b/Nitrox.Model.Subnautica/Packets/BaseDeconstructed.cs
similarity index 65%
rename from NitroxModel/Packets/BaseDeconstructed.cs
rename to Nitrox.Model.Subnautica/Packets/BaseDeconstructed.cs
index 76325245d..192c88b14 100644
--- a/NitroxModel/Packets/BaseDeconstructed.cs
+++ b/Nitrox.Model.Subnautica/Packets/BaseDeconstructed.cs
@@ -1,8 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public sealed class BaseDeconstructed : Packet
diff --git a/NitroxModel/Packets/BedEnter.cs b/Nitrox.Model.Subnautica/Packets/BedEnter.cs
similarity index 55%
rename from NitroxModel/Packets/BedEnter.cs
rename to Nitrox.Model.Subnautica/Packets/BedEnter.cs
index bc0ac7f1d..f99919a0f 100644
--- a/NitroxModel/Packets/BedEnter.cs
+++ b/Nitrox.Model.Subnautica/Packets/BedEnter.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class BedEnter : Packet
diff --git a/NitroxModel/Packets/BenchChanged.cs b/Nitrox.Model.Subnautica/Packets/BenchChanged.cs
similarity index 82%
rename from NitroxModel/Packets/BenchChanged.cs
rename to Nitrox.Model.Subnautica/Packets/BenchChanged.cs
index 784806572..941430566 100644
--- a/NitroxModel/Packets/BenchChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/BenchChanged.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class BenchChanged : Packet
diff --git a/NitroxModel/Packets/BuildingDesyncWarning.cs b/Nitrox.Model.Subnautica/Packets/BuildingDesyncWarning.cs
similarity index 73%
rename from NitroxModel/Packets/BuildingDesyncWarning.cs
rename to Nitrox.Model.Subnautica/Packets/BuildingDesyncWarning.cs
index 11ab0a21f..f85536316 100644
--- a/NitroxModel/Packets/BuildingDesyncWarning.cs
+++ b/Nitrox.Model.Subnautica/Packets/BuildingDesyncWarning.cs
@@ -1,8 +1,9 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public sealed class BuildingDesyncWarning : Packet
diff --git a/NitroxModel/Packets/BuildingResync.cs b/Nitrox.Model.Subnautica/Packets/BuildingResync.cs
similarity index 76%
rename from NitroxModel/Packets/BuildingResync.cs
rename to Nitrox.Model.Subnautica/Packets/BuildingResync.cs
index 6e4e62f83..e123d5c61 100644
--- a/NitroxModel/Packets/BuildingResync.cs
+++ b/Nitrox.Model.Subnautica/Packets/BuildingResync.cs
@@ -1,8 +1,9 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public sealed class BuildingResync : Packet
diff --git a/NitroxModel/Packets/BuildingResyncRequest.cs b/Nitrox.Model.Subnautica/Packets/BuildingResyncRequest.cs
similarity index 76%
rename from NitroxModel/Packets/BuildingResyncRequest.cs
rename to Nitrox.Model.Subnautica/Packets/BuildingResyncRequest.cs
index 4fa76f0c1..cb57bae02 100644
--- a/NitroxModel/Packets/BuildingResyncRequest.cs
+++ b/Nitrox.Model.Subnautica/Packets/BuildingResyncRequest.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public sealed class BuildingResyncRequest : Packet
diff --git a/NitroxModel/Packets/CellVisibilityChanged.cs b/Nitrox.Model.Subnautica/Packets/CellVisibilityChanged.cs
similarity index 78%
rename from NitroxModel/Packets/CellVisibilityChanged.cs
rename to Nitrox.Model.Subnautica/Packets/CellVisibilityChanged.cs
index b71c215ba..6f4d61f4b 100644
--- a/NitroxModel/Packets/CellVisibilityChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/CellVisibilityChanged.cs
@@ -1,8 +1,9 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class CellVisibilityChanged : Packet
diff --git a/NitroxModel/Packets/ChatMessage.cs b/Nitrox.Model.Subnautica/Packets/ChatMessage.cs
similarity index 83%
rename from NitroxModel/Packets/ChatMessage.cs
rename to Nitrox.Model.Subnautica/Packets/ChatMessage.cs
index 5830077d2..25f6beb4d 100644
--- a/NitroxModel/Packets/ChatMessage.cs
+++ b/Nitrox.Model.Subnautica/Packets/ChatMessage.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class ChatMessage : Packet
diff --git a/NitroxModel/Packets/CheatCommand.cs b/Nitrox.Model.Subnautica/Packets/CheatCommand.cs
similarity index 72%
rename from NitroxModel/Packets/CheatCommand.cs
rename to Nitrox.Model.Subnautica/Packets/CheatCommand.cs
index d9e3daa7b..e9c3e0687 100644
--- a/NitroxModel/Packets/CheatCommand.cs
+++ b/Nitrox.Model.Subnautica/Packets/CheatCommand.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.Networking;
+using Nitrox.Model.Networking;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class CheatCommand : Packet
diff --git a/NitroxModel/Packets/ClearPlanter.cs b/Nitrox.Model.Subnautica/Packets/ClearPlanter.cs
similarity index 65%
rename from NitroxModel/Packets/ClearPlanter.cs
rename to Nitrox.Model.Subnautica/Packets/ClearPlanter.cs
index cead8744c..ba0e5ad03 100644
--- a/NitroxModel/Packets/ClearPlanter.cs
+++ b/Nitrox.Model.Subnautica/Packets/ClearPlanter.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class ClearPlanter : Packet
diff --git a/NitroxModel/Packets/CoffeeMachineUse.cs b/Nitrox.Model.Subnautica/Packets/CoffeeMachineUse.cs
similarity index 76%
rename from NitroxModel/Packets/CoffeeMachineUse.cs
rename to Nitrox.Model.Subnautica/Packets/CoffeeMachineUse.cs
index 5460c5875..43f9db3ea 100644
--- a/NitroxModel/Packets/CoffeeMachineUse.cs
+++ b/Nitrox.Model.Subnautica/Packets/CoffeeMachineUse.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public sealed class CoffeeMachineUse : Packet
@@ -21,4 +22,3 @@ public enum CoffeeMachineSlot
TWO
}
}
-
diff --git a/NitroxModel/Packets/CreatureActionChanged.cs b/Nitrox.Model.Subnautica/Packets/CreatureActionChanged.cs
similarity index 76%
rename from NitroxModel/Packets/CreatureActionChanged.cs
rename to Nitrox.Model.Subnautica/Packets/CreatureActionChanged.cs
index acc817d5f..537a7d1e2 100644
--- a/NitroxModel/Packets/CreatureActionChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/CreatureActionChanged.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public sealed class CreatureActionChanged : Packet
diff --git a/NitroxModel/Packets/CreaturePoopPerformed.cs b/Nitrox.Model.Subnautica/Packets/CreaturePoopPerformed.cs
similarity index 67%
rename from NitroxModel/Packets/CreaturePoopPerformed.cs
rename to Nitrox.Model.Subnautica/Packets/CreaturePoopPerformed.cs
index 1d0b0d82a..a24bbac54 100644
--- a/NitroxModel/Packets/CreaturePoopPerformed.cs
+++ b/Nitrox.Model.Subnautica/Packets/CreaturePoopPerformed.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class CreaturePoopPerformed : Packet
diff --git a/NitroxModel-Subnautica/Packets/CyclopsDamage.cs b/Nitrox.Model.Subnautica/Packets/CyclopsDamage.cs
similarity index 93%
rename from NitroxModel-Subnautica/Packets/CyclopsDamage.cs
rename to Nitrox.Model.Subnautica/Packets/CyclopsDamage.cs
index 6af8c0401..b4198b051 100644
--- a/NitroxModel-Subnautica/Packets/CyclopsDamage.cs
+++ b/Nitrox.Model.Subnautica/Packets/CyclopsDamage.cs
@@ -1,10 +1,11 @@
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;
+using UnityEngine;
-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/Packets/DebugStartMapPacket.cs b/Nitrox.Model.Subnautica/Packets/DebugStartMapPacket.cs
similarity index 74%
rename from NitroxModel/Packets/DebugStartMapPacket.cs
rename to Nitrox.Model.Subnautica/Packets/DebugStartMapPacket.cs
index 76895b25c..ac100b2a6 100644
--- a/NitroxModel/Packets/DebugStartMapPacket.cs
+++ b/Nitrox.Model.Subnautica/Packets/DebugStartMapPacket.cs
@@ -1,8 +1,9 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class DebugStartMapPacket : Packet
diff --git a/NitroxModel/Packets/DeconstructionBegin.cs b/Nitrox.Model.Subnautica/Packets/DeconstructionBegin.cs
similarity index 68%
rename from NitroxModel/Packets/DeconstructionBegin.cs
rename to Nitrox.Model.Subnautica/Packets/DeconstructionBegin.cs
index d4699fc46..aa5227d9d 100644
--- a/NitroxModel/Packets/DeconstructionBegin.cs
+++ b/Nitrox.Model.Subnautica/Packets/DeconstructionBegin.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class DeconstructionBegin : Packet
diff --git a/NitroxModel/Packets/Disconnect.cs b/Nitrox.Model.Subnautica/Packets/Disconnect.cs
similarity index 76%
rename from NitroxModel/Packets/Disconnect.cs
rename to Nitrox.Model.Subnautica/Packets/Disconnect.cs
index 261bf0d3a..c6a34ea3e 100644
--- a/NitroxModel/Packets/Disconnect.cs
+++ b/Nitrox.Model.Subnautica/Packets/Disconnect.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class Disconnect : Packet
diff --git a/NitroxModel/Packets/DiscordRequestIP.cs b/Nitrox.Model.Subnautica/Packets/DiscordRequestIP.cs
similarity index 73%
rename from NitroxModel/Packets/DiscordRequestIP.cs
rename to Nitrox.Model.Subnautica/Packets/DiscordRequestIP.cs
index 5d5287048..c807b29dd 100644
--- a/NitroxModel/Packets/DiscordRequestIP.cs
+++ b/Nitrox.Model.Subnautica/Packets/DiscordRequestIP.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class DiscordRequestIP : Packet
diff --git a/NitroxModel/Packets/DropSimulationOwnership.cs b/Nitrox.Model.Subnautica/Packets/DropSimulationOwnership.cs
similarity index 67%
rename from NitroxModel/Packets/DropSimulationOwnership.cs
rename to Nitrox.Model.Subnautica/Packets/DropSimulationOwnership.cs
index 7dffed244..16bcb51aa 100644
--- a/NitroxModel/Packets/DropSimulationOwnership.cs
+++ b/Nitrox.Model.Subnautica/Packets/DropSimulationOwnership.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class DropSimulationOwnership : Packet
diff --git a/NitroxModel/Packets/EntityDestroyed.cs b/Nitrox.Model.Subnautica/Packets/EntityDestroyed.cs
similarity index 62%
rename from NitroxModel/Packets/EntityDestroyed.cs
rename to Nitrox.Model.Subnautica/Packets/EntityDestroyed.cs
index 64062f812..88f6712e9 100644
--- a/NitroxModel/Packets/EntityDestroyed.cs
+++ b/Nitrox.Model.Subnautica/Packets/EntityDestroyed.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class EntityDestroyed : Packet
diff --git a/NitroxModel/Packets/EntityMetadataUpdate.cs b/Nitrox.Model.Subnautica/Packets/EntityMetadataUpdate.cs
similarity index 65%
rename from NitroxModel/Packets/EntityMetadataUpdate.cs
rename to Nitrox.Model.Subnautica/Packets/EntityMetadataUpdate.cs
index 63f43efbb..177889b38 100644
--- a/NitroxModel/Packets/EntityMetadataUpdate.cs
+++ b/Nitrox.Model.Subnautica/Packets/EntityMetadataUpdate.cs
@@ -1,8 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class EntityMetadataUpdate : Packet
diff --git a/NitroxModel/Packets/EntityReparented.cs b/Nitrox.Model.Subnautica/Packets/EntityReparented.cs
similarity index 72%
rename from NitroxModel/Packets/EntityReparented.cs
rename to Nitrox.Model.Subnautica/Packets/EntityReparented.cs
index 23d85ccd9..c810c948d 100644
--- a/NitroxModel/Packets/EntityReparented.cs
+++ b/Nitrox.Model.Subnautica/Packets/EntityReparented.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class EntityReparented : Packet
diff --git a/NitroxModel/Packets/EntitySpawnedByClient.cs b/Nitrox.Model.Subnautica/Packets/EntitySpawnedByClient.cs
similarity index 77%
rename from NitroxModel/Packets/EntitySpawnedByClient.cs
rename to Nitrox.Model.Subnautica/Packets/EntitySpawnedByClient.cs
index ae86a3745..63f869cab 100644
--- a/NitroxModel/Packets/EntitySpawnedByClient.cs
+++ b/Nitrox.Model.Subnautica/Packets/EntitySpawnedByClient.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class EntitySpawnedByClient : Packet
diff --git a/NitroxModel/Packets/EntityTransformUpdates.cs b/Nitrox.Model.Subnautica/Packets/EntityTransformUpdates.cs
similarity index 93%
rename from NitroxModel/Packets/EntityTransformUpdates.cs
rename to Nitrox.Model.Subnautica/Packets/EntityTransformUpdates.cs
index 257deaade..edb3c17cb 100644
--- a/NitroxModel/Packets/EntityTransformUpdates.cs
+++ b/Nitrox.Model.Subnautica/Packets/EntityTransformUpdates.cs
@@ -1,9 +1,10 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class EntityTransformUpdates : Packet
diff --git a/NitroxModel/Packets/EscapePodChanged.cs b/Nitrox.Model.Subnautica/Packets/EscapePodChanged.cs
similarity index 77%
rename from NitroxModel/Packets/EscapePodChanged.cs
rename to Nitrox.Model.Subnautica/Packets/EscapePodChanged.cs
index 1c96cda90..e385304f0 100644
--- a/NitroxModel/Packets/EscapePodChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/EscapePodChanged.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class EscapePodChanged : Packet
@@ -17,4 +17,3 @@ public EscapePodChanged(ushort playerId, Optional escapePodId)
}
}
}
-
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/Packets/FMODAssetPacket.cs b/Nitrox.Model.Subnautica/Packets/FMODAssetPacket.cs
similarity index 77%
rename from NitroxModel/Packets/FMODAssetPacket.cs
rename to Nitrox.Model.Subnautica/Packets/FMODAssetPacket.cs
index c6b2a219c..642991685 100644
--- a/NitroxModel/Packets/FMODAssetPacket.cs
+++ b/Nitrox.Model.Subnautica/Packets/FMODAssetPacket.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class FMODAssetPacket : Packet
diff --git a/NitroxModel/Packets/FMODCustomEmitterPacket.cs b/Nitrox.Model.Subnautica/Packets/FMODCustomEmitterPacket.cs
similarity index 76%
rename from NitroxModel/Packets/FMODCustomEmitterPacket.cs
rename to Nitrox.Model.Subnautica/Packets/FMODCustomEmitterPacket.cs
index d271999fc..fb5ef9046 100644
--- a/NitroxModel/Packets/FMODCustomEmitterPacket.cs
+++ b/Nitrox.Model.Subnautica/Packets/FMODCustomEmitterPacket.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class FMODCustomEmitterPacket : Packet
diff --git a/NitroxModel/Packets/FMODCustomLoopingEmitterPacket.cs b/Nitrox.Model.Subnautica/Packets/FMODCustomLoopingEmitterPacket.cs
similarity index 73%
rename from NitroxModel/Packets/FMODCustomLoopingEmitterPacket.cs
rename to Nitrox.Model.Subnautica/Packets/FMODCustomLoopingEmitterPacket.cs
index 2f183d4de..dff77f8de 100644
--- a/NitroxModel/Packets/FMODCustomLoopingEmitterPacket.cs
+++ b/Nitrox.Model.Subnautica/Packets/FMODCustomLoopingEmitterPacket.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class FMODCustomLoopingEmitterPacket : Packet
diff --git a/NitroxModel/Packets/FMODEventInstancePacket.cs b/Nitrox.Model.Subnautica/Packets/FMODEventInstancePacket.cs
similarity index 75%
rename from NitroxModel/Packets/FMODEventInstancePacket.cs
rename to Nitrox.Model.Subnautica/Packets/FMODEventInstancePacket.cs
index 88758db48..cb111c78e 100644
--- a/NitroxModel/Packets/FMODEventInstancePacket.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.Packets;
[Serializable]
public class FMODEventInstancePacket : FMODAssetPacket
diff --git a/NitroxModel/Packets/FMODStudioEmitterPacket.cs b/Nitrox.Model.Subnautica/Packets/FMODStudioEmitterPacket.cs
similarity index 80%
rename from NitroxModel/Packets/FMODStudioEmitterPacket.cs
rename to Nitrox.Model.Subnautica/Packets/FMODStudioEmitterPacket.cs
index 3c25e6190..a0b35085e 100644
--- a/NitroxModel/Packets/FMODStudioEmitterPacket.cs
+++ b/Nitrox.Model.Subnautica/Packets/FMODStudioEmitterPacket.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class FMODStudioEmitterPacket : Packet
diff --git a/NitroxModel/Packets/FastCheatChanged.cs b/Nitrox.Model.Subnautica/Packets/FastCheatChanged.cs
similarity index 82%
rename from NitroxModel/Packets/FastCheatChanged.cs
rename to Nitrox.Model.Subnautica/Packets/FastCheatChanged.cs
index 4a189e8c7..2240dc7d9 100644
--- a/NitroxModel/Packets/FastCheatChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/FastCheatChanged.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class FastCheatChanged : Packet
diff --git a/NitroxModel/Packets/FireDoused.cs b/Nitrox.Model.Subnautica/Packets/FireDoused.cs
similarity index 88%
rename from NitroxModel/Packets/FireDoused.cs
rename to Nitrox.Model.Subnautica/Packets/FireDoused.cs
index 6affa49bb..886c39667 100644
--- a/NitroxModel/Packets/FireDoused.cs
+++ b/Nitrox.Model.Subnautica/Packets/FireDoused.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.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.Subnautica/Packets/FootstepPacket.cs
similarity index 88%
rename from NitroxModel/Packets/FootstepPacket.cs
rename to Nitrox.Model.Subnautica/Packets/FootstepPacket.cs
index 743e06b81..ee85216e9 100644
--- a/NitroxModel/Packets/FootstepPacket.cs
+++ b/Nitrox.Model.Subnautica/Packets/FootstepPacket.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class FootstepPacket : Packet
diff --git a/NitroxModel/Packets/GameModeChanged.cs b/Nitrox.Model.Subnautica/Packets/GameModeChanged.cs
similarity index 86%
rename from NitroxModel/Packets/GameModeChanged.cs
rename to Nitrox.Model.Subnautica/Packets/GameModeChanged.cs
index 64e93b9c3..82ba3b09f 100644
--- a/NitroxModel/Packets/GameModeChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/GameModeChanged.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.Server;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Server;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class GameModeChanged : Packet
diff --git a/NitroxModel/Packets/GoalCompleted.cs b/Nitrox.Model.Subnautica/Packets/GoalCompleted.cs
similarity index 81%
rename from NitroxModel/Packets/GoalCompleted.cs
rename to Nitrox.Model.Subnautica/Packets/GoalCompleted.cs
index eeedf8a42..ddb70a9c2 100644
--- a/NitroxModel/Packets/GoalCompleted.cs
+++ b/Nitrox.Model.Subnautica/Packets/GoalCompleted.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class GoalCompleted : Packet
diff --git a/NitroxModel/Packets/InitialPlayerSync.cs b/Nitrox.Model.Subnautica/Packets/InitialPlayerSync.cs
similarity index 94%
rename from NitroxModel/Packets/InitialPlayerSync.cs
rename to Nitrox.Model.Subnautica/Packets/InitialPlayerSync.cs
index 78c75d0ab..38c2a7bf7 100644
--- a/NitroxModel/Packets/InitialPlayerSync.cs
+++ b/Nitrox.Model.Subnautica/Packets/InitialPlayerSync.cs
@@ -1,14 +1,16 @@
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.MultiplayerSession;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Server;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.MultiplayerSession;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class InitialPlayerSync : Packet
diff --git a/NitroxModel/Packets/ItemPosition.cs b/Nitrox.Model.Subnautica/Packets/ItemPosition.cs
similarity index 74%
rename from NitroxModel/Packets/ItemPosition.cs
rename to Nitrox.Model.Subnautica/Packets/ItemPosition.cs
index c89407da1..6c2727a2f 100644
--- a/NitroxModel/Packets/ItemPosition.cs
+++ b/Nitrox.Model.Subnautica/Packets/ItemPosition.cs
@@ -1,8 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class ItemPosition : Packet
diff --git a/NitroxModel/Packets/KeepInventoryChanged.cs b/Nitrox.Model.Subnautica/Packets/KeepInventoryChanged.cs
similarity index 77%
rename from NitroxModel/Packets/KeepInventoryChanged.cs
rename to Nitrox.Model.Subnautica/Packets/KeepInventoryChanged.cs
index a2628c33e..b991102bd 100644
--- a/NitroxModel/Packets/KeepInventoryChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/KeepInventoryChanged.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class KeepInventoryChanged : Packet
diff --git a/NitroxModel/Packets/KnownTechEntryAdd.cs b/Nitrox.Model.Subnautica/Packets/KnownTechEntryAdd.cs
similarity index 91%
rename from NitroxModel/Packets/KnownTechEntryAdd.cs
rename to Nitrox.Model.Subnautica/Packets/KnownTechEntryAdd.cs
index 7c5cebb08..0b03ef5ae 100644
--- a/NitroxModel/Packets/KnownTechEntryAdd.cs
+++ b/Nitrox.Model.Subnautica/Packets/KnownTechEntryAdd.cs
@@ -1,8 +1,9 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class KnownTechEntryAdd : Packet
diff --git a/NitroxModel/Packets/LargeWaterParkDeconstructed.cs b/Nitrox.Model.Subnautica/Packets/LargeWaterParkDeconstructed.cs
similarity index 72%
rename from NitroxModel/Packets/LargeWaterParkDeconstructed.cs
rename to Nitrox.Model.Subnautica/Packets/LargeWaterParkDeconstructed.cs
index 62a7837d1..dd27f3d6b 100644
--- a/NitroxModel/Packets/LargeWaterParkDeconstructed.cs
+++ b/Nitrox.Model.Subnautica/Packets/LargeWaterParkDeconstructed.cs
@@ -1,10 +1,11 @@
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.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Bases;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public sealed class LargeWaterParkDeconstructed : PieceDeconstructed
diff --git a/NitroxModel/Packets/LeakRepaired.cs b/Nitrox.Model.Subnautica/Packets/LeakRepaired.cs
similarity index 78%
rename from NitroxModel/Packets/LeakRepaired.cs
rename to Nitrox.Model.Subnautica/Packets/LeakRepaired.cs
index 0c68853fc..e7daa95ba 100644
--- a/NitroxModel/Packets/LeakRepaired.cs
+++ b/Nitrox.Model.Subnautica/Packets/LeakRepaired.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class LeakRepaired : Packet
diff --git a/NitroxModel/Packets/MedicalCabinetClicked.cs b/Nitrox.Model.Subnautica/Packets/MedicalCabinetClicked.cs
similarity index 83%
rename from NitroxModel/Packets/MedicalCabinetClicked.cs
rename to Nitrox.Model.Subnautica/Packets/MedicalCabinetClicked.cs
index 1a90d7061..ee1f8cbc6 100644
--- a/NitroxModel/Packets/MedicalCabinetClicked.cs
+++ b/Nitrox.Model.Subnautica/Packets/MedicalCabinetClicked.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class MedicalCabinetClicked : Packet
diff --git a/NitroxModel/Packets/ModifyConstructedAmount.cs b/Nitrox.Model.Subnautica/Packets/ModifyConstructedAmount.cs
similarity index 75%
rename from NitroxModel/Packets/ModifyConstructedAmount.cs
rename to Nitrox.Model.Subnautica/Packets/ModifyConstructedAmount.cs
index aa6654e82..3fc88a3b9 100644
--- a/NitroxModel/Packets/ModifyConstructedAmount.cs
+++ b/Nitrox.Model.Subnautica/Packets/ModifyConstructedAmount.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public sealed class ModifyConstructedAmount : Packet
diff --git a/NitroxModel/Packets/ModuleAdded.cs b/Nitrox.Model.Subnautica/Packets/ModuleAdded.cs
similarity index 75%
rename from NitroxModel/Packets/ModuleAdded.cs
rename to Nitrox.Model.Subnautica/Packets/ModuleAdded.cs
index 8d8e0c387..c0196a156 100644
--- a/NitroxModel/Packets/ModuleAdded.cs
+++ b/Nitrox.Model.Subnautica/Packets/ModuleAdded.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class ModuleAdded : Packet
diff --git a/NitroxModel/Packets/ModuleRemoved.cs b/Nitrox.Model.Subnautica/Packets/ModuleRemoved.cs
similarity index 71%
rename from NitroxModel/Packets/ModuleRemoved.cs
rename to Nitrox.Model.Subnautica/Packets/ModuleRemoved.cs
index fa644122a..fd62e16fd 100644
--- a/NitroxModel/Packets/ModuleRemoved.cs
+++ b/Nitrox.Model.Subnautica/Packets/ModuleRemoved.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class ModuleRemoved : Packet
diff --git a/NitroxModel/Packets/Movement.cs b/Nitrox.Model.Subnautica/Packets/Movement.cs
similarity index 75%
rename from NitroxModel/Packets/Movement.cs
rename to Nitrox.Model.Subnautica/Packets/Movement.cs
index 12b4ad05a..c3389fbe3 100644
--- a/NitroxModel/Packets/Movement.cs
+++ b/Nitrox.Model.Subnautica/Packets/Movement.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public abstract class Movement : Packet
diff --git a/NitroxModel/Packets/MultiplayerSessionPolicy.cs b/Nitrox.Model.Subnautica/Packets/MultiplayerSessionPolicy.cs
similarity index 89%
rename from NitroxModel/Packets/MultiplayerSessionPolicy.cs
rename to Nitrox.Model.Subnautica/Packets/MultiplayerSessionPolicy.cs
index 535edd0a5..f73657de5 100644
--- a/NitroxModel/Packets/MultiplayerSessionPolicy.cs
+++ b/Nitrox.Model.Subnautica/Packets/MultiplayerSessionPolicy.cs
@@ -1,9 +1,11 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.MultiplayerSession;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Helper;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class MultiplayerSessionPolicy : CorrelatedPacket
diff --git a/NitroxModel/Packets/MultiplayerSessionPolicyRequest.cs b/Nitrox.Model.Subnautica/Packets/MultiplayerSessionPolicyRequest.cs
similarity index 87%
rename from NitroxModel/Packets/MultiplayerSessionPolicyRequest.cs
rename to Nitrox.Model.Subnautica/Packets/MultiplayerSessionPolicyRequest.cs
index 0e8c3589c..2ceb0de37 100644
--- a/NitroxModel/Packets/MultiplayerSessionPolicyRequest.cs
+++ b/Nitrox.Model.Subnautica/Packets/MultiplayerSessionPolicyRequest.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.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.Subnautica/Packets/MultiplayerSessionReservation.cs
similarity index 89%
rename from NitroxModel/Packets/MultiplayerSessionReservation.cs
rename to Nitrox.Model.Subnautica/Packets/MultiplayerSessionReservation.cs
index ce2ac5e9f..906e9b49a 100644
--- a/NitroxModel/Packets/MultiplayerSessionReservation.cs
+++ b/Nitrox.Model.Subnautica/Packets/MultiplayerSessionReservation.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.MultiplayerSession;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class MultiplayerSessionReservation : CorrelatedPacket
diff --git a/NitroxModel/Packets/MultiplayerSessionReservationRequest.cs b/Nitrox.Model.Subnautica/Packets/MultiplayerSessionReservationRequest.cs
similarity index 77%
rename from NitroxModel/Packets/MultiplayerSessionReservationRequest.cs
rename to Nitrox.Model.Subnautica/Packets/MultiplayerSessionReservationRequest.cs
index c5918ef2b..5be7edd55 100644
--- a/NitroxModel/Packets/MultiplayerSessionReservationRequest.cs
+++ b/Nitrox.Model.Subnautica/Packets/MultiplayerSessionReservationRequest.cs
@@ -1,7 +1,9 @@
using System;
-using NitroxModel.MultiplayerSession;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.MultiplayerSession;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class MultiplayerSessionReservationRequest : CorrelatedPacket
diff --git a/NitroxModel/Packets/MutePlayer.cs b/Nitrox.Model.Subnautica/Packets/MutePlayer.cs
similarity index 77%
rename from NitroxModel/Packets/MutePlayer.cs
rename to Nitrox.Model.Subnautica/Packets/MutePlayer.cs
index 53e90452a..05ffefe40 100644
--- a/NitroxModel/Packets/MutePlayer.cs
+++ b/Nitrox.Model.Subnautica/Packets/MutePlayer.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class MutePlayer : Packet
diff --git a/NitroxModel/Packets/OpenableStateChanged.cs b/Nitrox.Model.Subnautica/Packets/OpenableStateChanged.cs
similarity index 78%
rename from NitroxModel/Packets/OpenableStateChanged.cs
rename to Nitrox.Model.Subnautica/Packets/OpenableStateChanged.cs
index ec345bb0e..5af255c6e 100644
--- a/NitroxModel/Packets/OpenableStateChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/OpenableStateChanged.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class OpenableStateChanged : Packet
diff --git a/NitroxModel/Packets/OrderedBuildPacket.cs b/Nitrox.Model.Subnautica/Packets/OrderedBuildPacket.cs
similarity index 75%
rename from NitroxModel/Packets/OrderedBuildPacket.cs
rename to Nitrox.Model.Subnautica/Packets/OrderedBuildPacket.cs
index 30c297518..a8c972d88 100644
--- a/NitroxModel/Packets/OrderedBuildPacket.cs
+++ b/Nitrox.Model.Subnautica/Packets/OrderedBuildPacket.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public abstract class OrderedBuildPacket : Packet
diff --git a/NitroxModel/Packets/PDAEncyclopediaEntryAdd.cs b/Nitrox.Model.Subnautica/Packets/PDAEncyclopediaEntryAdd.cs
similarity index 83%
rename from NitroxModel/Packets/PDAEncyclopediaEntryAdd.cs
rename to Nitrox.Model.Subnautica/Packets/PDAEncyclopediaEntryAdd.cs
index 7f7f449a8..923149107 100644
--- a/NitroxModel/Packets/PDAEncyclopediaEntryAdd.cs
+++ b/Nitrox.Model.Subnautica/Packets/PDAEncyclopediaEntryAdd.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PDAEncyclopediaEntryAdd : Packet
diff --git a/NitroxModel/Packets/PDALogEntryAdd.cs b/Nitrox.Model.Subnautica/Packets/PDALogEntryAdd.cs
similarity index 78%
rename from NitroxModel/Packets/PDALogEntryAdd.cs
rename to Nitrox.Model.Subnautica/Packets/PDALogEntryAdd.cs
index 03eb69b53..ff287fec4 100644
--- a/NitroxModel/Packets/PDALogEntryAdd.cs
+++ b/Nitrox.Model.Subnautica/Packets/PDALogEntryAdd.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PDALogEntryAdd : Packet
diff --git a/NitroxModel/Packets/PDAScanFinished.cs b/Nitrox.Model.Subnautica/Packets/PDAScanFinished.cs
similarity index 80%
rename from NitroxModel/Packets/PDAScanFinished.cs
rename to Nitrox.Model.Subnautica/Packets/PDAScanFinished.cs
index 445421bf1..1f663e1f0 100644
--- a/NitroxModel/Packets/PDAScanFinished.cs
+++ b/Nitrox.Model.Subnautica/Packets/PDAScanFinished.cs
@@ -1,8 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PDAScanFinished : Packet
diff --git a/NitroxModel/Packets/PermsChanged.cs b/Nitrox.Model.Subnautica/Packets/PermsChanged.cs
similarity index 61%
rename from NitroxModel/Packets/PermsChanged.cs
rename to Nitrox.Model.Subnautica/Packets/PermsChanged.cs
index 2636d3e44..ca0cd02be 100644
--- a/NitroxModel/Packets/PermsChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/PermsChanged.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PermsChanged : Packet
diff --git a/NitroxModel/Packets/PickupItem.cs b/Nitrox.Model.Subnautica/Packets/PickupItem.cs
similarity index 58%
rename from NitroxModel/Packets/PickupItem.cs
rename to Nitrox.Model.Subnautica/Packets/PickupItem.cs
index 4189cbea7..0803f1414 100644
--- a/NitroxModel/Packets/PickupItem.cs
+++ b/Nitrox.Model.Subnautica/Packets/PickupItem.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PickupItem : Packet
diff --git a/NitroxModel/Packets/PieceDeconstructed.cs b/Nitrox.Model.Subnautica/Packets/PieceDeconstructed.cs
similarity index 76%
rename from NitroxModel/Packets/PieceDeconstructed.cs
rename to Nitrox.Model.Subnautica/Packets/PieceDeconstructed.cs
index 0dcf04480..d195b1eeb 100644
--- a/NitroxModel/Packets/PieceDeconstructed.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Bases;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PieceDeconstructed : OrderedBuildPacket
diff --git a/NitroxModel/Packets/PinMoved.cs b/Nitrox.Model.Subnautica/Packets/PinMoved.cs
similarity index 77%
rename from NitroxModel/Packets/PinMoved.cs
rename to Nitrox.Model.Subnautica/Packets/PinMoved.cs
index 992afbf9f..ac4e10956 100644
--- a/NitroxModel/Packets/PinMoved.cs
+++ b/Nitrox.Model.Subnautica/Packets/PinMoved.cs
@@ -1,7 +1,8 @@
using System;
using System.Collections.Generic;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PinnedRecipeMoved : Packet
diff --git a/NitroxModel/Packets/PlaceBase.cs b/Nitrox.Model.Subnautica/Packets/PlaceBase.cs
similarity index 68%
rename from NitroxModel/Packets/PlaceBase.cs
rename to Nitrox.Model.Subnautica/Packets/PlaceBase.cs
index 7bc133b1c..2baccf65a 100644
--- a/NitroxModel/Packets/PlaceBase.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlaceBase.cs
@@ -1,8 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public sealed class PlaceBase : Packet
diff --git a/NitroxModel/Packets/PlaceGhost.cs b/Nitrox.Model.Subnautica/Packets/PlaceGhost.cs
similarity index 60%
rename from NitroxModel/Packets/PlaceGhost.cs
rename to Nitrox.Model.Subnautica/Packets/PlaceGhost.cs
index 7d2d6aac0..0d18579c2 100644
--- a/NitroxModel/Packets/PlaceGhost.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlaceGhost.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public sealed class PlaceGhost : Packet
diff --git a/NitroxModel/Packets/PlaceModule.cs b/Nitrox.Model.Subnautica/Packets/PlaceModule.cs
similarity index 60%
rename from NitroxModel/Packets/PlaceModule.cs
rename to Nitrox.Model.Subnautica/Packets/PlaceModule.cs
index ae8ebb343..f96536a84 100644
--- a/NitroxModel/Packets/PlaceModule.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlaceModule.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public sealed class PlaceModule : Packet
diff --git a/NitroxModel/Packets/PlaySunbeamEvent.cs b/Nitrox.Model.Subnautica/Packets/PlaySunbeamEvent.cs
similarity index 94%
rename from NitroxModel/Packets/PlaySunbeamEvent.cs
rename to Nitrox.Model.Subnautica/Packets/PlaySunbeamEvent.cs
index 76d8ed26c..2c46b1702 100644
--- a/NitroxModel/Packets/PlaySunbeamEvent.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlaySunbeamEvent.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PlaySunbeamEvent : Packet
diff --git a/NitroxModel/Packets/PlayerCinematicControllerCall.cs b/Nitrox.Model.Subnautica/Packets/PlayerCinematicControllerCall.cs
similarity index 84%
rename from NitroxModel/Packets/PlayerCinematicControllerCall.cs
rename to Nitrox.Model.Subnautica/Packets/PlayerCinematicControllerCall.cs
index 9f129d658..47ca582b4 100644
--- a/NitroxModel/Packets/PlayerCinematicControllerCall.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlayerCinematicControllerCall.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PlayerCinematicControllerCall : Packet
diff --git a/NitroxModel/Packets/PlayerDeathEvent.cs b/Nitrox.Model.Subnautica/Packets/PlayerDeathEvent.cs
similarity index 76%
rename from NitroxModel/Packets/PlayerDeathEvent.cs
rename to Nitrox.Model.Subnautica/Packets/PlayerDeathEvent.cs
index b559d10ce..f1f63a434 100644
--- a/NitroxModel/Packets/PlayerDeathEvent.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlayerDeathEvent.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class PlayerDeathEvent : Packet
diff --git a/NitroxModel/Packets/PlayerHeldItemChanged.cs b/Nitrox.Model.Subnautica/Packets/PlayerHeldItemChanged.cs
similarity index 83%
rename from NitroxModel/Packets/PlayerHeldItemChanged.cs
rename to Nitrox.Model.Subnautica/Packets/PlayerHeldItemChanged.cs
index 6a9d1d2cd..20a839d7b 100644
--- a/NitroxModel/Packets/PlayerHeldItemChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlayerHeldItemChanged.cs
@@ -1,8 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class PlayerHeldItemChanged : Packet
diff --git a/NitroxModel/Packets/PlayerInCyclopsMovement.cs b/Nitrox.Model.Subnautica/Packets/PlayerInCyclopsMovement.cs
similarity index 80%
rename from NitroxModel/Packets/PlayerInCyclopsMovement.cs
rename to Nitrox.Model.Subnautica/Packets/PlayerInCyclopsMovement.cs
index 74265e5b3..2bab1f4c9 100644
--- a/NitroxModel/Packets/PlayerInCyclopsMovement.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlayerInCyclopsMovement.cs
@@ -1,8 +1,9 @@
using System;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.Networking;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Networking;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PlayerInCyclopsMovement : Packet
diff --git a/NitroxModel/Packets/PlayerJoinedMultiplayerSession.cs b/Nitrox.Model.Subnautica/Packets/PlayerJoinedMultiplayerSession.cs
similarity index 64%
rename from NitroxModel/Packets/PlayerJoinedMultiplayerSession.cs
rename to Nitrox.Model.Subnautica/Packets/PlayerJoinedMultiplayerSession.cs
index 6da3bdcdb..4e9b40976 100644
--- a/NitroxModel/Packets/PlayerJoinedMultiplayerSession.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlayerJoinedMultiplayerSession.cs
@@ -1,10 +1,11 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.MultiplayerSession;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.MultiplayerSession;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PlayerJoinedMultiplayerSession : Packet
diff --git a/NitroxModel/Packets/PlayerJoiningMultiplayerSession.cs b/Nitrox.Model.Subnautica/Packets/PlayerJoiningMultiplayerSession.cs
similarity index 84%
rename from NitroxModel/Packets/PlayerJoiningMultiplayerSession.cs
rename to Nitrox.Model.Subnautica/Packets/PlayerJoiningMultiplayerSession.cs
index 1a1ef87d2..1360d305c 100644
--- a/NitroxModel/Packets/PlayerJoiningMultiplayerSession.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlayerJoiningMultiplayerSession.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class PlayerJoiningMultiplayerSession : CorrelatedPacket
diff --git a/NitroxModel/Packets/PlayerKicked.cs b/Nitrox.Model.Subnautica/Packets/PlayerKicked.cs
similarity index 76%
rename from NitroxModel/Packets/PlayerKicked.cs
rename to Nitrox.Model.Subnautica/Packets/PlayerKicked.cs
index 356f3dcf5..872e3edbd 100644
--- a/NitroxModel/Packets/PlayerKicked.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlayerKicked.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class PlayerKicked : Packet
diff --git a/NitroxModel/Packets/PlayerMovement.cs b/Nitrox.Model.Subnautica/Packets/PlayerMovement.cs
similarity index 88%
rename from NitroxModel/Packets/PlayerMovement.cs
rename to Nitrox.Model.Subnautica/Packets/PlayerMovement.cs
index 5e45e5670..a5e90f78f 100644
--- a/NitroxModel/Packets/PlayerMovement.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.Packets
{
[Serializable]
public class PlayerMovement : Movement
diff --git a/NitroxModel/Packets/PlayerQuickSlotsBindingChanged.cs b/Nitrox.Model.Subnautica/Packets/PlayerQuickSlotsBindingChanged.cs
similarity index 71%
rename from NitroxModel/Packets/PlayerQuickSlotsBindingChanged.cs
rename to Nitrox.Model.Subnautica/Packets/PlayerQuickSlotsBindingChanged.cs
index a10b9ba68..fd7bb4a77 100644
--- a/NitroxModel/Packets/PlayerQuickSlotsBindingChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlayerQuickSlotsBindingChanged.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PlayerQuickSlotsBindingChanged : Packet
diff --git a/NitroxModel/Packets/PlayerSeeOutOfCellEntity.cs b/Nitrox.Model.Subnautica/Packets/PlayerSeeOutOfCellEntity.cs
similarity index 67%
rename from NitroxModel/Packets/PlayerSeeOutOfCellEntity.cs
rename to Nitrox.Model.Subnautica/Packets/PlayerSeeOutOfCellEntity.cs
index f4f4f7be8..540893866 100644
--- a/NitroxModel/Packets/PlayerSeeOutOfCellEntity.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlayerSeeOutOfCellEntity.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PlayerSeeOutOfCellEntity : Packet
diff --git a/NitroxModel/Packets/PlayerStats.cs b/Nitrox.Model.Subnautica/Packets/PlayerStats.cs
similarity index 87%
rename from NitroxModel/Packets/PlayerStats.cs
rename to Nitrox.Model.Subnautica/Packets/PlayerStats.cs
index bde2a9fc9..f7deea3bd 100644
--- a/NitroxModel/Packets/PlayerStats.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlayerStats.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.Networking;
+using Nitrox.Model.Networking;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PlayerStats : Packet
diff --git a/NitroxModel/Packets/PlayerSyncFinished.cs b/Nitrox.Model.Subnautica/Packets/PlayerSyncFinished.cs
similarity index 70%
rename from NitroxModel/Packets/PlayerSyncFinished.cs
rename to Nitrox.Model.Subnautica/Packets/PlayerSyncFinished.cs
index 0cd21c32c..27a11ab67 100644
--- a/NitroxModel/Packets/PlayerSyncFinished.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlayerSyncFinished.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class PlayerSyncFinished : Packet
diff --git a/NitroxModel/Packets/PlayerTeleported.cs b/Nitrox.Model.Subnautica/Packets/PlayerTeleported.cs
similarity index 80%
rename from NitroxModel/Packets/PlayerTeleported.cs
rename to Nitrox.Model.Subnautica/Packets/PlayerTeleported.cs
index 8df3d9f3b..30a09890f 100644
--- a/NitroxModel/Packets/PlayerTeleported.cs
+++ b/Nitrox.Model.Subnautica/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.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class PlayerTeleported : Packet
diff --git a/NitroxModel/Packets/PlayerUnseeOutOfCellEntity.cs b/Nitrox.Model.Subnautica/Packets/PlayerUnseeOutOfCellEntity.cs
similarity index 68%
rename from NitroxModel/Packets/PlayerUnseeOutOfCellEntity.cs
rename to Nitrox.Model.Subnautica/Packets/PlayerUnseeOutOfCellEntity.cs
index ccb4fed53..a61089db3 100644
--- a/NitroxModel/Packets/PlayerUnseeOutOfCellEntity.cs
+++ b/Nitrox.Model.Subnautica/Packets/PlayerUnseeOutOfCellEntity.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PlayerUnseeOutOfCellEntity : Packet
diff --git a/NitroxModel/Packets/PvPAttack.cs b/Nitrox.Model.Subnautica/Packets/PvPAttack.cs
similarity index 86%
rename from NitroxModel/Packets/PvPAttack.cs
rename to Nitrox.Model.Subnautica/Packets/PvPAttack.cs
index ce93a12bc..de1b677e2 100644
--- a/NitroxModel/Packets/PvPAttack.cs
+++ b/Nitrox.Model.Subnautica/Packets/PvPAttack.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class PvPAttack : Packet
diff --git a/NitroxModel/Packets/RadioPlayPendingMessage.cs b/Nitrox.Model.Subnautica/Packets/RadioPlayPendingMessage.cs
similarity index 58%
rename from NitroxModel/Packets/RadioPlayPendingMessage.cs
rename to Nitrox.Model.Subnautica/Packets/RadioPlayPendingMessage.cs
index 1b45ea0f1..17eba06ef 100644
--- a/NitroxModel/Packets/RadioPlayPendingMessage.cs
+++ b/Nitrox.Model.Subnautica/Packets/RadioPlayPendingMessage.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class RadioPlayPendingMessage : Packet
diff --git a/NitroxModel/Packets/RangedAttackLastTargetUpdate.cs b/Nitrox.Model.Subnautica/Packets/RangedAttackLastTargetUpdate.cs
similarity index 84%
rename from NitroxModel/Packets/RangedAttackLastTargetUpdate.cs
rename to Nitrox.Model.Subnautica/Packets/RangedAttackLastTargetUpdate.cs
index 92555a5a5..4f8410f29 100644
--- a/NitroxModel/Packets/RangedAttackLastTargetUpdate.cs
+++ b/Nitrox.Model.Subnautica/Packets/RangedAttackLastTargetUpdate.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class RangedAttackLastTargetUpdate : Packet
diff --git a/NitroxModel/Packets/RecipePinned.cs b/Nitrox.Model.Subnautica/Packets/RecipePinned.cs
similarity index 78%
rename from NitroxModel/Packets/RecipePinned.cs
rename to Nitrox.Model.Subnautica/Packets/RecipePinned.cs
index 6014a7c6d..536559752 100644
--- a/NitroxModel/Packets/RecipePinned.cs
+++ b/Nitrox.Model.Subnautica/Packets/RecipePinned.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class RecipePinned : Packet
diff --git a/NitroxModel/Packets/RemoveCreatureCorpse.cs b/Nitrox.Model.Subnautica/Packets/RemoveCreatureCorpse.cs
similarity index 75%
rename from NitroxModel/Packets/RemoveCreatureCorpse.cs
rename to Nitrox.Model.Subnautica/Packets/RemoveCreatureCorpse.cs
index 5f067d22b..f7a8243e6 100644
--- a/NitroxModel/Packets/RemoveCreatureCorpse.cs
+++ b/Nitrox.Model.Subnautica/Packets/RemoveCreatureCorpse.cs
@@ -1,8 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class RemoveCreatureCorpse : 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/Packets/Schedule.cs b/Nitrox.Model.Subnautica/Packets/Schedule.cs
similarity index 81%
rename from NitroxModel/Packets/Schedule.cs
rename to Nitrox.Model.Subnautica/Packets/Schedule.cs
index 25ffcf512..ddecae95d 100644
--- a/NitroxModel/Packets/Schedule.cs
+++ b/Nitrox.Model.Subnautica/Packets/Schedule.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class Schedule : Packet
diff --git a/NitroxModel/Packets/SeaDragonAttackTarget.cs b/Nitrox.Model.Subnautica/Packets/SeaDragonAttackTarget.cs
similarity index 78%
rename from NitroxModel/Packets/SeaDragonAttackTarget.cs
rename to Nitrox.Model.Subnautica/Packets/SeaDragonAttackTarget.cs
index 45b23f404..fc1006440 100644
--- a/NitroxModel/Packets/SeaDragonAttackTarget.cs
+++ b/Nitrox.Model.Subnautica/Packets/SeaDragonAttackTarget.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class SeaDragonAttackTarget : Packet
diff --git a/NitroxModel/Packets/SeaDragonGrabExosuit.cs b/Nitrox.Model.Subnautica/Packets/SeaDragonGrabExosuit.cs
similarity index 74%
rename from NitroxModel/Packets/SeaDragonGrabExosuit.cs
rename to Nitrox.Model.Subnautica/Packets/SeaDragonGrabExosuit.cs
index 7b9893da5..e82ec0345 100644
--- a/NitroxModel/Packets/SeaDragonGrabExosuit.cs
+++ b/Nitrox.Model.Subnautica/Packets/SeaDragonGrabExosuit.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class SeaDragonGrabExosuit : Packet
diff --git a/NitroxModel/Packets/SeaDragonSwatAttack.cs b/Nitrox.Model.Subnautica/Packets/SeaDragonSwatAttack.cs
similarity index 82%
rename from NitroxModel/Packets/SeaDragonSwatAttack.cs
rename to Nitrox.Model.Subnautica/Packets/SeaDragonSwatAttack.cs
index 53c171382..cc43d6de4 100644
--- a/NitroxModel/Packets/SeaDragonSwatAttack.cs
+++ b/Nitrox.Model.Subnautica/Packets/SeaDragonSwatAttack.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class SeaDragonSwatAttack : Packet
diff --git a/NitroxModel/Packets/SeaTreaderChunkPickedUp.cs b/Nitrox.Model.Subnautica/Packets/SeaTreaderChunkPickedUp.cs
similarity index 66%
rename from NitroxModel/Packets/SeaTreaderChunkPickedUp.cs
rename to Nitrox.Model.Subnautica/Packets/SeaTreaderChunkPickedUp.cs
index f77dfa910..cbc847803 100644
--- a/NitroxModel/Packets/SeaTreaderChunkPickedUp.cs
+++ b/Nitrox.Model.Subnautica/Packets/SeaTreaderChunkPickedUp.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class SeaTreaderChunkPickedUp : Packet
diff --git a/NitroxModel/Packets/SeaTreaderSpawnedChunk.cs b/Nitrox.Model.Subnautica/Packets/SeaTreaderSpawnedChunk.cs
similarity index 77%
rename from NitroxModel/Packets/SeaTreaderSpawnedChunk.cs
rename to Nitrox.Model.Subnautica/Packets/SeaTreaderSpawnedChunk.cs
index dd49badec..e4f9bd29a 100644
--- a/NitroxModel/Packets/SeaTreaderSpawnedChunk.cs
+++ b/Nitrox.Model.Subnautica/Packets/SeaTreaderSpawnedChunk.cs
@@ -1,8 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class SeaTreaderSpawnedChunk : Packet
diff --git a/NitroxModel/Packets/SeamothModulesAction.cs b/Nitrox.Model.Subnautica/Packets/SeamothModulesAction.cs
similarity index 75%
rename from NitroxModel/Packets/SeamothModulesAction.cs
rename to Nitrox.Model.Subnautica/Packets/SeamothModulesAction.cs
index d6e1c660c..a019361d6 100644
--- a/NitroxModel/Packets/SeamothModulesAction.cs
+++ b/Nitrox.Model.Subnautica/Packets/SeamothModulesAction.cs
@@ -1,9 +1,10 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class SeamothModulesAction : Packet
diff --git a/NitroxModel/Packets/ServerCommand.cs b/Nitrox.Model.Subnautica/Packets/ServerCommand.cs
similarity index 82%
rename from NitroxModel/Packets/ServerCommand.cs
rename to Nitrox.Model.Subnautica/Packets/ServerCommand.cs
index db8b94cfc..7694176a2 100644
--- a/NitroxModel/Packets/ServerCommand.cs
+++ b/Nitrox.Model.Subnautica/Packets/ServerCommand.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class ServerCommand : Packet
diff --git a/NitroxModel/Packets/ServerStopped.cs b/Nitrox.Model.Subnautica/Packets/ServerStopped.cs
similarity index 51%
rename from NitroxModel/Packets/ServerStopped.cs
rename to Nitrox.Model.Subnautica/Packets/ServerStopped.cs
index a1dc7e5ee..c52712550 100644
--- a/NitroxModel/Packets/ServerStopped.cs
+++ b/Nitrox.Model.Subnautica/Packets/ServerStopped.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class ServerStopped : Packet
diff --git a/NitroxModel/Packets/SetIntroCinematicMode.cs b/Nitrox.Model.Subnautica/Packets/SetIntroCinematicMode.cs
similarity index 81%
rename from NitroxModel/Packets/SetIntroCinematicMode.cs
rename to Nitrox.Model.Subnautica/Packets/SetIntroCinematicMode.cs
index f6e72649b..fa13aebf8 100644
--- a/NitroxModel/Packets/SetIntroCinematicMode.cs
+++ b/Nitrox.Model.Subnautica/Packets/SetIntroCinematicMode.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class SetIntroCinematicMode : Packet
diff --git a/NitroxModel/Packets/SignalPingVisibilityChanged.cs b/Nitrox.Model.Subnautica/Packets/SignalPingVisibilityChanged.cs
similarity index 83%
rename from NitroxModel/Packets/SignalPingVisibilityChanged.cs
rename to Nitrox.Model.Subnautica/Packets/SignalPingVisibilityChanged.cs
index 46aa1fc59..30dc223a9 100644
--- a/NitroxModel/Packets/SignalPingVisibilityChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/SignalPingVisibilityChanged.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class SignalPingPreferenceChanged : Packet
diff --git a/NitroxModel/Packets/SimulationOwnershipChange.cs b/Nitrox.Model.Subnautica/Packets/SimulationOwnershipChange.cs
similarity index 88%
rename from NitroxModel/Packets/SimulationOwnershipChange.cs
rename to Nitrox.Model.Subnautica/Packets/SimulationOwnershipChange.cs
index 3b8735bac..f136094f9 100644
--- a/NitroxModel/Packets/SimulationOwnershipChange.cs
+++ b/Nitrox.Model.Subnautica/Packets/SimulationOwnershipChange.cs
@@ -1,8 +1,9 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class SimulationOwnershipChange : Packet
diff --git a/NitroxModel/Packets/SimulationOwnershipRequest.cs b/Nitrox.Model.Subnautica/Packets/SimulationOwnershipRequest.cs
similarity index 80%
rename from NitroxModel/Packets/SimulationOwnershipRequest.cs
rename to Nitrox.Model.Subnautica/Packets/SimulationOwnershipRequest.cs
index 273d597b0..bffb19fe9 100644
--- a/NitroxModel/Packets/SimulationOwnershipRequest.cs
+++ b/Nitrox.Model.Subnautica/Packets/SimulationOwnershipRequest.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class SimulationOwnershipRequest : Packet
diff --git a/NitroxModel/Packets/SimulationOwnershipResponse.cs b/Nitrox.Model.Subnautica/Packets/SimulationOwnershipResponse.cs
similarity index 81%
rename from NitroxModel/Packets/SimulationOwnershipResponse.cs
rename to Nitrox.Model.Subnautica/Packets/SimulationOwnershipResponse.cs
index a09f3721a..750c8b073 100644
--- a/NitroxModel/Packets/SimulationOwnershipResponse.cs
+++ b/Nitrox.Model.Subnautica/Packets/SimulationOwnershipResponse.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class SimulationOwnershipResponse : Packet
diff --git a/NitroxModel/Packets/SpawnEntities.cs b/Nitrox.Model.Subnautica/Packets/SpawnEntities.cs
similarity index 89%
rename from NitroxModel/Packets/SpawnEntities.cs
rename to Nitrox.Model.Subnautica/Packets/SpawnEntities.cs
index 7385ddfe9..1bded7897 100644
--- a/NitroxModel/Packets/SpawnEntities.cs
+++ b/Nitrox.Model.Subnautica/Packets/SpawnEntities.cs
@@ -1,9 +1,10 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class SpawnEntities : Packet
diff --git a/NitroxModel/Packets/StasisSphereHit.cs b/Nitrox.Model.Subnautica/Packets/StasisSphereHit.cs
similarity index 84%
rename from NitroxModel/Packets/StasisSphereHit.cs
rename to Nitrox.Model.Subnautica/Packets/StasisSphereHit.cs
index b28ad5560..45a505745 100644
--- a/NitroxModel/Packets/StasisSphereHit.cs
+++ b/Nitrox.Model.Subnautica/Packets/StasisSphereHit.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class StasisSphereHit : Packet
diff --git a/NitroxModel/Packets/StasisSphereShot.cs b/Nitrox.Model.Subnautica/Packets/StasisSphereShot.cs
similarity index 85%
rename from NitroxModel/Packets/StasisSphereShot.cs
rename to Nitrox.Model.Subnautica/Packets/StasisSphereShot.cs
index dfb2bf5dc..61dba4a9d 100644
--- a/NitroxModel/Packets/StasisSphereShot.cs
+++ b/Nitrox.Model.Subnautica/Packets/StasisSphereShot.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class StasisSphereShot : Packet
diff --git a/NitroxModel/Packets/StoryGoalExecuted.cs b/Nitrox.Model.Subnautica/Packets/StoryGoalExecuted.cs
similarity index 89%
rename from NitroxModel/Packets/StoryGoalExecuted.cs
rename to Nitrox.Model.Subnautica/Packets/StoryGoalExecuted.cs
index ba099355e..77e6b5bf6 100644
--- a/NitroxModel/Packets/StoryGoalExecuted.cs
+++ b/Nitrox.Model.Subnautica/Packets/StoryGoalExecuted.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class StoryGoalExecuted : Packet
diff --git a/NitroxModel/Packets/SubRootChanged.cs b/Nitrox.Model.Subnautica/Packets/SubRootChanged.cs
similarity index 77%
rename from NitroxModel/Packets/SubRootChanged.cs
rename to Nitrox.Model.Subnautica/Packets/SubRootChanged.cs
index 58997e2e6..f864889e0 100644
--- a/NitroxModel/Packets/SubRootChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/SubRootChanged.cs
@@ -1,8 +1,8 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class SubRootChanged : Packet
diff --git a/NitroxModel/Packets/TimeChange.cs b/Nitrox.Model.Subnautica/Packets/TimeChange.cs
similarity index 92%
rename from NitroxModel/Packets/TimeChange.cs
rename to Nitrox.Model.Subnautica/Packets/TimeChange.cs
index c83b6c7d9..9ca4114b3 100644
--- a/NitroxModel/Packets/TimeChange.cs
+++ b/Nitrox.Model.Subnautica/Packets/TimeChange.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class TimeChange : Packet
diff --git a/NitroxModel/Packets/ToggleLights.cs b/Nitrox.Model.Subnautica/Packets/ToggleLights.cs
similarity index 72%
rename from NitroxModel/Packets/ToggleLights.cs
rename to Nitrox.Model.Subnautica/Packets/ToggleLights.cs
index 76edaf5bb..8304e9eb8 100644
--- a/NitroxModel/Packets/ToggleLights.cs
+++ b/Nitrox.Model.Subnautica/Packets/ToggleLights.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class ToggleLights : Packet
diff --git a/NitroxModel/Packets/TorpedoHit.cs b/Nitrox.Model.Subnautica/Packets/TorpedoHit.cs
similarity index 72%
rename from NitroxModel/Packets/TorpedoHit.cs
rename to Nitrox.Model.Subnautica/Packets/TorpedoHit.cs
index 12c44fc84..825630dd5 100644
--- a/NitroxModel/Packets/TorpedoHit.cs
+++ b/Nitrox.Model.Subnautica/Packets/TorpedoHit.cs
@@ -1,8 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class TorpedoHit : Packet
diff --git a/NitroxModel/Packets/TorpedoShot.cs b/Nitrox.Model.Subnautica/Packets/TorpedoShot.cs
similarity index 75%
rename from NitroxModel/Packets/TorpedoShot.cs
rename to Nitrox.Model.Subnautica/Packets/TorpedoShot.cs
index aaa99692b..e586332e4 100644
--- a/NitroxModel/Packets/TorpedoShot.cs
+++ b/Nitrox.Model.Subnautica/Packets/TorpedoShot.cs
@@ -1,9 +1,10 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class TorpedoShot : Packet
diff --git a/NitroxModel/Packets/TorpedoTargetAcquired.cs b/Nitrox.Model.Subnautica/Packets/TorpedoTargetAcquired.cs
similarity index 77%
rename from NitroxModel/Packets/TorpedoTargetAcquired.cs
rename to Nitrox.Model.Subnautica/Packets/TorpedoTargetAcquired.cs
index bba38f6bd..c3cf96b2c 100644
--- a/NitroxModel/Packets/TorpedoTargetAcquired.cs
+++ b/Nitrox.Model.Subnautica/Packets/TorpedoTargetAcquired.cs
@@ -1,8 +1,9 @@
using System;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class TorpedoTargetAcquired : Packet
diff --git a/NitroxModel/Packets/UpdateBase.cs b/Nitrox.Model.Subnautica/Packets/UpdateBase.cs
similarity index 88%
rename from NitroxModel/Packets/UpdateBase.cs
rename to Nitrox.Model.Subnautica/Packets/UpdateBase.cs
index 5b3281f1b..272e911d9 100644
--- a/NitroxModel/Packets/UpdateBase.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public sealed class UpdateBase : OrderedBuildPacket
diff --git a/NitroxModel/Packets/UpdateDisplaySurfaceWater.cs b/Nitrox.Model.Subnautica/Packets/UpdateDisplaySurfaceWater.cs
similarity index 78%
rename from NitroxModel/Packets/UpdateDisplaySurfaceWater.cs
rename to Nitrox.Model.Subnautica/Packets/UpdateDisplaySurfaceWater.cs
index 05b79bc26..d6244c620 100644
--- a/NitroxModel/Packets/UpdateDisplaySurfaceWater.cs
+++ b/Nitrox.Model.Subnautica/Packets/UpdateDisplaySurfaceWater.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class UpdateDisplaySurfaceWater : Packet
diff --git a/NitroxModel/Packets/UpdateInPrecursor.cs b/Nitrox.Model.Subnautica/Packets/UpdateInPrecursor.cs
similarity index 74%
rename from NitroxModel/Packets/UpdateInPrecursor.cs
rename to Nitrox.Model.Subnautica/Packets/UpdateInPrecursor.cs
index c02a08671..5f2282a7f 100644
--- a/NitroxModel/Packets/UpdateInPrecursor.cs
+++ b/Nitrox.Model.Subnautica/Packets/UpdateInPrecursor.cs
@@ -1,6 +1,7 @@
using System;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class UpdateInPrecursor : Packet
diff --git a/NitroxModel/Packets/VehicleDocking.cs b/Nitrox.Model.Subnautica/Packets/VehicleDocking.cs
similarity index 77%
rename from NitroxModel/Packets/VehicleDocking.cs
rename to Nitrox.Model.Subnautica/Packets/VehicleDocking.cs
index 3757aa483..5ea4155cb 100644
--- a/NitroxModel/Packets/VehicleDocking.cs
+++ b/Nitrox.Model.Subnautica/Packets/VehicleDocking.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class VehicleDocking : Packet
diff --git a/NitroxModel/Packets/VehicleMovements.cs b/Nitrox.Model.Subnautica/Packets/VehicleMovements.cs
similarity index 84%
rename from NitroxModel/Packets/VehicleMovements.cs
rename to Nitrox.Model.Subnautica/Packets/VehicleMovements.cs
index 60331d273..1d4889591 100644
--- a/NitroxModel/Packets/VehicleMovements.cs
+++ b/Nitrox.Model.Subnautica/Packets/VehicleMovements.cs
@@ -1,10 +1,11 @@
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;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class VehicleMovements : Packet
diff --git a/NitroxModel/Packets/VehicleOnPilotModeChanged.cs b/Nitrox.Model.Subnautica/Packets/VehicleOnPilotModeChanged.cs
similarity index 78%
rename from NitroxModel/Packets/VehicleOnPilotModeChanged.cs
rename to Nitrox.Model.Subnautica/Packets/VehicleOnPilotModeChanged.cs
index 07ba472d4..426bd4b20 100644
--- a/NitroxModel/Packets/VehicleOnPilotModeChanged.cs
+++ b/Nitrox.Model.Subnautica/Packets/VehicleOnPilotModeChanged.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class VehicleOnPilotModeChanged : Packet
diff --git a/NitroxModel/Packets/VehicleUndocking.cs b/Nitrox.Model.Subnautica/Packets/VehicleUndocking.cs
similarity index 81%
rename from NitroxModel/Packets/VehicleUndocking.cs
rename to Nitrox.Model.Subnautica/Packets/VehicleUndocking.cs
index e73740e3b..c6823836f 100644
--- a/NitroxModel/Packets/VehicleUndocking.cs
+++ b/Nitrox.Model.Subnautica/Packets/VehicleUndocking.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public class VehicleUndocking : Packet
diff --git a/NitroxModel/Packets/WaterParkDeconstructed.cs b/Nitrox.Model.Subnautica/Packets/WaterParkDeconstructed.cs
similarity index 78%
rename from NitroxModel/Packets/WaterParkDeconstructed.cs
rename to Nitrox.Model.Subnautica/Packets/WaterParkDeconstructed.cs
index 066ee3fa0..c94cf5e12 100644
--- a/NitroxModel/Packets/WaterParkDeconstructed.cs
+++ b/Nitrox.Model.Subnautica/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.Subnautica.DataStructures.GameLogic.Bases;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
-namespace NitroxModel.Packets;
+namespace Nitrox.Model.Subnautica.Packets;
[Serializable]
public sealed class WaterParkDeconstructed : PieceDeconstructed
diff --git a/NitroxModel/Packets/WeldAction.cs b/Nitrox.Model.Subnautica/Packets/WeldAction.cs
similarity index 74%
rename from NitroxModel/Packets/WeldAction.cs
rename to Nitrox.Model.Subnautica/Packets/WeldAction.cs
index b4e638147..b3c0bd2ce 100644
--- a/NitroxModel/Packets/WeldAction.cs
+++ b/Nitrox.Model.Subnautica/Packets/WeldAction.cs
@@ -1,7 +1,8 @@
using System;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
-namespace NitroxModel.Packets
+namespace Nitrox.Model.Subnautica.Packets
{
[Serializable]
public class WeldAction : Packet
diff --git a/NitroxModel/CallerArgumentExpressionAttribute.cs b/Nitrox.Model/CallerArgumentExpressionAttribute.cs
similarity index 88%
rename from NitroxModel/CallerArgumentExpressionAttribute.cs
rename to Nitrox.Model/CallerArgumentExpressionAttribute.cs
index 882de086d..090b31317 100644
--- a/NitroxModel/CallerArgumentExpressionAttribute.cs
+++ b/Nitrox.Model/CallerArgumentExpressionAttribute.cs
@@ -1,5 +1,7 @@
+using System;
+
#if NETFRAMEWORK
-namespace System.Runtime.CompilerServices;
+namespace Nitrox.Model;
[AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = false)]
internal sealed class CallerArgumentExpressionAttribute : Attribute
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 70%
rename from NitroxModel/Core/NitroxEnvironment.cs
rename to Nitrox.Model/Core/NitroxEnvironment.cs
index a940bbd81..34e8c8b01 100644
--- a/NitroxModel/Core/NitroxEnvironment.cs
+++ b/Nitrox.Model/Core/NitroxEnvironment.cs
@@ -1,8 +1,10 @@
using System;
+using System.Collections.Generic;
using System.Linq;
using System.Reflection;
+using System.Runtime.InteropServices;
-namespace NitroxModel.Helper;
+namespace Nitrox.Model.Core;
///
/// Environment helper for getting meta data about where and how Nitrox is running.
@@ -54,6 +56,18 @@ public static string GitShortHash
}
}
+ public static int GameMinimumVersion
+ {
+ get
+ {
+ 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 result;
+ }
+ }
+
public static string GitHash => Assembly.GetExecutingAssembly().GetMetaData("GitHash") ?? "";
public static Types Type { get; private set; } = Types.NORMAL;
@@ -75,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).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(".", " ");
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..a43039176 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;
-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/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/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..985d770bb 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
{
///
/// 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/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 87%
rename from NitroxModel/Helper/NitroxUser.cs
rename to Nitrox.Model/Helper/NitroxUser.cs
index 06667a01c..6e20fec14 100644
--- a/NitroxModel/Helper/NitroxUser.cs
+++ b/Nitrox.Model/Helper/NitroxUser.cs
@@ -4,13 +4,14 @@
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.Core;
+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 +45,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;
@@ -83,6 +84,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);
@@ -164,6 +172,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)
diff --git a/NitroxModel/Helper/PirateDetection.cs b/Nitrox.Model/Helper/PirateDetection.cs
similarity index 88%
rename from NitroxModel/Helper/PirateDetection.cs
rename to Nitrox.Model/Helper/PirateDetection.cs
index 861bb186f..fd3e308e0 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..aa52d4f67 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;
-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..00fdf995b 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;
-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/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/Nitrox.Model/Nitrox.Model.csproj b/Nitrox.Model/Nitrox.Model.csproj
new file mode 100644
index 000000000..6f12f7d67
--- /dev/null
+++ b/Nitrox.Model/Nitrox.Model.csproj
@@ -0,0 +1,46 @@
+
+
+
+ net472;net9.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ..\Nitrox.Assets.Subnautica\protobuf-net.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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/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/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/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/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 76%
rename from NitroxModel/Platforms/OS/Shared/ConfigFileKeyValueStore.cs
rename to Nitrox.Model/Platforms/OS/Shared/ConfigFileKeyValueStore.cs
index b2f1b8edd..c822523d4 100644
--- a/NitroxModel/Platforms/OS/Shared/ConfigFileKeyValueStore.cs
+++ b/Nitrox.Model/Platforms/OS/Shared/ConfigFileKeyValueStore.cs
@@ -2,32 +2,17 @@
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
{
private bool hasLoaded = false;
private readonly Dictionary keyValuePairs = new();
- public string FolderPath { get; }
+ public string FolderPath { get; } = NitroxUser.AppDataPath;
public string FilePath => Path.Combine(FolderPath, "nitrox.cfg");
- public ConfigFileKeyValueStore()
- {
- // LocalApplicationData's default is $HOME/.config under linux and XDG_CONFIG_HOME if set
- // What is the difference between .config and .local/share?
- // .config should contain all config files.
- // .local/share should contain data that isn't config files (binary blobs, downloaded data, server saves).
- // .cache should house all cache files (files that can be safely deleted to free up space)
- string localShare = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
- if (string.IsNullOrEmpty(localShare))
- {
- throw new Exception("Could not determine where to save configs. Check HOME and XDG_CONFIG_HOME variables.");
- }
- FolderPath = Path.Combine(localShare, "Nitrox");
- }
-
public T GetValue(string key, T defaultValue)
{
TryLoadConfig();
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..a06a966d3 100644
--- a/NitroxModel/Platforms/OS/Shared/ProcessEx.cs
+++ b/Nitrox.Model/Platforms/OS/Shared/ProcessEx.cs
@@ -8,8 +8,10 @@
using System.Runtime.InteropServices;
using System.Security.Principal;
using System.Text;
+using Nitrox.Model.Core;
+using Nitrox.Model.Platforms.OS.Windows.Internal;
-namespace NitroxModel.Platforms.OS.Shared;
+namespace Nitrox.Model.Platforms.OS.Shared;
public class ProcessEx : IDisposable
{
@@ -144,7 +146,7 @@ public static void StartSelf(params string[] arguments)
///
/// Starts the current app as a new instance, passing the same command line arguments.
///
- public static void StartSelfCopyArgs() => StartSelf(Helper.NitroxEnvironment.CommandLineArgs);
+ public static void StartSelfCopyArgs() => StartSelf(NitroxEnvironment.CommandLineArgs);
#endif
///
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 63%
rename from NitroxModel/Platforms/OS/Windows/Internal/ProcessThreadEnums.cs
rename to Nitrox.Model/Platforms/OS/Windows/Internal/ProcessThreadEnums.cs
index 9b9d64e11..db8375191 100644
--- a/NitroxModel/Platforms/OS/Windows/Internal/ProcessThreadEnums.cs
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/ProcessThreadEnums.cs
@@ -1,14 +1,10 @@
using System;
+namespace Nitrox.Model.Platforms.OS.Windows.Internal;
+
public enum PtraceRequest : int
{
PTRACE_ATTACH = 16,
PTRACE_DETACH = 17,
PTRACE_POKEDATA = 5
}
-
-[Flags]
-public enum ThreadAccess : int
-{
- SUSPEND_RESUME = 0x0002
-}
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/Nitrox.Model/Platforms/OS/Windows/Internal/ThreadAccess.cs b/Nitrox.Model/Platforms/OS/Windows/Internal/ThreadAccess.cs
new file mode 100644
index 000000000..14f37df75
--- /dev/null
+++ b/Nitrox.Model/Platforms/OS/Windows/Internal/ThreadAccess.cs
@@ -0,0 +1,17 @@
+using System;
+
+namespace Nitrox.Model.Platforms.OS.Windows.Internal;
+
+[Flags]
+public enum ThreadAccess
+{
+ TERMINATE = 0x0001,
+ SUSPEND_RESUME = 0x0002,
+ GET_CONTEXT = 0x0008,
+ SET_CONTEXT = 0x0010,
+ SET_INFORMATION = 0x0020,
+ QUERY_INFORMATION = 0x0040,
+ SET_THREAD_TOKEN = 0x0080,
+ IMPERSONATE = 0x0100,
+ DIRECT_IMPERSONATION = 0x0200
+}
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 87%
rename from NitroxModel/Serialization/ServerList.cs
rename to Nitrox.Model/Serialization/ServerList.cs
index 1598dda70..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
{
@@ -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,15 +51,12 @@ 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)
+ if (Entry.FromLine(line) is { } entry)
{
- continue;
+ list.entries.Add(entry);
}
-
- list.entries.Add(entry);
}
return list;
}
@@ -117,7 +119,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 +147,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();
diff --git a/NitroxModel/Serialization/SubnauticaServerConfig.cs b/Nitrox.Model/Serialization/SubnauticaServerConfig.cs
similarity index 93%
rename from NitroxModel/Serialization/SubnauticaServerConfig.cs
rename to Nitrox.Model/Serialization/SubnauticaServerConfig.cs
index 0f58cf8f5..077552465 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
@@ -112,7 +112,6 @@ public int InitialSyncTimeout
[PropertyDescription("Recommended to keep at 0.1f which is the default starting value. If set to 0 then new players are cured by default.")]
public float DefaultInfectionValue { get; set; } = 0.1f;
- public PlayerStatsData DefaultPlayerStats => new(DefaultOxygenValue, DefaultMaxOxygenValue, DefaultHealthValue, DefaultHungerValue, DefaultThirstValue, DefaultInfectionValue);
[PropertyDescription("If set to true, the server will try to open port on your router via UPnP")]
public bool AutoPortForward { get; set; } = true;
[PropertyDescription("Determines whether the server will listen for and reply to LAN discovery requests.")]
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/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 94%
rename from NitroxServer-Subnautica/AppMutex.cs
rename to Nitrox.Server.Subnautica/AppMutex.cs
index fd92aeb0e..e3ca95bb2 100644
--- a/NitroxServer-Subnautica/AppMutex.cs
+++ b/Nitrox.Server.Subnautica/AppMutex.cs
@@ -1,8 +1,9 @@
using System;
using System.Threading;
-namespace NitroxServer_Subnautica;
+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
new file mode 100644
index 000000000..6009a6bb5
--- /dev/null
+++ b/Nitrox.Server.Subnautica/GlobalUsings.cs
@@ -0,0 +1,8 @@
+global using System.Threading.Tasks;
+global using Nitrox.Model;
+global using Nitrox.Model.Packets;
+global using Nitrox.Model.Logger;
+global using Nitrox.Model.Helper;
+global using Nitrox.Model.Extensions;
+global using Nitrox.Model.Subnautica.Packets;
+global using Nitrox.Model.Subnautica.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..dbeca8559 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;
-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 95%
rename from NitroxServer/ConsoleCommands/Abstract/Command.cs
rename to Nitrox.Server.Subnautica/Models/Commands/Abstract/Command.cs
index 64ee2b9f5..600583545 100644
--- a/NitroxServer/ConsoleCommands/Abstract/Command.cs
+++ b/Nitrox.Server.Subnautica/Models/Commands/Abstract/Command.cs
@@ -2,14 +2,12 @@
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;
+using Nitrox.Model.DataStructures.GameLogic;
+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
-
-
-
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
+
-
+
-
-
+
diff --git a/Nitrox.Test/Patcher/PatchTestHelper.cs b/Nitrox.Test/Patcher/PatchTestHelper.cs
index 04035e83e..c9ae4aad7 100644
--- a/Nitrox.Test/Patcher/PatchTestHelper.cs
+++ b/Nitrox.Test/Patcher/PatchTestHelper.cs
@@ -1,11 +1,7 @@
-using System.Collections.Generic;
using System.Collections.ObjectModel;
-using System.Linq;
-using System.Reflection;
using System.Reflection.Emit;
-using FluentAssertions;
using HarmonyLib;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using NitroxPatcher.PatternMatching;
namespace NitroxTest.Patcher
diff --git a/Nitrox.Test/Patcher/Patches/Persistent/Language_LoadLanguageFile_PatchTest.cs b/Nitrox.Test/Patcher/Patches/Persistent/Language_LoadLanguageFile_PatchTest.cs
index cb2db38e6..2705583af 100644
--- a/Nitrox.Test/Patcher/Patches/Persistent/Language_LoadLanguageFile_PatchTest.cs
+++ b/Nitrox.Test/Patcher/Patches/Persistent/Language_LoadLanguageFile_PatchTest.cs
@@ -1,5 +1,5 @@
using LitJson;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
namespace Nitrox.Test.Patcher.Patches.Persistent;
diff --git a/Nitrox.Test/Server/Helper/XORRandomTest.cs b/Nitrox.Test/Server/Helper/XORRandomTest.cs
index 9d0ec9840..2127e494d 100644
--- a/Nitrox.Test/Server/Helper/XORRandomTest.cs
+++ b/Nitrox.Test/Server/Helper/XORRandomTest.cs
@@ -1,6 +1,4 @@
-using System;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using NitroxServer.Helper;
+using Nitrox.Server.Subnautica.Models.Helper;
namespace Nitrox.Test.Server.Helper;
@@ -11,12 +9,12 @@ public class XORRandomTest
public void TestMeanGeneration()
{
// arbitrary values under there but we can't compare the generated values with UnityEngine.Random because it's unaccessible
- XORRandom.InitSeed("cheescake".GetHashCode());
+ XorRandom.InitSeed("cheescake".GetHashCode());
float mean = 0;
int count = 1000000;
for (int i = 0; i < count; i++)
{
- mean += XORRandom.NextFloat();
+ mean += XorRandom.NextFloat();
}
mean /= count;
Assert.IsTrue(Math.Abs(0.5f - mean) < 0.001f, $"Float number generation isn't uniform enough: {mean}");
diff --git a/Nitrox.Test/Server/Serialization/WorldPersistenceTest.cs b/Nitrox.Test/Server/Serialization/WorldPersistenceTest.cs
index 987efd7d2..e6f0cc2ba 100644
--- a/Nitrox.Test/Server/Serialization/WorldPersistenceTest.cs
+++ b/Nitrox.Test/Server/Serialization/WorldPersistenceTest.cs
@@ -1,24 +1,23 @@
using Nitrox.Test;
using Nitrox.Test.Helper.Faker;
-using NitroxModel.Core;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
-using NitroxServer.GameLogic;
-using NitroxServer.GameLogic.Unlockables;
-using NitroxServer.Serialization.World;
-using NitroxServer_Subnautica;
-
-namespace NitroxServer.Serialization;
+using Nitrox.Model.Core;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata.Bases;
+using Nitrox.Server.Subnautica.Models.GameLogic;
+using Nitrox.Server.Subnautica.Models.GameLogic.Unlockables;
+using Nitrox.Server.Subnautica.Models.Serialization.World;
+
+namespace Nitrox.Server.Subnautica.Models.Serialization;
[TestClass]
public class WorldPersistenceTest
{
private static readonly string tempSaveFilePath = Path.Combine(Path.GetTempPath(), "NitroxTestTempDir");
private static PersistedWorldData worldData;
- public static PersistedWorldData[] WorldsDataAfter { get; private set; }
+ public static PersistedWorldData[]? WorldsDataAfter { get; private set; }
public static IServerSerializer[] ServerSerializers { get; private set; }
[ClassInitialize]
@@ -498,7 +497,7 @@ public class DynamicWorldDataAfterAttribute : Attribute, ITestDataSource
{
public IEnumerable GetData(MethodInfo methodInfo)
{
- return WorldPersistenceTest.WorldsDataAfter.Select((t, i) => new object[] { t, WorldPersistenceTest.ServerSerializers[i].GetType().Name });
+ return (WorldPersistenceTest.WorldsDataAfter ?? []).Select((t, i) => new object[] { t, WorldPersistenceTest.ServerSerializers[i].GetType().Name });
}
public string GetDisplayName(MethodInfo methodInfo, object[] data)
diff --git a/Nitrox.Test/SetupAssemblyInitializer.cs b/Nitrox.Test/SetupAssemblyInitializer.cs
index 1ffb6a075..1a1294f45 100644
--- a/Nitrox.Test/SetupAssemblyInitializer.cs
+++ b/Nitrox.Test/SetupAssemblyInitializer.cs
@@ -1,7 +1,6 @@
global using Nitrox.Test.Helper;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using NitroxModel.Helper;
-using NitroxModel.Logger;
+using Nitrox.Model.Core;
+using Nitrox.Model.Logger;
namespace Nitrox.Test;
diff --git a/Nitrox.Test/TestAutoFacRegistrar.cs b/Nitrox.Test/TestAutoFacRegistrar.cs
index a05d0496e..9139057ad 100644
--- a/Nitrox.Test/TestAutoFacRegistrar.cs
+++ b/Nitrox.Test/TestAutoFacRegistrar.cs
@@ -1,6 +1,6 @@
using Autofac;
using NitroxClient.Debuggers;
-using NitroxModel.Core;
+using Nitrox.Model.Core;
using NSubstitute;
namespace Nitrox.Test
diff --git a/Nitrox.sln b/Nitrox.sln
index 16e056123..b6d723b54 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}"
@@ -20,15 +22,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nitrox.Test", "Nitrox.Test\
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NitroxClient", "NitroxClient\NitroxClient.csproj", "{5453E724-5A8B-46A4-850B-1F17FA2E938D}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NitroxModel", "NitroxModel\NitroxModel.csproj", "{EBEBC7DC-FAE3-4FBC-BDD3-38ED8FC072D9}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nitrox.Model", "Nitrox.Model\Nitrox.Model.csproj", "{EBEBC7DC-FAE3-4FBC-BDD3-38ED8FC072D9}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NitroxModel-Subnautica", "NitroxModel-Subnautica\NitroxModel-Subnautica.csproj", "{47D774E0-750C-427B-8C38-F8F985114A2E}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nitrox.Model.Subnautica", "Nitrox.Model.Subnautica\Nitrox.Model.Subnautica.csproj", "{47D774E0-750C-427B-8C38-F8F985114A2E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NitroxPatcher", "NitroxPatcher\NitroxPatcher.csproj", "{39E377AD-2163-4428-952D-EBECD402C8F3}"
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
@@ -56,10 +56,6 @@ Global
{77692FDB-F713-41F1-B2AB-9019457B8909}.Debug|Any CPU.Build.0 = Debug|Any CPU
{77692FDB-F713-41F1-B2AB-9019457B8909}.Release|Any CPU.ActiveCfg = Release|Any CPU
{77692FDB-F713-41F1-B2AB-9019457B8909}.Release|Any CPU.Build.0 = Release|Any CPU
- {0CD6846B-EDA6-4FFD-A540-2A46CC1074BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0CD6846B-EDA6-4FFD-A540-2A46CC1074BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0CD6846B-EDA6-4FFD-A540-2A46CC1074BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0CD6846B-EDA6-4FFD-A540-2A46CC1074BF}.Release|Any CPU.Build.0 = Release|Any CPU
{30493A43-7EB3-4898-A82F-98A387284EB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{30493A43-7EB3-4898-A82F-98A387284EB2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{30493A43-7EB3-4898-A82F-98A387284EB2}.Release|Any CPU.ActiveCfg = Release|Any CPU
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/ClientAutoFacRegistrar.cs b/NitroxClient/ClientAutoFacRegistrar.cs
index d5ffe5d67..f60cf908b 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;
@@ -20,12 +19,12 @@
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor.Abstract;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxModel;
-using NitroxModel.Core;
-using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
-using NitroxModel.Networking;
-using NitroxModel_Subnautica.Helper;
+using Nitrox.Model;
+using Nitrox.Model.Core;
+using Nitrox.Model.GameLogic.FMOD;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Networking;
+using Nitrox.Model.Subnautica.Helper;
namespace NitroxClient
{
@@ -63,7 +62,7 @@ private void RegisterCoreDependencies(ContainerBuilder containerBuilder)
.AsSelf()
.SingleInstance();
#endif
- containerBuilder.Register(c => new NitroxProtobufSerializer($"{nameof(NitroxModel)}.dll"));
+ containerBuilder.Register(c => new NitroxProtobufSerializer($"{nameof(Nitrox)}.{nameof(Nitrox.Model)}.dll"));
containerBuilder.RegisterType()
.As()
@@ -85,10 +84,6 @@ private void RegisterCoreDependencies(ContainerBuilder containerBuilder)
.As()
.InstancePerLifetimeScope();
- containerBuilder.RegisterType()
- .As()
- .InstancePerLifetimeScope();
-
containerBuilder.RegisterType().InstancePerLifetimeScope();
containerBuilder.RegisterType().InstancePerLifetimeScope();
containerBuilder.RegisterType().InstancePerLifetimeScope();
diff --git a/NitroxClient/Communication/Abstract/IClient.cs b/NitroxClient/Communication/Abstract/IClient.cs
index 2d7dd370d..16be67ad1 100644
--- a/NitroxClient/Communication/Abstract/IClient.cs
+++ b/NitroxClient/Communication/Abstract/IClient.cs
@@ -1,5 +1,6 @@
using System.Threading.Tasks;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Abstract
{
diff --git a/NitroxClient/Communication/Abstract/IMultiplayerSession.cs b/NitroxClient/Communication/Abstract/IMultiplayerSession.cs
index 031f58ed5..5ce2d0140 100644
--- a/NitroxClient/Communication/Abstract/IMultiplayerSession.cs
+++ b/NitroxClient/Communication/Abstract/IMultiplayerSession.cs
@@ -1,6 +1,8 @@
using System.Threading.Tasks;
-using NitroxModel.MultiplayerSession;
-using NitroxModel.Packets;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.MultiplayerSession;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Abstract
{
diff --git a/NitroxClient/Communication/Abstract/IMultiplayerSessionState.cs b/NitroxClient/Communication/Abstract/IMultiplayerSessionState.cs
index 8262b9a66..adb45d76a 100644
--- a/NitroxClient/Communication/Abstract/IMultiplayerSessionState.cs
+++ b/NitroxClient/Communication/Abstract/IMultiplayerSessionState.cs
@@ -1,5 +1,7 @@
-using NitroxModel.MultiplayerSession;
-using NitroxModel.Packets;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.MultiplayerSession;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Abstract
{
diff --git a/NitroxClient/Communication/Abstract/IPacketSender.cs b/NitroxClient/Communication/Abstract/IPacketSender.cs
index 0768d3a58..719dbb724 100644
--- a/NitroxClient/Communication/Abstract/IPacketSender.cs
+++ b/NitroxClient/Communication/Abstract/IPacketSender.cs
@@ -1,4 +1,5 @@
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Abstract;
diff --git a/NitroxClient/Communication/LANBroadcastClient.cs b/NitroxClient/Communication/LANBroadcastClient.cs
index 521f96fe0..77f92b0f7 100644
--- a/NitroxClient/Communication/LANBroadcastClient.cs
+++ b/NitroxClient/Communication/LANBroadcastClient.cs
@@ -7,7 +7,7 @@
using System.Threading.Tasks;
using LiteNetLib;
using LiteNetLib.Utils;
-using NitroxModel.Constants;
+using Nitrox.Model.Constants;
namespace NitroxClient.Communication;
diff --git a/NitroxClient/Communication/MultiplayerSession/ConnectionState/AwaitingReservationCredentials.cs b/NitroxClient/Communication/MultiplayerSession/ConnectionState/AwaitingReservationCredentials.cs
index 65d65f466..a921978fe 100644
--- a/NitroxClient/Communication/MultiplayerSession/ConnectionState/AwaitingReservationCredentials.cs
+++ b/NitroxClient/Communication/MultiplayerSession/ConnectionState/AwaitingReservationCredentials.cs
@@ -1,9 +1,11 @@
using System;
using System.Threading.Tasks;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.MultiplayerSession;
-using NitroxModel.Packets;
+using Nitrox.Model.Helper;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.MultiplayerSession;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.MultiplayerSession.ConnectionState
{
diff --git a/NitroxClient/Communication/MultiplayerSession/ConnectionState/AwaitingSessionReservation.cs b/NitroxClient/Communication/MultiplayerSession/ConnectionState/AwaitingSessionReservation.cs
index 8ce02fbad..1b46c1620 100644
--- a/NitroxClient/Communication/MultiplayerSession/ConnectionState/AwaitingSessionReservation.cs
+++ b/NitroxClient/Communication/MultiplayerSession/ConnectionState/AwaitingSessionReservation.cs
@@ -1,9 +1,9 @@
using System;
using System.Threading.Tasks;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.MultiplayerSession;
-using NitroxModel.Packets.Exceptions;
+using Nitrox.Model.Helper;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Packets.Exceptions;
namespace NitroxClient.Communication.MultiplayerSession.ConnectionState
{
diff --git a/NitroxClient/Communication/MultiplayerSession/ConnectionState/Disconnected.cs b/NitroxClient/Communication/MultiplayerSession/ConnectionState/Disconnected.cs
index 930ee7662..7eed569ce 100644
--- a/NitroxClient/Communication/MultiplayerSession/ConnectionState/Disconnected.cs
+++ b/NitroxClient/Communication/MultiplayerSession/ConnectionState/Disconnected.cs
@@ -2,8 +2,9 @@
using System.Threading.Tasks;
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Exceptions;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.MultiplayerSession.ConnectionState
{
diff --git a/NitroxClient/Communication/MultiplayerSession/ConnectionState/EstablishingSessionPolicy.cs b/NitroxClient/Communication/MultiplayerSession/ConnectionState/EstablishingSessionPolicy.cs
index 1c75e0029..6afa2f88b 100644
--- a/NitroxClient/Communication/MultiplayerSession/ConnectionState/EstablishingSessionPolicy.cs
+++ b/NitroxClient/Communication/MultiplayerSession/ConnectionState/EstablishingSessionPolicy.cs
@@ -1,8 +1,8 @@
using System;
using System.Threading.Tasks;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Packets.Exceptions;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Packets.Exceptions;
namespace NitroxClient.Communication.MultiplayerSession.ConnectionState
{
diff --git a/NitroxClient/Communication/MultiplayerSession/ConnectionState/SessionReserved.cs b/NitroxClient/Communication/MultiplayerSession/ConnectionState/SessionReserved.cs
index e37024124..1c0cb73f1 100644
--- a/NitroxClient/Communication/MultiplayerSession/ConnectionState/SessionReserved.cs
+++ b/NitroxClient/Communication/MultiplayerSession/ConnectionState/SessionReserved.cs
@@ -1,6 +1,7 @@
using System;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.MultiplayerSession.ConnectionState
{
diff --git a/NitroxClient/Communication/MultiplayerSession/MultiplayerSessionManager.cs b/NitroxClient/Communication/MultiplayerSession/MultiplayerSessionManager.cs
index 5554ca0af..0798e7f75 100644
--- a/NitroxClient/Communication/MultiplayerSession/MultiplayerSessionManager.cs
+++ b/NitroxClient/Communication/MultiplayerSession/MultiplayerSessionManager.cs
@@ -1,13 +1,16 @@
using System;
using System.Threading.Tasks;
+using Nitrox.Model.Core;
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.MultiplayerSession.ConnectionState;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.MultiplayerSession;
-using NitroxModel.Packets;
-using NitroxModel.Serialization;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Helper;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Serialization;
+using Nitrox.Model.Subnautica.MultiplayerSession;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.MultiplayerSession
{
diff --git a/NitroxClient/Communication/NetworkingLayer/LiteNetLib/LiteNetLibClient.cs b/NitroxClient/Communication/NetworkingLayer/LiteNetLib/LiteNetLibClient.cs
index d310dce3f..1043aeebd 100644
--- a/NitroxClient/Communication/NetworkingLayer/LiteNetLib/LiteNetLibClient.cs
+++ b/NitroxClient/Communication/NetworkingLayer/LiteNetLib/LiteNetLibClient.cs
@@ -9,8 +9,9 @@
using NitroxClient.Debuggers;
using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.Gui.Modals;
-using NitroxModel.Networking;
-using NitroxModel.Packets;
+using Nitrox.Model.Networking;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.NetworkingLayer.LiteNetLib;
diff --git a/NitroxClient/Communication/PacketReceiver.cs b/NitroxClient/Communication/PacketReceiver.cs
index dfe195922..8b5f4341f 100644
--- a/NitroxClient/Communication/PacketReceiver.cs
+++ b/NitroxClient/Communication/PacketReceiver.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication;
diff --git a/NitroxClient/Communication/PacketSuppressor.cs b/NitroxClient/Communication/PacketSuppressor.cs
index cb06b57a6..84707f4fa 100644
--- a/NitroxClient/Communication/PacketSuppressor.cs
+++ b/NitroxClient/Communication/PacketSuppressor.cs
@@ -1,5 +1,6 @@
using System;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication;
diff --git a/NitroxClient/Communication/Packets/Processors/Abstract/ClientPacketProcessor.cs b/NitroxClient/Communication/Packets/Processors/Abstract/ClientPacketProcessor.cs
index 784aa622d..b37fbd0a9 100644
--- a/NitroxClient/Communication/Packets/Processors/Abstract/ClientPacketProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/Abstract/ClientPacketProcessor.cs
@@ -1,5 +1,6 @@
-using NitroxModel.Packets;
-using NitroxModel.Packets.Processors.Abstract;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Packets.Processors.Abstract;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors.Abstract
{
diff --git a/NitroxClient/Communication/Packets/Processors/Abstract/KeepInventoryChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/Abstract/KeepInventoryChangedProcessor.cs
index 4e044016f..1a14972a5 100644
--- a/NitroxClient/Communication/Packets/Processors/Abstract/KeepInventoryChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/Abstract/KeepInventoryChangedProcessor.cs
@@ -1,5 +1,6 @@
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors.Abstract;
diff --git a/NitroxClient/Communication/Packets/Processors/AggressiveWhenSeeTargetChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/AggressiveWhenSeeTargetChangedProcessor.cs
index 26482b6da..2d4ddbe76 100644
--- a/NitroxClient/Communication/Packets/Processors/AggressiveWhenSeeTargetChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/AggressiveWhenSeeTargetChangedProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/AnimationChangeEventProcessor.cs b/NitroxClient/Communication/Packets/Processors/AnimationChangeEventProcessor.cs
index 9484231c0..f8c64ed3a 100644
--- a/NitroxClient/Communication/Packets/Processors/AnimationChangeEventProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/AnimationChangeEventProcessor.cs
@@ -1,8 +1,9 @@
+using Nitrox.Model.DataStructures;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/AttackCyclopsTargetChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/AttackCyclopsTargetChangedProcessor.cs
index 2d1951a86..44024bf71 100644
--- a/NitroxClient/Communication/Packets/Processors/AttackCyclopsTargetChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/AttackCyclopsTargetChangedProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/AuroraAndTimeUpdateProcessor.cs b/NitroxClient/Communication/Packets/Processors/AuroraAndTimeUpdateProcessor.cs
index 86f7fbd65..f24bc121e 100644
--- a/NitroxClient/Communication/Packets/Processors/AuroraAndTimeUpdateProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/AuroraAndTimeUpdateProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/BedEnterProcessor.cs b/NitroxClient/Communication/Packets/Processors/BedEnterProcessor.cs
index 07565ab3a..697edfe24 100644
--- a/NitroxClient/Communication/Packets/Processors/BedEnterProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/BedEnterProcessor.cs
@@ -1,5 +1,6 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors
{
diff --git a/NitroxClient/Communication/Packets/Processors/BenchChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/BenchChangedProcessor.cs
index c1db12926..34554543b 100644
--- a/NitroxClient/Communication/Packets/Processors/BenchChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/BenchChangedProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/BuildProcessor.cs b/NitroxClient/Communication/Packets/Processors/BuildProcessor.cs
index 109f7ae9e..9867bed23 100644
--- a/NitroxClient/Communication/Packets/Processors/BuildProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/BuildProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic.Bases;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/BuildingDesyncWarningProcessor.cs b/NitroxClient/Communication/Packets/Processors/BuildingDesyncWarningProcessor.cs
index 19f527313..698cfd561 100644
--- a/NitroxClient/Communication/Packets/Processors/BuildingDesyncWarningProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/BuildingDesyncWarningProcessor.cs
@@ -2,8 +2,9 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.Settings;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/BuildingResyncProcessor.cs b/NitroxClient/Communication/Packets/Processors/BuildingResyncProcessor.cs
index a4a0df199..949784e80 100644
--- a/NitroxClient/Communication/Packets/Processors/BuildingResyncProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/BuildingResyncProcessor.cs
@@ -10,12 +10,13 @@
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.Bases;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/ChatMessageProcessor.cs b/NitroxClient/Communication/Packets/Processors/ChatMessageProcessor.cs
index b00b6bd8e..76379d6fc 100644
--- a/NitroxClient/Communication/Packets/Processors/ChatMessageProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/ChatMessageProcessor.cs
@@ -1,13 +1,14 @@
using System;
using System.Linq;
+using Nitrox.Model.DataStructures;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.ChatUI;
using NitroxClient.GameLogic.Settings;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors
diff --git a/NitroxClient/Communication/Packets/Processors/CoffeeMachineUseProcessor.cs b/NitroxClient/Communication/Packets/Processors/CoffeeMachineUseProcessor.cs
index 9571911c6..8aa10dc30 100644
--- a/NitroxClient/Communication/Packets/Processors/CoffeeMachineUseProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/CoffeeMachineUseProcessor.cs
@@ -1,10 +1,11 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Packets;
+using Nitrox.Model.GameLogic.FMOD;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
-using static NitroxModel.Packets.CoffeeMachineUse;
+using static Nitrox.Model.Subnautica.Packets.CoffeeMachineUse;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/CreatureActionProcessor.cs b/NitroxClient/Communication/Packets/Processors/CreatureActionProcessor.cs
index 286356cb8..9eef165a4 100644
--- a/NitroxClient/Communication/Packets/Processors/CreatureActionProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/CreatureActionProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/CreaturePoopPerformedProcessor.cs b/NitroxClient/Communication/Packets/Processors/CreaturePoopPerformedProcessor.cs
index 39835a3f6..338984428 100644
--- a/NitroxClient/Communication/Packets/Processors/CreaturePoopPerformedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/CreaturePoopPerformedProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/CyclopsDamagePointHealthChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/CyclopsDamagePointHealthChangedProcessor.cs
index f63e67770..7de4cdef0 100644
--- a/NitroxClient/Communication/Packets/Processors/CyclopsDamagePointHealthChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/CyclopsDamagePointHealthChangedProcessor.cs
@@ -1,8 +1,7 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
-using NitroxModel_Subnautica.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors
diff --git a/NitroxClient/Communication/Packets/Processors/CyclopsDamageProcessor.cs b/NitroxClient/Communication/Packets/Processors/CyclopsDamageProcessor.cs
index 59c452ec6..75af3ee80 100644
--- a/NitroxClient/Communication/Packets/Processors/CyclopsDamageProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/CyclopsDamageProcessor.cs
@@ -4,11 +4,10 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures.GameLogic;
-using NitroxModel_Subnautica.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors
diff --git a/NitroxClient/Communication/Packets/Processors/CyclopsDecoyLaunchProcessor.cs b/NitroxClient/Communication/Packets/Processors/CyclopsDecoyLaunchProcessor.cs
index 9ed614095..6fcb2b116 100644
--- a/NitroxClient/Communication/Packets/Processors/CyclopsDecoyLaunchProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/CyclopsDecoyLaunchProcessor.cs
@@ -1,7 +1,7 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel_Subnautica.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors
{
diff --git a/NitroxClient/Communication/Packets/Processors/CyclopsFireCreatedProcessor.cs b/NitroxClient/Communication/Packets/Processors/CyclopsFireCreatedProcessor.cs
index 02c631a9a..484f221ea 100644
--- a/NitroxClient/Communication/Packets/Processors/CyclopsFireCreatedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/CyclopsFireCreatedProcessor.cs
@@ -1,7 +1,7 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel_Subnautica.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors
{
diff --git a/NitroxClient/Communication/Packets/Processors/CyclopsFireSuppressionProcessor.cs b/NitroxClient/Communication/Packets/Processors/CyclopsFireSuppressionProcessor.cs
index 135867700..5c0614e03 100644
--- a/NitroxClient/Communication/Packets/Processors/CyclopsFireSuppressionProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/CyclopsFireSuppressionProcessor.cs
@@ -1,7 +1,7 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel_Subnautica.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors
{
diff --git a/NitroxClient/Communication/Packets/Processors/DebugStartMapProcessor.cs b/NitroxClient/Communication/Packets/Processors/DebugStartMapProcessor.cs
index 8749e83b4..14686c339 100644
--- a/NitroxClient/Communication/Packets/Processors/DebugStartMapProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/DebugStartMapProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors
diff --git a/NitroxClient/Communication/Packets/Processors/DeconstructionBeginProcessor.cs b/NitroxClient/Communication/Packets/Processors/DeconstructionBeginProcessor.cs
index a6c75779a..2f13338b3 100644
--- a/NitroxClient/Communication/Packets/Processors/DeconstructionBeginProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/DeconstructionBeginProcessor.cs
@@ -2,7 +2,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic.Helper;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
using static NitroxClient.GameLogic.Helper.TransientLocalObjectManager;
diff --git a/NitroxClient/Communication/Packets/Processors/DisconnectProcessor.cs b/NitroxClient/Communication/Packets/Processors/DisconnectProcessor.cs
index 92cc4036d..f084fb445 100644
--- a/NitroxClient/Communication/Packets/Processors/DisconnectProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/DisconnectProcessor.cs
@@ -1,8 +1,9 @@
+using Nitrox.Model.DataStructures;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.HUD;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors
{
diff --git a/NitroxClient/Communication/Packets/Processors/DiscordRequestIPProcessor.cs b/NitroxClient/Communication/Packets/Processors/DiscordRequestIPProcessor.cs
index 05cf8b62f..b76552ac8 100644
--- a/NitroxClient/Communication/Packets/Processors/DiscordRequestIPProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/DiscordRequestIPProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours.Discord;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/DropSimulationOwnershipProcessor.cs b/NitroxClient/Communication/Packets/Processors/DropSimulationOwnershipProcessor.cs
index e3c829abf..17d179a04 100644
--- a/NitroxClient/Communication/Packets/Processors/DropSimulationOwnershipProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/DropSimulationOwnershipProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/EntityDestroyedProcessor.cs b/NitroxClient/Communication/Packets/Processors/EntityDestroyedProcessor.cs
index 0c4e2f2f9..929afbf87 100644
--- a/NitroxClient/Communication/Packets/Processors/EntityDestroyedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/EntityDestroyedProcessor.cs
@@ -2,7 +2,8 @@
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/EntityMetadataUpdateProcessor.cs b/NitroxClient/Communication/Packets/Processors/EntityMetadataUpdateProcessor.cs
index 0d67874c5..976a087dd 100644
--- a/NitroxClient/Communication/Packets/Processors/EntityMetadataUpdateProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/EntityMetadataUpdateProcessor.cs
@@ -1,11 +1,12 @@
+using Nitrox.Model.DataStructures;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/EntityReparentedProcessor.cs b/NitroxClient/Communication/Packets/Processors/EntityReparentedProcessor.cs
index 96d8c9e95..f5135ce96 100644
--- a/NitroxClient/Communication/Packets/Processors/EntityReparentedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/EntityReparentedProcessor.cs
@@ -1,12 +1,12 @@
using System;
+using Nitrox.Model.DataStructures;
using NitroxClient.Communication.Packets.Processors.Abstract;
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;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/EntityTransformUpdatesProcessor.cs b/NitroxClient/Communication/Packets/Processors/EntityTransformUpdatesProcessor.cs
index 3bcdbf40c..c693d4b98 100644
--- a/NitroxClient/Communication/Packets/Processors/EntityTransformUpdatesProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/EntityTransformUpdatesProcessor.cs
@@ -1,10 +1,11 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
-using static NitroxModel.Packets.EntityTransformUpdates;
+using static Nitrox.Model.Subnautica.Packets.EntityTransformUpdates;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/EscapePodChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/EscapePodChangedProcessor.cs
index 758d926d8..02118a9a8 100644
--- a/NitroxClient/Communication/Packets/Processors/EscapePodChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/EscapePodChangedProcessor.cs
@@ -1,8 +1,9 @@
-using NitroxClient.Communication.Packets.Processors.Abstract;
+using Nitrox.Model.DataStructures;
+using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors
@@ -35,5 +36,3 @@ public override void Process(EscapePodChanged packet)
}
}
}
-
-
diff --git a/NitroxClient/Communication/Packets/Processors/ExosuitArmActionProcessor.cs b/NitroxClient/Communication/Packets/Processors/ExosuitArmActionProcessor.cs
index 9a400e957..44488b96d 100644
--- a/NitroxClient/Communication/Packets/Processors/ExosuitArmActionProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/ExosuitArmActionProcessor.cs
@@ -1,8 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel_Subnautica.DataStructures;
-using NitroxModel_Subnautica.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/FMODAssetProcessor.cs b/NitroxClient/Communication/Packets/Processors/FMODAssetProcessor.cs
index 9383c94c7..f5dd99e9f 100644
--- a/NitroxClient/Communication/Packets/Processors/FMODAssetProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/FMODAssetProcessor.cs
@@ -1,8 +1,9 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel_Subnautica.DataStructures;
-using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.GameLogic.FMOD;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/FMODCustomEmitterProcessor.cs b/NitroxClient/Communication/Packets/Processors/FMODCustomEmitterProcessor.cs
index e40390b03..0302f557e 100644
--- a/NitroxClient/Communication/Packets/Processors/FMODCustomEmitterProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/FMODCustomEmitterProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/FMODCustomLoopingEmitterProcessor.cs b/NitroxClient/Communication/Packets/Processors/FMODCustomLoopingEmitterProcessor.cs
index ffae2f924..2f01b5a25 100644
--- a/NitroxClient/Communication/Packets/Processors/FMODCustomLoopingEmitterProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/FMODCustomLoopingEmitterProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/FMODEventInstanceProcessor.cs b/NitroxClient/Communication/Packets/Processors/FMODEventInstanceProcessor.cs
index c31ba3284..9c09d2ec8 100644
--- a/NitroxClient/Communication/Packets/Processors/FMODEventInstanceProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/FMODEventInstanceProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/FMODStudioEventEmitterProcessor.cs b/NitroxClient/Communication/Packets/Processors/FMODStudioEventEmitterProcessor.cs
index 917116615..a54b6c882 100644
--- a/NitroxClient/Communication/Packets/Processors/FMODStudioEventEmitterProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/FMODStudioEventEmitterProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/FastCheatChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/FastCheatChangedProcessor.cs
index 8b59749cf..23efca0fe 100644
--- a/NitroxClient/Communication/Packets/Processors/FastCheatChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/FastCheatChangedProcessor.cs
@@ -1,5 +1,5 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxModel.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/FireDousedProcessor.cs b/NitroxClient/Communication/Packets/Processors/FireDousedProcessor.cs
index 73b385b20..e43b03cd4 100644
--- a/NitroxClient/Communication/Packets/Processors/FireDousedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/FireDousedProcessor.cs
@@ -1,8 +1,8 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors
diff --git a/NitroxClient/Communication/Packets/Processors/FootstepPacketProcessor.cs b/NitroxClient/Communication/Packets/Processors/FootstepPacketProcessor.cs
index f38550629..9581460e9 100644
--- a/NitroxClient/Communication/Packets/Processors/FootstepPacketProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/FootstepPacketProcessor.cs
@@ -2,12 +2,13 @@
using FMOD;
using FMOD.Studio;
using FMODUnity;
+using Nitrox.Model.DataStructures;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.FMOD;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Packets;
+using Nitrox.Model.GameLogic.FMOD;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/GameModeChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/GameModeChangedProcessor.cs
index 8a7a923c8..5f4d41ffa 100644
--- a/NitroxClient/Communication/Packets/Processors/GameModeChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/GameModeChangedProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/InitialPlayerSyncProcessor.cs b/NitroxClient/Communication/Packets/Processors/InitialPlayerSyncProcessor.cs
index f53a28adb..cb707e99a 100644
--- a/NitroxClient/Communication/Packets/Processors/InitialPlayerSyncProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/InitialPlayerSyncProcessor.cs
@@ -5,7 +5,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors
{
diff --git a/NitroxClient/Communication/Packets/Processors/ItemPositionProcessor.cs b/NitroxClient/Communication/Packets/Processors/ItemPositionProcessor.cs
index 25ea4dfbf..769ed79de 100644
--- a/NitroxClient/Communication/Packets/Processors/ItemPositionProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/ItemPositionProcessor.cs
@@ -1,9 +1,10 @@
-using NitroxClient.Communication.Packets.Processors.Abstract;
+using Nitrox.Model.DataStructures;
+using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors
diff --git a/NitroxClient/Communication/Packets/Processors/KnownTechEntryAddProcessor.cs b/NitroxClient/Communication/Packets/Processors/KnownTechEntryAddProcessor.cs
index 23f808b0c..1e43351e5 100644
--- a/NitroxClient/Communication/Packets/Processors/KnownTechEntryAddProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/KnownTechEntryAddProcessor.cs
@@ -1,8 +1,9 @@
using System;
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/LeakRepairedProcessor.cs b/NitroxClient/Communication/Packets/Processors/LeakRepairedProcessor.cs
index 886c54ca5..e9a59fd58 100644
--- a/NitroxClient/Communication/Packets/Processors/LeakRepairedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/LeakRepairedProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/MedicalCabinetClickedProcessor.cs b/NitroxClient/Communication/Packets/Processors/MedicalCabinetClickedProcessor.cs
index 43e82a4f3..786c8ac14 100644
--- a/NitroxClient/Communication/Packets/Processors/MedicalCabinetClickedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/MedicalCabinetClickedProcessor.cs
@@ -1,8 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/MultiplayerSessionPolicyProcessor.cs b/NitroxClient/Communication/Packets/Processors/MultiplayerSessionPolicyProcessor.cs
index c04d9da53..be0959647 100644
--- a/NitroxClient/Communication/Packets/Processors/MultiplayerSessionPolicyProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/MultiplayerSessionPolicyProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors
{
diff --git a/NitroxClient/Communication/Packets/Processors/MultiplayerSessionReservationProcessor.cs b/NitroxClient/Communication/Packets/Processors/MultiplayerSessionReservationProcessor.cs
index 3fc319ad5..5d4797746 100644
--- a/NitroxClient/Communication/Packets/Processors/MultiplayerSessionReservationProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/MultiplayerSessionReservationProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors
{
diff --git a/NitroxClient/Communication/Packets/Processors/MutePlayerProcessor.cs b/NitroxClient/Communication/Packets/Processors/MutePlayerProcessor.cs
index 65aea6cff..bf1da6857 100644
--- a/NitroxClient/Communication/Packets/Processors/MutePlayerProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/MutePlayerProcessor.cs
@@ -1,7 +1,8 @@
-using NitroxClient.Communication.Packets.Processors.Abstract;
+using Nitrox.Model.DataStructures;
+using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/OpenableStateChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/OpenableStateChangedProcessor.cs
index e4a2fe6a1..f30a57552 100644
--- a/NitroxClient/Communication/Packets/Processors/OpenableStateChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/OpenableStateChangedProcessor.cs
@@ -1,8 +1,8 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors
diff --git a/NitroxClient/Communication/Packets/Processors/PDAEncyclopediaEntryAddProcessor.cs b/NitroxClient/Communication/Packets/Processors/PDAEncyclopediaEntryAddProcessor.cs
index e36a3e0da..4b49ddbb3 100644
--- a/NitroxClient/Communication/Packets/Processors/PDAEncyclopediaEntryAddProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PDAEncyclopediaEntryAddProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/PDALogEntryAddProcessor.cs b/NitroxClient/Communication/Packets/Processors/PDALogEntryAddProcessor.cs
index 1cdafcd64..174a094c5 100644
--- a/NitroxClient/Communication/Packets/Processors/PDALogEntryAddProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PDALogEntryAddProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors
{
diff --git a/NitroxClient/Communication/Packets/Processors/PDAScanFinishedProcessor.cs b/NitroxClient/Communication/Packets/Processors/PDAScanFinishedProcessor.cs
index 7eb2f3cd8..0ec91ce66 100644
--- a/NitroxClient/Communication/Packets/Processors/PDAScanFinishedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PDAScanFinishedProcessor.cs
@@ -1,8 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/PermsChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/PermsChangedProcessor.cs
index 8691b2182..1608110e6 100644
--- a/NitroxClient/Communication/Packets/Processors/PermsChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PermsChangedProcessor.cs
@@ -1,7 +1,8 @@
-using NitroxClient.Communication.Packets.Processors.Abstract;
+using Nitrox.Model.DataStructures.GameLogic;
+using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/PlaySunbeamEventProcessor.cs b/NitroxClient/Communication/Packets/Processors/PlaySunbeamEventProcessor.cs
index cefb4ae22..94df9d651 100644
--- a/NitroxClient/Communication/Packets/Processors/PlaySunbeamEventProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PlaySunbeamEventProcessor.cs
@@ -1,6 +1,5 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxModel;
-using NitroxModel.Packets;
+using Nitrox.Model.Subnautica.Packets;
using Story;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/PlayerCinematicControllerCallProcessor.cs b/NitroxClient/Communication/Packets/Processors/PlayerCinematicControllerCallProcessor.cs
index c1d65d4aa..a2e51b384 100644
--- a/NitroxClient/Communication/Packets/Processors/PlayerCinematicControllerCallProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PlayerCinematicControllerCallProcessor.cs
@@ -1,10 +1,11 @@
+using Nitrox.Model.DataStructures;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.CinematicController;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/PlayerDeathProcessor.cs b/NitroxClient/Communication/Packets/Processors/PlayerDeathProcessor.cs
index 981ebe24b..e03151017 100644
--- a/NitroxClient/Communication/Packets/Processors/PlayerDeathProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PlayerDeathProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/PlayerHeldItemChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/PlayerHeldItemChangedProcessor.cs
index 3e61db743..e2809eca0 100644
--- a/NitroxClient/Communication/Packets/Processors/PlayerHeldItemChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PlayerHeldItemChangedProcessor.cs
@@ -1,10 +1,12 @@
using System;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/PlayerInCyclopsMovementProcessor.cs b/NitroxClient/Communication/Packets/Processors/PlayerInCyclopsMovementProcessor.cs
index 6e4e9d3f9..91b5ce513 100644
--- a/NitroxClient/Communication/Packets/Processors/PlayerInCyclopsMovementProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PlayerInCyclopsMovementProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/PlayerJoinedMultiplayerSessionProcessor.cs b/NitroxClient/Communication/Packets/Processors/PlayerJoinedMultiplayerSessionProcessor.cs
index 85a8df56e..682f0e8b9 100644
--- a/NitroxClient/Communication/Packets/Processors/PlayerJoinedMultiplayerSessionProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PlayerJoinedMultiplayerSessionProcessor.cs
@@ -1,7 +1,8 @@
using System.Collections;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UWE;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/PlayerKickedProcessor.cs b/NitroxClient/Communication/Packets/Processors/PlayerKickedProcessor.cs
index c7500bd70..0982a029d 100644
--- a/NitroxClient/Communication/Packets/Processors/PlayerKickedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PlayerKickedProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours.Gui.Modals;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors
{
diff --git a/NitroxClient/Communication/Packets/Processors/PlayerMovementProcessor.cs b/NitroxClient/Communication/Packets/Processors/PlayerMovementProcessor.cs
index 6b7ab5d14..34ac7eba1 100644
--- a/NitroxClient/Communication/Packets/Processors/PlayerMovementProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PlayerMovementProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/PlayerStatsProcessor.cs b/NitroxClient/Communication/Packets/Processors/PlayerStatsProcessor.cs
index f7adc58fc..cc11da72f 100644
--- a/NitroxClient/Communication/Packets/Processors/PlayerStatsProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PlayerStatsProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours.Gui.HUD;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/PlayerTeleportedProcessor.cs b/NitroxClient/Communication/Packets/Processors/PlayerTeleportedProcessor.cs
index 75462afd2..b2c5c7276 100644
--- a/NitroxClient/Communication/Packets/Processors/PlayerTeleportedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PlayerTeleportedProcessor.cs
@@ -1,8 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UWE;
using Terrain = NitroxClient.GameLogic.Terrain;
diff --git a/NitroxClient/Communication/Packets/Processors/PvPAttackProcessor.cs b/NitroxClient/Communication/Packets/Processors/PvPAttackProcessor.cs
index 5112d193f..a0f61cf1a 100644
--- a/NitroxClient/Communication/Packets/Processors/PvPAttackProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/PvPAttackProcessor.cs
@@ -1,5 +1,6 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/RadioPlayPendingMessageProcessor.cs b/NitroxClient/Communication/Packets/Processors/RadioPlayPendingMessageProcessor.cs
index bb9ded746..d414ef05b 100644
--- a/NitroxClient/Communication/Packets/Processors/RadioPlayPendingMessageProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/RadioPlayPendingMessageProcessor.cs
@@ -1,5 +1,6 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using Story;
namespace NitroxClient.Communication.Packets.Processors
diff --git a/NitroxClient/Communication/Packets/Processors/RangedAttackLastTargetUpdateProcessor.cs b/NitroxClient/Communication/Packets/Processors/RangedAttackLastTargetUpdateProcessor.cs
index c7d7716c2..590f62033 100644
--- a/NitroxClient/Communication/Packets/Processors/RangedAttackLastTargetUpdateProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/RangedAttackLastTargetUpdateProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/RemoveCreatureCorpseProcessor.cs b/NitroxClient/Communication/Packets/Processors/RemoveCreatureCorpseProcessor.cs
index 6e6a68cf3..89bb9d80b 100644
--- a/NitroxClient/Communication/Packets/Processors/RemoveCreatureCorpseProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/RemoveCreatureCorpseProcessor.cs
@@ -1,9 +1,10 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UWE;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/RocketLaunchProcessor.cs b/NitroxClient/Communication/Packets/Processors/RocketLaunchProcessor.cs
index bc38c5655..12fe73a5f 100644
--- a/NitroxClient/Communication/Packets/Processors/RocketLaunchProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/RocketLaunchProcessor.cs
@@ -1,6 +1,6 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel_Subnautica.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/ScheduleProcessor.cs b/NitroxClient/Communication/Packets/Processors/ScheduleProcessor.cs
index b786fcc28..8e1d5fda3 100644
--- a/NitroxClient/Communication/Packets/Processors/ScheduleProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/ScheduleProcessor.cs
@@ -1,6 +1,7 @@
using System.Linq;
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using Story;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/SeaDragonAttackTargetProcessor.cs b/NitroxClient/Communication/Packets/Processors/SeaDragonAttackTargetProcessor.cs
index 0b645ce7b..e630ec56a 100644
--- a/NitroxClient/Communication/Packets/Processors/SeaDragonAttackTargetProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/SeaDragonAttackTargetProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/SeaDragonGrabExosuitProcessor.cs b/NitroxClient/Communication/Packets/Processors/SeaDragonGrabExosuitProcessor.cs
index 4c12bb58d..6c503a7a9 100644
--- a/NitroxClient/Communication/Packets/Processors/SeaDragonGrabExosuitProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/SeaDragonGrabExosuitProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/SeaDragonSwatAttackProcessor.cs b/NitroxClient/Communication/Packets/Processors/SeaDragonSwatAttackProcessor.cs
index 13a01fd61..40dbf9ed1 100644
--- a/NitroxClient/Communication/Packets/Processors/SeaDragonSwatAttackProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/SeaDragonSwatAttackProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/SeaTreaderChunkPickedUpProcessor.cs b/NitroxClient/Communication/Packets/Processors/SeaTreaderChunkPickedUpProcessor.cs
index b832fda57..ef5d51a07 100644
--- a/NitroxClient/Communication/Packets/Processors/SeaTreaderChunkPickedUpProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/SeaTreaderChunkPickedUpProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/SeaTreaderSpawnedChunkProcessor.cs b/NitroxClient/Communication/Packets/Processors/SeaTreaderSpawnedChunkProcessor.cs
index 53534062b..f0d258bd1 100644
--- a/NitroxClient/Communication/Packets/Processors/SeaTreaderSpawnedChunkProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/SeaTreaderSpawnedChunkProcessor.cs
@@ -1,8 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
@@ -14,7 +14,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/SeamothModuleActionProcessor.cs b/NitroxClient/Communication/Packets/Processors/SeamothModuleActionProcessor.cs
index 2a260e357..d9056f502 100644
--- a/NitroxClient/Communication/Packets/Processors/SeamothModuleActionProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/SeamothModuleActionProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/ServerStoppedProcessor.cs b/NitroxClient/Communication/Packets/Processors/ServerStoppedProcessor.cs
index f7e70838b..077bd249b 100644
--- a/NitroxClient/Communication/Packets/Processors/ServerStoppedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/ServerStoppedProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours.Gui.Modals;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/SetIntroCinematicModeProcessor.cs b/NitroxClient/Communication/Packets/Processors/SetIntroCinematicModeProcessor.cs
index b47c459ec..b437c7168 100644
--- a/NitroxClient/Communication/Packets/Processors/SetIntroCinematicModeProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/SetIntroCinematicModeProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/SimulationOwnershipChangeProcessor.cs b/NitroxClient/Communication/Packets/Processors/SimulationOwnershipChangeProcessor.cs
index 19fbbd0b1..7ae6d0ead 100644
--- a/NitroxClient/Communication/Packets/Processors/SimulationOwnershipChangeProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/SimulationOwnershipChangeProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/SimulationOwnershipResponseProcessor.cs b/NitroxClient/Communication/Packets/Processors/SimulationOwnershipResponseProcessor.cs
index 45578434b..57fd6675b 100644
--- a/NitroxClient/Communication/Packets/Processors/SimulationOwnershipResponseProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/SimulationOwnershipResponseProcessor.cs
@@ -2,9 +2,9 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors
diff --git a/NitroxClient/Communication/Packets/Processors/SpawnEntitiesProcessor.cs b/NitroxClient/Communication/Packets/Processors/SpawnEntitiesProcessor.cs
index 3acc5c2c0..1dbdfa614 100644
--- a/NitroxClient/Communication/Packets/Processors/SpawnEntitiesProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/SpawnEntitiesProcessor.cs
@@ -1,7 +1,10 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
@@ -9,11 +12,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 +41,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/Communication/Packets/Processors/StasisSphereHitProcessor.cs b/NitroxClient/Communication/Packets/Processors/StasisSphereHitProcessor.cs
index 994270f9f..a5ad170b2 100644
--- a/NitroxClient/Communication/Packets/Processors/StasisSphereHitProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/StasisSphereHitProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/StasisSphereShotProcessor.cs b/NitroxClient/Communication/Packets/Processors/StasisSphereShotProcessor.cs
index 78a8dc162..8c3d9bf49 100644
--- a/NitroxClient/Communication/Packets/Processors/StasisSphereShotProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/StasisSphereShotProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/StoryGoalExecutedClientProcessor.cs b/NitroxClient/Communication/Packets/Processors/StoryGoalExecutedClientProcessor.cs
index 6bea520da..b5d3393bb 100644
--- a/NitroxClient/Communication/Packets/Processors/StoryGoalExecutedClientProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/StoryGoalExecutedClientProcessor.cs
@@ -1,8 +1,8 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors.Abstract;
-using NitroxModel;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using Story;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/SubRootChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/SubRootChangedProcessor.cs
index aa2f00e44..be1b34b69 100644
--- a/NitroxClient/Communication/Packets/Processors/SubRootChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/SubRootChangedProcessor.cs
@@ -1,8 +1,9 @@
-using NitroxClient.Communication.Packets.Processors.Abstract;
+using Nitrox.Model.DataStructures;
+using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors
diff --git a/NitroxClient/Communication/Packets/Processors/TimeChangeProcessor.cs b/NitroxClient/Communication/Packets/Processors/TimeChangeProcessor.cs
index de28d2d11..3c5cf723b 100644
--- a/NitroxClient/Communication/Packets/Processors/TimeChangeProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/TimeChangeProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/ToggleLightsProcessor.cs b/NitroxClient/Communication/Packets/Processors/ToggleLightsProcessor.cs
index 02033264a..44fc4c3d7 100644
--- a/NitroxClient/Communication/Packets/Processors/ToggleLightsProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/ToggleLightsProcessor.cs
@@ -1,18 +1,16 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
-using NitroxModel.GameLogic.FMOD;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
-public class ToggleLightsProcessor : ClientPacketProcessor
+public class ToggleLightsProcessor : ClientPacketProcessor
{
public ToggleLightsProcessor()
{ }
- public override void Process(NitroxModel.Packets.ToggleLights packet)
+ public override void Process(Nitrox.Model.Subnautica.Packets.ToggleLights packet)
{
GameObject gameObject = NitroxEntity.RequireObjectFrom(packet.Id);
ToggleLights toggleLights = gameObject.RequireComponent();
@@ -22,7 +20,7 @@ public override void Process(NitroxModel.Packets.ToggleLights packet)
return;
}
- using (PacketSuppressor.Suppress())
+ using (PacketSuppressor.Suppress())
using (FMODSystem.SuppressSendingSounds())
{
toggleLights.SetLightsActive(packet.IsOn);
diff --git a/NitroxClient/Communication/Packets/Processors/TorpedoHitProcessor.cs b/NitroxClient/Communication/Packets/Processors/TorpedoHitProcessor.cs
index 274be2ae7..c172bfd5f 100644
--- a/NitroxClient/Communication/Packets/Processors/TorpedoHitProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/TorpedoHitProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/TorpedoShotProcessor.cs b/NitroxClient/Communication/Packets/Processors/TorpedoShotProcessor.cs
index aff9d1dd9..bc169f080 100644
--- a/NitroxClient/Communication/Packets/Processors/TorpedoShotProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/TorpedoShotProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/TorpedoTargetAcquiredProcessor.cs b/NitroxClient/Communication/Packets/Processors/TorpedoTargetAcquiredProcessor.cs
index cc63151f9..f77241d53 100644
--- a/NitroxClient/Communication/Packets/Processors/TorpedoTargetAcquiredProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/TorpedoTargetAcquiredProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/VehicleDockingProcessor.cs b/NitroxClient/Communication/Packets/Processors/VehicleDockingProcessor.cs
index 7bb5a9229..97b4575d5 100644
--- a/NitroxClient/Communication/Packets/Processors/VehicleDockingProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/VehicleDockingProcessor.cs
@@ -4,8 +4,9 @@
using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.Vehicles;
using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/VehicleMovementsProcessor.cs b/NitroxClient/Communication/Packets/Processors/VehicleMovementsProcessor.cs
index f2701c7fe..4f11c70ca 100644
--- a/NitroxClient/Communication/Packets/Processors/VehicleMovementsProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/VehicleMovementsProcessor.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/VehicleOnPilotModeChangedProcessor.cs b/NitroxClient/Communication/Packets/Processors/VehicleOnPilotModeChangedProcessor.cs
index 427902753..fec72ab44 100644
--- a/NitroxClient/Communication/Packets/Processors/VehicleOnPilotModeChangedProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/VehicleOnPilotModeChangedProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/VehicleUndockingProcessor.cs b/NitroxClient/Communication/Packets/Processors/VehicleUndockingProcessor.cs
index 741fd3182..f9cd8e4a1 100644
--- a/NitroxClient/Communication/Packets/Processors/VehicleUndockingProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/VehicleUndockingProcessor.cs
@@ -3,7 +3,8 @@
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
diff --git a/NitroxClient/Communication/Packets/Processors/WeldActionProcessor.cs b/NitroxClient/Communication/Packets/Processors/WeldActionProcessor.cs
index 6ab9d80ec..873c6b252 100644
--- a/NitroxClient/Communication/Packets/Processors/WeldActionProcessor.cs
+++ b/NitroxClient/Communication/Packets/Processors/WeldActionProcessor.cs
@@ -2,7 +2,8 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors
diff --git a/NitroxClient/Debuggers/BaseDebugger.cs b/NitroxClient/Debuggers/BaseDebugger.cs
index 83e143bc7..f86435d9e 100644
--- a/NitroxClient/Debuggers/BaseDebugger.cs
+++ b/NitroxClient/Debuggers/BaseDebugger.cs
@@ -2,9 +2,9 @@
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
+using Nitrox.Model.DataStructures;
using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
namespace NitroxClient.Debuggers
diff --git a/NitroxClient/Debuggers/Drawer/DrawerManager.cs b/NitroxClient/Debuggers/Drawer/DrawerManager.cs
index 3187b41fe..c9404d779 100644
--- a/NitroxClient/Debuggers/Drawer/DrawerManager.cs
+++ b/NitroxClient/Debuggers/Drawer/DrawerManager.cs
@@ -5,9 +5,9 @@
using NitroxClient.Debuggers.Drawer.Unity;
using NitroxClient.Debuggers.Drawer.UnityUI;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Helper;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
diff --git a/NitroxClient/Debuggers/Drawer/Nitrox/NitroxEntityDrawer.cs b/NitroxClient/Debuggers/Drawer/Nitrox/NitroxEntityDrawer.cs
index ae2de6e2a..99e649758 100644
--- a/NitroxClient/Debuggers/Drawer/Nitrox/NitroxEntityDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/Nitrox/NitroxEntityDrawer.cs
@@ -1,8 +1,8 @@
using System.Linq;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Core;
-using NitroxModel.DataStructures;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures;
using UnityEngine;
namespace NitroxClient.Debuggers.Drawer.Nitrox;
diff --git a/NitroxClient/Debuggers/Drawer/Unity/CharacterControllerDrawer.cs b/NitroxClient/Debuggers/Drawer/Unity/CharacterControllerDrawer.cs
index 36e1c08fd..ffe40e4b7 100644
--- a/NitroxClient/Debuggers/Drawer/Unity/CharacterControllerDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/Unity/CharacterControllerDrawer.cs
@@ -1,4 +1,4 @@
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
namespace NitroxClient.Debuggers.Drawer.Unity;
diff --git a/NitroxClient/Debuggers/Drawer/Unity/RigidbodyDrawer.cs b/NitroxClient/Debuggers/Drawer/Unity/RigidbodyDrawer.cs
index 452d82344..d5c91d956 100644
--- a/NitroxClient/Debuggers/Drawer/Unity/RigidbodyDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/Unity/RigidbodyDrawer.cs
@@ -1,4 +1,4 @@
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
namespace NitroxClient.Debuggers.Drawer.Unity;
diff --git a/NitroxClient/Debuggers/Drawer/Unity/TransformDrawer.cs b/NitroxClient/Debuggers/Drawer/Unity/TransformDrawer.cs
index bb9a5a276..2a60a3228 100644
--- a/NitroxClient/Debuggers/Drawer/Unity/TransformDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/Unity/TransformDrawer.cs
@@ -1,4 +1,4 @@
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
namespace NitroxClient.Debuggers.Drawer.Unity;
diff --git a/NitroxClient/Debuggers/Drawer/Unity/VectorDrawer.cs b/NitroxClient/Debuggers/Drawer/Unity/VectorDrawer.cs
index b8aebf187..436e1fc7f 100644
--- a/NitroxClient/Debuggers/Drawer/Unity/VectorDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/Unity/VectorDrawer.cs
@@ -1,5 +1,5 @@
-using NitroxModel_Subnautica.DataStructures;
-using NitroxModel.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
using UnityEngine;
namespace NitroxClient.Debuggers.Drawer.Unity;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/ButtonDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/ButtonDrawer.cs
index fb566158c..eae24c8bc 100644
--- a/NitroxClient/Debuggers/Drawer/UnityUI/ButtonDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/UnityUI/ButtonDrawer.cs
@@ -1,5 +1,5 @@
using NitroxClient.Debuggers.Drawer.Unity;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/CanvasDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/CanvasDrawer.cs
index 3f2e75cf9..24a2f6047 100644
--- a/NitroxClient/Debuggers/Drawer/UnityUI/CanvasDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/UnityUI/CanvasDrawer.cs
@@ -1,5 +1,5 @@
using System;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
namespace NitroxClient.Debuggers.Drawer.UnityUI;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/CanvasScalerDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/CanvasScalerDrawer.cs
index b85e443df..53d9c04cb 100644
--- a/NitroxClient/Debuggers/Drawer/UnityUI/CanvasScalerDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/UnityUI/CanvasScalerDrawer.cs
@@ -1,5 +1,5 @@
using NitroxClient.Debuggers.Drawer.Unity;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/DropdownDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/DropdownDrawer.cs
index ce68a41be..d523d07c9 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 Nitrox.Model.Helper;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/EventTriggerDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/EventTriggerDrawer.cs
index 568bd7a73..6c4f8fc32 100644
--- a/NitroxClient/Debuggers/Drawer/UnityUI/EventTriggerDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/UnityUI/EventTriggerDrawer.cs
@@ -1,6 +1,6 @@
using System;
using System.Linq;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
using UnityEngine.EventSystems;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/GridLayoutGroupDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/GridLayoutGroupDrawer.cs
index 7822133c1..f685f1441 100644
--- a/NitroxClient/Debuggers/Drawer/UnityUI/GridLayoutGroupDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/UnityUI/GridLayoutGroupDrawer.cs
@@ -1,6 +1,6 @@
using System;
using NitroxClient.Debuggers.Drawer.Unity;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/ImageDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/ImageDrawer.cs
index 1fc4b43fb..ad1bf731d 100644
--- a/NitroxClient/Debuggers/Drawer/UnityUI/ImageDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/UnityUI/ImageDrawer.cs
@@ -1,6 +1,5 @@
-using System;
-using NitroxClient.Debuggers.Drawer.Unity;
-using NitroxModel.Helper;
+using NitroxClient.Debuggers.Drawer.Unity;
+using Nitrox.Model.Helper;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/InputFieldDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/InputFieldDrawer.cs
index 7973b6f52..776b99a55 100644
--- a/NitroxClient/Debuggers/Drawer/UnityUI/InputFieldDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/UnityUI/InputFieldDrawer.cs
@@ -1,5 +1,5 @@
using NitroxClient.Debuggers.Drawer.Unity;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/LayoutGroupDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/LayoutGroupDrawer.cs
index 22f170152..17dfd3b6f 100644
--- a/NitroxClient/Debuggers/Drawer/UnityUI/LayoutGroupDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/UnityUI/LayoutGroupDrawer.cs
@@ -1,6 +1,5 @@
-using System;
-using NitroxClient.Debuggers.Drawer.Unity;
-using NitroxModel.Helper;
+using NitroxClient.Debuggers.Drawer.Unity;
+using Nitrox.Model.Helper;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/SelectableDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/SelectableDrawer.cs
index 08ba4e01e..f5909e360 100644
--- a/NitroxClient/Debuggers/Drawer/UnityUI/SelectableDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/UnityUI/SelectableDrawer.cs
@@ -1,5 +1,5 @@
using NitroxClient.Debuggers.Drawer.Unity;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/SliderDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/SliderDrawer.cs
index aa17e841c..8208bdd7a 100644
--- a/NitroxClient/Debuggers/Drawer/UnityUI/SliderDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/UnityUI/SliderDrawer.cs
@@ -1,4 +1,4 @@
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/TextDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/TextDrawer.cs
index 43bd974b5..d1b5aadea 100644
--- a/NitroxClient/Debuggers/Drawer/UnityUI/TextDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/UnityUI/TextDrawer.cs
@@ -1,5 +1,5 @@
using NitroxClient.Debuggers.Drawer.Unity;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/Debuggers/Drawer/UnityUI/ToggleDrawer.cs b/NitroxClient/Debuggers/Drawer/UnityUI/ToggleDrawer.cs
index d1cd2f16d..163ae7ea0 100644
--- a/NitroxClient/Debuggers/Drawer/UnityUI/ToggleDrawer.cs
+++ b/NitroxClient/Debuggers/Drawer/UnityUI/ToggleDrawer.cs
@@ -1,5 +1,5 @@
using NitroxClient.Debuggers.Drawer.Unity;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/Debuggers/EntityDebugger.cs b/NitroxClient/Debuggers/EntityDebugger.cs
index 4bfc0e66e..afa3b7c91 100644
--- a/NitroxClient/Debuggers/EntityDebugger.cs
+++ b/NitroxClient/Debuggers/EntityDebugger.cs
@@ -1,7 +1,7 @@
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
using UnityEngine;
namespace NitroxClient.Debuggers
diff --git a/NitroxClient/Debuggers/NetworkDebugger.cs b/NitroxClient/Debuggers/NetworkDebugger.cs
index 492ceace4..9cd42e161 100644
--- a/NitroxClient/Debuggers/NetworkDebugger.cs
+++ b/NitroxClient/Debuggers/NetworkDebugger.cs
@@ -3,8 +3,8 @@
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using NitroxClient.Unity.Helper;
-using NitroxModel;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.Debuggers
diff --git a/NitroxClient/Debuggers/SceneExtraDebugger.cs b/NitroxClient/Debuggers/SceneExtraDebugger.cs
index 05aef9c8b..bdca30cef 100644
--- a/NitroxClient/Debuggers/SceneExtraDebugger.cs
+++ b/NitroxClient/Debuggers/SceneExtraDebugger.cs
@@ -5,8 +5,9 @@
using System.Text.RegularExpressions;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Subnautica.Helper;
using UnityEngine;
using Mathf = UnityEngine.Mathf;
@@ -16,7 +17,6 @@ namespace NitroxClient.Debuggers;
public sealed class SceneExtraDebugger : BaseDebugger
{
private readonly SceneDebugger sceneDebugger;
- private readonly IMap map;
private const KeyCode RAY_CAST_KEY = KeyCode.F9;
@@ -50,10 +50,9 @@ public override bool Enabled
}
}
- public SceneExtraDebugger(SceneDebugger sceneDebugger, IMap map) : base(350, "Scene Tools", KeyCode.S, true, false, true, GUISkinCreationOptions.DERIVEDCOPY, 700)
+ public SceneExtraDebugger(SceneDebugger sceneDebugger) : base(350, "Scene Tools", KeyCode.S, true, false, true, GUISkinCreationOptions.DERIVEDCOPY, 700)
{
this.sceneDebugger = sceneDebugger;
- this.map = map;
ActiveTab = AddTab("Tools", RenderTabTools);
// ReSharper disable once Unity.PreferAddressByIdToGraphicsParams
@@ -306,7 +305,7 @@ private void GettingRayCastResults()
gameObjectResults.Clear();
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
- RaycastHit[] hits = Physics.RaycastAll(ray, map.DimensionsInMeters.X, int.MaxValue);
+ RaycastHit[] hits = Physics.RaycastAll(ray, SubnauticaMap.DimensionsInMeters.X, int.MaxValue);
foreach (RaycastHit hit in hits)
{
diff --git a/NitroxClient/Debuggers/SoundDebugger.cs b/NitroxClient/Debuggers/SoundDebugger.cs
index 54b7927f5..04b0da6c4 100644
--- a/NitroxClient/Debuggers/SoundDebugger.cs
+++ b/NitroxClient/Debuggers/SoundDebugger.cs
@@ -5,7 +5,7 @@
using FMOD.Studio;
using FMODUnity;
using NitroxClient.Unity.Helper;
-using NitroxModel.GameLogic.FMOD;
+using Nitrox.Model.GameLogic.FMOD;
using UnityEngine;
#pragma warning disable 618
@@ -126,13 +126,13 @@ private void RenderTabAllSounds()
{
using (new GUILayout.HorizontalScope())
{
- GUILayout.Label($"Volume: {NitroxModel.Helper.Mathf.Round(volume, 2)}");
+ GUILayout.Label($"Volume: {Nitrox.Model.Helper.Mathf.Round(volume, 2)}");
volume = GUILayout.HorizontalSlider(volume, 0f, 1f, GUILayout.Width(240f));
}
GUILayout.Space(5f);
using (new GUILayout.HorizontalScope())
{
- GUILayout.Label($"Distance: {NitroxModel.Helper.Mathf.Round(distance)}");
+ GUILayout.Label($"Distance: {Nitrox.Model.Helper.Mathf.Round(distance)}");
distance = GUILayout.HorizontalSlider(distance, 0f, 500f, GUILayout.Width(240f));
}
}
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..3bf48ea71
--- /dev/null
+++ b/NitroxClient/Extensions/GameObjectExtensions.cs
@@ -0,0 +1,185 @@
+using System;
+using System.Text;
+using NitroxClient.MonoBehaviours;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.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 96%
rename from NitroxClient/Helpers/NitroxEntityExtensions.cs
rename to NitroxClient/Extensions/NitroxEntityExtensions.cs
index bfffbb8e3..b807b5be3 100644
--- a/NitroxClient/Helpers/NitroxEntityExtensions.cs
+++ b/NitroxClient/Extensions/NitroxEntityExtensions.cs
@@ -1,12 +1,10 @@
using System;
using System.Runtime.CompilerServices;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
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 94%
rename from NitroxClient/Helpers/PlanterExtensions.cs
rename to NitroxClient/Extensions/PlanterExtensions.cs
index f85a539e0..30ea8d80e 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;
+using Nitrox.Model.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..6f5854db8
--- /dev/null
+++ b/NitroxClient/Extensions/StringExtensions.cs
@@ -0,0 +1,37 @@
+using System.Text;
+using Nitrox.Model.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 95%
rename from NitroxClient/Helpers/UnityObjectExtensions.cs
rename to NitroxClient/Extensions/UnityObjectExtensions.cs
index 70ff6d9a1..907fa8f00 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 Nitrox.Model.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/AI.cs b/NitroxClient/GameLogic/AI.cs
index bbe829509..1d0b85ea1 100644
--- a/NitroxClient/GameLogic/AI.cs
+++ b/NitroxClient/GameLogic/AI.cs
@@ -4,10 +4,11 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
-using static NitroxModel.Packets.RangedAttackLastTargetUpdate;
+using static Nitrox.Model.Subnautica.Packets.RangedAttackLastTargetUpdate;
namespace NitroxClient.GameLogic;
diff --git a/NitroxClient/GameLogic/Bases/BuildUtils.cs b/NitroxClient/GameLogic/Bases/BuildUtils.cs
index 50acf096b..f546acf98 100644
--- a/NitroxClient/GameLogic/Bases/BuildUtils.cs
+++ b/NitroxClient/GameLogic/Bases/BuildUtils.cs
@@ -3,14 +3,12 @@
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;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.DataStructures.Util;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Bases;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
using UnityEngine;
namespace NitroxClient.GameLogic.Bases;
diff --git a/NitroxClient/GameLogic/Bases/BuildingHandler.cs b/NitroxClient/GameLogic/Bases/BuildingHandler.cs
index aee5348f3..4e9965051 100644
--- a/NitroxClient/GameLogic/Bases/BuildingHandler.cs
+++ b/NitroxClient/GameLogic/Bases/BuildingHandler.cs
@@ -7,14 +7,13 @@
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;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Bases;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic.Bases;
@@ -184,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;
}
diff --git a/NitroxClient/GameLogic/Bases/GhostMetadataApplier.cs b/NitroxClient/GameLogic/Bases/GhostMetadataApplier.cs
index 7abece911..743880daa 100644
--- a/NitroxClient/GameLogic/Bases/GhostMetadataApplier.cs
+++ b/NitroxClient/GameLogic/Bases/GhostMetadataApplier.cs
@@ -1,8 +1,7 @@
using System.Collections;
-using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata.Bases;
using UnityEngine;
using UWE;
diff --git a/NitroxClient/GameLogic/Bases/GhostMetadataRetriever.cs b/NitroxClient/GameLogic/Bases/GhostMetadataRetriever.cs
index ee174fb59..f191e6dca 100644
--- a/NitroxClient/GameLogic/Bases/GhostMetadataRetriever.cs
+++ b/NitroxClient/GameLogic/Bases/GhostMetadataRetriever.cs
@@ -1,6 +1,5 @@
-using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata.Bases;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata.Bases;
using UnityEngine;
namespace NitroxClient.GameLogic.Bases;
diff --git a/NitroxClient/GameLogic/BulletManager.cs b/NitroxClient/GameLogic/BulletManager.cs
index dfed0ab2f..f749e6a7e 100644
--- a/NitroxClient/GameLogic/BulletManager.cs
+++ b/NitroxClient/GameLogic/BulletManager.cs
@@ -2,8 +2,7 @@
using System.Collections.Generic;
using NitroxClient.GameLogic.Spawning.WorldEntities;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
using UnityEngine;
namespace NitroxClient.GameLogic;
@@ -44,7 +43,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/ChatUI/PlayerChatManager.cs b/NitroxClient/GameLogic/ChatUI/PlayerChatManager.cs
index 7d82dde2a..c2b40709e 100644
--- a/NitroxClient/GameLogic/ChatUI/PlayerChatManager.cs
+++ b/NitroxClient/GameLogic/ChatUI/PlayerChatManager.cs
@@ -1,7 +1,8 @@
using System.Collections;
+using Nitrox.Model.Core;
using NitroxClient.GameLogic.Settings;
using NitroxClient.MonoBehaviours.Gui.Chat;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
using UnityEngine.UI;
using UWE;
diff --git a/NitroxClient/GameLogic/CorrectedTimeManager.cs b/NitroxClient/GameLogic/CorrectedTimeManager.cs
index 71ae448f5..7996c46fb 100644
--- a/NitroxClient/GameLogic/CorrectedTimeManager.cs
+++ b/NitroxClient/GameLogic/CorrectedTimeManager.cs
@@ -1,6 +1,6 @@
using System;
using NitroxClient.Communication.NetworkingLayer.LiteNetLib;
-using NitroxModel.Networking;
+using Nitrox.Model.Networking;
namespace NitroxClient.GameLogic;
diff --git a/NitroxClient/GameLogic/Cyclops.cs b/NitroxClient/GameLogic/Cyclops.cs
index d61e15086..3e6f759cf 100644
--- a/NitroxClient/GameLogic/Cyclops.cs
+++ b/NitroxClient/GameLogic/Cyclops.cs
@@ -5,12 +5,11 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
-using NitroxModel_Subnautica.DataStructures;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures.GameLogic;
-using NitroxModel_Subnautica.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
using static NitroxClient.GameLogic.Spawning.Metadata.Extractor.CyclopsMetadataExtractor;
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 46ec8e46a..b2adf6633 100644
--- a/NitroxClient/GameLogic/Entities.cs
+++ b/NitroxClient/GameLogic/Entities.cs
@@ -10,14 +10,13 @@
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;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
using UWE;
diff --git a/NitroxClient/GameLogic/EquipmentSlots.cs b/NitroxClient/GameLogic/EquipmentSlots.cs
index 2fdf1cba8..2e79b65ba 100644
--- a/NitroxClient/GameLogic/EquipmentSlots.cs
+++ b/NitroxClient/GameLogic/EquipmentSlots.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic;
diff --git a/NitroxClient/GameLogic/ExosuitModuleEvent.cs b/NitroxClient/GameLogic/ExosuitModuleEvent.cs
index 64b1a3f35..6afc863f3 100644
--- a/NitroxClient/GameLogic/ExosuitModuleEvent.cs
+++ b/NitroxClient/GameLogic/ExosuitModuleEvent.cs
@@ -1,7 +1,7 @@
using NitroxClient.Communication.Abstract;
-using NitroxModel_Subnautica.DataStructures;
-using NitroxModel.DataStructures;
-using NitroxModel_Subnautica.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic;
diff --git a/NitroxClient/GameLogic/FMOD/FMODSystem.cs b/NitroxClient/GameLogic/FMOD/FMODSystem.cs
index c43be9866..8e9844107 100644
--- a/NitroxClient/GameLogic/FMOD/FMODSystem.cs
+++ b/NitroxClient/GameLogic/FMOD/FMODSystem.cs
@@ -1,9 +1,10 @@
using NitroxClient.Communication;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.GameLogic.FMOD;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic.FMOD;
diff --git a/NitroxClient/GameLogic/Fires.cs b/NitroxClient/GameLogic/Fires.cs
index f2adb687e..3f1d3ed2f 100644
--- a/NitroxClient/GameLogic/Fires.cs
+++ b/NitroxClient/GameLogic/Fires.cs
@@ -2,10 +2,10 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.Packets.Processors;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures.GameLogic;
-using NitroxModel_Subnautica.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic
diff --git a/NitroxClient/GameLogic/HUD/PdaTabs/uGUI_PlayerListTab.cs b/NitroxClient/GameLogic/HUD/PdaTabs/uGUI_PlayerListTab.cs
index d23fbe4e3..13f5003f3 100644
--- a/NitroxClient/GameLogic/HUD/PdaTabs/uGUI_PlayerListTab.cs
+++ b/NitroxClient/GameLogic/HUD/PdaTabs/uGUI_PlayerListTab.cs
@@ -4,7 +4,7 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic.HUD.Components;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
-using NitroxModel.Core;
+using Nitrox.Model.Core;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/GameLogic/HUD/PdaTabs/uGUI_PlayerPingEntry.cs b/NitroxClient/GameLogic/HUD/PdaTabs/uGUI_PlayerPingEntry.cs
index 0cff601e2..d508effdd 100644
--- a/NitroxClient/GameLogic/HUD/PdaTabs/uGUI_PlayerPingEntry.cs
+++ b/NitroxClient/GameLogic/HUD/PdaTabs/uGUI_PlayerPingEntry.cs
@@ -5,10 +5,11 @@
using NitroxClient.GameLogic.HUD.Components;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.MonoBehaviours.Gui.Modals;
-using NitroxModel_Subnautica.DataStructures;
-using NitroxModel.Core;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
using UnityEngine.UI;
using UWE;
diff --git a/NitroxClient/GameLogic/Helper/BatteryChildEntityHelper.cs b/NitroxClient/GameLogic/Helper/BatteryChildEntityHelper.cs
index 086537350..962f01890 100644
--- a/NitroxClient/GameLogic/Helper/BatteryChildEntityHelper.cs
+++ b/NitroxClient/GameLogic/Helper/BatteryChildEntityHelper.cs
@@ -1,11 +1,11 @@
using System;
using System.Collections.Generic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Core;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
using UnityEngine;
using UWE;
diff --git a/NitroxClient/GameLogic/Helper/EquipmentHelper.cs b/NitroxClient/GameLogic/Helper/EquipmentHelper.cs
index 4fc645e3b..6e44cf242 100644
--- a/NitroxClient/GameLogic/Helper/EquipmentHelper.cs
+++ b/NitroxClient/GameLogic/Helper/EquipmentHelper.cs
@@ -1,6 +1,6 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
using UnityEngine;
namespace NitroxClient.GameLogic.Helper
@@ -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 c240853e3..4eef6e4ce 100644
--- a/NitroxClient/GameLogic/Helper/InventoryContainerHelper.cs
+++ b/NitroxClient/GameLogic/Helper/InventoryContainerHelper.cs
@@ -1,9 +1,7 @@
using System.Text.RegularExpressions;
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.PlayerLogic;
-using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
using UnityEngine;
namespace NitroxClient.GameLogic.Helper
@@ -12,11 +10,22 @@ 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";
-
+
+ ///
+ /// Gets inventory container of game object. Returns player inventory first, then child inventories.
+ ///
public static Optional TryGetContainerByOwner(GameObject owner)
{
+ if (owner.IsLocalPlayer())
+ {
+ return Optional.Of(Inventory.main.container);
+ }
+ RemotePlayerIdentifier remotePlayerId = owner.GetComponent();
+ if (remotePlayerId)
+ {
+ return Optional.Of(remotePlayerId.RemotePlayer.Inventory);
+ }
SeamothStorageContainer seamothStorageContainer = owner.GetComponent();
if (seamothStorageContainer)
{
@@ -32,15 +41,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;
}
diff --git a/NitroxClient/GameLogic/Helper/TransientLocalObjectManager.cs b/NitroxClient/GameLogic/Helper/TransientLocalObjectManager.cs
index b098c8898..7971a7579 100644
--- a/NitroxClient/GameLogic/Helper/TransientLocalObjectManager.cs
+++ b/NitroxClient/GameLogic/Helper/TransientLocalObjectManager.cs
@@ -1,6 +1,6 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
namespace NitroxClient.GameLogic.Helper
{
diff --git a/NitroxClient/GameLogic/Helper/VehicleChildEntityHelper.cs b/NitroxClient/GameLogic/Helper/VehicleChildEntityHelper.cs
index ec95a82f1..254030e7a 100644
--- a/NitroxClient/GameLogic/Helper/VehicleChildEntityHelper.cs
+++ b/NitroxClient/GameLogic/Helper/VehicleChildEntityHelper.cs
@@ -1,9 +1,9 @@
using System;
using System.Collections.Generic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.GameLogic.Entities;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
using UnityEngine;
namespace NitroxClient.GameLogic.Helper;
diff --git a/NitroxClient/GameLogic/InitialSync/Abstract/IInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/Abstract/IInitialSyncProcessor.cs
index 6884f7b69..237b492db 100644
--- a/NitroxClient/GameLogic/InitialSync/Abstract/IInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/Abstract/IInitialSyncProcessor.cs
@@ -1,7 +1,8 @@
using System;
using System.Collections;
using System.Collections.Generic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.GameLogic.InitialSync.Abstract;
diff --git a/NitroxClient/GameLogic/InitialSync/Abstract/InitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/Abstract/InitialSyncProcessor.cs
index 0b71e2807..8d654122f 100644
--- a/NitroxClient/GameLogic/InitialSync/Abstract/InitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/Abstract/InitialSyncProcessor.cs
@@ -1,7 +1,8 @@
using System;
using System.Collections;
using System.Collections.Generic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.GameLogic.InitialSync.Abstract;
diff --git a/NitroxClient/GameLogic/InitialSync/ClockSyncInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/ClockSyncInitialSyncProcessor.cs
index 8b41814a5..c541eee39 100644
--- a/NitroxClient/GameLogic/InitialSync/ClockSyncInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/ClockSyncInitialSyncProcessor.cs
@@ -4,8 +4,9 @@
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxClient.GameLogic.Settings;
using NitroxClient.MonoBehaviours.Gui.Modals;
-using NitroxModel.Networking;
-using NitroxModel.Packets;
+using Nitrox.Model.Networking;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic.InitialSync;
diff --git a/NitroxClient/GameLogic/InitialSync/EquippedItemInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/EquippedItemInitialSyncProcessor.cs
index c27a4d91e..da05fef69 100644
--- a/NitroxClient/GameLogic/InitialSync/EquippedItemInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/EquippedItemInitialSyncProcessor.cs
@@ -1,14 +1,12 @@
using System.Collections;
using System.Collections.Generic;
using NitroxClient.Communication;
-using NitroxClient.Communication.Abstract;
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;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic.InitialSync;
diff --git a/NitroxClient/GameLogic/InitialSync/GlobalRootInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/GlobalRootInitialSyncProcessor.cs
index b2833e516..490aaab9a 100644
--- a/NitroxClient/GameLogic/InitialSync/GlobalRootInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/GlobalRootInitialSyncProcessor.cs
@@ -2,9 +2,11 @@
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxClient.MonoBehaviours.Cyclops;
-using NitroxModel.GameLogic.PlayerAnimation;
-using NitroxModel.MultiplayerSession;
-using NitroxModel.Packets;
+using Nitrox.Model.GameLogic.PlayerAnimation;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.MultiplayerSession;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic.InitialSync;
diff --git a/NitroxClient/GameLogic/InitialSync/PdaInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/PdaInitialSyncProcessor.cs
index 0c3ad5584..0d3499d37 100644
--- a/NitroxClient/GameLogic/InitialSync/PdaInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/PdaInitialSyncProcessor.cs
@@ -3,11 +3,11 @@
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;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.GameLogic.InitialSync;
diff --git a/NitroxClient/GameLogic/InitialSync/PlayerInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/PlayerInitialSyncProcessor.cs
index 88b684ea2..ab38dd533 100644
--- a/NitroxClient/GameLogic/InitialSync/PlayerInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/PlayerInitialSyncProcessor.cs
@@ -2,9 +2,10 @@
using System.Text;
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Server;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.Server;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
using UnityEngine;
namespace NitroxClient.GameLogic.InitialSync;
diff --git a/NitroxClient/GameLogic/InitialSync/PlayerPositionInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/PlayerPositionInitialSyncProcessor.cs
index d4e4e3254..254f82d94 100644
--- a/NitroxClient/GameLogic/InitialSync/PlayerPositionInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/PlayerPositionInitialSyncProcessor.cs
@@ -2,10 +2,10 @@
using NitroxClient.Communication;
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
using UWE;
using Math = System.Math;
diff --git a/NitroxClient/GameLogic/InitialSync/PlayerPreferencesInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/PlayerPreferencesInitialSyncProcessor.cs
index 0a746326f..4c49bcf9f 100644
--- a/NitroxClient/GameLogic/InitialSync/PlayerPreferencesInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/PlayerPreferencesInitialSyncProcessor.cs
@@ -6,8 +6,9 @@
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.GameLogic.InitialSync;
diff --git a/NitroxClient/GameLogic/InitialSync/QuickSlotInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/QuickSlotInitialSyncProcessor.cs
index 35667cc09..3a86b9354 100644
--- a/NitroxClient/GameLogic/InitialSync/QuickSlotInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/QuickSlotInitialSyncProcessor.cs
@@ -1,9 +1,9 @@
using System.Collections;
using System.Collections.Generic;
using NitroxClient.GameLogic.InitialSync.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.GameLogic.InitialSync;
diff --git a/NitroxClient/GameLogic/InitialSync/RemotePlayerInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/RemotePlayerInitialSyncProcessor.cs
index 3da36c14c..37bfbd2ff 100644
--- a/NitroxClient/GameLogic/InitialSync/RemotePlayerInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/RemotePlayerInitialSyncProcessor.cs
@@ -1,7 +1,9 @@
using System.Collections;
using NitroxClient.GameLogic.InitialSync.Abstract;
-using NitroxModel.MultiplayerSession;
-using NitroxModel.Packets;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.MultiplayerSession;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.GameLogic.InitialSync;
diff --git a/NitroxClient/GameLogic/InitialSync/SimulationOwnershipInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/SimulationOwnershipInitialSyncProcessor.cs
index ce70b37b1..992376e99 100644
--- a/NitroxClient/GameLogic/InitialSync/SimulationOwnershipInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/SimulationOwnershipInitialSyncProcessor.cs
@@ -1,7 +1,8 @@
using System.Collections;
using NitroxClient.GameLogic.InitialSync.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.GameLogic.InitialSync;
diff --git a/NitroxClient/GameLogic/InitialSync/StoryGoalInitialSyncProcessor.cs b/NitroxClient/GameLogic/InitialSync/StoryGoalInitialSyncProcessor.cs
index 02cca3396..03282d6dd 100644
--- a/NitroxClient/GameLogic/InitialSync/StoryGoalInitialSyncProcessor.cs
+++ b/NitroxClient/GameLogic/InitialSync/StoryGoalInitialSyncProcessor.cs
@@ -3,8 +3,9 @@
using System.Linq;
using NitroxClient.GameLogic.InitialSync.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.Packets;
using Story;
namespace NitroxClient.GameLogic.InitialSync;
diff --git a/NitroxClient/GameLogic/Interior.cs b/NitroxClient/GameLogic/Interior.cs
index dddcc06b8..919efa19c 100644
--- a/NitroxClient/GameLogic/Interior.cs
+++ b/NitroxClient/GameLogic/Interior.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.GameLogic
{
diff --git a/NitroxClient/GameLogic/ItemContainers.cs b/NitroxClient/GameLogic/ItemContainers.cs
index 2feb70994..2e42684f2 100644
--- a/NitroxClient/GameLogic/ItemContainers.cs
+++ b/NitroxClient/GameLogic/ItemContainers.cs
@@ -4,13 +4,12 @@
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;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic;
diff --git a/NitroxClient/GameLogic/Items.cs b/NitroxClient/GameLogic/Items.cs
index 1f3b476f5..70ae6c752 100644
--- a/NitroxClient/GameLogic/Items.cs
+++ b/NitroxClient/GameLogic/Items.cs
@@ -5,14 +5,13 @@
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;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic;
diff --git a/NitroxClient/GameLogic/LiveMixinManager.cs b/NitroxClient/GameLogic/LiveMixinManager.cs
index 0565b3e0c..5a88868dd 100644
--- a/NitroxClient/GameLogic/LiveMixinManager.cs
+++ b/NitroxClient/GameLogic/LiveMixinManager.cs
@@ -1,6 +1,6 @@
using System;
using System.Collections.Generic;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
using UnityEngine;
namespace NitroxClient.GameLogic;
diff --git a/NitroxClient/GameLogic/LocalPlayer.cs b/NitroxClient/GameLogic/LocalPlayer.cs
index e58f8d62a..327f52a0c 100644
--- a/NitroxClient/GameLogic/LocalPlayer.cs
+++ b/NitroxClient/GameLogic/LocalPlayer.cs
@@ -3,14 +3,15 @@
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;
-using NitroxModel.GameLogic.PlayerAnimation;
-using NitroxModel.MultiplayerSession;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.GameLogic;
+using Nitrox.Model.GameLogic.PlayerAnimation;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.MultiplayerSession;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
using UnityEngine.Rendering;
using Object = UnityEngine.Object;
diff --git a/NitroxClient/GameLogic/MedkitFabricator.cs b/NitroxClient/GameLogic/MedkitFabricator.cs
index f0d0e30e0..88b83b1fc 100644
--- a/NitroxClient/GameLogic/MedkitFabricator.cs
+++ b/NitroxClient/GameLogic/MedkitFabricator.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.GameLogic
{
diff --git a/NitroxClient/GameLogic/MobileVehicleBay.cs b/NitroxClient/GameLogic/MobileVehicleBay.cs
index f316cef35..b2ef71a9c 100644
--- a/NitroxClient/GameLogic/MobileVehicleBay.cs
+++ b/NitroxClient/GameLogic/MobileVehicleBay.cs
@@ -1,8 +1,9 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic;
diff --git a/NitroxClient/GameLogic/NitroxConsole.cs b/NitroxClient/GameLogic/NitroxConsole.cs
index 7ca40c902..87ef67be4 100644
--- a/NitroxClient/GameLogic/NitroxConsole.cs
+++ b/NitroxClient/GameLogic/NitroxConsole.cs
@@ -1,10 +1,11 @@
using System;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.Helper;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerCinematics.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerCinematics.cs
index 4b9b71997..9928c5218 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerCinematics.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerCinematics.cs
@@ -1,9 +1,10 @@
using System.Collections.Generic;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.GameLogic.PlayerLogic;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/Abstract/INitroxPlayer.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/Abstract/INitroxPlayer.cs
index 1481368a0..be495df4e 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/Abstract/INitroxPlayer.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/Abstract/INitroxPlayer.cs
@@ -1,4 +1,5 @@
-using NitroxModel.MultiplayerSession;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Subnautica.MultiplayerSession;
using UnityEngine;
namespace NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/DiveSuitColorSwapManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/DiveSuitColorSwapManager.cs
index 023dc1094..d346e2398 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/DiveSuitColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/DiveSuitColorSwapManager.cs
@@ -2,8 +2,7 @@
using System.Collections.Generic;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.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 62434038d..426449421 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/FinColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/FinColorSwapManager.cs
@@ -2,8 +2,7 @@
using System.Collections.Generic;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.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 1ae556a24..9f8ad21fe 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationHelmetColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationHelmetColorSwapManager.cs
@@ -2,8 +2,7 @@
using System.Collections.Generic;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.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 df3ffcf06..176a30c63 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitColorSwapManager.cs
@@ -2,8 +2,7 @@
using System.Collections.Generic;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.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 a23d2a427..a02345fb4 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitVestColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationSuitVestColorSwapManager.cs
@@ -2,8 +2,7 @@
using System.Collections.Generic;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.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 f2b09dd3a..9636ac3c1 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationTankColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RadiationTankColorSwapManager.cs
@@ -2,8 +2,7 @@
using System.Collections.Generic;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.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 819bc382a..9ceefab04 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RebreatherColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/RebreatherColorSwapManager.cs
@@ -2,8 +2,7 @@
using System.Collections.Generic;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.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 f63db9090..e50bdcc22 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ReinforcedSuitColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ReinforcedSuitColorSwapManager.cs
@@ -2,8 +2,7 @@
using System.Collections.Generic;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.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 a0548f353..cd8487541 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ScubaTankColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/ScubaTankColorSwapManager.cs
@@ -2,8 +2,7 @@
using System.Collections.Generic;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.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 ace024db4..381571586 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/StillSuitColorSwapManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/ColorSwap/StillSuitColorSwapManager.cs
@@ -2,8 +2,7 @@
using System.Collections.Generic;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Abstract;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.ColorSwap.Strategy;
-using NitroxClient.Unity.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
using UnityEngine;
using static NitroxClient.GameLogic.PlayerLogic.PlayerModel.PlayerEquipmentConstants;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/PlayerModelManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/PlayerModelManager.cs
index 64f3c0da5..17b93539c 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerModel/PlayerModelManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerModel/PlayerModelManager.cs
@@ -6,7 +6,7 @@
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Equipment;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel.Equipment.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
using UnityEngine;
using Object = UnityEngine.Object;
diff --git a/NitroxClient/GameLogic/PlayerLogic/PlayerPreferences/PlayerPreferenceManager.cs b/NitroxClient/GameLogic/PlayerLogic/PlayerPreferences/PlayerPreferenceManager.cs
index c677bf6da..1e16870cc 100644
--- a/NitroxClient/GameLogic/PlayerLogic/PlayerPreferences/PlayerPreferenceManager.cs
+++ b/NitroxClient/GameLogic/PlayerLogic/PlayerPreferences/PlayerPreferenceManager.cs
@@ -1,6 +1,6 @@
-using NitroxModel.Helper;
-using NitroxModel.MultiplayerSession;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Helper;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Subnautica.DataStructures;
using UnityEngine;
namespace NitroxClient.GameLogic.PlayerLogic.PlayerPreferences
diff --git a/NitroxClient/GameLogic/PlayerManager.cs b/NitroxClient/GameLogic/PlayerManager.cs
index 702d7bd28..a304bce62 100644
--- a/NitroxClient/GameLogic/PlayerManager.cs
+++ b/NitroxClient/GameLogic/PlayerManager.cs
@@ -3,11 +3,11 @@
using NitroxClient.GameLogic.HUD;
using NitroxClient.GameLogic.PlayerLogic.PlayerModel;
using NitroxClient.MonoBehaviours.Discord;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
-using NitroxModel.MultiplayerSession;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.GameLogic.FMOD;
+using Nitrox.Model.Helper;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Subnautica.MultiplayerSession;
using UnityEngine;
namespace NitroxClient.GameLogic;
diff --git a/NitroxClient/GameLogic/RemotePlayer.cs b/NitroxClient/GameLogic/RemotePlayer.cs
index e3ec9cb84..37afb034e 100644
--- a/NitroxClient/GameLogic/RemotePlayer.cs
+++ b/NitroxClient/GameLogic/RemotePlayer.cs
@@ -8,12 +8,12 @@
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;
-using NitroxModel.MultiplayerSession;
-using NitroxModel.Server;
+using Nitrox.Model.GameLogic.FMOD;
+using Nitrox.Model.GameLogic.PlayerAnimation;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Server;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.MultiplayerSession;
using UnityEngine;
using UWE;
diff --git a/NitroxClient/GameLogic/Rockets.cs b/NitroxClient/GameLogic/Rockets.cs
index 887753df4..a335153b5 100644
--- a/NitroxClient/GameLogic/Rockets.cs
+++ b/NitroxClient/GameLogic/Rockets.cs
@@ -1,10 +1,9 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel_Subnautica.DataStructures;
-using NitroxModel_Subnautica.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic
diff --git a/NitroxClient/GameLogic/SeamothModulesEvent.cs b/NitroxClient/GameLogic/SeamothModulesEvent.cs
index 1eb411489..2e4f4e36a 100644
--- a/NitroxClient/GameLogic/SeamothModulesEvent.cs
+++ b/NitroxClient/GameLogic/SeamothModulesEvent.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic
diff --git a/NitroxClient/GameLogic/Settings/NitroxPrefs.cs b/NitroxClient/GameLogic/Settings/NitroxPrefs.cs
index 5bf70a3cf..c923d6fa1 100644
--- a/NitroxClient/GameLogic/Settings/NitroxPrefs.cs
+++ b/NitroxClient/GameLogic/Settings/NitroxPrefs.cs
@@ -1,4 +1,5 @@
using System;
+using NitroxClient.MonoBehaviours;
using UnityEngine;
namespace NitroxClient.GameLogic.Settings
@@ -12,11 +13,11 @@ public class NitroxPrefs
public static readonly NitroxPref SafeBuilding = new("Nitrox.safeBuilding", true);
public static readonly NitroxPref SafeBuildingLog = new("Nitrox.safeBuildingLog", true);
///
- /// In seconds.
+ /// In seconds.
///
public static readonly NitroxPref LatencyUpdatePeriod = new("Nitrox.latencyUpdatePeriod", 10);
///
- /// In milliseconds.
+ /// In milliseconds.
///
public static readonly NitroxPref SafetyLatencyMargin = new("Nitrox.safetyLatencyMargin", 0.05f);
///
diff --git a/NitroxClient/GameLogic/Simulation/LockRequest.cs b/NitroxClient/GameLogic/Simulation/LockRequest.cs
index 9ccda1eb1..44687fe5e 100644
--- a/NitroxClient/GameLogic/Simulation/LockRequest.cs
+++ b/NitroxClient/GameLogic/Simulation/LockRequest.cs
@@ -1,4 +1,4 @@
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
namespace NitroxClient.GameLogic.Simulation
{
diff --git a/NitroxClient/GameLogic/Simulation/LockRequestBase.cs b/NitroxClient/GameLogic/Simulation/LockRequestBase.cs
index 7d3571a6e..ddb6d03df 100644
--- a/NitroxClient/GameLogic/Simulation/LockRequestBase.cs
+++ b/NitroxClient/GameLogic/Simulation/LockRequestBase.cs
@@ -1,4 +1,4 @@
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
namespace NitroxClient.GameLogic.Simulation
{
diff --git a/NitroxClient/GameLogic/SimulationOwnership.cs b/NitroxClient/GameLogic/SimulationOwnership.cs
index d79dd1267..845ac78a5 100644
--- a/NitroxClient/GameLogic/SimulationOwnership.cs
+++ b/NitroxClient/GameLogic/SimulationOwnership.cs
@@ -2,8 +2,9 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic.Simulation;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic
diff --git a/NitroxClient/GameLogic/Spawning/Abstract/EntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Abstract/EntitySpawner.cs
index 7a2725e0d..b8d662215 100644
--- a/NitroxClient/GameLogic/Spawning/Abstract/EntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Abstract/EntitySpawner.cs
@@ -1,6 +1,6 @@
using System.Collections;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Abstract;
diff --git a/NitroxClient/GameLogic/Spawning/Abstract/IEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Abstract/IEntitySpawner.cs
index 014d370cc..764a7d8a7 100644
--- a/NitroxClient/GameLogic/Spawning/Abstract/IEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Abstract/IEntitySpawner.cs
@@ -1,6 +1,6 @@
using System.Collections;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Abstract;
diff --git a/NitroxClient/GameLogic/Spawning/Abstract/ISyncEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Abstract/ISyncEntitySpawner.cs
index f351c3ebe..0779bca3e 100644
--- a/NitroxClient/GameLogic/Spawning/Abstract/ISyncEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Abstract/ISyncEntitySpawner.cs
@@ -1,6 +1,6 @@
using System;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Abstract;
diff --git a/NitroxClient/GameLogic/Spawning/Abstract/SyncEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Abstract/SyncEntitySpawner.cs
index f1e023aa8..67f02ec37 100644
--- a/NitroxClient/GameLogic/Spawning/Abstract/SyncEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Abstract/SyncEntitySpawner.cs
@@ -1,6 +1,6 @@
using System;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Abstract;
diff --git a/NitroxClient/GameLogic/Spawning/Bases/BaseLeakEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Bases/BaseLeakEntitySpawner.cs
index 1c72b64bf..18497cae9 100644
--- a/NitroxClient/GameLogic/Spawning/Bases/BaseLeakEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Bases/BaseLeakEntitySpawner.cs
@@ -1,9 +1,9 @@
using System.Collections;
+using Nitrox.Model.DataStructures;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.DataStructures.Util;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Bases;
diff --git a/NitroxClient/GameLogic/Spawning/Bases/BuildEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Bases/BuildEntitySpawner.cs
index 38b13aa56..3555504da 100644
--- a/NitroxClient/GameLogic/Spawning/Bases/BuildEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Bases/BuildEntitySpawner.cs
@@ -7,13 +7,12 @@
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.GameLogic.Bases;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.DataStructures.Util;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Bases;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Bases;
diff --git a/NitroxClient/GameLogic/Spawning/Bases/BuildingPostSpawner.cs b/NitroxClient/GameLogic/Spawning/Bases/BuildingPostSpawner.cs
index 6508634a2..9c1b65900 100644
--- a/NitroxClient/GameLogic/Spawning/Bases/BuildingPostSpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Bases/BuildingPostSpawner.cs
@@ -2,7 +2,7 @@
using System.Collections;
using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.Overrides;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Bases;
diff --git a/NitroxClient/GameLogic/Spawning/Bases/GhostEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Bases/GhostEntitySpawner.cs
index 8facd1d1e..ef8c06fe1 100644
--- a/NitroxClient/GameLogic/Spawning/Bases/GhostEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Bases/GhostEntitySpawner.cs
@@ -1,13 +1,11 @@
using System;
using System.Collections;
+using Nitrox.Model.DataStructures;
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;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Bases;
diff --git a/NitroxClient/GameLogic/Spawning/Bases/InteriorPieceEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Bases/InteriorPieceEntitySpawner.cs
index 5a91ff8fc..a410df6b7 100644
--- a/NitroxClient/GameLogic/Spawning/Bases/InteriorPieceEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Bases/InteriorPieceEntitySpawner.cs
@@ -5,13 +5,11 @@
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;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.DataStructures.Util;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Bases;
diff --git a/NitroxClient/GameLogic/Spawning/Bases/ModuleEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/Bases/ModuleEntitySpawner.cs
index 506c93bd0..42d102771 100644
--- a/NitroxClient/GameLogic/Spawning/Bases/ModuleEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/Bases/ModuleEntitySpawner.cs
@@ -6,13 +6,11 @@
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;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.DataStructures.Util;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Bases;
diff --git a/NitroxClient/GameLogic/Spawning/EscapePodEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/EscapePodEntitySpawner.cs
index bba6bb528..76055a6ba 100644
--- a/NitroxClient/GameLogic/Spawning/EscapePodEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/EscapePodEntitySpawner.cs
@@ -1,16 +1,17 @@
using System.Collections;
+using Nitrox.Model.DataStructures;
using NitroxClient.Communication;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.GameLogic.Spawning.Metadata.Processor;
using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.CinematicController;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning;
diff --git a/NitroxClient/GameLogic/Spawning/InstalledBatteryEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/InstalledBatteryEntitySpawner.cs
index 93c3896cb..2f3827020 100644
--- a/NitroxClient/GameLogic/Spawning/InstalledBatteryEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/InstalledBatteryEntitySpawner.cs
@@ -1,14 +1,14 @@
using System.Collections;
using System.Linq;
+using Nitrox.Model.DataStructures;
using NitroxClient.Communication;
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;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning;
@@ -26,7 +26,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 +45,7 @@ protected override bool SpawnSync(InstalledBatteryEntity entity, TaskResult item.item.TryGetNitroxId(out NitroxId id) && equippedItem.Id == id);
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorDoorwayMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorDoorwayMetadataProcessor.cs
index 19c5499db..c56f4b0cc 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorDoorwayMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorDoorwayMetadataProcessor.cs
@@ -1,5 +1,5 @@
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Metadata.Processor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorKeyTerminalMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorKeyTerminalMetadataProcessor.cs
index 4025752a8..1eb1b7ae6 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorKeyTerminalMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorKeyTerminalMetadataProcessor.cs
@@ -1,5 +1,5 @@
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Metadata.Processor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorTeleporterActivationTerminalMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorTeleporterActivationTerminalMetadataProcessor.cs
index 229d775d5..86f9bb150 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorTeleporterActivationTerminalMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorTeleporterActivationTerminalMetadataProcessor.cs
@@ -1,5 +1,5 @@
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Metadata.Processor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorTeleporterMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorTeleporterMetadataProcessor.cs
index eebc59160..0d80610ea 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorTeleporterMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/PrecursorTeleporterMetadataProcessor.cs
@@ -1,5 +1,5 @@
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Metadata.Processor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/RadiationMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/RadiationMetadataProcessor.cs
index 216754653..306983770 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/RadiationMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/RadiationMetadataProcessor.cs
@@ -1,7 +1,8 @@
using NitroxClient.Communication;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Metadata.Processor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/RocketMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/RocketMetadataProcessor.cs
index 99d02814e..f29276ac4 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/RocketMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/RocketMetadataProcessor.cs
@@ -2,9 +2,9 @@
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.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
using static Rocket;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/SeaTreaderMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/SeaTreaderMetadataProcessor.cs
index 86aed33ae..a8e3c0a3b 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/SeaTreaderMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/SeaTreaderMetadataProcessor.cs
@@ -1,7 +1,7 @@
using System;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Metadata.Processor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/SealedDoorMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/SealedDoorMetadataProcessor.cs
index 67c030c31..3e3bddeba 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/SealedDoorMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/SealedDoorMetadataProcessor.cs
@@ -1,5 +1,5 @@
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Metadata.Processor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/SeamothMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/SeamothMetadataProcessor.cs
index 71923018b..112d912aa 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/SeamothMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/SeamothMetadataProcessor.cs
@@ -1,10 +1,9 @@
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 Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Metadata.Processor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/StarshipDoorMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/StarshipDoorMetadataProcessor.cs
index 5a4ff41c3..03cc509a1 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/StarshipDoorMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/StarshipDoorMetadataProcessor.cs
@@ -1,5 +1,5 @@
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Metadata.Processor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/StayAtLeashPositionMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/StayAtLeashPositionMetadataProcessor.cs
index efc9662ed..1983db592 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/StayAtLeashPositionMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/StayAtLeashPositionMetadataProcessor.cs
@@ -1,6 +1,6 @@
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Metadata.Processor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/SubNameInputMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/SubNameInputMetadataProcessor.cs
index 051586451..681b9d972 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/SubNameInputMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/SubNameInputMetadataProcessor.cs
@@ -1,11 +1,11 @@
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;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Metadata.Processor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/WaterParkCreatureMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/WaterParkCreatureMetadataProcessor.cs
index 932292359..988dbdc89 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/WaterParkCreatureMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/WaterParkCreatureMetadataProcessor.cs
@@ -1,6 +1,6 @@
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Metadata.Processor;
diff --git a/NitroxClient/GameLogic/Spawning/Metadata/Processor/WeldableWallPanelGenericMetadataProcessor.cs b/NitroxClient/GameLogic/Spawning/Metadata/Processor/WeldableWallPanelGenericMetadataProcessor.cs
index a1f91e749..8bfeb527c 100644
--- a/NitroxClient/GameLogic/Spawning/Metadata/Processor/WeldableWallPanelGenericMetadataProcessor.cs
+++ b/NitroxClient/GameLogic/Spawning/Metadata/Processor/WeldableWallPanelGenericMetadataProcessor.cs
@@ -1,5 +1,5 @@
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
using NitroxClient.GameLogic.Spawning.Metadata.Processor.Abstract;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.Metadata.Processor;
diff --git a/NitroxClient/GameLogic/Spawning/PathBasedChildEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/PathBasedChildEntitySpawner.cs
index e595a095c..042a18610 100644
--- a/NitroxClient/GameLogic/Spawning/PathBasedChildEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/PathBasedChildEntitySpawner.cs
@@ -1,8 +1,8 @@
using System.Collections;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.Util;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning;
diff --git a/NitroxClient/GameLogic/Spawning/PrefabChildEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/PrefabChildEntitySpawner.cs
index 20a9140eb..26b90d38c 100644
--- a/NitroxClient/GameLogic/Spawning/PrefabChildEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/PrefabChildEntitySpawner.cs
@@ -1,9 +1,9 @@
using System.Collections;
using System.Linq;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.Util;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/CrashEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/CrashEntitySpawner.cs
index 7e7f1c797..f4ec9485b 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/CrashEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/CrashEntitySpawner.cs
@@ -1,9 +1,8 @@
using System.Collections;
+using Nitrox.Model.DataStructures;
using NitroxClient.GameLogic.Spawning.Metadata.Processor;
-using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.Util;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.WorldEntities;
@@ -24,7 +23,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(entity, gameObject, parent.Value, out Crash crash, out CrashHome crashHome))
{
yield break;
@@ -43,7 +42,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..9a2bd5701 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/CreatureRespawnEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/CreatureRespawnEntitySpawner.cs
@@ -1,11 +1,9 @@
using System.Collections;
using NitroxClient.GameLogic.Simulation;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.Util;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.WorldEntities;
@@ -38,7 +36,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 +59,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/CreepvineEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/CreepvineEntitySpawner.cs
index 00e120b8c..ebd01f384 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/CreepvineEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/CreepvineEntitySpawner.cs
@@ -1,6 +1,6 @@
using System.Collections;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.WorldEntities;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/DefaultWorldEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/DefaultWorldEntitySpawner.cs
index edc1398b5..6289053d9 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/DefaultWorldEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/DefaultWorldEntitySpawner.cs
@@ -1,12 +1,11 @@
using System.Collections;
using System.Collections.Generic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.Util;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
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..68e4f6fd5 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/GeyserWorldEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/GeyserWorldEntitySpawner.cs
@@ -1,9 +1,8 @@
using System.Collections;
+using Nitrox.Model.DataStructures;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.Util;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
using UnityEngine;
using UWE;
@@ -37,7 +36,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 +59,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..576e41102 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/GlobalRootEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/GlobalRootEntitySpawner.cs
@@ -1,12 +1,12 @@
using System.Collections;
+using Nitrox.Model.DataStructures;
using NitroxClient.Communication;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
using UWE;
@@ -31,7 +31,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 +56,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);
@@ -82,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)
{
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackEntitySpawner.cs
index 43854a0fc..53d36f94d 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/ReefbackEntitySpawner.cs
@@ -1,9 +1,8 @@
using System;
using System.Collections;
-using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.Util;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.WorldEntities;
@@ -36,7 +35,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 +58,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/SerializedWorldEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/SerializedWorldEntitySpawner.cs
index 94a1e8418..bb5848e55 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/SerializedWorldEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/SerializedWorldEntitySpawner.cs
@@ -2,12 +2,12 @@
using System.Collections;
using System.Collections.Generic;
using System.IO;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
using UnityEngine;
using UWE;
diff --git a/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs b/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs
index e37ee39b3..1346f56bf 100644
--- a/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs
+++ b/NitroxClient/GameLogic/Spawning/WorldEntities/VehicleEntitySpawner.cs
@@ -1,13 +1,13 @@
using System.Collections;
+using Nitrox.Model.DataStructures;
using NitroxClient.GameLogic.Spawning.Abstract;
using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.CinematicController;
using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Helper;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
using UnityEngine;
namespace NitroxClient.GameLogic.Spawning.WorldEntities;
@@ -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 NitroxTypes = new Dictionary();
+ public readonly Dictionary NitroxTypes = [];
protected RuntimeTypeModel Model => model;
diff --git a/NitroxClient/Helpers/ThrottledPacketSender.cs b/NitroxClient/Helpers/ThrottledPacketSender.cs
index 781f89fc9..2dcfc53a3 100644
--- a/NitroxClient/Helpers/ThrottledPacketSender.cs
+++ b/NitroxClient/Helpers/ThrottledPacketSender.cs
@@ -2,7 +2,8 @@
using System.Collections.Generic;
using NitroxClient.Communication;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxClient.Helpers
{
@@ -47,8 +48,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/NitroxClient/MonoBehaviours/BaseLeakManager.cs b/NitroxClient/MonoBehaviours/BaseLeakManager.cs
index 4dca29c6f..dd5207b9e 100644
--- a/NitroxClient/MonoBehaviours/BaseLeakManager.cs
+++ b/NitroxClient/MonoBehaviours/BaseLeakManager.cs
@@ -1,9 +1,10 @@
using System.Collections.Generic;
using NitroxClient.Communication;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/MonoBehaviours/CinematicController/MultiplayerCinematicReference.cs b/NitroxClient/MonoBehaviours/CinematicController/MultiplayerCinematicReference.cs
index 19358f847..505d5ab45 100644
--- a/NitroxClient/MonoBehaviours/CinematicController/MultiplayerCinematicReference.cs
+++ b/NitroxClient/MonoBehaviours/CinematicController/MultiplayerCinematicReference.cs
@@ -1,8 +1,7 @@
using System.Collections.Generic;
using System.Linq;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
using NitroxClient.GameLogic;
-using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures.GameLogic;
using UnityEngine;
namespace NitroxClient.MonoBehaviours.CinematicController;
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/VirtualCyclops.cs b/NitroxClient/MonoBehaviours/Cyclops/VirtualCyclops.cs
index e28fbf851..2fb6f1b4c 100644
--- a/NitroxClient/MonoBehaviours/Cyclops/VirtualCyclops.cs
+++ b/NitroxClient/MonoBehaviours/Cyclops/VirtualCyclops.cs
@@ -3,7 +3,8 @@
using System.Linq;
using NitroxClient.Communication;
using NitroxClient.GameLogic.Spawning.WorldEntities;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.MonoBehaviours.Cyclops;
diff --git a/NitroxClient/MonoBehaviours/Discord/DiscordClient.cs b/NitroxClient/MonoBehaviours/Discord/DiscordClient.cs
index 403f1bdd0..e12bb0a27 100644
--- a/NitroxClient/MonoBehaviours/Discord/DiscordClient.cs
+++ b/NitroxClient/MonoBehaviours/Discord/DiscordClient.cs
@@ -3,9 +3,10 @@
using DiscordGameSDKWrapper;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServersList;
-using NitroxModel;
-using NitroxModel.Core;
-using NitroxModel.Packets;
+using Nitrox.Model;
+using Nitrox.Model.Core;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
using UnityEngine.SceneManagement;
@@ -47,7 +48,7 @@ private void StartDiscordHook()
try
{
discord = new DiscordGameSDKWrapper.Discord(CLIENT_ID, (ulong)CreateFlags.NoRequireDiscord);
- discord.SetLogHook(DiscordGameSDKWrapper.LogLevel.Debug, (level, message) => Log.Write((NitroxModel.Logger.LogLevel)level, $"[Discord] {message}"));
+ discord.SetLogHook(DiscordGameSDKWrapper.LogLevel.Debug, (level, message) => Log.Write((Nitrox.Model.Logger.LogLevel)level, $"[Discord] {message}"));
activityManager = discord.GetActivityManager();
diff --git a/NitroxClient/MonoBehaviours/EntityPositionBroadcaster.cs b/NitroxClient/MonoBehaviours/EntityPositionBroadcaster.cs
index 05053f2d0..6fcdf2fd0 100644
--- a/NitroxClient/MonoBehaviours/EntityPositionBroadcaster.cs
+++ b/NitroxClient/MonoBehaviours/EntityPositionBroadcaster.cs
@@ -2,12 +2,13 @@
using System.Linq;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Core;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
-using static NitroxModel.Packets.EntityTransformUpdates;
+using static Nitrox.Model.Subnautica.Packets.EntityTransformUpdates;
namespace NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/MonoBehaviours/FMODEmitterController.cs b/NitroxClient/MonoBehaviours/FMODEmitterController.cs
index eaccb992f..c98f26e27 100644
--- a/NitroxClient/MonoBehaviours/FMODEmitterController.cs
+++ b/NitroxClient/MonoBehaviours/FMODEmitterController.cs
@@ -3,7 +3,7 @@
using FMOD.Studio;
using FMODUnity;
using NitroxClient.GameLogic.FMOD;
-using NitroxModel.GameLogic.FMOD;
+using Nitrox.Model.GameLogic.FMOD;
using UnityEngine;
namespace NitroxClient.MonoBehaviours;
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 8ad18653e..5ef85cd99 100644
--- a/NitroxClient/MonoBehaviours/Gui/HUD/RemotePlayerVitals.cs
+++ b/NitroxClient/MonoBehaviours/Gui/HUD/RemotePlayerVitals.cs
@@ -1,6 +1,5 @@
using System;
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..9880a83f5 100644
--- a/NitroxClient/MonoBehaviours/Gui/InGame/TopRightWatermarkText.cs
+++ b/NitroxClient/MonoBehaviours/Gui/InGame/TopRightWatermarkText.cs
@@ -1,9 +1,10 @@
-using NitroxModel.Helper;
+using Nitrox.Model.Core;
+using Nitrox.Model.Helper;
using TMPro;
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 4c80e2f38..119666e1d 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/MainMenuNotificationPanel.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/MainMenuNotificationPanel.cs
@@ -1,7 +1,6 @@
using System;
using System.Collections;
using System.Linq;
-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 5d53be770..58a4802e6 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/NitroxMainMenuModifications.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/NitroxMainMenuModifications.cs
@@ -1,7 +1,6 @@
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;
@@ -29,7 +28,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/JoinServerBackend.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/JoinServerBackend.cs
index b71d32835..ee3f38f6c 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/JoinServerBackend.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/JoinServerBackend.cs
@@ -6,12 +6,14 @@
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;
-using NitroxModel.Helper;
-using NitroxModel.MultiplayerSession;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Helper;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.MultiplayerSession;
using UnityEngine;
namespace NitroxClient.MonoBehaviours.Gui.MainMenu.ServerJoin;
@@ -124,7 +126,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")}";
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuColorPickerPreview.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuColorPickerPreview.cs
index fcb4eaf41..af7728980 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuColorPickerPreview.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuColorPickerPreview.cs
@@ -1,4 +1,3 @@
-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 f1300fda2..a5c180f2e 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuEnterPasswordPanel.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuEnterPasswordPanel.cs
@@ -2,9 +2,8 @@
using System.Collections;
using System.Linq;
using FMODUnity;
+using Nitrox.Model.DataStructures;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServersList;
-using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures.Util;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuJoinServerPanel.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuJoinServerPanel.cs
index 4fdf4450f..539807710 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuJoinServerPanel.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServerJoin/MainMenuJoinServerPanel.cs
@@ -3,7 +3,6 @@
using System.Text.RegularExpressions;
using FMODUnity;
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 4f7cc0756..cb4f8feff 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuCreateServerPanel.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuCreateServerPanel.cs
@@ -2,8 +2,7 @@
using System.Collections;
using System.Linq;
using FMODUnity;
-using NitroxClient.Unity.Helper;
-using NitroxModel.Serialization;
+using Nitrox.Model.Serialization;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerButton.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerButton.cs
index 31860fc5f..95be104b2 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerButton.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerButton.cs
@@ -5,8 +5,7 @@
using System.Threading.Tasks;
using NitroxClient.GameLogic.Settings;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServerJoin;
-using NitroxClient.Unity.Helper;
-using NitroxModel.Serialization;
+using Nitrox.Model.Serialization;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
diff --git a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerListPanel.cs b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerListPanel.cs
index 2a3dea0b7..bab4ae5ba 100644
--- a/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerListPanel.cs
+++ b/NitroxClient/MonoBehaviours/Gui/MainMenu/ServersList/MainMenuServerListPanel.cs
@@ -2,14 +2,10 @@
using System.Collections.Generic;
using System.Linq;
using System.Net;
-using System.Text;
using System.Threading.Tasks;
using FMODUnity;
using NitroxClient.Communication;
-using NitroxClient.GameLogic.Settings;
-using NitroxClient.Unity.Helper;
-using NitroxModel;
-using NitroxModel.Serialization;
+using Nitrox.Model.Serialization;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
diff --git a/NitroxClient/MonoBehaviours/IntroCinematicUpdater.cs b/NitroxClient/MonoBehaviours/IntroCinematicUpdater.cs
index 2a7259cbf..d24f7869b 100644
--- a/NitroxClient/MonoBehaviours/IntroCinematicUpdater.cs
+++ b/NitroxClient/MonoBehaviours/IntroCinematicUpdater.cs
@@ -1,6 +1,6 @@
using System.Collections;
using NitroxClient.GameLogic;
-using NitroxModel.Core;
+using Nitrox.Model.Core;
using UnityEngine;
namespace NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/MonoBehaviours/MoonpoolManager.cs b/NitroxClient/MonoBehaviours/MoonpoolManager.cs
index db81c5038..d82cb71a3 100644
--- a/NitroxClient/MonoBehaviours/MoonpoolManager.cs
+++ b/NitroxClient/MonoBehaviours/MoonpoolManager.cs
@@ -3,12 +3,10 @@
using System.Diagnostics;
using System.Linq;
using NitroxClient.GameLogic;
-using NitroxClient.Unity.Helper;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.DataStructures.Util;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
using UnityEngine;
namespace NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/MonoBehaviours/MovementBroadcaster.cs b/NitroxClient/MonoBehaviours/MovementBroadcaster.cs
index 26a719d7c..ed3384e0e 100644
--- a/NitroxClient/MonoBehaviours/MovementBroadcaster.cs
+++ b/NitroxClient/MonoBehaviours/MovementBroadcaster.cs
@@ -2,8 +2,9 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours.Vehicles;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/MonoBehaviours/MovementReplicator.cs b/NitroxClient/MonoBehaviours/MovementReplicator.cs
index da426fe93..2c9c06e12 100644
--- a/NitroxClient/MonoBehaviours/MovementReplicator.cs
+++ b/NitroxClient/MonoBehaviours/MovementReplicator.cs
@@ -3,9 +3,10 @@
using NitroxClient.GameLogic.Settings;
using NitroxClient.MonoBehaviours.Cyclops;
using NitroxClient.MonoBehaviours.Vehicles;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/MonoBehaviours/Multiplayer.cs b/NitroxClient/MonoBehaviours/Multiplayer.cs
index 946374d81..063885a26 100644
--- a/NitroxClient/MonoBehaviours/Multiplayer.cs
+++ b/NitroxClient/MonoBehaviours/Multiplayer.cs
@@ -12,11 +12,12 @@
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;
-using NitroxModel.Packets.Processors.Abstract;
+using Nitrox.Model.Core;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Packets.Processors.Abstract;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
using UnityEngine.SceneManagement;
using UWE;
diff --git a/NitroxClient/MonoBehaviours/NitroxDebugManager.cs b/NitroxClient/MonoBehaviours/NitroxDebugManager.cs
index 683a33458..8eb0a24e6 100644
--- a/NitroxClient/MonoBehaviours/NitroxDebugManager.cs
+++ b/NitroxClient/MonoBehaviours/NitroxDebugManager.cs
@@ -3,7 +3,7 @@
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using NitroxClient.Debuggers;
-using NitroxModel.Core;
+using Nitrox.Model.Core;
using UnityEngine;
using UnityEngine.SceneManagement;
diff --git a/NitroxClient/MonoBehaviours/NitroxEntity.cs b/NitroxClient/MonoBehaviours/NitroxEntity.cs
index 13f9563de..473ed4a78 100644
--- a/NitroxClient/MonoBehaviours/NitroxEntity.cs
+++ b/NitroxClient/MonoBehaviours/NitroxEntity.cs
@@ -2,9 +2,8 @@
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Helper;
using ProtoBuf;
using UnityEngine;
diff --git a/NitroxClient/MonoBehaviours/NitroxGeyser.cs b/NitroxClient/MonoBehaviours/NitroxGeyser.cs
index 6695634b0..74cb79e3c 100644
--- a/NitroxClient/MonoBehaviours/NitroxGeyser.cs
+++ b/NitroxClient/MonoBehaviours/NitroxGeyser.cs
@@ -1,4 +1,4 @@
-using NitroxModel.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
using UnityEngine;
namespace NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/MonoBehaviours/OutOfCellEntity.cs b/NitroxClient/MonoBehaviours/OutOfCellEntity.cs
index 959edd3ca..293ad523b 100644
--- a/NitroxClient/MonoBehaviours/OutOfCellEntity.cs
+++ b/NitroxClient/MonoBehaviours/OutOfCellEntity.cs
@@ -1,6 +1,7 @@
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/MonoBehaviours/Overrides/MultiplayerBench.cs b/NitroxClient/MonoBehaviours/Overrides/MultiplayerBench.cs
index 4aa1c7f37..eb2c81aa2 100644
--- a/NitroxClient/MonoBehaviours/Overrides/MultiplayerBench.cs
+++ b/NitroxClient/MonoBehaviours/Overrides/MultiplayerBench.cs
@@ -1,5 +1,4 @@
using System;
-using NitroxClient.Unity.Helper;
using UnityEngine;
namespace NitroxClient.MonoBehaviours.Overrides;
diff --git a/NitroxClient/MonoBehaviours/PlayerMovementBroadcaster.cs b/NitroxClient/MonoBehaviours/PlayerMovementBroadcaster.cs
index f8c242076..55cd3007c 100644
--- a/NitroxClient/MonoBehaviours/PlayerMovementBroadcaster.cs
+++ b/NitroxClient/MonoBehaviours/PlayerMovementBroadcaster.cs
@@ -1,7 +1,9 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using NitroxClient.MonoBehaviours.Cyclops;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/MonoBehaviours/UnderwaterStateTracker.cs b/NitroxClient/MonoBehaviours/UnderwaterStateTracker.cs
index bd0d619c0..600b84fb2 100644
--- a/NitroxClient/MonoBehaviours/UnderwaterStateTracker.cs
+++ b/NitroxClient/MonoBehaviours/UnderwaterStateTracker.cs
@@ -1,5 +1,5 @@
using NitroxClient.GameLogic;
-using NitroxModel.GameLogic.PlayerAnimation;
+using Nitrox.Model.GameLogic.PlayerAnimation;
using UnityEngine;
namespace NitroxClient.MonoBehaviours;
diff --git a/NitroxClient/MonoBehaviours/Vehicles/CyclopsMovementReplicator.cs b/NitroxClient/MonoBehaviours/Vehicles/CyclopsMovementReplicator.cs
index 269342c51..53383ae62 100644
--- a/NitroxClient/MonoBehaviours/Vehicles/CyclopsMovementReplicator.cs
+++ b/NitroxClient/MonoBehaviours/Vehicles/CyclopsMovementReplicator.cs
@@ -1,7 +1,8 @@
using FMOD.Studio;
using NitroxClient.GameLogic;
-using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Packets;
+using Nitrox.Model.GameLogic.FMOD;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.MonoBehaviours.Vehicles;
diff --git a/NitroxClient/MonoBehaviours/Vehicles/ExosuitMovementReplicator.cs b/NitroxClient/MonoBehaviours/Vehicles/ExosuitMovementReplicator.cs
index a816038f6..4092aeeb3 100644
--- a/NitroxClient/MonoBehaviours/Vehicles/ExosuitMovementReplicator.cs
+++ b/NitroxClient/MonoBehaviours/Vehicles/ExosuitMovementReplicator.cs
@@ -1,8 +1,9 @@
using FMOD.Studio;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.FMOD;
-using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Packets;
+using Nitrox.Model.GameLogic.FMOD;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.MonoBehaviours.Vehicles;
diff --git a/NitroxClient/MonoBehaviours/Vehicles/SeaMothMovementReplicator.cs b/NitroxClient/MonoBehaviours/Vehicles/SeaMothMovementReplicator.cs
index 80d82a9c3..eacf73d49 100644
--- a/NitroxClient/MonoBehaviours/Vehicles/SeaMothMovementReplicator.cs
+++ b/NitroxClient/MonoBehaviours/Vehicles/SeaMothMovementReplicator.cs
@@ -1,7 +1,8 @@
using FMOD.Studio;
using NitroxClient.GameLogic;
-using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Packets;
+using Nitrox.Model.GameLogic.FMOD;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.MonoBehaviours.Vehicles;
diff --git a/NitroxClient/MonoBehaviours/Vehicles/WatchedEntry.cs b/NitroxClient/MonoBehaviours/Vehicles/WatchedEntry.cs
index 4c0c6e179..cd2d0291b 100644
--- a/NitroxClient/MonoBehaviours/Vehicles/WatchedEntry.cs
+++ b/NitroxClient/MonoBehaviours/Vehicles/WatchedEntry.cs
@@ -1,6 +1,7 @@
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxClient.MonoBehaviours.Vehicles;
diff --git a/NitroxClient/NitroxClient.csproj b/NitroxClient/NitroxClient.csproj
index 51fbe8cd4..c524e1e8d 100644
--- a/NitroxClient/NitroxClient.csproj
+++ b/NitroxClient/NitroxClient.csproj
@@ -5,8 +5,8 @@
-
-
+
+
@@ -17,7 +17,7 @@
-
+
diff --git a/NitroxClient/Unity/Helper/AssetBundleLoader.cs b/NitroxClient/Unity/Helper/AssetBundleLoader.cs
index b38fcd2a8..20043ad3a 100644
--- a/NitroxClient/Unity/Helper/AssetBundleLoader.cs
+++ b/NitroxClient/Unity/Helper/AssetBundleLoader.cs
@@ -1,6 +1,6 @@
using System.Collections;
using System.IO;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
namespace NitroxClient.Unity.Helper;
diff --git a/NitroxClient/Unity/Helper/GUISkinUtils.cs b/NitroxClient/Unity/Helper/GUISkinUtils.cs
index e2321155b..904a53fd6 100644
--- a/NitroxClient/Unity/Helper/GUISkinUtils.cs
+++ b/NitroxClient/Unity/Helper/GUISkinUtils.cs
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
namespace NitroxClient.Unity.Helper
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/NitroxModel-Subnautica/Helper/SubnauticaMap.cs b/NitroxModel-Subnautica/Helper/SubnauticaMap.cs
deleted file mode 100644
index a27553310..000000000
--- a/NitroxModel-Subnautica/Helper/SubnauticaMap.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-using System.Collections.Generic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Helper;
-
-namespace NitroxModel_Subnautica.Helper
-{
- ///
- /// Static information about the game world loaded by Subnautica that isn't (and shouldn't) be retrievable from the game directly.
- ///
- public class SubnauticaMap : IMap
- {
- private const int BATCH_SIZE = 160;
- private const int SKYBOX_METERS_ABOVE_WATER = 160;
-
- ///
- /// TechType can't be introspected at runtime in RELEASE mode because its reflection info is elided.
- ///
- public static readonly List GLOBAL_ROOT_TECH_TYPES = new List
- {
- new NitroxTechType(nameof(TechType.Pipe)),
- new NitroxTechType(nameof(TechType.Constructor)),
- new NitroxTechType(nameof(TechType.Flare)),
- new NitroxTechType(nameof(TechType.Gravsphere)),
- new NitroxTechType(nameof(TechType.PipeSurfaceFloater)),
- new NitroxTechType(nameof(TechType.SmallStorage)),
- new NitroxTechType(nameof(TechType.CyclopsDecoy)),
- new NitroxTechType(nameof(TechType.LEDLight)),
- new NitroxTechType(nameof(TechType.Beacon))
- };
-
- public int ItemLevelOfDetail => 3;
- public int BatchSize => 160;
- public NitroxInt3 BatchDimensions => new NitroxInt3(BatchSize, BatchSize, BatchSize);
- public NitroxInt3 DimensionsInMeters => new NitroxInt3(4096, 3200, 4096);
- public NitroxInt3 DimensionsInBatches => NitroxInt3.Ceil(DimensionsInMeters / BATCH_SIZE);
- public NitroxInt3 BatchDimensionCenter => new NitroxInt3(DimensionsInMeters.X / 2, DimensionsInMeters.Y - SKYBOX_METERS_ABOVE_WATER, DimensionsInMeters.Z / 2);
- public List GlobalRootTechTypes { get; } = GLOBAL_ROOT_TECH_TYPES;
- }
-}
diff --git a/NitroxModel-Subnautica/NitroxModel-Subnautica.csproj b/NitroxModel-Subnautica/NitroxModel-Subnautica.csproj
deleted file mode 100644
index 1c3b515a6..000000000
--- a/NitroxModel-Subnautica/NitroxModel-Subnautica.csproj
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
- net472;net9.0
- NitroxModel_Subnautica
-
-
-
-
-
-
-
-
-
-
-
diff --git a/NitroxModel/GlobalUsings.cs b/NitroxModel/GlobalUsings.cs
deleted file mode 100644
index 9fd64cc54..000000000
--- a/NitroxModel/GlobalUsings.cs
+++ /dev/null
@@ -1 +0,0 @@
-global using NitroxModel.Extensions;
diff --git a/NitroxModel/Helper/IMap.cs b/NitroxModel/Helper/IMap.cs
deleted file mode 100644
index e31aa61d3..000000000
--- a/NitroxModel/Helper/IMap.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System.Collections.Generic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-
-namespace NitroxModel.Helper
-{
- public interface IMap
- {
- public int BatchSize { get; }
- ///
- /// AKA LargeWorldStreamer.blocksPerBatch
- ///
- public NitroxInt3 BatchDimensions { get; }
- public NitroxInt3 DimensionsInMeters { get; }
- public NitroxInt3 DimensionsInBatches { get; }
- public NitroxInt3 BatchDimensionCenter { get; }
- public List GlobalRootTechTypes { get; }
- public int ItemLevelOfDetail { get; }
- }
-}
diff --git a/NitroxModel/NitroxModel.csproj b/NitroxModel/NitroxModel.csproj
deleted file mode 100644
index dfbbbc713..000000000
--- a/NitroxModel/NitroxModel.csproj
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
- net472;net9.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\Nitrox.Assets.Subnautica\protobuf-net.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/NitroxModel/Platforms/OS/Windows/Internal/ThreadAccess.cs b/NitroxModel/Platforms/OS/Windows/Internal/ThreadAccess.cs
deleted file mode 100644
index 19d36ddb1..000000000
--- a/NitroxModel/Platforms/OS/Windows/Internal/ThreadAccess.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-
-namespace NitroxModel.Platforms.OS.Windows.Internal
-{
- [Flags]
- public enum ThreadAccess
- {
- TERMINATE = 0x0001,
- SUSPEND_RESUME = 0x0002,
- GET_CONTEXT = 0x0008,
- SET_CONTEXT = 0x0010,
- SET_INFORMATION = 0x0020,
- QUERY_INFORMATION = 0x0040,
- SET_THREAD_TOKEN = 0x0080,
- IMPERSONATE = 0x0100,
- DIRECT_IMPERSONATION = 0x0200
- }
-}
diff --git a/NitroxPatcher/GlobalUsings.cs b/NitroxPatcher/GlobalUsings.cs
index ae09737a5..892374b13 100644
--- a/NitroxPatcher/GlobalUsings.cs
+++ b/NitroxPatcher/GlobalUsings.cs
@@ -1,2 +1,4 @@
-global using NitroxModel.Extensions;
-global using NitroxModel.Helper;
+global using Nitrox.Model.Extensions;
+global using Nitrox.Model.Subnautica.Extensions;
+global using Nitrox.Model.Helper;
+global using NitroxClient.Extensions;
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/TranspilerHelper.cs b/NitroxPatcher/Helper/TranspilerHelper.cs
similarity index 98%
rename from NitroxPatcher/TranspilerHelper.cs
rename to NitroxPatcher/Helper/TranspilerHelper.cs
index 7e7cd8c60..c8e544bcc 100644
--- a/NitroxPatcher/TranspilerHelper.cs
+++ b/NitroxPatcher/Helper/TranspilerHelper.cs
@@ -7,12 +7,11 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Core;
-using NitroxModel.Helper;
+using Nitrox.Model.Core;
using NitroxPatcher.PatternMatching;
using UnityEngine;
-namespace NitroxPatcher;
+namespace NitroxPatcher.Helper;
internal static class TranspilerHelper
{
diff --git a/NitroxPatcher/Main.cs b/NitroxPatcher/Main.cs
index d3311c696..b81879f55 100644
--- a/NitroxPatcher/Main.cs
+++ b/NitroxPatcher/Main.cs
@@ -1,12 +1,14 @@
extern alias JB;
-global using NitroxModel.Logger;
-global using static NitroxClient.Helpers.NitroxEntityExtensions;
+global using Nitrox.Model.Logger;
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 Nitrox.Model.Core;
+using Nitrox.Model.Subnautica.Logger;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher;
@@ -115,6 +117,23 @@ 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);
+ }
+ }).ContinueWithHandleError();
try
{
Patcher.Initialize();
diff --git a/NitroxPatcher/NitroxPatcher.csproj b/NitroxPatcher/NitroxPatcher.csproj
index 245a498eb..c97872037 100644
--- a/NitroxPatcher/NitroxPatcher.csproj
+++ b/NitroxPatcher/NitroxPatcher.csproj
@@ -5,12 +5,12 @@
-
+
-
+
diff --git a/NitroxPatcher/Patcher.cs b/NitroxPatcher/Patcher.cs
index f3790f5ab..2c7ba3b1c 100644
--- a/NitroxPatcher/Patcher.cs
+++ b/NitroxPatcher/Patcher.cs
@@ -8,9 +8,8 @@
using HarmonyLib.Tools;
using NitroxClient;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Core;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures;
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..bad3a54be 100644
--- a/NitroxPatcher/Patches/Dynamic/AggressiveWhenSeeTarget_ScanForAggressionTarget_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/AggressiveWhenSeeTarget_ScanForAggressionTarget_Patch.cs
@@ -4,9 +4,9 @@
using HarmonyLib;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
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..94d2513bc 100644
--- a/NitroxPatcher/Patches/Dynamic/AttackCyclops_OnCollisionEnter_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/AttackCyclops_OnCollisionEnter_Patch.cs
@@ -3,8 +3,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
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..70bcf7dac 100644
--- a/NitroxPatcher/Patches/Dynamic/AttackCyclops_UpdateAggression_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/AttackCyclops_UpdateAggression_Patch.cs
@@ -5,9 +5,9 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours.Cyclops;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
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..b682d9f48 100644
--- a/NitroxPatcher/Patches/Dynamic/BaseDeconstructable_Deconstruct_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/BaseDeconstructable_Deconstruct_Patch.cs
@@ -5,11 +5,10 @@
using NitroxClient.GameLogic.Bases;
using NitroxClient.GameLogic.Spawning.Bases;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Bases;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Bases;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.Subnautica.Packets;
using NitroxPatcher.PatternMatching;
using UnityEngine;
using static System.Reflection.Emit.OpCodes;
diff --git a/NitroxPatcher/Patches/Dynamic/BaseHullStrength_CrushDamageUpdate_Patch.cs b/NitroxPatcher/Patches/Dynamic/BaseHullStrength_CrushDamageUpdate_Patch.cs
index 1752611d9..1e46e274c 100644
--- a/NitroxPatcher/Patches/Dynamic/BaseHullStrength_CrushDamageUpdate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/BaseHullStrength_CrushDamageUpdate_Patch.cs
@@ -4,10 +4,9 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
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/Battery_charge_set_Patch.cs b/NitroxPatcher/Patches/Dynamic/Battery_charge_set_Patch.cs
index 7ed00218c..7b1becc66 100644
--- a/NitroxPatcher/Patches/Dynamic/Battery_charge_set_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Battery_charge_set_Patch.cs
@@ -1,7 +1,7 @@
using System;
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/BeaconLabel_SetLabel_Patch.cs b/NitroxPatcher/Patches/Dynamic/BeaconLabel_SetLabel_Patch.cs
index 59ee3ceca..d3a936f1e 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Bed_EnterInUseMode_Patch.cs b/NitroxPatcher/Patches/Dynamic/Bed_EnterInUseMode_Patch.cs
index feb61a1ad..747048a9f 100644
--- a/NitroxPatcher/Patches/Dynamic/Bed_EnterInUseMode_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Bed_EnterInUseMode_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Core;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Bench_ExitSittingMode_Patch.cs b/NitroxPatcher/Patches/Dynamic/Bench_ExitSittingMode_Patch.cs
index dc4338be6..86c2ca1fc 100644
--- a/NitroxPatcher/Patches/Dynamic/Bench_ExitSittingMode_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Bench_ExitSittingMode_Patch.cs
@@ -2,8 +2,9 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.ChatUI;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Bench_OnHandClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/Bench_OnHandClick_Patch.cs
index 6949d3b24..c518f9250 100644
--- a/NitroxPatcher/Patches/Dynamic/Bench_OnHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Bench_OnHandClick_Patch.cs
@@ -2,8 +2,9 @@
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Simulation;
using NitroxClient.MonoBehaviours.Gui.HUD;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Bench_OnPlayerDeath_Patch.cs b/NitroxPatcher/Patches/Dynamic/Bench_OnPlayerDeath_Patch.cs
index e265ce93c..f04fdfb34 100644
--- a/NitroxPatcher/Patches/Dynamic/Bench_OnPlayerDeath_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Bench_OnPlayerDeath_Patch.cs
@@ -1,7 +1,8 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..f5cfa1566 100644
--- a/NitroxPatcher/Patches/Dynamic/BreakableResource_BreakIntoResources_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/BreakableResource_BreakIntoResources_Patch.cs
@@ -1,9 +1,9 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..53b03a12b 100644
--- a/NitroxPatcher/Patches/Dynamic/BuilderTool_Construct_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/BuilderTool_Construct_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic.Bases;
-using NitroxClient.Helpers;
-using NitroxModel.DataStructures;
+using Nitrox.Model.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..5d802f47d 100644
--- a/NitroxPatcher/Patches/Dynamic/Builder_TryPlace_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Builder_TryPlace_Patch.cs
@@ -5,11 +5,10 @@
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 Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.Subnautica.Packets;
+using NitroxPatcher.Helper;
using NitroxPatcher.PatternMatching;
using UnityEngine;
using static System.Reflection.Emit.OpCodes;
diff --git a/NitroxPatcher/Patches/Dynamic/Builder_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/Builder_Update_Patch.cs
index e87878502..865deee0a 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 Nitrox.Model.DataStructures;
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..ec4e212c2 100644
--- a/NitroxPatcher/Patches/Dynamic/Bullet_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Bullet_Update_Patch.cs
@@ -3,7 +3,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Charger_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/Charger_Update_Patch.cs
index 822fa9560..4467bc042 100644
--- a/NitroxPatcher/Patches/Dynamic/Charger_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Charger_Update_Patch.cs
@@ -3,7 +3,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CoffeeVendingMachine_OnMachineUse_Patch.cs b/NitroxPatcher/Patches/Dynamic/CoffeeVendingMachine_OnMachineUse_Patch.cs
index 834f42160..aad2a88d6 100644
--- a/NitroxPatcher/Patches/Dynamic/CoffeeVendingMachine_OnMachineUse_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CoffeeVendingMachine_OnMachineUse_Patch.cs
@@ -3,10 +3,10 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
-using static NitroxModel.Packets.CoffeeMachineUse;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
+using static Nitrox.Model.Subnautica.Packets.CoffeeMachineUse;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ConstructableBase_SetState_Patch.cs b/NitroxPatcher/Patches/Dynamic/ConstructableBase_SetState_Patch.cs
index 78a1bd150..84bb5e491 100644
--- a/NitroxPatcher/Patches/Dynamic/ConstructableBase_SetState_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ConstructableBase_SetState_Patch.cs
@@ -2,9 +2,9 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using NitroxPatcher.Helper;
+using Nitrox.Model.Subnautica.Packets;
using NitroxPatcher.PatternMatching;
using UnityEngine;
using static System.Reflection.Emit.OpCodes;
diff --git a/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs b/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs
index ee8140c73..ddae975d2 100644
--- a/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Constructable_Construct_Patch.cs
@@ -9,13 +9,13 @@
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.Helpers;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.GameLogic.Bases;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.DataStructures.GameLogic.Entities.Bases;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Bases;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Bases;
+using Nitrox.Model.Subnautica.Packets;
using NitroxPatcher.PatternMatching;
using UnityEngine;
using UWE;
@@ -65,7 +65,7 @@ public static void ConstructionAmountModified(Constructable constructable, bool
Log.ErrorOnce($"[{nameof(ConstructionAmountModified)}] Couldn't find a NitroxEntity on {constructable.name}");
return;
}
- float amount = NitroxModel.Helper.Mathf.Clamp01(constructable.constructedAmount);
+ float amount = Nitrox.Model.Helper.Mathf.Clamp01(constructable.constructedAmount);
// An object is destroyed when amount = 0 AND if we are destructing
// so we don't need the broadcast if we are trying to construct with not enough resources (amount = 0)
@@ -101,9 +101,18 @@ public static void ConstructionAmountModified(Constructable constructable, bool
return;
}
+ ModifyConstructedAmount modifyConstructedAmount = new(entityId, amount);
+
+ // 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(new ModifyConstructedAmount(entityId, amount),
- (packet) => { return packet.GhostId; }, 0.1f);
+ Resolve().SendThrottled(modifyConstructedAmount, (packet) => { return packet.GhostId; }, 0.1f);
}
public static IEnumerator BroadcastObjectBuilt(ConstructableBase constructableBase, NitroxId entityId)
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..a5c84b1db 100644
--- a/NitroxPatcher/Patches/Dynamic/ConstructorInput_OnCraftingBegin_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ConstructorInput_OnCraftingBegin_Patch.cs
@@ -4,7 +4,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
+using NitroxPatcher.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..bd6f34c55 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CrafterLogic_NotifyPickup_Patch.cs b/NitroxPatcher/Patches/Dynamic/CrafterLogic_NotifyPickup_Patch.cs
index b71f8aa04..556d92385 100644
--- a/NitroxPatcher/Patches/Dynamic/CrafterLogic_NotifyPickup_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CrafterLogic_NotifyPickup_Patch.cs
@@ -2,9 +2,9 @@
using System.Collections.ObjectModel;
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CrashHome_OnDestroy_Patch.cs b/NitroxPatcher/Patches/Dynamic/CrashHome_OnDestroy_Patch.cs
index f0d08b515..30b9fcb7d 100644
--- a/NitroxPatcher/Patches/Dynamic/CrashHome_OnDestroy_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CrashHome_OnDestroy_Patch.cs
@@ -1,9 +1,9 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..a37be6d52 100644
--- a/NitroxPatcher/Patches/Dynamic/CrashHome_Spawn_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CrashHome_Spawn_Patch.cs
@@ -5,14 +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 Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
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..98fb7898c 100644
--- a/NitroxPatcher/Patches/Dynamic/CrashHome_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CrashHome_Update_Patch.cs
@@ -4,10 +4,8 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Spawning.Metadata;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
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..e72e3c698 100644
--- a/NitroxPatcher/Patches/Dynamic/CrashedShipExploder_OnConsoleCommand_explodeship_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CrashedShipExploder_OnConsoleCommand_explodeship_Patch.cs
@@ -2,8 +2,8 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..c5c3e843d 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CreatureAction_StartPerform_Patch.cs b/NitroxPatcher/Patches/Dynamic/CreatureAction_StartPerform_Patch.cs
index 560d9c720..d5a8370f4 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;
+using Nitrox.Model.DataStructures;
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..d456436e0 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnKillAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnKillAsync_Patch.cs
index 6e3aa154f..d1fd0e9d3 100644
--- a/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnKillAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnKillAsync_Patch.cs
@@ -5,9 +5,10 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnKill_Patch.cs b/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnKill_Patch.cs
index 393ccebe8..8f85f3a77 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnPickedUp_Patch.cs b/NitroxPatcher/Patches/Dynamic/CreatureDeath_OnPickedUp_Patch.cs
index 57c90fe6b..229945aa2 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CreatureDeath_SpawnRespawner_Patch.cs b/NitroxPatcher/Patches/Dynamic/CreatureDeath_SpawnRespawner_Patch.cs
index 5ed5f3b39..84184299f 100644
--- a/NitroxPatcher/Patches/Dynamic/CreatureDeath_SpawnRespawner_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CreatureDeath_SpawnRespawner_Patch.cs
@@ -4,11 +4,10 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CreatureEgg_Hatch_Patch.cs b/NitroxPatcher/Patches/Dynamic/CreatureEgg_Hatch_Patch.cs
index 985a166cb..d545e6099 100644
--- a/NitroxPatcher/Patches/Dynamic/CreatureEgg_Hatch_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CreatureEgg_Hatch_Patch.cs
@@ -1,9 +1,9 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..6f18b0314 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;
+using Nitrox.Model.DataStructures;
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..d0fdde2ac 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsDecoyLaunchButton_OnClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsDecoyLaunchButton_OnClick_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Core;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_DestroyCyclops_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_DestroyCyclops_Patch.cs
index 38a42a863..db33d4e3a 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_DestroyCyclops_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_DestroyCyclops_Patch.cs
@@ -4,8 +4,7 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours.Cyclops;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
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..34ee9d365 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_OnConsoleCommand_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_OnConsoleCommand_Patch.cs
@@ -1,8 +1,7 @@
using System;
using System.Reflection;
using HarmonyLib;
-using NitroxModel.Helper;
-using static NitroxModel.Helper.Reflect;
+using static Nitrox.Model.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..605941099 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_SpawnLootAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsDestructionEvent_SpawnLootAsync_Patch.cs
@@ -6,11 +6,11 @@
using NitroxClient.Communication;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
+using Nitrox.Model.Subnautica.Packets;
using NitroxPatcher.PatternMatching;
using UnityEngine;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsEngineChangeState_OnClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsEngineChangeState_OnClick_Patch.cs
index 681915c0a..d864426e1 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsExternalDamageManager_CreatePoint_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsExternalDamageManager_CreatePoint_Patch.cs
index 92f32d14c..1472c2392 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsFireSuppressionButton_StartCooldown_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsFireSuppressionButton_StartCooldown_Patch.cs
index 95569ddf1..9cf80eaf6 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsFireSuppressionButton_StartCooldown_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsFireSuppressionButton_StartCooldown_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Core;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsHelmHUDManager_StopPiloting_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsHelmHUDManager_StopPiloting_Patch.cs
index b7dd35420..2e3ba47ed 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;
+using Nitrox.Model.DataStructures;
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..06c064e3b 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsLightingPanel_ToggleInternalLighting_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsLightingPanel_ToggleInternalLighting_Patch.cs
index 1e9f660a9..7be10627b 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsMotorModeButton_OnClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsMotorModeButton_OnClick_Patch.cs
index 5a5124467..96d67c4e0 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;
+using Nitrox.Model.DataStructures;
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..55483a8e5 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_StartShield_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_StartShield_Patch.cs
index 6b79022cd..751d7f2e3 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_StopShield_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsShieldButton_StopShield_Patch.cs
index 1dff1aa59..f7630b15b 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsSilentRunningAbilityButton_TurnOffSilentRunning_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsSilentRunningAbilityButton_TurnOffSilentRunning_Patch.cs
index 3e8dc99a2..22b8624a0 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsSilentRunningAbilityButton_TurnOnSilentRunning_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsSilentRunningAbilityButton_TurnOnSilentRunning_Patch.cs
index b55b1f5df..5369994f4 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_OnClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_OnClick_Patch.cs
index db830b19a..2467d1855 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_SonarPing_Patch.cs b/NitroxPatcher/Patches/Dynamic/CyclopsSonarButton_SonarPing_Patch.cs
index ea04bcbd5..923171bad 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;
+using Nitrox.Model.DataStructures;
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..d4df31586 100644
--- a/NitroxPatcher/Patches/Dynamic/CyclopsSonarDisplay_NewEntityOnSonar_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/CyclopsSonarDisplay_NewEntityOnSonar_Patch.cs
@@ -4,8 +4,8 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
-using NitroxModel.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using NitroxPatcher.Helper;
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..c28d10dba 100644
--- a/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_day_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_day_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Core;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Core;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..12cf834d5 100644
--- a/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_night_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/DayNightCycle_OnConsoleCommand_night_Patch.cs
@@ -1,7 +1,7 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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_Submit_Patch.cs b/NitroxPatcher/Patches/Dynamic/DevConsole_Submit_Patch.cs
index abedbd102..b7ade1fcc 100644
--- a/NitroxPatcher/Patches/Dynamic/DevConsole_Submit_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/DevConsole_Submit_Patch.cs
@@ -1,8 +1,9 @@
using System.Reflection;
+using Nitrox.Model.DataStructures.GameLogic;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/DevConsole_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/DevConsole_Update_Patch.cs
index 43a32bd6f..359ae0dd4 100644
--- a/NitroxPatcher/Patches/Dynamic/DevConsole_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/DevConsole_Update_Patch.cs
@@ -1,7 +1,7 @@
using System.Collections.Generic;
using System.Reflection;
using HarmonyLib;
-using NitroxModel.Helper;
+using NitroxClient.GameLogic.ChatUI;
using NitroxPatcher.PatternMatching;
using UnityEngine;
using static System.Reflection.Emit.OpCodes;
@@ -9,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
{
@@ -29,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;
}
diff --git a/NitroxPatcher/Patches/Dynamic/DockedVehicleHandTarget_OnHandClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/DockedVehicleHandTarget_OnHandClick_Patch.cs
index 97aa35361..107e66bea 100644
--- a/NitroxPatcher/Patches/Dynamic/DockedVehicleHandTarget_OnHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/DockedVehicleHandTarget_OnHandClick_Patch.cs
@@ -2,9 +2,9 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Simulation;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..b77289e6a 100644
--- a/NitroxPatcher/Patches/Dynamic/Eatable_IterateDespawn_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Eatable_IterateDespawn_Patch.cs
@@ -4,9 +4,9 @@
using HarmonyLib;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..7877bf764 100644
--- a/NitroxPatcher/Patches/Dynamic/Equipment_RemoveItem_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Equipment_RemoveItem_Patch.cs
@@ -3,7 +3,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
+using NitroxPatcher.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..81a4f41a4 100644
--- a/NitroxPatcher/Patches/Dynamic/EscapePod_OnRepair_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EscapePod_OnRepair_Patch.cs
@@ -1,9 +1,8 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Spawning.Metadata;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/EscapePod_RespawnPlayer_Patch.cs b/NitroxPatcher/Patches/Dynamic/EscapePod_RespawnPlayer_Patch.cs
index 33f9fad6e..6288d7c84 100644
--- a/NitroxPatcher/Patches/Dynamic/EscapePod_RespawnPlayer_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EscapePod_RespawnPlayer_Patch.cs
@@ -1,9 +1,6 @@
using System.Reflection;
-using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/EscapePod_Start_Patch.cs b/NitroxPatcher/Patches/Dynamic/EscapePod_Start_Patch.cs
index b81d5b80e..39b6387d2 100644
--- a/NitroxPatcher/Patches/Dynamic/EscapePod_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/EscapePod_Start_Patch.cs
@@ -6,8 +6,9 @@
using System.Reflection.Emit;
using System.Text;
using HarmonyLib;
-using NitroxModel.Helper;
+using Nitrox.Model.Core;
using UnityEngine;
+
// ReSharper disable UseUtf8StringLiteral
namespace NitroxPatcher.Patches.Dynamic;
@@ -17,12 +18,14 @@ public sealed partial class EscapePod_Start_Patch : NitroxPatch, IDynamicPatch
private static readonly MethodInfo targetMethod = Reflect.Method((EscapePod e) => e.Start());
private static readonly int code = 0x10F2C;
+
private static readonly byte[] callHook =
[
- 0x4E, 0x69, 0x74, 0x72, 0x6F, 0x78, 0x4D, 0x6F, 0x64, 0x65, 0x6C, 0x2E, 0x50, 0x6C, 0x61, 0x74, 0x66, 0x6F, 0x72, 0x6D, 0x73, 0x2E, 0x4F, 0x53, 0x2E, 0x53, 0x68,
- 0x61, 0x72, 0x65, 0x64, 0x2E, 0x46, 0x69, 0x6C, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x49, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x49, 0x73, 0x54, 0x72,
- 0x75, 0x73, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6C, 0x65
+ 0x4E, 0x69, 0x74, 0x72, 0x6F, 0x78, 0x2E, 0x4D, 0x6F, 0x64, 0x65, 0x6C, 0x2E, 0x50, 0x6C, 0x61, 0x74, 0x66, 0x6F, 0x72, 0x6D, 0x73, 0x2E, 0x4F, 0x53, 0x2E, 0x53,
+ 0x68, 0x61, 0x72, 0x65, 0x64, 0x2E, 0x46, 0x69, 0x6C, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x49, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x49, 0x73, 0x54,
+ 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6C, 0x65
];
+
private static readonly byte[] rawData =
[
0x53, 0x75, 0x62, 0x6E, 0x61, 0x75, 0x74, 0x69, 0x63, 0x61, 0x5F, 0x44, 0x61, 0x74, 0x61, 0x5C, 0x50, 0x6C, 0x75, 0x67, 0x69, 0x6E, 0x73, 0x5C, 0x78, 0x38, 0x36,
@@ -47,9 +50,10 @@ public static IEnumerable Transpiler(IEnumerable LoadData(int start, int length)
{
@@ -93,7 +97,7 @@ IEnumerable CheckData(Label jmp)
yield return new CodeInstruction(OpCodes.Nop).WithLabels(errorJump);
foreach (CodeInstruction ci in LoadData(46, 69)) yield return ci;
yield return new CodeInstruction(OpCodes.Ldsflda, Reflect.Field(() => code));
- yield return new CodeInstruction(OpCodes.Call, Reflect.Method((Int32 i) => i.ToString()));
+ yield return new CodeInstruction(OpCodes.Call, Reflect.Method((int i) => i.ToString()));
yield return new CodeInstruction(OpCodes.Call, Reflect.Method(() => string.Concat(default, default)));
yield return new CodeInstruction(OpCodes.Call, Reflect.Method(() => Log.Error(default(string))));
yield return new CodeInstruction(OpCodes.Ldsfld, Reflect.Field(() => code));
diff --git a/NitroxPatcher/Patches/Dynamic/ExosuitClawArm_OnPickup_Patch.cs b/NitroxPatcher/Patches/Dynamic/ExosuitClawArm_OnPickup_Patch.cs
index 6705df020..12487984b 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;
+using Nitrox.Model.Core;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ExosuitClawArm_TryUse_Patch.cs b/NitroxPatcher/Patches/Dynamic/ExosuitClawArm_TryUse_Patch.cs
index 7df6a3cf6..4fd935d6a 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;
+using Nitrox.Model.Core;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ExosuitDrillArm_OnUseDown_Patch.cs b/NitroxPatcher/Patches/Dynamic/ExosuitDrillArm_OnUseDown_Patch.cs
index 4188a1223..e9b384b2c 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;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ExosuitDrillArm_OnUseUp_Patch.cs b/NitroxPatcher/Patches/Dynamic/ExosuitDrillArm_OnUseUp_Patch.cs
index 3f9a2f91d..6a46e9832 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;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/ExosuitGrapplingArm_OnHit_Patch.cs b/NitroxPatcher/Patches/Dynamic/ExosuitGrapplingArm_OnHit_Patch.cs
index 5c51924a1..fdde3b562 100644
--- a/NitroxPatcher/Patches/Dynamic/ExosuitGrapplingArm_OnHit_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ExosuitGrapplingArm_OnHit_Patch.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
-using NitroxModel_Subnautica.Packets;
+using Nitrox.Model.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..d4dab2462 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;
+using Nitrox.Model.Subnautica.Packets;
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..8d4d0acbc 100644
--- a/NitroxPatcher/Patches/Dynamic/FMODUWE_PlayOneShotImpl_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FMODUWE_PlayOneShotImpl_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic.FMOD;
-using NitroxModel_Subnautica.DataStructures;
-using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.GameLogic.FMOD;
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..8c84973be 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;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.GameLogic.FMOD;
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..fc66c910d 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;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.GameLogic.FMOD;
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..6754a11d6 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;
+using Nitrox.Model.Subnautica.Helper;
+using Nitrox.Model.GameLogic.FMOD;
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..f468cb8b3 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;
+using Nitrox.Model.GameLogic.FMOD;
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..b13c01dc7 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;
+using Nitrox.Model.GameLogic.FMOD;
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..1c72a7b90 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;
+using Nitrox.Model.GameLogic.FMOD;
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..3096d8c8d 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;
+using Nitrox.Model.Subnautica.Helper;
+using Nitrox.Model.GameLogic.FMOD;
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..b568ce976 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;
+using Nitrox.Model.GameLogic.FMOD;
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..192a691c3 100644
--- a/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TakeTankAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TakeTankAsync_Patch.cs
@@ -4,8 +4,8 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using NitroxPatcher.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..61e2da4bb 100644
--- a/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TryStoreTank_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FireExtinguisherHolder_TryStoreTank_Patch.cs
@@ -5,9 +5,9 @@
using HarmonyLib;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
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..3a82dd60c 100644
--- a/NitroxPatcher/Patches/Dynamic/Flare_OnDestroy_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Flare_OnDestroy_Patch.cs
@@ -1,9 +1,9 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..27d6e8b1a 100644
--- a/NitroxPatcher/Patches/Dynamic/Flare_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Flare_Update_Patch.cs
@@ -2,7 +2,7 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
+using NitroxPatcher.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..e162ec421 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
@@ -13,7 +12,7 @@ public static void Postfix(FlashLight __instance, bool active)
{
if (__instance.TryGetIdOrWarn(out NitroxId id))
{
- Resolve().Send(new NitroxModel.Packets.ToggleLights(id, active));
+ Resolve().Send(new Nitrox.Model.Subnautica.Packets.ToggleLights(id, active));
}
}
}
diff --git a/NitroxPatcher/Patches/Dynamic/Floater_FixedUpdate_Patch.cs b/NitroxPatcher/Patches/Dynamic/Floater_FixedUpdate_Patch.cs
index de1fc5943..0353f9e17 100644
--- a/NitroxPatcher/Patches/Dynamic/Floater_FixedUpdate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Floater_FixedUpdate_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours.Cyclops;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
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..650149505 100644
--- a/NitroxPatcher/Patches/Dynamic/FootstepSounds_OnStep_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FootstepSounds_OnStep_Patch.cs
@@ -7,9 +7,9 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.FMOD;
-using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.GameLogic.FMOD;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
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 7afd4d630..7d200c218 100644
--- a/NitroxPatcher/Patches/Dynamic/FruitPlant_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FruitPlant_Start_Patch.cs
@@ -1,6 +1,4 @@
using System.Reflection;
-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 af44f0f1b..d3d43603c 100644
--- a/NitroxPatcher/Patches/Dynamic/FruitPlant_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/FruitPlant_Update_Patch.cs
@@ -2,10 +2,10 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor;
-using NitroxClient.Helpers;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/GameModeConsoleCommands_OnConsoleCommand_Patch.cs b/NitroxPatcher/Patches/Dynamic/GameModeConsoleCommands_OnConsoleCommand_Patch.cs
index 76ec22058..61a27f8f7 100644
--- a/NitroxPatcher/Patches/Dynamic/GameModeConsoleCommands_OnConsoleCommand_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/GameModeConsoleCommands_OnConsoleCommand_Patch.cs
@@ -2,9 +2,9 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
-using NitroxModel.Server;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Server;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/GhostCrafter_OnCraftingBegin_Patch.cs b/NitroxPatcher/Patches/Dynamic/GhostCrafter_OnCraftingBegin_Patch.cs
index f305240ef..949394cd5 100644
--- a/NitroxPatcher/Patches/Dynamic/GhostCrafter_OnCraftingBegin_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/GhostCrafter_OnCraftingBegin_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/GhostCrafter_OnCraftingEnd_Patch.cs b/NitroxPatcher/Patches/Dynamic/GhostCrafter_OnCraftingEnd_Patch.cs
index d528ed82c..0a3639b01 100644
--- a/NitroxPatcher/Patches/Dynamic/GhostCrafter_OnCraftingEnd_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/GhostCrafter_OnCraftingEnd_Patch.cs
@@ -1,6 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/GoalManager_OnCompletedGoal_Patch.cs b/NitroxPatcher/Patches/Dynamic/GoalManager_OnCompletedGoal_Patch.cs
index b7d51ea65..562833e87 100644
--- a/NitroxPatcher/Patches/Dynamic/GoalManager_OnCompletedGoal_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/GoalManager_OnCompletedGoal_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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 c1ea6c788..d1ac92e79 100644
--- a/NitroxPatcher/Patches/Dynamic/GrowingPlant_SpawnGrownModelAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/GrowingPlant_SpawnGrownModelAsync_Patch.cs
@@ -2,11 +2,9 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
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..37b4cc967 100644
--- a/NitroxPatcher/Patches/Dynamic/GrownPlant_OnKill_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/GrownPlant_OnKill_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..a2077a9c5 100644
--- a/NitroxPatcher/Patches/Dynamic/IncubatorActivationTerminal_OnHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/IncubatorActivationTerminal_OnHandClick_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
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..4aad79717 100644
--- a/NitroxPatcher/Patches/Dynamic/IncubatorActivationTerminal_OnPlayerCinematicModeEnd_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/IncubatorActivationTerminal_OnPlayerCinematicModeEnd_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..a11119d40 100644
--- a/NitroxPatcher/Patches/Dynamic/IncubatorEgg_HatchNow_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/IncubatorEgg_HatchNow_Patch.cs
@@ -1,11 +1,10 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Core;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.Helper;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Incubator_OnHandClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/Incubator_OnHandClick_Patch.cs
index ba712290f..a43479a14 100644
--- a/NitroxPatcher/Patches/Dynamic/Incubator_OnHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Incubator_OnHandClick_Patch.cs
@@ -2,10 +2,9 @@
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Simulation;
using NitroxClient.MonoBehaviours.Gui.HUD;
-using NitroxModel.Core;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
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..914238a43 100644
--- a/NitroxPatcher/Patches/Dynamic/Incubator_OnHatched_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Incubator_OnHatched_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..7d4eb75e5 100644
--- a/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGameAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/IngameMenu_QuitGameAsync_Patch.cs
@@ -3,7 +3,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
+using NitroxPatcher.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..8dce2654d 100644
--- a/NitroxPatcher/Patches/Dynamic/ItemsContainer_DestroyItem_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ItemsContainer_DestroyItem_Patch.cs
@@ -2,9 +2,9 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..cd3d9eae8 100644
--- a/NitroxPatcher/Patches/Dynamic/KeypadDoorConsole_AcceptNumberField_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/KeypadDoorConsole_AcceptNumberField_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
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..4fb455fa4 100644
--- a/NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAdd_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAdd_Patch.cs
@@ -3,9 +3,9 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAnalyze_Patch.cs b/NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAnalyze_Patch.cs
index 695a2e403..fe52e375a 100644
--- a/NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAnalyze_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAnalyze_Patch.cs
@@ -1,9 +1,9 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/LargeRoomWaterPark_OnDeconstructionStart_Patch.cs b/NitroxPatcher/Patches/Dynamic/LargeRoomWaterPark_OnDeconstructionStart_Patch.cs
index 0afc14439..aec748695 100644
--- a/NitroxPatcher/Patches/Dynamic/LargeRoomWaterPark_OnDeconstructionStart_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/LargeRoomWaterPark_OnDeconstructionStart_Patch.cs
@@ -4,8 +4,7 @@
using HarmonyLib;
using NitroxClient.GameLogic.Bases;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
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..22c70df66 100644
--- a/NitroxPatcher/Patches/Dynamic/LargeWorldEntity_UpdateCell_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/LargeWorldEntity_UpdateCell_Patch.cs
@@ -3,8 +3,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
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..cdf03bee2 100644
--- a/NitroxPatcher/Patches/Dynamic/LiveMixin_AddHealth_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/LiveMixin_AddHealth_Patch.cs
@@ -3,12 +3,10 @@
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 Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/LiveMixin_Kill_Patch.cs b/NitroxPatcher/Patches/Dynamic/LiveMixin_Kill_Patch.cs
index 577d6a31e..b641f04b8 100644
--- a/NitroxPatcher/Patches/Dynamic/LiveMixin_Kill_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/LiveMixin_Kill_Patch.cs
@@ -2,9 +2,9 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..da980797a 100644
--- a/NitroxPatcher/Patches/Dynamic/LiveMixin_TakeDamage_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/LiveMixin_TakeDamage_Patch.cs
@@ -3,11 +3,10 @@
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxClient.GameLogic.Spawning.Metadata;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
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..82dc0f47d 100644
--- a/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_fastgrow_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_fastgrow_Patch.cs
@@ -1,7 +1,7 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..95ee0a224 100644
--- a/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_fasthatch_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_fasthatch_Patch.cs
@@ -1,7 +1,7 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..70ba2b8c3 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PDAEncyclopedia_Add_Patch.cs b/NitroxPatcher/Patches/Dynamic/PDAEncyclopedia_Add_Patch.cs
index 6c67bcf0d..5251dec71 100644
--- a/NitroxPatcher/Patches/Dynamic/PDAEncyclopedia_Add_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PDAEncyclopedia_Add_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..79a1f8c37 100644
--- a/NitroxPatcher/Patches/Dynamic/PDALog_Add_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PDALog_Add_Patch.cs
@@ -2,8 +2,8 @@
using System.Collections.Generic;
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..dc78e5d7c 100644
--- a/NitroxPatcher/Patches/Dynamic/PDAScanner_Scan_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PDAScanner_Scan_Patch.cs
@@ -4,10 +4,9 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
+using NitroxPatcher.Helper;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PickPrefab_AddToContainerAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/PickPrefab_AddToContainerAsync_Patch.cs
index 47fa0d2d5..21c28d46f 100644
--- a/NitroxPatcher/Patches/Dynamic/PickPrefab_AddToContainerAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PickPrefab_AddToContainerAsync_Patch.cs
@@ -3,9 +3,9 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
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 aeaf38288..b1a7f3555 100644
--- a/NitroxPatcher/Patches/Dynamic/PickPrefab_SetPickedUp_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PickPrefab_SetPickedUp_Patch.cs
@@ -1,11 +1,10 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor;
-using NitroxClient.Helpers;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
+using Nitrox.Model.Subnautica.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..9cbae9692 100644
--- a/NitroxPatcher/Patches/Dynamic/PilotingChair_OnHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PilotingChair_OnHandClick_Patch.cs
@@ -2,8 +2,7 @@
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Simulation;
using NitroxClient.MonoBehaviours.Gui.HUD;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PilotingChair_OnPlayerDeath_Patch.cs b/NitroxPatcher/Patches/Dynamic/PilotingChair_OnPlayerDeath_Patch.cs
index 875bf592c..0ec2c9e5b 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;
+using Nitrox.Model.DataStructures;
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..b3af74719 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PinManager_NotifyAdd_Patch.cs b/NitroxPatcher/Patches/Dynamic/PinManager_NotifyAdd_Patch.cs
index 426f114ab..ef7b94d84 100644
--- a/NitroxPatcher/Patches/Dynamic/PinManager_NotifyAdd_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PinManager_NotifyAdd_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PinManager_NotifyMovePatch.cs b/NitroxPatcher/Patches/Dynamic/PinManager_NotifyMovePatch.cs
index 2c406d209..8fbfbcefa 100644
--- a/NitroxPatcher/Patches/Dynamic/PinManager_NotifyMovePatch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PinManager_NotifyMovePatch.cs
@@ -3,8 +3,8 @@
using System.Reflection;
using NitroxClient.Helpers;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..472f5a8b5 100644
--- a/NitroxPatcher/Patches/Dynamic/PinManager_NotifyRemove_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PinManager_NotifyRemove_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..f8bafea39 100644
--- a/NitroxPatcher/Patches/Dynamic/PingInstance_Set_Patches.cs
+++ b/NitroxPatcher/Patches/Dynamic/PingInstance_Set_Patches.cs
@@ -3,8 +3,8 @@
using HarmonyLib;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic.InitialSync;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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 4323ec877..b4b76ecbd 100644
--- a/NitroxPatcher/Patches/Dynamic/Planter_AddItem_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Planter_AddItem_Patch.cs
@@ -1,8 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxClient.Helpers;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Planter_ReplaceItem_Patch.cs b/NitroxPatcher/Patches/Dynamic/Planter_ReplaceItem_Patch.cs
index ece249c87..90dbf1211 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Planter_ResetStorage_Patch.cs b/NitroxPatcher/Patches/Dynamic/Planter_ResetStorage_Patch.cs
index c68509dbf..8e6bc63b3 100644
--- a/NitroxPatcher/Patches/Dynamic/Planter_ResetStorage_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Planter_ResetStorage_Patch.cs
@@ -1,10 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxClient.Helpers;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.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/PlayerCinematicController_OnPlayerCinematicModeEnd_Patch.cs b/NitroxPatcher/Patches/Dynamic/PlayerCinematicController_OnPlayerCinematicModeEnd_Patch.cs
index 60d222fbf..3905adca9 100644
--- a/NitroxPatcher/Patches/Dynamic/PlayerCinematicController_OnPlayerCinematicModeEnd_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PlayerCinematicController_OnPlayerCinematicModeEnd_Patch.cs
@@ -7,7 +7,7 @@
using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.CinematicController;
using NitroxClient.Unity.Helper;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PlayerCinematicController_StartCinematicMode_Patch.cs b/NitroxPatcher/Patches/Dynamic/PlayerCinematicController_StartCinematicMode_Patch.cs
index 5411aefd8..cd97933e9 100644
--- a/NitroxPatcher/Patches/Dynamic/PlayerCinematicController_StartCinematicMode_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PlayerCinematicController_StartCinematicMode_Patch.cs
@@ -7,7 +7,7 @@
using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.CinematicController;
using NitroxClient.Unity.Helper;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PlayerCinematicController_Start_Patch.cs b/NitroxPatcher/Patches/Dynamic/PlayerCinematicController_Start_Patch.cs
index 348d88ece..166db4b66 100644
--- a/NitroxPatcher/Patches/Dynamic/PlayerCinematicController_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PlayerCinematicController_Start_Patch.cs
@@ -5,8 +5,8 @@
using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.CinematicController;
using NitroxClient.Unity.Helper;
-using NitroxModel_Subnautica.Helper;
-using NitroxModel.Helper;
+using Nitrox.Model.Subnautica.Helper;
+using Nitrox.Model.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..8b289e964 100644
--- a/NitroxPatcher/Patches/Dynamic/Player_MovePlayerToRespawnPoint_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Player_MovePlayerToRespawnPoint_Patch.cs
@@ -1,8 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
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..f0ca3bbcf 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 Nitrox.Model.DataStructures;
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_TriggerInfectionRevealAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/Player_TriggerInfectionRevealAsync_Patch.cs
index 10303161a..be7a8ab5a 100644
--- a/NitroxPatcher/Patches/Dynamic/Player_TriggerInfectionRevealAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Player_TriggerInfectionRevealAsync_Patch.cs
@@ -3,7 +3,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.GameLogic.PlayerAnimation;
+using Nitrox.Model.GameLogic.PlayerAnimation;
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..9b8547d35 100644
--- a/NitroxPatcher/Patches/Dynamic/Poop_Perform_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Poop_Perform_Patch.cs
@@ -4,9 +4,9 @@
using HarmonyLib;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PrecursorDoorMotorModeSetter_OnTriggerEnter_Patch.cs b/NitroxPatcher/Patches/Dynamic/PrecursorDoorMotorModeSetter_OnTriggerEnter_Patch.cs
index 723be91af..3f373755b 100644
--- a/NitroxPatcher/Patches/Dynamic/PrecursorDoorMotorModeSetter_OnTriggerEnter_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrecursorDoorMotorModeSetter_OnTriggerEnter_Patch.cs
@@ -4,9 +4,8 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PrecursorDoorway_ToggleDoor_Patch.cs b/NitroxPatcher/Patches/Dynamic/PrecursorDoorway_ToggleDoor_Patch.cs
index 8f5afadb4..c32f25420 100644
--- a/NitroxPatcher/Patches/Dynamic/PrecursorDoorway_ToggleDoor_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrecursorDoorway_ToggleDoor_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PrecursorKeyTerminal_DestroyKey_Patch.cs b/NitroxPatcher/Patches/Dynamic/PrecursorKeyTerminal_DestroyKey_Patch.cs
index c5d37f89d..7dd935529 100644
--- a/NitroxPatcher/Patches/Dynamic/PrecursorKeyTerminal_DestroyKey_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrecursorKeyTerminal_DestroyKey_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..b84b4ed85 100644
--- a/NitroxPatcher/Patches/Dynamic/PrecursorKeyTerminal_OnHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrecursorKeyTerminal_OnHandClick_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PrecursorMoonPoolTrigger_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/PrecursorMoonPoolTrigger_Update_Patch.cs
index aa3dafde6..d94ff83df 100644
--- a/NitroxPatcher/Patches/Dynamic/PrecursorMoonPoolTrigger_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrecursorMoonPoolTrigger_Update_Patch.cs
@@ -4,9 +4,9 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Spawning.Metadata;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Util;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
+using NitroxPatcher.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..f5502ace0 100644
--- a/NitroxPatcher/Patches/Dynamic/PrecursorTeleporterActivationTerminal_OnPlayerCinematicModeEnd_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrecursorTeleporterActivationTerminal_OnPlayerCinematicModeEnd_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..63d0f6806 100644
--- a/NitroxPatcher/Patches/Dynamic/PrecursorTeleporterActivationTerminal_OnProxyHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrecursorTeleporterActivationTerminal_OnProxyHandClick_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/PrecursorTeleporter_OnActivateTeleporter_Patch.cs b/NitroxPatcher/Patches/Dynamic/PrecursorTeleporter_OnActivateTeleporter_Patch.cs
index e8d975ebe..30f2cb800 100644
--- a/NitroxPatcher/Patches/Dynamic/PrecursorTeleporter_OnActivateTeleporter_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PrecursorTeleporter_OnActivateTeleporter_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
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..ca4f9df74 100644
--- a/NitroxPatcher/Patches/Dynamic/PropulsionCannon_GrabObject_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/PropulsionCannon_GrabObject_Patch.cs
@@ -4,8 +4,7 @@
using NitroxClient.GameLogic.Simulation;
using NitroxClient.MonoBehaviours;
using NitroxClient.MonoBehaviours.Gui.HUD;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
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..a50560618 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 Nitrox.Model.DataStructures;
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..5ed44c6e5 100644
--- a/NitroxPatcher/Patches/Dynamic/QuickSlots_Bind_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/QuickSlots_Bind_Patch.cs
@@ -1,8 +1,6 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/QuickSlots_DeselectInternal_Patch.cs b/NitroxPatcher/Patches/Dynamic/QuickSlots_DeselectInternal_Patch.cs
index 5fcfe034a..2186f4041 100644
--- a/NitroxPatcher/Patches/Dynamic/QuickSlots_DeselectInternal_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/QuickSlots_DeselectInternal_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..1d27fa3a9 100644
--- a/NitroxPatcher/Patches/Dynamic/QuickSlots_SelectInternal_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/QuickSlots_SelectInternal_Patch.cs
@@ -1,10 +1,10 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Radio_OnRepair_Patch.cs b/NitroxPatcher/Patches/Dynamic/Radio_OnRepair_Patch.cs
index eb0a0fbc8..fc6803df4 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;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Radio_PlayRadioMessage_Patch.cs b/NitroxPatcher/Patches/Dynamic/Radio_PlayRadioMessage_Patch.cs
index 099ac0994..82cb7f01f 100644
--- a/NitroxPatcher/Patches/Dynamic/Radio_PlayRadioMessage_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Radio_PlayRadioMessage_Patch.cs
@@ -1,7 +1,7 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..db138a8bb 100644
--- a/NitroxPatcher/Patches/Dynamic/RangedAttackLastTarget_StartCasting_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/RangedAttackLastTarget_StartCasting_Patch.cs
@@ -1,6 +1,6 @@
using System.Reflection;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
@@ -17,4 +17,3 @@ public static void Prefix(RangedAttackLastTarget __instance)
RangedAttackLastTarget_StartCharging_Patch.BroadcastRangedAttack(__instance, RangedAttackLastTargetUpdate.ActionState.CASTING);
}
}
-
diff --git a/NitroxPatcher/Patches/Dynamic/RangedAttackLastTarget_StartCharging_Patch.cs b/NitroxPatcher/Patches/Dynamic/RangedAttackLastTarget_StartCharging_Patch.cs
index 32b0ca617..77116c59d 100644
--- a/NitroxPatcher/Patches/Dynamic/RangedAttackLastTarget_StartCharging_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/RangedAttackLastTarget_StartCharging_Patch.cs
@@ -1,10 +1,9 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..3ca63635c 100644
--- a/NitroxPatcher/Patches/Dynamic/Respawn_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Respawn_Start_Patch.cs
@@ -4,8 +4,8 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using NitroxPatcher.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..dbc00e272 100644
--- a/NitroxPatcher/Patches/Dynamic/RocketConstructor_StartRocketConstruction_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/RocketConstructor_StartRocketConstruction_Patch.cs
@@ -4,8 +4,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/RocketPreflightCheckManager_CompletePreflightCheck_Patch.cs b/NitroxPatcher/Patches/Dynamic/RocketPreflightCheckManager_CompletePreflightCheck_Patch.cs
index dc2f6ef0d..7b76dbd1a 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Rocket_CallElevator_Patch.cs b/NitroxPatcher/Patches/Dynamic/Rocket_CallElevator_Patch.cs
index be2702428..3d0e6c8cb 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Rocket_ElevatorControlButtonActivate_Patch.cs b/NitroxPatcher/Patches/Dynamic/Rocket_ElevatorControlButtonActivate_Patch.cs
index aedac523e..3e2414ca5 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 Nitrox.Model.DataStructures;
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..6f411e1b7 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchFront_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchFront_Patch.cs
index b712731c3..a75ae8ce4 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchFront_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchFront_Patch.cs
@@ -5,9 +5,9 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchLeft_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchLeft_Patch.cs
index 11ab86871..9b7cdd605 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchRight_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_OnTouchRight_Patch.cs
index a6815e2d7..c0abe160c 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_SwatAttack_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_SwatAttack_Patch.cs
index 8bb32a150..debfd4260 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_SwatAttack_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaDragonMeleeAttack_SwatAttack_Patch.cs
@@ -3,9 +3,9 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaDragon_GrabExosuit_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaDragon_GrabExosuit_Patch.cs
index e04022c63..3f06bebc7 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaDragon_GrabExosuit_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaDragon_GrabExosuit_Patch.cs
@@ -2,9 +2,9 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours.Vehicles;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..20db4c055 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaMoth_onLightsToggled_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaMoth_onLightsToggled_Patch.cs
@@ -1,9 +1,8 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaTreaderSounds_SpawnChunks_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaTreaderSounds_SpawnChunks_Patch.cs
index ac766c63a..b44ae331b 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaTreaderSounds_SpawnChunks_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaTreaderSounds_SpawnChunks_Patch.cs
@@ -5,10 +5,10 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaTreader_SetNextPathPoint_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaTreader_SetNextPathPoint_Patch.cs
index fa1314497..08d2a785f 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaTreader_SetNextPathPoint_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaTreader_SetNextPathPoint_Patch.cs
@@ -1,9 +1,8 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdatePath_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdatePath_Patch.cs
index bf27bbfd8..6f524fc53 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdatePath_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdatePath_Patch.cs
@@ -2,7 +2,7 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
+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 98d6fd3f6..d40f5e02d 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdateTurning_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaTreader_UpdateTurning_Patch.cs
@@ -2,7 +2,7 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
+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 32fa5b3c1..a050f0cc7 100644
--- a/NitroxPatcher/Patches/Dynamic/SeaTreader_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeaTreader_Update_Patch.cs
@@ -2,7 +2,7 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
+using NitroxPatcher.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..a60298259 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
@@ -13,7 +12,7 @@ public static void Postfix(Seaglide __instance, bool active)
{
if (__instance.TryGetIdOrWarn(out NitroxId id))
{
- Resolve().Send(new NitroxModel.Packets.ToggleLights(id, active));
+ Resolve().Send(new Nitrox.Model.Subnautica.Packets.ToggleLights(id, active));
}
}
}
diff --git a/NitroxPatcher/Patches/Dynamic/Sealed_Weld_Patch.cs b/NitroxPatcher/Patches/Dynamic/Sealed_Weld_Patch.cs
index 4a3dd15a7..86af8edfe 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;
+using Nitrox.Model.DataStructures;
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..e3617f4aa 100644
--- a/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Explode_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Explode_Patch.cs
@@ -1,11 +1,11 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_RepeatingTargeting_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_RepeatingTargeting_Patch.cs
index 7addc1aac..cff3f1477 100644
--- a/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_RepeatingTargeting_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_RepeatingTargeting_Patch.cs
@@ -1,11 +1,11 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Update_Patch.cs b/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Update_Patch.cs
index dd456c69f..06462fd77 100644
--- a/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SeamothTorpedo_Update_Patch.cs
@@ -2,7 +2,7 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
+using NitroxPatcher.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..5967be0a8 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 Nitrox.Model.DataStructures.GameLogic;
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..32d6f99ca 100644
--- a/NitroxPatcher/Patches/Dynamic/SpawnOnKill_OnKill_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SpawnOnKill_OnKill_Patch.cs
@@ -3,11 +3,11 @@
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
using NitroxPatcher.PatternMatching;
using System.Collections.Generic;
using System.Reflection;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
using static System.Reflection.Emit.OpCodes;
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..ef7631400 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 Nitrox.Model.DataStructures;
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..ad9f833c2 100644
--- a/NitroxPatcher/Patches/Dynamic/StarshipDoor_LockDoor_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StarshipDoor_LockDoor_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/StarshipDoor_OnDoorToggle_Patch.cs b/NitroxPatcher/Patches/Dynamic/StarshipDoor_OnDoorToggle_Patch.cs
index bb21c533d..708e10ffa 100644
--- a/NitroxPatcher/Patches/Dynamic/StarshipDoor_OnDoorToggle_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StarshipDoor_OnDoorToggle_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/StarshipDoor_UnlockDoor_Patch.cs b/NitroxPatcher/Patches/Dynamic/StarshipDoor_UnlockDoor_Patch.cs
index 51f759e71..0efd3737f 100644
--- a/NitroxPatcher/Patches/Dynamic/StarshipDoor_UnlockDoor_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StarshipDoor_UnlockDoor_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
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..fe7a2fdde 100644
--- a/NitroxPatcher/Patches/Dynamic/StasisSphere_LateUpdate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StasisSphere_LateUpdate_Patch.cs
@@ -2,7 +2,7 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
+using NitroxPatcher.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..d4b5993bb 100644
--- a/NitroxPatcher/Patches/Dynamic/StasisSphere_OnHit_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StasisSphere_OnHit_Patch.cs
@@ -1,10 +1,10 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/StasisSphere_Shoot_Patch.cs b/NitroxPatcher/Patches/Dynamic/StasisSphere_Shoot_Patch.cs
index 20b978188..6d94f0751 100644
--- a/NitroxPatcher/Patches/Dynamic/StasisSphere_Shoot_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StasisSphere_Shoot_Patch.cs
@@ -1,9 +1,9 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/StoryGoalCustomEventHandler_OnConsoleCommand_Patch.cs b/NitroxPatcher/Patches/Dynamic/StoryGoalCustomEventHandler_OnConsoleCommand_Patch.cs
index b7d3f54c2..bdb0f235d 100644
--- a/NitroxPatcher/Patches/Dynamic/StoryGoalCustomEventHandler_OnConsoleCommand_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StoryGoalCustomEventHandler_OnConsoleCommand_Patch.cs
@@ -2,8 +2,8 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.Communication.Abstract;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..68a7f94e9 100644
--- a/NitroxPatcher/Patches/Dynamic/StoryGoalScheduler_Schedule_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StoryGoalScheduler_Schedule_Patch.cs
@@ -2,8 +2,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using Story;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/StoryGoal_Execute_Patch.cs b/NitroxPatcher/Patches/Dynamic/StoryGoal_Execute_Patch.cs
index 86cc6b834..475d537a1 100644
--- a/NitroxPatcher/Patches/Dynamic/StoryGoal_Execute_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/StoryGoal_Execute_Patch.cs
@@ -1,9 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using Story;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SubConsoleCommand_OnConsoleCommand_sub_Patch.cs b/NitroxPatcher/Patches/Dynamic/SubConsoleCommand_OnConsoleCommand_sub_Patch.cs
index 1bf46e567..b8fb819fd 100644
--- a/NitroxPatcher/Patches/Dynamic/SubConsoleCommand_OnConsoleCommand_sub_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubConsoleCommand_OnConsoleCommand_sub_Patch.cs
@@ -2,9 +2,8 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
+using Nitrox.Model.DataStructures.GameLogic;
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..853abee06 100644
--- a/NitroxPatcher/Patches/Dynamic/SubFire_CreateFire_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubFire_CreateFire_Patch.cs
@@ -1,8 +1,7 @@
using System;
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
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..7096855f0 100644
--- a/NitroxPatcher/Patches/Dynamic/SubNameInput_Awake_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubNameInput_Awake_Patch.cs
@@ -1,6 +1,6 @@
using System.Reflection;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..448856464 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SubNameInput_OnNameChange_Patch.cs b/NitroxPatcher/Patches/Dynamic/SubNameInput_OnNameChange_Patch.cs
index ee86f771d..36e73f500 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;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/SubNameInput_SetTarget_Patch.cs b/NitroxPatcher/Patches/Dynamic/SubNameInput_SetTarget_Patch.cs
index 194215cf8..85eac51fa 100644
--- a/NitroxPatcher/Patches/Dynamic/SubNameInput_SetTarget_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubNameInput_SetTarget_Patch.cs
@@ -1,6 +1,6 @@
using System.Reflection;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..2812a57ba 100644
--- a/NitroxPatcher/Patches/Dynamic/SubRoot_OnTakeDamage_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/SubRoot_OnTakeDamage_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.Communication.Packets.Processors;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
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..325b8f7db 100644
--- a/NitroxPatcher/Patches/Dynamic/Survival_Eat_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Survival_Eat_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Survival_Use_Patch.cs b/NitroxPatcher/Patches/Dynamic/Survival_Use_Patch.cs
index fd943fb96..6e0790964 100644
--- a/NitroxPatcher/Patches/Dynamic/Survival_Use_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Survival_Use_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
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..405d25b15 100644
--- a/NitroxPatcher/Patches/Dynamic/TimeCapsule_Open_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/TimeCapsule_Open_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..043dcc872 100644
--- a/NitroxPatcher/Patches/Dynamic/ToggleLights_SetLightsActive_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/ToggleLights_SetLightsActive_Patch.cs
@@ -3,8 +3,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic.FMOD;
-using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
+using Nitrox.Model.GameLogic.FMOD;
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..88e247d2b 100644
--- a/NitroxPatcher/Patches/Dynamic/Trashcan_Update_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Trashcan_Update_Patch.cs
@@ -4,9 +4,9 @@
using HarmonyLib;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
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..ad401f0c7 100644
--- a/NitroxPatcher/Patches/Dynamic/Utils_PlayFMODAsset_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Utils_PlayFMODAsset_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic.FMOD;
-using NitroxModel_Subnautica.DataStructures;
-using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.GameLogic.FMOD;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnTriggerEnter.cs b/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnTriggerEnter.cs
index 9ff5d1eb2..1393c4283 100644
--- a/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnTriggerEnter.cs
+++ b/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnTriggerEnter.cs
@@ -1,10 +1,9 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnUndockingComplete_Patch.cs b/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnUndockingComplete_Patch.cs
index e8824fd7e..651156390 100644
--- a/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnUndockingComplete_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/VehicleDockingBay_OnUndockingComplete_Patch.cs
@@ -1,8 +1,8 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Vehicle_AddEnergy_Patch.cs b/NitroxPatcher/Patches/Dynamic/Vehicle_AddEnergy_Patch.cs
new file mode 100644
index 000000000..5fa3985cb
--- /dev/null
+++ b/NitroxPatcher/Patches/Dynamic/Vehicle_AddEnergy_Patch.cs
@@ -0,0 +1,18 @@
+using System.Reflection;
+using NitroxClient.GameLogic;
+using Nitrox.Model.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_OnHandClick_Patch.cs b/NitroxPatcher/Patches/Dynamic/Vehicle_OnHandClick_Patch.cs
index fdcd4b99d..c2a1b0ca9 100644
--- a/NitroxPatcher/Patches/Dynamic/Vehicle_OnHandClick_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Vehicle_OnHandClick_Patch.cs
@@ -2,8 +2,7 @@
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Simulation;
using NitroxClient.MonoBehaviours.Gui.HUD;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Vehicle_OnKill_Patch.cs b/NitroxPatcher/Patches/Dynamic/Vehicle_OnKill_Patch.cs
index 5f86bd976..9c3d8a5eb 100644
--- a/NitroxPatcher/Patches/Dynamic/Vehicle_OnKill_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Vehicle_OnKill_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.PlayerLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
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..c14ab89fb 100644
--- a/NitroxPatcher/Patches/Dynamic/Vehicle_OnPilotModeEnd_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Vehicle_OnPilotModeEnd_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Vehicle_TorpedoShot_Patch.cs b/NitroxPatcher/Patches/Dynamic/Vehicle_TorpedoShot_Patch.cs
index d161abdf2..2557c3419 100644
--- a/NitroxPatcher/Patches/Dynamic/Vehicle_TorpedoShot_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Vehicle_TorpedoShot_Patch.cs
@@ -4,11 +4,11 @@
using HarmonyLib;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
-using NitroxModel_Subnautica.DataStructures;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.DataStructures;
+using Nitrox.Model.Subnautica.Packets;
using UnityEngine;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Vehicle_UpdateEnergyRecharge_Patch.cs b/NitroxPatcher/Patches/Dynamic/Vehicle_UpdateEnergyRecharge_Patch.cs
new file mode 100644
index 000000000..9d95d61c5
--- /dev/null
+++ b/NitroxPatcher/Patches/Dynamic/Vehicle_UpdateEnergyRecharge_Patch.cs
@@ -0,0 +1,18 @@
+using System.Reflection;
+using NitroxClient.GameLogic;
+using Nitrox.Model.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);
+ }
+}
diff --git a/NitroxPatcher/Patches/Dynamic/WaterParkCreature_BornAsync_Patch.cs b/NitroxPatcher/Patches/Dynamic/WaterParkCreature_BornAsync_Patch.cs
index df2c34480..fcc4a541c 100644
--- a/NitroxPatcher/Patches/Dynamic/WaterParkCreature_BornAsync_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/WaterParkCreature_BornAsync_Patch.cs
@@ -4,8 +4,7 @@
using HarmonyLib;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/WaterParkCreature_ManagedUpdate_Patch.cs b/NitroxPatcher/Patches/Dynamic/WaterParkCreature_ManagedUpdate_Patch.cs
index c035da606..d142e5480 100644
--- a/NitroxPatcher/Patches/Dynamic/WaterParkCreature_ManagedUpdate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/WaterParkCreature_ManagedUpdate_Patch.cs
@@ -4,9 +4,9 @@
using HarmonyLib;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..e1521de10 100644
--- a/NitroxPatcher/Patches/Dynamic/WaterParkCreature_ResetBreedTime_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/WaterParkCreature_ResetBreedTime_Patch.cs
@@ -1,10 +1,8 @@
using System.Reflection;
using NitroxClient.GameLogic;
using NitroxClient.GameLogic.Spawning.Metadata.Extractor;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/WaterParkItem_ManagedUpdate_Patch.cs b/NitroxPatcher/Patches/Dynamic/WaterParkItem_ManagedUpdate_Patch.cs
index 74a564939..55a498f0f 100644
--- a/NitroxPatcher/Patches/Dynamic/WaterParkItem_ManagedUpdate_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/WaterParkItem_ManagedUpdate_Patch.cs
@@ -1,9 +1,9 @@
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..b90ed9b4e 100644
--- a/NitroxPatcher/Patches/Dynamic/WaterPark_Split_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/WaterPark_Split_Patch.cs
@@ -3,8 +3,7 @@
using NitroxClient.GameLogic.Spawning.Bases;
using NitroxClient.GameLogic.Spawning.Metadata;
using NitroxClient.MonoBehaviours;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
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..6636856fe 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 Nitrox.Model.DataStructures;
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..2fefdcde4 100644
--- a/NitroxPatcher/Patches/Dynamic/WeldableWallPanelGeneric_UnlockDoor_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/WeldableWallPanelGeneric_UnlockDoor_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxPatcher.Patches.Dynamic;
diff --git a/NitroxPatcher/Patches/Dynamic/Welder_Weld_Patch.cs b/NitroxPatcher/Patches/Dynamic/Welder_Weld_Patch.cs
index f0055bd7d..26ace285a 100644
--- a/NitroxPatcher/Patches/Dynamic/Welder_Weld_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/Welder_Weld_Patch.cs
@@ -4,9 +4,8 @@
using System.Reflection.Emit;
using HarmonyLib;
using NitroxClient.GameLogic;
-using NitroxModel.Core;
-using NitroxModel.DataStructures;
-using NitroxModel.Helper;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures;
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..c7f8f8021 100644
--- a/NitroxPatcher/Patches/Dynamic/uGUI_ColorPicker_Awake_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/uGUI_ColorPicker_Awake_Patch.cs
@@ -1,6 +1,6 @@
using System.Reflection;
-using NitroxModel.Helper;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.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..0e1c8c60c 100644
--- a/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_HandleInput_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_HandleInput_Patch.cs
@@ -2,10 +2,9 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
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 b5e6c2fd9..8c4fc12da 100644
--- a/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_IntroSequence_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/uGUI_SceneIntro_IntroSequence_Patch.cs
@@ -2,12 +2,11 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
+using Nitrox.Model.Core;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic;
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..2cb5e4205 100644
--- a/NitroxPatcher/Patches/Dynamic/uGUI_SignInput_OnDeselect_Patch.cs
+++ b/NitroxPatcher/Patches/Dynamic/uGUI_SignInput_OnDeselect_Patch.cs
@@ -1,8 +1,7 @@
using System.Reflection;
using NitroxClient.GameLogic;
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
-using NitroxModel.Helper;
+using Nitrox.Model.DataStructures;
+using Nitrox.Model.Subnautica.DataStructures.GameLogic.Entities.Metadata;
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..6ecc14370 100644
--- a/NitroxPatcher/Patches/NitroxPatch.cs
+++ b/NitroxPatcher/Patches/NitroxPatch.cs
@@ -1,8 +1,7 @@
using System.Collections.Generic;
using System.Reflection;
using HarmonyLib;
-using NitroxModel.Core;
-using NitroxModel.Helper;
+using Nitrox.Model.Core;
namespace NitroxPatcher.Patches;
diff --git a/NitroxPatcher/Patches/PacketSuppressorPatch.cs b/NitroxPatcher/Patches/PacketSuppressorPatch.cs
index b1ea19c71..c28b5b68f 100644
--- a/NitroxPatcher/Patches/PacketSuppressorPatch.cs
+++ b/NitroxPatcher/Patches/PacketSuppressorPatch.cs
@@ -2,7 +2,8 @@
using System.Reflection;
using HarmonyLib;
using NitroxClient.Communication;
-using NitroxModel.Packets;
+using Nitrox.Model.Packets;
+using Nitrox.Model.Subnautica.Packets;
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..c40cb0f53 100644
--- a/NitroxPatcher/Patches/Persistent/CellManager_TryLoadCacheBatchCells_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/CellManager_TryLoadCacheBatchCells_Patch.cs
@@ -3,7 +3,7 @@
using System.Reflection;
using System.Reflection.Emit;
using HarmonyLib;
-using NitroxModel.Helper;
+using NitroxPatcher.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/ReefbackLife_OnEnable_Patch.cs b/NitroxPatcher/Patches/Persistent/ReefbackLife_OnEnable_Patch.cs
index d63aaac67..f1fe41a5f 100644
--- a/NitroxPatcher/Patches/Persistent/ReefbackLife_OnEnable_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/ReefbackLife_OnEnable_Patch.cs
@@ -3,7 +3,7 @@
using System.Collections.Generic;
using System.Globalization;
using System.Reflection;
-using NitroxModel.Helper;
+using Nitrox.Model.Helper;
using UnityEngine;
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_MainMenu_Start_Patch.cs b/NitroxPatcher/Patches/Persistent/uGUI_MainMenu_Start_Patch.cs
index ae8b45a0d..025b7660a 100644
--- a/NitroxPatcher/Patches/Persistent/uGUI_MainMenu_Start_Patch.cs
+++ b/NitroxPatcher/Patches/Persistent/uGUI_MainMenu_Start_Patch.cs
@@ -2,12 +2,14 @@
using System.Net;
using System.Reflection;
using HarmonyLib;
+using Nitrox.Model.Core;
+using Nitrox.Model.DataStructures;
using NitroxClient.Communication.Abstract;
using NitroxClient.Communication.MultiplayerSession;
using NitroxClient.MonoBehaviours.Gui.MainMenu.ServerJoin;
-using NitroxModel.DataStructures.Unity;
-using NitroxModel.DataStructures.Util;
-using NitroxModel.MultiplayerSession;
+using Nitrox.Model.DataStructures.Unity;
+using Nitrox.Model.MultiplayerSession;
+using Nitrox.Model.Subnautica.MultiplayerSession;
using NitroxPatcher.Patches.Dynamic;
using UnityEngine;
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/NitroxServer-Subnautica/GlobalUsings.cs b/NitroxServer-Subnautica/GlobalUsings.cs
deleted file mode 100644
index 06cb4063b..000000000
--- a/NitroxServer-Subnautica/GlobalUsings.cs
+++ /dev/null
@@ -1,2 +0,0 @@
-global using NitroxModel.Logger;
-global using NitroxModel.Extensions;
diff --git a/NitroxServer-Subnautica/SubnauticaServerAutoFacRegistrar.cs b/NitroxServer-Subnautica/SubnauticaServerAutoFacRegistrar.cs
deleted file mode 100644
index 4cffa684b..000000000
--- a/NitroxServer-Subnautica/SubnauticaServerAutoFacRegistrar.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-using Autofac;
-using NitroxModel;
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxModel.GameLogic.FMOD;
-using NitroxModel.Helper;
-using NitroxModel_Subnautica.DataStructures.GameLogic.Entities;
-using NitroxModel_Subnautica.Helper;
-using NitroxServer;
-using NitroxServer.GameLogic;
-using NitroxServer.GameLogic.Entities;
-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
-{
- public class SubnauticaServerAutoFacRegistrar : ServerAutoFacRegistrar
- {
- public override void RegisterDependencies(ContainerBuilder containerBuilder)
- {
- base.RegisterDependencies(containerBuilder);
-
- containerBuilder.RegisterType()
- .As()
- .SingleInstance();
- containerBuilder.Register(c => new SubnauticaServerProtoBufSerializer(
- "Assembly-CSharp",
- "Assembly-CSharp-firstpass",
- "NitroxModel",
- "NitroxModel-Subnautica"))
- .As()
- .SingleInstance();
- containerBuilder.Register(c => new SubnauticaServerJsonSerializer())
- .As()
- .SingleInstance();
-
- containerBuilder.RegisterType().As().SingleInstance();
-
- ResourceAssets resourceAssets = ResourceAssetsParser.Parse();
-
- containerBuilder.Register(c => resourceAssets).SingleInstance();
- containerBuilder.Register(c => resourceAssets.WorldEntitiesByClassId).SingleInstance();
- containerBuilder.Register(c => resourceAssets.PrefabPlaceholdersGroupsByGroupClassId).SingleInstance();
- containerBuilder.Register(c => resourceAssets.NitroxRandom).SingleInstance();
- containerBuilder.RegisterType().As().SingleInstance();
-
- SubnauticaUwePrefabFactory prefabFactory = new SubnauticaUwePrefabFactory(resourceAssets.LootDistributionsJson);
- containerBuilder.Register(c => prefabFactory).As().SingleInstance();
- containerBuilder.RegisterType()
- .As()
- .SingleInstance();
-
- containerBuilder.RegisterType().As().InstancePerLifetimeScope();
- containerBuilder.RegisterType().AsSelf().InstancePerLifetimeScope();
- containerBuilder.RegisterType().As().InstancePerLifetimeScope();
- containerBuilder.Register(c => FMODWhitelist.Load(GameInfo.Subnautica)).InstancePerLifetimeScope();
-
- containerBuilder.Register(_ => new RandomSpawnSpoofer(resourceAssets.RandomPossibilitiesByClassId))
- .SingleInstance();
- }
- }
-}
diff --git a/NitroxServer/App.config b/NitroxServer/App.config
deleted file mode 100644
index f1e4baf21..000000000
--- a/NitroxServer/App.config
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/NitroxServer/Communication/NitroxServer.cs b/NitroxServer/Communication/NitroxServer.cs
deleted file mode 100644
index fb69b5603..000000000
--- a/NitroxServer/Communication/NitroxServer.cs
+++ /dev/null
@@ -1,83 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using NitroxModel.DataStructures;
-using NitroxModel.Packets;
-using NitroxModel.Serialization;
-using NitroxServer.Communication.Packets;
-using NitroxServer.GameLogic;
-using NitroxServer.GameLogic.Entities;
-
-namespace NitroxServer.Communication
-{
- public abstract class NitroxServer
- {
- static NitroxServer()
- {
- Packet.InitSerializer();
- }
-
- protected readonly int portNumber;
- protected readonly int maxConnections;
- protected readonly bool useUpnpPortForwarding;
- protected readonly bool useLANBroadcast;
-
- protected readonly PacketHandler packetHandler;
- protected readonly EntitySimulation entitySimulation;
- protected readonly Dictionary connectionsByRemoteIdentifier = new();
- protected internal readonly PlayerManager playerManager;
-
- public NitroxServer(PacketHandler packetHandler, PlayerManager playerManager, EntitySimulation entitySimulation, SubnauticaServerConfig serverConfig)
- {
- this.packetHandler = packetHandler;
- this.playerManager = playerManager;
- this.entitySimulation = entitySimulation;
-
- portNumber = serverConfig.ServerPort;
- maxConnections = serverConfig.MaxConnections;
- useUpnpPortForwarding = serverConfig.AutoPortForward;
- useLANBroadcast = serverConfig.LANDiscoveryEnabled;
- }
-
- public abstract bool Start(CancellationToken ct = default);
-
- public abstract void Stop();
-
- protected void ClientDisconnected(INitroxConnection connection)
- {
- Player player = playerManager.GetPlayer(connection);
-
- if (player != null)
- {
- playerManager.PlayerDisconnected(connection);
-
- Disconnect disconnect = new(player.Id);
- playerManager.SendPacketToAllPlayers(disconnect);
-
- List ownershipChanges = entitySimulation.CalculateSimulationChangesFromPlayerDisconnect(player);
-
- if (ownershipChanges.Count > 0)
- {
- SimulationOwnershipChange ownershipChange = new(ownershipChanges);
- playerManager.SendPacketToAllPlayers(ownershipChange);
- }
- }
- else
- {
- playerManager.NonPlayerDisconnected(connection);
- }
- }
-
- protected void ProcessIncomingData(INitroxConnection connection, Packet packet)
- {
- try
- {
- packetHandler.Process(packet, connection);
- }
- catch (Exception ex)
- {
- Log.Error(ex, $"Exception while processing packet: {packet}");
- }
- }
- }
-}
diff --git a/NitroxServer/Communication/Packets/Processors/BuildingProcessor.cs b/NitroxServer/Communication/Packets/Processors/BuildingProcessor.cs
deleted file mode 100644
index be29c3a1a..000000000
--- a/NitroxServer/Communication/Packets/Processors/BuildingProcessor.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using NitroxModel.DataStructures;
-using NitroxModel.DataStructures.GameLogic;
-using NitroxModel.Packets;
-using NitroxServer.Communication.Packets.Processors.Abstract;
-using NitroxServer.GameLogic;
-using NitroxServer.GameLogic.Bases;
-using NitroxServer.GameLogic.Entities;
-
-namespace NitroxServer.Communication.Packets.Processors;
-
-public abstract class BuildingProcessor : AuthenticatedPacketProcessor where T : Packet
-{
- internal readonly BuildingManager buildingManager;
- internal readonly PlayerManager playerManager;
- internal readonly EntitySimulation entitySimulation;
-
- public BuildingProcessor(BuildingManager buildingManager, PlayerManager playerManager, EntitySimulation entitySimulation = null)
- {
- this.buildingManager = buildingManager;
- this.playerManager = playerManager;
- this.entitySimulation = entitySimulation;
- }
-
- public void SendToOtherPlayersWithOperationId(T packet, Player player, int operationId)
- {
- if (packet is OrderedBuildPacket buildPacket)
- {
- buildPacket.OperationId = operationId;
- }
- playerManager.SendPacketToOtherPlayers(packet, player);
- }
-
- public void ClaimBuildPiece(Entity entity, Player player)
- {
- SimulatedEntity simulatedEntity = entitySimulation.AssignNewEntityToPlayer(entity, player, false);
- SimulationOwnershipChange ownershipChangePacket = new(simulatedEntity);
- playerManager.SendPacketToAllPlayers(ownershipChangePacket);
- }
-}
diff --git a/NitroxServer/GameLogic/Entities/Spawning/IEntityBootstrapper.cs b/NitroxServer/GameLogic/Entities/Spawning/IEntityBootstrapper.cs
deleted file mode 100644
index 1a61e8440..000000000
--- a/NitroxServer/GameLogic/Entities/Spawning/IEntityBootstrapper.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxServer.Helper;
-
-namespace NitroxServer.GameLogic.Entities.Spawning;
-
-public interface IEntityBootstrapper
-{
- public void Prepare(ref WorldEntity spawnedEntity, DeterministicGenerator generator);
-}
-
diff --git a/NitroxServer/GameLogic/Entities/Spawning/IEntityBootstrapperManager.cs b/NitroxServer/GameLogic/Entities/Spawning/IEntityBootstrapperManager.cs
deleted file mode 100644
index 25a379414..000000000
--- a/NitroxServer/GameLogic/Entities/Spawning/IEntityBootstrapperManager.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using NitroxModel.DataStructures.GameLogic.Entities;
-using NitroxServer.Helper;
-
-namespace NitroxServer.GameLogic.Entities.Spawning;
-
-public interface IEntityBootstrapperManager
-{
- public void PrepareEntityIfRequired(ref WorldEntity spawnedEntity, DeterministicGenerator generator);
-}
diff --git a/NitroxServer/GlobalUsings.cs b/NitroxServer/GlobalUsings.cs
deleted file mode 100644
index be1a9bafe..000000000
--- a/NitroxServer/GlobalUsings.cs
+++ /dev/null
@@ -1,3 +0,0 @@
-global using NitroxModel;
-global using NitroxModel.Helper;
-global using NitroxModel.Extensions;
diff --git a/NitroxServer/Properties/AssemblyInfo.cs b/NitroxServer/Properties/AssemblyInfo.cs
deleted file mode 100644
index a7288d193..000000000
--- a/NitroxServer/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyDescription("Shared code for Nitrox server projects")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-// COMMON: [assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("0fc864b0-694e-4fca-b78c-8ef98bc6f262")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-// COMMON: [assembly: AssemblyVersion("X.X.X.X")]
-// COMMON: [assembly: AssemblyFileVersion("X.X.X.X")]
diff --git a/NitroxServer/Serialization/SaveDataUpgrades/SaveDataUpgrade.cs b/NitroxServer/Serialization/SaveDataUpgrades/SaveDataUpgrade.cs
deleted file mode 100644
index 4376dffbd..000000000
--- a/NitroxServer/Serialization/SaveDataUpgrades/SaveDataUpgrade.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-using System;
-using System.IO;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Converters;
-using Newtonsoft.Json.Linq;
-using NitroxServer.Serialization.Json;
-
-namespace NitroxServer.Serialization.Upgrade
-{
- public abstract class SaveDataUpgrade
- {
- private readonly JsonConverter[] converters = { new NitroxIdConverter(), new TechTypeConverter(), new VersionConverter(), new KeyValuePairConverter(), new StringEnumConverter() };
-
- public abstract Version TargetVersion { get; }
-
- public static readonly Version MinimumSaveVersion = new(1, 8, 0, 0);
-
- public void UpgradeSaveFiles(string saveDir, string fileEnding)
- {
- Log.Info($"┌── Executing {GetType().Name}");
- string baseDataPath = Path.Combine(saveDir, $"BaseData{fileEnding}");
- string playerDataPath = Path.Combine(saveDir, $"PlayerData{fileEnding}");
- string worldDataPath = Path.Combine(saveDir, $"WorldData{fileEnding}");
- string entityDataPath = Path.Combine(saveDir, $"EntityData{fileEnding}");
-
- Log.Info("├── Parsing raw json");
- JObject baseData = JObject.Parse(File.ReadAllText(baseDataPath));
- JObject playerData = JObject.Parse(File.ReadAllText(playerDataPath));
- JObject worldData = JObject.Parse(File.ReadAllText(worldDataPath));
- JObject entityData = JObject.Parse(File.ReadAllText(entityDataPath));
-
- Log.Info("├── Applying upgrade scripts");
- UpgradeBaseData(baseData);
- UpgradePlayerData(playerData);
- UpgradeWorldData(worldData);
- UpgradeEntityData(entityData);
-
- Log.Info("└── Saving to disk");
- File.WriteAllText(baseDataPath, baseData.ToString(Formatting.None, converters));
- File.WriteAllText(playerDataPath, playerData.ToString(Formatting.None, converters));
- File.WriteAllText(worldDataPath, worldData.ToString(Formatting.None, converters));
- File.WriteAllText(entityDataPath, entityData.ToString(Formatting.None, converters));
- }
-
- protected virtual void UpgradeBaseData(JObject data) { }
- protected virtual void UpgradePlayerData(JObject data) { }
- protected virtual void UpgradeWorldData(JObject data) { }
- protected virtual void UpgradeEntityData(JObject data) { }
- }
-}