diff --git a/ExampleMods/ExampleMods.csproj b/ExampleMods/ExampleMods.csproj
index d2c59028..4bee12a5 100644
--- a/ExampleMods/ExampleMods.csproj
+++ b/ExampleMods/ExampleMods.csproj
@@ -26,4 +26,8 @@
+
+
+
+
diff --git a/ExampleMods/Mods/11RegisterClassesInDI/RegisterClassesInDI.cs b/ExampleMods/Mods/11RegisterClassesInDI/RegisterClassesInDI.cs
index 245687b3..029d87d7 100644
--- a/ExampleMods/Mods/11RegisterClassesInDI/RegisterClassesInDI.cs
+++ b/ExampleMods/Mods/11RegisterClassesInDI/RegisterClassesInDI.cs
@@ -5,13 +5,13 @@ using SptCommon.Annotations;
namespace ExampleMods.Mods._11RegisterClassesInDI;
[Injectable]
-public class RegisterClassesInDI : IPostDBLoadMod // Run after db has loaded
+public class Bundle : IPostDBLoadMod // Run after db has loaded
{
private readonly SingletonClassExample _singletonClassExample;
private readonly TransientClassExample _transientClassExample;
// We inject 2 classes (singleton and transient) we've made below
- public RegisterClassesInDI(
+ public Bundle(
SingletonClassExample singletonClassExample,
TransientClassExample transientClassExample)
{
diff --git a/ExampleMods/Mods/12Bundle/Bundle.cs b/ExampleMods/Mods/12Bundle/Bundle.cs
new file mode 100644
index 00000000..ea971e1e
--- /dev/null
+++ b/ExampleMods/Mods/12Bundle/Bundle.cs
@@ -0,0 +1,19 @@
+using Core.Models.External;
+using Core.Models.Utils;
+using SptCommon.Annotations;
+
+namespace ExampleMods.Mods._12Bundle;
+
+[Injectable]
+public class Bundle : IPostDBLoadMod // Run after db has loaded
+{
+
+
+ public Bundle()
+ {
+ }
+
+ public void PostDBLoad()
+ {
+ }
+}
diff --git a/ExampleMods/Mods/12Bundle/bundles.json b/ExampleMods/Mods/12Bundle/bundles.json
new file mode 100644
index 00000000..536c4046
--- /dev/null
+++ b/ExampleMods/Mods/12Bundle/bundles.json
@@ -0,0 +1,8 @@
+{
+ "manifest": [
+ {
+ "key": "assets/content/weapons/usable_items/item_bottle/textures/client_assets.bundle",
+ "dependencyKeys": []
+ }
+ ]
+}
diff --git a/ExampleMods/Mods/12Bundle/bundles/assets/content/patron_1143x33mmr_lead.bundle b/ExampleMods/Mods/12Bundle/bundles/assets/content/patron_1143x33mmr_lead.bundle
new file mode 100644
index 00000000..ef204b85
Binary files /dev/null and b/ExampleMods/Mods/12Bundle/bundles/assets/content/patron_1143x33mmr_lead.bundle differ
diff --git a/ExampleMods/Mods/12Bundle/package.json b/ExampleMods/Mods/12Bundle/package.json
new file mode 100644
index 00000000..32a6db4c
--- /dev/null
+++ b/ExampleMods/Mods/12Bundle/package.json
@@ -0,0 +1,13 @@
+{
+ "Name": "12Bundle",
+ "Version": "1.0.0",
+ "SptVersion": "~4.0",
+ "LoadBefore": [],
+ "LoadAfter": [],
+ "IncompatibileMods": [],
+ "Url": "https://github.com/sp-tarkov/server-csharp/tree/develop/ExampleMods/Mods",
+ "IsBundleMod": false,
+ "Author": "SPT",
+ "Contributors": [],
+ "Licence": "MIT"
+}
diff --git a/Libraries/Core/Callbacks/BundleCallbacks.cs b/Libraries/Core/Callbacks/BundleCallbacks.cs
index 2affebda..05092129 100644
--- a/Libraries/Core/Callbacks/BundleCallbacks.cs
+++ b/Libraries/Core/Callbacks/BundleCallbacks.cs
@@ -1,4 +1,5 @@
-using Core.Models.Eft.Common;
+using Core.Loaders;
+using Core.Models.Eft.Common;
using Core.Utils;
using SptCommon.Annotations;
@@ -6,9 +7,8 @@ namespace Core.Callbacks;
[Injectable(InjectableTypeOverride = typeof(BundleCallbacks))]
public class BundleCallbacks(
- HttpResponseUtil _httpResponseUtil
- // BundleLoader _bundleLoader,
-)
+ HttpResponseUtil _httpResponseUtil,
+ BundleLoader _bundleLoader)
{
///
/// Handle singleplayer/bundles
@@ -19,8 +19,7 @@ public class BundleCallbacks(
///
public string GetBundles(string url, EmptyRequestData info, string sessionID)
{
- // return _httpResponseUtil.NoBody(_bundleLoader.GetBundles());
- return _httpResponseUtil.NoBody(new List