diff --git a/PCK-Studio/Helper/MaterialResources.cs b/PCK-Studio/Extensions/MaterialContainerExtensions.cs
similarity index 81%
rename from PCK-Studio/Helper/MaterialResources.cs
rename to PCK-Studio/Extensions/MaterialContainerExtensions.cs
index d7755831..d680a9c5 100644
--- a/PCK-Studio/Helper/MaterialResources.cs
+++ b/PCK-Studio/Extensions/MaterialContainerExtensions.cs
@@ -1,18 +1,15 @@
using System;
-using System.IO;
-
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
using OMI.Formats.Material;
-using OMI.Workers.Material;
-namespace PckStudio.Helper
+namespace PckStudio.Extensions
{
- public static class MaterialResources
+ internal static class MaterialContainerExtensions
{
- public static byte[] MaterialsFileInitializer()
- {
- using var stream = new MemoryStream();
- var matFile = new MaterialContainer
- {
+ private static readonly MaterialContainer.Material[] defaultMaterials = [
new MaterialContainer.Material("bat", "entity_alphatest"),
new MaterialContainer.Material("ender_dragon", "entity_emissive_alpha"),
new MaterialContainer.Material("blaze_head", "entity_emissive_alpha"),
@@ -35,10 +32,11 @@ namespace PckStudio.Helper
new MaterialContainer.Material("wither_boss", "entity_alphatest"),
new MaterialContainer.Material("wither_skeleton", "entity_alphatest"),
new MaterialContainer.Material("wolf", "entity_alphatest_change_color")
- };
- var writer = new MaterialFileWriter(matFile);
- writer.WriteToStream(stream);
- return stream.ToArray();
+ ];
+
+ public static void InitializeDefault(this MaterialContainer materials)
+ {
+ materials.AddRange(defaultMaterials);
}
}
}
diff --git a/PCK-Studio/Classes/API/Miles/Binka.cs b/PCK-Studio/External/API/Miles/Binka.cs
similarity index 98%
rename from PCK-Studio/Classes/API/Miles/Binka.cs
rename to PCK-Studio/External/API/Miles/Binka.cs
index ad2bb793..16e6ee96 100644
--- a/PCK-Studio/Classes/API/Miles/Binka.cs
+++ b/PCK-Studio/External/API/Miles/Binka.cs
@@ -7,7 +7,7 @@ using PckStudio.Internal;
using PckStudio.Internal.App;
using SharpMSS;
-namespace PckStudio.API.Miles
+namespace PckStudio.External.API.Miles
{
internal static class Binka
{
diff --git a/PCK-Studio/Classes/Utils/BinkaConverter.cs b/PCK-Studio/External/API/Miles/BinkaConverter.cs
similarity index 97%
rename from PCK-Studio/Classes/Utils/BinkaConverter.cs
rename to PCK-Studio/External/API/Miles/BinkaConverter.cs
index 630f0904..c55d71b3 100644
--- a/PCK-Studio/Classes/Utils/BinkaConverter.cs
+++ b/PCK-Studio/External/API/Miles/BinkaConverter.cs
@@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
-using PckStudio.API.Miles;
using PckStudio.Forms.Additional_Popups;
using System.Windows.Forms;
using System.IO;
@@ -11,7 +10,7 @@ using PckStudio.Internal;
using System.Text.RegularExpressions;
using PckStudio.Internal.App;
-namespace PckStudio.Classes.Utils
+namespace PckStudio.External.API.Miles
{
internal static class BinkaConverter
{
diff --git a/PCK-Studio/Forms/Editor/AudioEditor.cs b/PCK-Studio/Forms/Editor/AudioEditor.cs
index c8fa145e..84f4d2db 100644
--- a/PCK-Studio/Forms/Editor/AudioEditor.cs
+++ b/PCK-Studio/Forms/Editor/AudioEditor.cs
@@ -16,8 +16,7 @@ using OMI.Formats.Pck;
using PckStudio.Internal.IO.PckAudio;
using PckStudio.Forms.Additional_Popups;
using PckStudio.Properties;
-using PckStudio.API.Miles;
-using PckStudio.Internal;
+using PckStudio.External.API.Miles;
using PckStudio.Internal.FileFormats;
using PckStudio.Extensions;
using PckStudio.Internal.App;
diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs
index 86893b9e..d3ffee2a 100644
--- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs
+++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs
@@ -30,8 +30,6 @@ using OMI.Formats.Pck;
using OMI.Workers.Color;
using PckStudio.Extensions;
-using PckStudio.Helper;
-using PckStudio.Internal;
using PckStudio.Internal.Deserializer;
using PckStudio.Internal.Json;
using PckStudio.Internal.Serializer;
diff --git a/PCK-Studio/Helper/BehaviourResources.cs b/PCK-Studio/Helper/BehaviourResources.cs
deleted file mode 100644
index c50b6b78..00000000
--- a/PCK-Studio/Helper/BehaviourResources.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.IO;
-
-using OMI.Formats.Behaviour;
-using OMI.Workers.Behaviour;
-
-namespace PckStudio.Helper
-{
- public static class BehaviourResources
- {
- internal static byte[] BehaviourFileInitializer()
- {
- using var stream = new MemoryStream();
- var writer = new BehavioursWriter(new BehaviourFile());
- writer.WriteToStream(stream);
- return stream.ToArray();
- }
- }
-}
diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs
index ea8cbc31..ccb74324 100644
--- a/PCK-Studio/MainForm.cs
+++ b/PCK-Studio/MainForm.cs
@@ -7,14 +7,20 @@ using System.Windows.Forms;
using System.Drawing.Drawing2D;
using System.Diagnostics;
using System.Drawing.Imaging;
+using System.Text.RegularExpressions;
using OMI.Formats.Pck;
-using OMI.Formats.GameRule;
-using OMI.Formats.Languages;
using OMI.Formats.Model;
+using OMI.Formats.GameRule;
+using OMI.Formats.Material;
+using OMI.Formats.Behaviour;
+using OMI.Formats.Languages;
+using OMI.Workers;
using OMI.Workers.Pck;
using OMI.Workers.GameRule;
using OMI.Workers.Language;
using OMI.Workers.Model;
+using OMI.Workers.Behaviour;
+using OMI.Workers.Material;
using PckStudio.Properties;
using PckStudio.Internal.FileFormats;
using PckStudio.Forms;
@@ -28,13 +34,10 @@ using PckStudio.Internal;
using PckStudio.Forms.Features;
using PckStudio.Extensions;
using PckStudio.Popups;
-using PckStudio.Classes.Utils;
-using PckStudio.Helper;
-using System.Text.RegularExpressions;
+using PckStudio.External.API.Miles;
using PckStudio.Internal.Json;
using PckStudio.Internal.Deserializer;
using PckStudio.Internal.Serializer;
-using OMI.Workers;
using PckStudio.Internal.App;
using PckStudio.Internal.Skin;
@@ -2382,7 +2385,7 @@ namespace PckStudio
return;
}
- currentPCK.CreateNewAsset("behaviours.bin", PckAssetType.BehavioursFile, BehaviourResources.BehaviourFileInitializer);
+ currentPCK.CreateNewAsset("behaviours.bin", PckAssetType.BehavioursFile, new BehavioursWriter(new BehaviourFile()));
BuildMainTreeView();
}
@@ -2393,7 +2396,9 @@ namespace PckStudio
MessageBox.Show(this, "A behaviours file already exists in this PCK and a new one cannot be created.", "Operation aborted");
return;
}
- currentPCK.CreateNewAsset("entityMaterials.bin", PckAssetType.MaterialFile, MaterialResources.MaterialsFileInitializer);
+ var materialContainer = new MaterialContainer();
+ materialContainer.InitializeDefault();
+ currentPCK.CreateNewAsset("entityMaterials.bin", PckAssetType.MaterialFile, new MaterialFileWriter(materialContainer));
BuildMainTreeView();
}
diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj
index cfd238e7..a682a70d 100644
--- a/PCK-Studio/PckStudio.csproj
+++ b/PCK-Studio/PckStudio.csproj
@@ -134,6 +134,7 @@
+
Form
@@ -230,7 +231,7 @@
Component
-
+
@@ -262,7 +263,7 @@
-
+
@@ -410,8 +411,6 @@
InProgressPrompt.cs
-
-
Form