Creates a method of parsing and creating Bedrock JSON Sound files

This commit is contained in:
Felix Miller
2022-08-10 23:59:27 -04:00
parent b52de5bc0f
commit 00cc82b6c8
3 changed files with 49 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace PckStudio.Classes.IO.Sounds
{
public class SoundIO
{
public Dictionary<string, Type> Read(string Filepath)
{
var jObj = (Newtonsoft.Json.Linq.JObject)JsonConvert.DeserializeObject(File.ReadAllText(Filepath));
var dict = JsonConvert.DeserializeObject<Dictionary<string, Type>>(jObj.ToString());
return dict;
}
public string Serialize(Dictionary<string, Type> input)
{
return JsonConvert.SerializeObject(input, Formatting.Indented);
}
}
}

View File

@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PckStudio.Classes.IO.Sounds
{
public class Type
{
public bool replace { get; set; }
public List<Sound> sounds = new List<Sound>();
}
public class Sound
{
public string name { get; set; }
public string type { get; set; }
public bool stream { get; set; }
}
}

View File

@@ -149,6 +149,8 @@
<Compile Include="Classes\IO\PCK\PCKAudioFileWriter.cs" />
<Compile Include="Classes\IO\COL\COLFileReader.cs" />
<Compile Include="Classes\IO\COL\COLFileWriter.cs" />
<Compile Include="Classes\IO\Sounds\SoundIO.cs" />
<Compile Include="Classes\IO\Sounds\Sounds.cs" />
<Compile Include="Classes\Utils\SkinANIM.cs" />
<Compile Include="Classes\FileTypes\PCKProperties.cs" />
<Compile Include="Classes\FileTypes\PCKFile.cs" />