diff --git a/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.cs b/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.cs index 213adb23..afc01e9e 100644 --- a/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.cs +++ b/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.cs @@ -3,14 +3,13 @@ using System.Collections.Generic; using System.Windows.Forms; using MetroFramework.Forms; using Newtonsoft.Json.Linq; +using PckStudio.Internal.Json; namespace PckStudio.Forms.Additional_Popups.EntityForms { public partial class AddEntry : MetroForm { string selectedEntity = ""; - - private static JObject EntityJSONData = JObject.Parse(Properties.Resources.entityData); public string SelectedEntity => selectedEntity; List treeViewEntityCache = new List(); @@ -24,37 +23,31 @@ namespace PckStudio.Forms.Additional_Popups.EntityForms entities.Images.AddRange(entityImages); treeViewEntity.ImageList = entities; - try + var entityInfos = dataType switch { - int i = 0; + "models" => Entities.ModelInfos, + "materials" => Entities.MaterialInfos, + "behaviours" => Entities.BehaviourInfos, + _ => null, + }; - if (EntityJSONData[dataType] != null) + int i = 0; + + foreach(var entity in entityInfos) + { + TreeNode entityNode = new TreeNode(entity.DisplayName) { - foreach (JObject content in EntityJSONData[dataType].Children()) - { - foreach (JProperty prop in content.Properties()) - { - if (!string.IsNullOrEmpty((string)prop.Value)) - { - TreeNode entityNode = new TreeNode((string)prop.Value) - { - Tag = prop.Name, - ImageIndex = i, - SelectedImageIndex = i, - }; - treeViewEntity.Nodes.Add(entityNode); - treeViewEntityCache.Add(entityNode); - } - i++; - } - } + Tag = entity.InternalName, + ImageIndex = i, + SelectedImageIndex = i, + }; + i++; + if (!String.IsNullOrEmpty(entity.InternalName)) + { + treeViewEntity.Nodes.Add(entityNode); + treeViewEntityCache.Add(entityNode); } } - catch (Newtonsoft.Json.JsonException j_ex) - { - MessageBox.Show(this, j_ex.Message, "Error"); - return; - } treeViewEntity.Sort(); } @@ -64,7 +57,6 @@ namespace PckStudio.Forms.Additional_Popups.EntityForms if (e.Node.Tag is string entityData) { selectedEntity = entityData; - Console.WriteLine(selectedEntity); } } diff --git a/PCK-Studio/Forms/Editor/BehaviourEditor.cs b/PCK-Studio/Forms/Editor/BehaviourEditor.cs index 26b32916..057de695 100644 --- a/PCK-Studio/Forms/Editor/BehaviourEditor.cs +++ b/PCK-Studio/Forms/Editor/BehaviourEditor.cs @@ -14,6 +14,7 @@ using OMI.Formats.Pck; using PckStudio.Properties; using PckStudio.Internal; using PckStudio.Extensions; +using PckStudio.Internal.Json; namespace PckStudio.Forms.Editor { @@ -23,7 +24,7 @@ namespace PckStudio.Forms.Editor private readonly PckFileData _file; BehaviourFile behaviourFile; - private readonly JObject EntityJSONData = JObject.Parse(Properties.Resources.entityData); + private readonly List BehaviourData = Entities.BehaviourInfos; void SetUpTree() { @@ -33,18 +34,10 @@ namespace PckStudio.Forms.Editor { TreeNode EntryNode = new TreeNode(entry.name); - foreach (JObject content in EntityJSONData["behaviours"].Children()) - { - var prop = content.Properties().FirstOrDefault(prop => prop.Name == entry.name); - if (prop is JProperty) - { - EntryNode.Text = (string)prop.Value; - EntryNode.ImageIndex = EntityJSONData["behaviours"].Children().ToList().IndexOf(content); - EntryNode.SelectedImageIndex = EntryNode.ImageIndex; - break; - } - } - + var behaviour = BehaviourData.Find(b => b.InternalName == entry.name); + EntryNode.Text = behaviour.DisplayName; + EntryNode.ImageIndex = BehaviourData.IndexOf(behaviour); + EntryNode.SelectedImageIndex = EntryNode.ImageIndex; EntryNode.Tag = entry; foreach (var posOverride in entry.overrides) @@ -83,10 +76,9 @@ namespace PckStudio.Forms.Editor private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { - if (e.Node is null) return; + if (treeView1.SelectedNode is null) return; - bool isValidOverride = e.Node.Tag is BehaviourFile.RiderPositionOverride.PositionOverride && - treeView1.SelectedNode != null; + bool isValidOverride = treeView1.SelectedNode.Tag is BehaviourFile.RiderPositionOverride.PositionOverride; MobIsTamedCheckbox.Enabled = isValidOverride; MobHasSaddleCheckbox.Enabled = isValidOverride; xUpDown.Enabled = isValidOverride; @@ -97,7 +89,7 @@ namespace PckStudio.Forms.Editor if (isValidOverride) { - var posOverride = e.Node.Tag as BehaviourFile.RiderPositionOverride.PositionOverride; + var posOverride = treeView1.SelectedNode.Tag as BehaviourFile.RiderPositionOverride.PositionOverride; MobIsTamedCheckbox.Checked = posOverride.EntityIsTamed; MobHasSaddleCheckbox.Checked = posOverride.EntityHasSaddle; xUpDown.Value = (decimal)posOverride.x; @@ -172,17 +164,11 @@ namespace PckStudio.Forms.Editor entry.name = diag.SelectedEntity; treeView1.SelectedNode.Tag = entry; - foreach (JObject content in EntityJSONData["behaviours"].Children()) - { - var prop = content.Properties().FirstOrDefault(prop => prop.Name == entry.name); - if (prop is JProperty) - { - treeView1.SelectedNode.Text = (string)prop.Value; - treeView1.SelectedNode.ImageIndex = EntityJSONData["behaviours"].Children().ToList().IndexOf(content); - treeView1.SelectedNode.SelectedImageIndex = treeView1.SelectedNode.ImageIndex; - break; - } - } + var behaviour = BehaviourData.Find(b => b.InternalName == entry.name); + + treeView1.SelectedNode.Text = behaviour.DisplayName; + treeView1.SelectedNode.ImageIndex = BehaviourData.IndexOf(behaviour); + treeView1.SelectedNode.SelectedImageIndex = treeView1.SelectedNode.ImageIndex; } } @@ -225,17 +211,12 @@ namespace PckStudio.Forms.Editor TreeNode NewOverrideNode = new TreeNode(NewOverride.name); NewOverrideNode.Tag = NewOverride; - foreach (JObject content in EntityJSONData["behaviours"].Children()) - { - var prop = content.Properties().FirstOrDefault(prop => prop.Name == NewOverride.name); - if (prop is JProperty) - { - NewOverrideNode.Text = (string)prop.Value; - NewOverrideNode.ImageIndex = EntityJSONData["behaviours"].Children().ToList().IndexOf(content); - NewOverrideNode.SelectedImageIndex = NewOverrideNode.ImageIndex; - break; - } - } + + var behaviour = BehaviourData.Find(b => b.InternalName == NewOverride.name); + NewOverrideNode.Text = behaviour.DisplayName; + NewOverrideNode.ImageIndex = BehaviourData.IndexOf(behaviour); + NewOverrideNode.SelectedImageIndex = NewOverrideNode.ImageIndex; + treeView1.Nodes.Add(NewOverrideNode); treeView1.SelectedNode = NewOverrideNode; diff --git a/PCK-Studio/Forms/Editor/MaterialsEditor.cs b/PCK-Studio/Forms/Editor/MaterialsEditor.cs index 90af5a71..75fbd5eb 100644 --- a/PCK-Studio/Forms/Editor/MaterialsEditor.cs +++ b/PCK-Studio/Forms/Editor/MaterialsEditor.cs @@ -12,6 +12,7 @@ using OMI.Formats.Material; using OMI.Workers.Material; using PckStudio.Internal; using PckStudio.Extensions; +using PckStudio.Internal.Json; namespace PckStudio.Forms.Editor { @@ -21,7 +22,7 @@ namespace PckStudio.Forms.Editor private readonly PckFileData _file; MaterialContainer materialFile; - private readonly JObject EntityJSONData = JObject.Parse(Properties.Resources.entityData); + private readonly List MaterialData = Entities.BehaviourInfos; private bool showInvalidEntries; @@ -36,23 +37,15 @@ namespace PckStudio.Forms.Editor { TreeNode EntryNode = new TreeNode(entry.Name); - EntryNode.ImageIndex = -1; - - foreach (JObject content in EntityJSONData["materials"].Children()) - { - var prop = content.Properties().FirstOrDefault(prop => prop.Name == entry.Name); - if (prop is JProperty) - { - EntryNode.Text = (string)prop.Value; - EntryNode.ImageIndex = EntityJSONData["materials"].Children().ToList().IndexOf(content); - break; - } + var material = MaterialData.Find(m => m.InternalName == entry.Name); + if(material != null) + { + EntryNode.Text = material.DisplayName; + EntryNode.ImageIndex = MaterialData.IndexOf(material); + EntryNode.Tag = entry; } - - EntryNode.Tag = entry; - // check for invalid material entry - if (EntryNode.ImageIndex == -1) + else { EntryNode.ImageIndex = 127; // icon for invalid entry EntryNode.Text += " (Invalid)"; @@ -164,17 +157,11 @@ namespace PckStudio.Forms.Editor TreeNode NewEntryNode = new TreeNode(NewEntry.Name); NewEntryNode.Tag = NewEntry; - foreach (JObject content in EntityJSONData["materials"].Children()) - { - var prop = content.Properties().FirstOrDefault(prop => prop.Name == NewEntry.Name); - if (prop is JProperty) - { - NewEntryNode.Text = (string)prop.Value; - NewEntryNode.ImageIndex = EntityJSONData["materials"].Children().ToList().IndexOf(content); - NewEntryNode.SelectedImageIndex = NewEntryNode.ImageIndex; - break; - } - } + + var material = MaterialData.Find(m => m.InternalName == NewEntry.Name); + NewEntryNode.Text = material.DisplayName; + NewEntryNode.ImageIndex = MaterialData.IndexOf(material); + NewEntryNode.SelectedImageIndex = NewEntryNode.ImageIndex; treeView1.Nodes.Add(NewEntryNode); } } diff --git a/PCK-Studio/Internal/Json/Entities.cs b/PCK-Studio/Internal/Json/Entities.cs new file mode 100644 index 00000000..a0729112 --- /dev/null +++ b/PCK-Studio/Internal/Json/Entities.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Newtonsoft.Json; +using PckStudio.Extensions; +using PckStudio.Properties; + +namespace PckStudio.Internal.Json +{ + internal class JsonEntities + { + [JsonProperty("entries")] + public List Entries { get; set; } + } + + internal static class Entities + { + private static JsonEntities _jsonModelData, _jsonMaterialData, _jsonBehaviourData; + internal static JsonEntities JsonModelData => _jsonModelData ??= JsonConvert.DeserializeObject(Resources.entityModelsData); + internal static JsonEntities JsonMaterialData => _jsonMaterialData ??= JsonConvert.DeserializeObject(Resources.entityMaterialsData); + internal static JsonEntities JsonBehaviourData => _jsonBehaviourData ??= JsonConvert.DeserializeObject(Resources.entityBehavioursData); + internal static List ModelInfos => JsonModelData.Entries; + internal static List MaterialInfos => JsonMaterialData.Entries; + internal static List BehaviourInfos => JsonBehaviourData.Entries; + } +} diff --git a/PCK-Studio/Internal/Json/EntityInfo.cs b/PCK-Studio/Internal/Json/EntityInfo.cs new file mode 100644 index 00000000..9c72c388 --- /dev/null +++ b/PCK-Studio/Internal/Json/EntityInfo.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; + +namespace PckStudio.Internal.Json +{ + internal class EntityInfo + { + [JsonProperty("displayName")] + public string DisplayName { get; set; } + + [JsonProperty("internalName")] + public string InternalName { get; set; } + + public EntityInfo(string displayName, string internalName) + { + DisplayName = displayName; + InternalName = internalName; + } + } +} diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index dbb02640..ff19b0a0 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -142,6 +142,8 @@ + + @@ -602,7 +604,9 @@ - + + + diff --git a/PCK-Studio/Properties/Resources.Designer.cs b/PCK-Studio/Properties/Resources.Designer.cs index 7ecd697d..a4b2a0c7 100644 --- a/PCK-Studio/Properties/Resources.Designer.cs +++ b/PCK-Studio/Properties/Resources.Designer.cs @@ -339,32 +339,110 @@ namespace PckStudio.Properties { /// /// Looks up a localized string similar to { /// "COMMENT": "Entity data research by NessieHax (Miku-666) and MattNL", - /// "models": [ - /// { "": "" }, - /// { "": "" }, - /// { "": "" }, - /// { "bat": "Bat" }, - /// { "blaze": "Blaze" }, - /// { "boat": "Boat" }, - /// { "cat": "Cat (PS4 EXCLUSIVE)" }, - /// { "": "" }, - /// { "": "" }, - /// { "chicken": "Chicken" }, - /// { "cod": "Cod" }, - /// { "": "" }, - /// { "cow": "Cow" }, - /// { "creeper": "Creeper" }, - /// { "dolphin": "Dolphin" }, - /// { "": "" }, - /// { "": "" }, - /// { "zombie.drowned": "Drowned" }, - /// { "": "" }, - /// { "": "" }, - /// [rest of string was truncated]";. + /// "entries": [ + /// { + /// "internalName": "area_effect_cloud", + /// "displayName": "Area Effect Cloud / Particle" + /// }, + /// { + /// "internalName": "armor_stand", + /// "displayName": "Armor Stand" + /// }, + /// { + /// "internalName": "arrow", + /// "displayName": "Arrow" + /// }, + /// { + /// "internalName": "bat", + /// "displayName": "Bat" + /// }, + /// { + /// "internalName": "blaze", + /// "displayName": "Blaze" + /// }, + /// { + /// "internalName": "boat", + /// "display [rest of string was truncated]";. /// - public static string entityData { + public static string entityBehavioursData { get { - return ResourceManager.GetString("entityData", resourceCulture); + return ResourceManager.GetString("entityBehavioursData", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to { + /// "COMMENT": "Entity data research by NessieHax (Miku-666) and MattNL", + /// "entries": [ + /// { + /// "internalName": "", + /// "displayName": "" + /// }, + /// { + /// "internalName": "", + /// "displayName": "" + /// }, + /// { + /// "internalName": "", + /// "displayName": "" + /// }, + /// { + /// "internalName": "bat", + /// "displayName": "Bat" + /// }, + /// { + /// "internalName": "blaze_head", + /// "displayName": "Blaze" + /// }, + /// { + /// "internalName": "", + /// "displayName": "" + /// }, + /// { + /// "internalName": "cat", + /// "displayName": "Cat [PS4 [rest of string was truncated]";. + /// + public static string entityMaterialsData { + get { + return ResourceManager.GetString("entityMaterialsData", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to { + /// "COMMENT": "Entity data research by NessieHax (Miku-666) and MattNL", + /// "entries": [ + /// { + /// "internalName": "", + /// "displayName": "" + /// }, + /// { + /// "internalName": "", + /// "displayName": "" + /// }, + /// { + /// "internalName": "", + /// "displayName": "" + /// }, + /// { + /// "internalName": "bat", + /// "displayName": "Bat" + /// }, + /// { + /// "internalName": "blaze", + /// "displayName": "Blaze" + /// }, + /// { + /// "internalName": "boat", + /// "displayName": "Boat" + /// }, + /// { + /// "internalName": "cat", + /// "displayName": "Cat [ [rest of string was truncated]";. + /// + public static string entityModelsData { + get { + return ResourceManager.GetString("entityModelsData", resourceCulture); } } diff --git a/PCK-Studio/Properties/Resources.resx b/PCK-Studio/Properties/Resources.resx index e642016c..0f00925e 100644 --- a/PCK-Studio/Properties/Resources.resx +++ b/PCK-Studio/Properties/Resources.resx @@ -277,9 +277,6 @@ ..\Resources\atlases\entities.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\atlases\entityData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - ..\Resources\icons\file_delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -376,4 +373,13 @@ ..\Resources\external\trello.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\atlases\entityBehavioursData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\atlases\entityMaterialsData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\atlases\entityModelsData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + \ No newline at end of file diff --git a/PCK-Studio/Resources/atlases/entities.png b/PCK-Studio/Resources/atlases/entities.png index 46881de8..3286d23f 100644 Binary files a/PCK-Studio/Resources/atlases/entities.png and b/PCK-Studio/Resources/atlases/entities.png differ diff --git a/PCK-Studio/Resources/atlases/entityBehavioursData.json b/PCK-Studio/Resources/atlases/entityBehavioursData.json new file mode 100644 index 00000000..921fe41f --- /dev/null +++ b/PCK-Studio/Resources/atlases/entityBehavioursData.json @@ -0,0 +1,489 @@ +{ + "COMMENT": "Entity data research by NessieHax (Miku-666) and MattNL", + "entries": [ + { + "internalName": "area_effect_cloud", + "displayName": "Area Effect Cloud / Particle" + }, + { + "internalName": "armor_stand", + "displayName": "Armor Stand" + }, + { + "internalName": "arrow", + "displayName": "Arrow" + }, + { + "internalName": "bat", + "displayName": "Bat" + }, + { + "internalName": "blaze", + "displayName": "Blaze" + }, + { + "internalName": "boat", + "displayName": "Boat" + }, + { + "internalName": "cat", + "displayName": "Cat [PS4 EXCLUSIVE]" + }, + { + "internalName": "cave_spider", + "displayName": "Cave Spider" + }, + { + "internalName": "chest_minecart", + "displayName": "Chest Minecart" + }, + { + "internalName": "chicken", + "displayName": "Chicken" + }, + { + "internalName": "cod", + "displayName": "Cod" + }, + { + "internalName": "commandblock_minecart", + "displayName": "Command Block Minecart" + }, + { + "internalName": "cow", + "displayName": "Cow" + }, + { + "internalName": "creeper", + "displayName": "Creeper" + }, + { + "internalName": "dolphin", + "displayName": "Dolphin" + }, + { + "internalName": "donkey", + "displayName": "Donkey" + }, + { + "internalName": "dragon_fireball", + "displayName": "Dragon Fireball" + }, + { + "internalName": "drowned", + "displayName": "Drowned" + }, + { + "internalName": "egg", + "displayName": "Thrown Egg" + }, + { + "internalName": "elder_guardian", + "displayName": "Elder Guardian" + }, + { + "internalName": "ender_crystal", + "displayName": "End Crystal" + }, + { + "internalName": "ender_dragon", + "displayName": "Ender Dragon" + }, + { + "internalName": "ender_pearl", + "displayName": "Thrown Ender Pearl" + }, + { + "internalName": "enderman", + "displayName": "Enderman" + }, + { + "internalName": "endermite", + "displayName": "Endermite" + }, + { + "internalName": "evocation_illager", + "displayName": "Evoker" + }, + { + "internalName": "evocation_fangs", + "displayName": "Evoker Fangs" + }, + { + "internalName": "xp_bottle", + "displayName": "Thrown Bottle O' Enchanting" + }, + { + "internalName": "xp_orb", + "displayName": "Experience Orb" + }, + { + "internalName": "eye_of_ender_signal", + "displayName": "Thrown Eye of Ender" + }, + { + "internalName": "falling_block", + "displayName": "Falling Block" + }, + { + "internalName": "fireball", + "displayName": "Fireball" + }, + { + "internalName": "fireworks_rocket", + "displayName": "Firework Rocket" + }, + { + "internalName": "furnace_minecart", + "displayName": "Furnace Minecart" + }, + { + "internalName": "ghast", + "displayName": "Ghast" + }, + { + "internalName": "giant", + "displayName": "Giant" + }, + { + "internalName": "guardian", + "displayName": "Guardian" + }, + { + "internalName": "hopper_minecart", + "displayName": "Hopper Minecart" + }, + { + "internalName": "horse", + "displayName": "Horse" + }, + { + "internalName": "husk", + "displayName": "Husk" + }, + { + "internalName": "villager_golem", + "displayName": "Iron Golem" + }, + { + "internalName": "item", + "displayName": "Dropped Item" + }, + { + "internalName": "item_frame", + "displayName": "Item Frame" + }, + { + "internalName": "leash_knot", + "displayName": "Lead Knot" + }, + { + "internalName": "llama", + "displayName": "Llama" + }, + { + "internalName": "llama_spit", + "displayName": "Llama Spit" + }, + { + "internalName": "magma_cube", + "displayName": "Magma Cube" + }, + { + "internalName": "minecart", + "displayName": "Minecart" + }, + { + "internalName": "mooshroom", + "displayName": "Mooshroom" + }, + { + "internalName": "mule", + "displayName": "Mule" + }, + { + "internalName": "ocelot", + "displayName": "Ocelot" + }, + { + "internalName": "painting", + "displayName": "Painting" + }, + { + "internalName": "panda", + "displayName": "Panda [PS4 EXCLUSIVE]" + }, + { + "internalName": "parrot", + "displayName": "Parrot" + }, + { + "internalName": "phantom", + "displayName": "Phantom" + }, + { + "internalName": "pig", + "displayName": "Pig" + }, + { + "internalName": "pillager", + "displayName": "Pillager [PS4 EXCLUSIVE]" + }, + { + "internalName": "polar_bear", + "displayName": "Polar Bear" + }, + { + "internalName": "potion", + "displayName": "Thrown Potion" + }, + { + "internalName": "pufferfish", + "displayName": "Pufferfish" + }, + { + "internalName": "rabbit", + "displayName": "Rabbit" + }, + { + "internalName": "ravager", + "displayName": "Ravager [PS4 EXCLUSIVE]" + }, + { + "internalName": "salmon", + "displayName": "Salmon" + }, + { + "internalName": "sheep", + "displayName": "Sheep" + }, + { + "internalName": "shulker", + "displayName": "Shulker" + }, + { + "internalName": "shulker_bullet", + "displayName": "Shulker Bullet" + }, + { + "internalName": "silverfish", + "displayName": "Silverfish" + }, + { + "internalName": "skeleton", + "displayName": "Skeleton" + }, + { + "internalName": "skeleton_horse", + "displayName": "Skeleton Horse" + }, + { + "internalName": "slime", + "displayName": "Slime" + }, + { + "internalName": "small_fireball", + "displayName": "Small Fireball" + }, + { + "internalName": "snowman", + "displayName": "Snow Golem" + }, + { + "internalName": "snowball", + "displayName": "Thrown Snowball" + }, + { + "internalName": "spawner_minecart", + "displayName": "Spawner Minecart" + }, + { + "internalName": "spectral_arrow", + "displayName": "Spectral Arrow" + }, + { + "internalName": "spider", + "displayName": "Spider" + }, + { + "internalName": "squid", + "displayName": "Squid" + }, + { + "internalName": "stray", + "displayName": "Stray" + }, + { + "internalName": "tnt", + "displayName": "Primed TNT" + }, + { + "internalName": "tnt_minecart", + "displayName": "TNT Minecart" + }, + { + "internalName": "trident", + "displayName": "Thrown Trident" + }, + { + "internalName": "tropical_fish", + "displayName": "Tropical Fish" + }, + { + "internalName": "turtle", + "displayName": "Turtle" + }, + { + "internalName": "vex", + "displayName": "Vex" + }, + { + "internalName": "villager", + "displayName": "Villager" + }, + { + "internalName": "vindication_illager", + "displayName": "Vindicator" + }, + { + "internalName": "wandering_trader", + "displayName": "Wandering Trader [PS4 EXCLUSIVE]" + }, + { + "internalName": "witch", + "displayName": "Witch" + }, + { + "internalName": "wither", + "displayName": "Wither" + }, + { + "internalName": "wither_skeleton", + "displayName": "Wither Skeleton" + }, + { + "internalName": "wither_skull", + "displayName": "Wither Skull" + }, + { + "internalName": "wolf", + "displayName": "Wolf" + }, + { + "internalName": "zombie", + "displayName": "Zombie" + }, + { + "internalName": "zombie_horse", + "displayName": "Zombie Horse" + }, + { + "internalName": "zombie_pigman", + "displayName": "Zombie Pigman" + }, + { + "internalName": "zombie_villager", + "displayName": "Zombie Villager" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "illusion_illager", + "displayName": "Illusioner" + } + ] +} diff --git a/PCK-Studio/Resources/atlases/entityData.json b/PCK-Studio/Resources/atlases/entityData.json deleted file mode 100644 index 42c39cb0..00000000 --- a/PCK-Studio/Resources/atlases/entityData.json +++ /dev/null @@ -1,369 +0,0 @@ -{ - "COMMENT": "Entity data research by NessieHax (Miku-666) and MattNL", - "models": [ - { "": "" }, - { "": "" }, - { "": "" }, - { "bat": "Bat" }, - { "blaze": "Blaze" }, - { "boat": "Boat" }, - { "cat": "Cat (PS4 EXCLUSIVE)" }, - { "": "" }, - { "": "" }, - { "chicken": "Chicken" }, - { "cod": "Cod" }, - { "": "" }, - { "cow": "Cow" }, - { "creeper": "Creeper" }, - { "dolphin": "Dolphin" }, - { "": "" }, - { "": "" }, - { "zombie.drowned": "Drowned" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "dragon": "Ender Dragon" }, - { "": "" }, - { "enderman": "Enderman" }, - { "endermite": "Endermite" }, - { "evoker": "Evoker" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "ghast": "Ghast" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "zombie.husk": "Husk" }, - { "irongolem": "Iron Golem" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "llama": "Llama" }, - { "": "" }, - { "lavaslime": "Magma Cube" }, - { "minecart": "Minecart" }, - { "mooshroom": "Mooshroom" }, - { "": "" }, - { "ocelot": "Ocelot" }, - { "": "" }, - { "panda": "Panda (PS4 EXCLUSIVE)" }, - { "parrot": "Parrot" }, - { "phantom": "Phantom" }, - { "pig": "Pig" }, - { "": "" }, - { "polarbear": "Polar Bear" }, - { "": "" }, - { "pufferfish.large": "Pufferfish (Large)" }, - { "rabbit": "Rabbit" }, - { "": "" }, - { "salmon": "Salmon" }, - { "": "" }, - { "shulker": "Shulker" }, - { "": "" }, - { "silverfish": "Silverfish" }, - { "skeleton": "Skeleton" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "snowgolem": "Snow Golem" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "squid": "Squid" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "trident": "Thrown Trident" }, - { "tropicalfish_a": "Tropical Fish (Small)" }, - { "turtle": "Turtle" }, - { "vex": "Vex" }, - { "villager": "Villager" }, - { "vindicator": "Vindicator/Illusioner" }, - { "": "" }, - { "witch": "Witch" }, - { "witherboss": "Wither" }, - { "skeleton.wither": "Wither Skeleton" }, - { "witherboss.armor": "Wither (Armor)" }, - { "wolf": "Wolf" }, - { "zombie": "Zombie" }, - { "": "" }, - { "pigzombie": "Zombie Pigman" }, - { "zombie.villager": "Zombie Villager" }, - { "skeleton_head": "Skeleton Skull" }, - { "skeleton_wither_head": "Wither Skeleton Skull" }, - { "zombie_head": "Zombie Head" }, - { "creeper_head": "Creeper Head" }, - { "dragon_head": "Ender Dragon Head" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "spider": "Spiders" }, - { "bed": "Bed" }, - { "guardian": "Guardians" }, - { "horse.v2": "Horses/Donky/Mule" }, - { "pufferfish.small": "Pufferfish (Small)" }, - { "pufferfish.mid": "Pufferfish (Medium)" }, - { "sheep.sheared": "Sheep (Without Fur)" }, - { "sheep": "Sheep (Fur Only)" }, - { "slime": "Slime (Inner)" }, - { "slime.armor": "Slime (Outer)" }, - { "skeleton.stray": "Stray" }, - { "stray.armor": "Stray (Overlay)" }, - { "tropicalfish_b": "Tropical Fish (Large)" } - ], - "materials": [ - { "": "" }, - { "": "" }, - { "": "" }, - { "bat": "Bat" }, - { "blaze_head": "Blaze (Head Only)" }, - { "": "" }, - { "cat": "Cat (PS4 EXCLUSIVE)" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "drowned": "Drowned" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "ender_dragon": "Ender Dragon" }, - { "": "" }, - { "enderman": "Enderman" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "ghast": "Ghast" }, - { "": "" }, - { "guardian": "Guardian" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "iron_golem": "Iron Golem" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "magma_cube": "Magma Cube" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "phantom": "Phantom" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "sheep": "Sheep" }, - { "shulker": "Shulker" }, - { "": "" }, - { "": "" }, - { "skeleton": "Skeleton" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "stray": "Stray" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "wither_boss": "Wither" }, - { "wither_skeleton": "Wither Skeleton" }, - { "": "" }, - { "wolf": "Wolf" }, - { "": "" }, - { "": "" }, - { "zombie_pigman": "Zombie Pigman" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "villager": "Villager (PS4 EXCLUSIVE)" }, - { "zombie_villager": "Zombie Villager (PS4 EXCLUSIVE)" }, - { "": "" }, - { "phantom_invisible": "Phantom (Second Layer)" }, - { "enderman_invisible": "Enderman (Second Layer)" }, - { "spider_invisible": "Spiders (Second Layer)" }, - { "spider": "Spiders" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" } - ], - "behaviours": [ - { "area_effect_cloud": "Area Effect Cloud / Particle" }, - { "armor_stand": "Armor Stand" }, - { "arrow": "Arrow" }, - { "bat": "Bat" }, - { "blaze": "Blaze" }, - { "boat": "Boat" }, - { "cat": "Cat (PS4 EXCLUSIVE)" }, - { "cave_spider": "Cave Spider" }, - { "chest_minecart": "Chest Minecart" }, - { "chicken": "Chicken" }, - { "cod": "Cod" }, - { "commandblock_minecart": "Command Block Minecart" }, - { "cow": "Cow" }, - { "creeper": "Creeper" }, - { "dolphin": "Dolphin" }, - { "donkey": "Donkey" }, - { "dragon_fireball": "Dragon Fireball" }, - { "drowned": "Drowned" }, - { "egg": "Thrown Egg" }, - { "elder_guardian": "Elder Guardian" }, - { "ender_crystal": "End Crystal" }, - { "ender_dragon": "Ender Dragon" }, - { "ender_pearl": "Thrown Ender Pearl" }, - { "enderman": "Enderman" }, - { "endermite": "Endermite" }, - { "evocation_illager": "Evoker" }, - { "evocation_fangs": "Evoker Fangs" }, - { "xp_bottle": "Thrown Experience Bottle" }, - { "xp_orb": "Experience Orb" }, - { "eye_of_ender_signal": "Thrown Eye of Ender" }, - { "falling_block": "Falling Block" }, - { "fireball": "Fireball" }, - { "fireworks_rocket": "Firework Rocket" }, - { "furnace_minecart": "Furnace Minecart" }, - { "ghast": "Ghast" }, - { "giant": "Giant" }, - { "guardian": "Guardian" }, - { "hopper_minecart": "Hopper Minecart" }, - { "horse": "Horse" }, - { "husk": "Husk" }, - { "villager_golem": "Iron Golem" }, - { "item": "Dropped Item" }, - { "item_frame": "Item Frame" }, - { "leash_knot": "Lead Knot" }, - { "llama": "Llama" }, - { "llama_spit": "Llama Spit" }, - { "magma_cube": "Magma Cube" }, - { "minecart": "Minecart" }, - { "mooshroom": "Mooshroom" }, - { "mule": "Mule" }, - { "ocelot": "Ocelot" }, - { "painting": "Painting" }, - { "panda": "Panda (PS4 EXCLUSIVE)" }, - { "parrot": "Parrot" }, - { "phantom": "Phantom" }, - { "pig": "Pig" }, - { "pillager": "Pillager (PS4 EXCLUSIVE)" }, - { "polar_bear": "Polar Bear" }, - { "potion": "Thrown Potion" }, - { "pufferfish": "Pufferfish" }, - { "rabbit": "Rabbit" }, - { "ravager": "Ravager (PS4 EXCLUSIVE)" }, - { "salmon": "Salmon" }, - { "sheep": "Sheep" }, - { "shulker": "Shulker" }, - { "shulker_bullet": "Shulker Bullet" }, - { "silverfish": "Silverfish" }, - { "skeleton": "Skeleton" }, - { "skeleton_horse": "Skeleton Horse" }, - { "slime": "Slime" }, - { "small_fireball": "Small Fireball" }, - { "snowman": "Snow Golem" }, - { "snowball": "Thrown Snowball" }, - { "spawner_minecart": "Spawner Minecart" }, - { "spectral_arrow": "Spectral Arrow" }, - { "spider": "Spider" }, - { "squid": "Squid" }, - { "stray": "Stray" }, - { "tnt": "Primed TNT" }, - { "tnt_minecart": "TNT Minecart" }, - { "trident": "Thrown Trident" }, - { "tropical_fish": "Tropical Fish" }, - { "turtle": "Turtle" }, - { "vex": "Vex" }, - { "villager": "Villager" }, - { "vindication_illager": "Vindicator" }, - { "wandering_trader": "Wandering Trader (PS4 Exclusive)" }, - { "witch": "Witch" }, - { "wither": "Wither" }, - { "wither_skeleton": "Wither Skeleton" }, - { "wither_skull": "Wither Skull" }, - { "wolf": "Wolf" }, - { "zombie": "Zombie" }, - { "zombie_horse": "Zombie Horse" }, - { "zombie_pigman": "Zombie Pigman" }, - { "zombie_villager": "Zombie Villager" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" }, - { "": "" } - ] -} diff --git a/PCK-Studio/Resources/atlases/entityMaterialsData.json b/PCK-Studio/Resources/atlases/entityMaterialsData.json new file mode 100644 index 00000000..259a077b --- /dev/null +++ b/PCK-Studio/Resources/atlases/entityMaterialsData.json @@ -0,0 +1,485 @@ +{ + "COMMENT": "Entity data research by NessieHax (Miku-666) and MattNL", + "entries": [ + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "bat", + "displayName": "Bat" + }, + { + "internalName": "blaze_head", + "displayName": "Blaze" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "cat", + "displayName": "Cat [PS4 EXCLUSIVE]" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "drowned", + "displayName": "Drowned" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "ender_dragon", + "displayName": "Ender Dragon" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "enderman", + "displayName": "Enderman" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "ghast", + "displayName": "Ghast" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "guardian", + "displayName": "Guardian" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "iron_golem", + "displayName": "Iron Golem" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "magma_cube", + "displayName": "Magma Cube" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "phantom", + "displayName": "Phantom" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "sheep", + "displayName": "Sheep" + }, + { + "internalName": "shulker", + "displayName": "Shulker" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "skeleton", + "displayName": "Skeleton" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "stray", + "displayName": "Stray" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "wither_boss", + "displayName": "Wither" + }, + { + "internalName": "wither_skeleton", + "displayName": "Wither Skeleton" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "wolf", + "displayName": "Wolf" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "zombie_pigman", + "displayName": "Zombie Pigman" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "villager", + "displayName": "Villager [PS4 EXCLUSIVE]" + }, + { + "internalName": "zombie_villager", + "displayName": "Zombie Villager [PS4 EXCLUSIVE]" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "phantom_invisible", + "displayName": "Phantom (Overlay)" + }, + { + "internalName": "enderman_invisible", + "displayName": "Enderman (Overlay)" + }, + { + "internalName": "spider_invisible", + "displayName": "Spiders (Overlay)" + }, + { + "internalName": "spider", + "displayName": "Spiders" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + } + ] +} diff --git a/PCK-Studio/Resources/atlases/entityModelsData.json b/PCK-Studio/Resources/atlases/entityModelsData.json new file mode 100644 index 00000000..647be99b --- /dev/null +++ b/PCK-Studio/Resources/atlases/entityModelsData.json @@ -0,0 +1,485 @@ +{ + "COMMENT": "Entity data research by NessieHax (Miku-666) and MattNL", + "entries": [ + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "bat", + "displayName": "Bat" + }, + { + "internalName": "blaze", + "displayName": "Blaze" + }, + { + "internalName": "boat", + "displayName": "Boat" + }, + { + "internalName": "cat", + "displayName": "Cat [PS4 EXCLUSIVE]" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "chicken", + "displayName": "Chicken" + }, + { + "internalName": "cod", + "displayName": "Cod" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "cow", + "displayName": "Cow" + }, + { + "internalName": "creeper", + "displayName": "Creeper" + }, + { + "internalName": "dolphin", + "displayName": "Dolphin" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "zombie.drowned", + "displayName": "Drowned" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "dragon", + "displayName": "Ender Dragon" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "enderman", + "displayName": "Enderman" + }, + { + "internalName": "endermite", + "displayName": "Endermite" + }, + { + "internalName": "evoker", + "displayName": "Evoker" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "ghast", + "displayName": "Ghast" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "zombie.husk", + "displayName": "Husk" + }, + { + "internalName": "irongolem", + "displayName": "Iron Golem" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "llama", + "displayName": "Llama" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "lavaslime", + "displayName": "Magma Cube" + }, + { + "internalName": "minecart", + "displayName": "Minecart" + }, + { + "internalName": "mooshroom", + "displayName": "Mooshroom" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "ocelot", + "displayName": "Ocelot" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "panda", + "displayName": "Panda [PS4 EXCLUSIVE]" + }, + { + "internalName": "parrot", + "displayName": "Parrot" + }, + { + "internalName": "phantom", + "displayName": "Phantom" + }, + { + "internalName": "pig", + "displayName": "Pig" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "polarbear", + "displayName": "Polar Bear" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "pufferfish.large", + "displayName": "Pufferfish (Large)" + }, + { + "internalName": "rabbit", + "displayName": "Rabbit" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "salmon", + "displayName": "Salmon" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "shulker", + "displayName": "Shulker" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "silverfish", + "displayName": "Silverfish" + }, + { + "internalName": "skeleton", + "displayName": "Skeleton" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "snowgolem", + "displayName": "Snow Golem" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "squid", + "displayName": "Squid" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "trident", + "displayName": "Thrown Trident" + }, + { + "internalName": "tropicalfish_a", + "displayName": "Tropical Fish (Small)" + }, + { + "internalName": "turtle", + "displayName": "Turtle" + }, + { + "internalName": "vex", + "displayName": "Vex" + }, + { + "internalName": "villager", + "displayName": "Villager" + }, + { + "internalName": "vindicator", + "displayName": "Vindicator/Illusioner" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "witch", + "displayName": "Witch" + }, + { + "internalName": "witherboss", + "displayName": "Wither" + }, + { + "internalName": "skeleton.wither", + "displayName": "Wither Skeleton" + }, + { + "internalName": "witherboss.armor", + "displayName": "Wither (Armor)" + }, + { + "internalName": "wolf", + "displayName": "Wolf" + }, + { + "internalName": "zombie", + "displayName": "Zombie" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "pigzombie", + "displayName": "Zombie Pigman" + }, + { + "internalName": "zombie.villager", + "displayName": "Zombie Villager" + }, + { + "internalName": "skeleton_head", + "displayName": "Skeleton Skull" + }, + { + "internalName": "skeleton_wither_head", + "displayName": "Wither Skeleton Skull" + }, + { + "internalName": "zombie_head", + "displayName": "Zombie Head" + }, + { + "internalName": "creeper_head", + "displayName": "Creeper Head" + }, + { + "internalName": "dragon_head", + "displayName": "Ender Dragon Head" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "spider", + "displayName": "Spider" + }, + { + "internalName": "bed", + "displayName": "Bed" + }, + { + "internalName": "guardian", + "displayName": "Guardian" + }, + { + "internalName": "horse.v2", + "displayName": "Horse/Donkey/Mule" + }, + { + "internalName": "pufferfish.small", + "displayName": "Pufferfish (Small)" + }, + { + "internalName": "pufferfish.mid", + "displayName": "Pufferfish (Medium)" + }, + { + "internalName": "sheep.sheared", + "displayName": "Sheep (Without Fur)" + }, + { + "internalName": "sheep", + "displayName": "Sheep (Fur Only)" + }, + { + "internalName": "slime", + "displayName": "Slime (Inner)" + }, + { + "internalName": "slime.armor", + "displayName": "Slime (Outer)" + }, + { + "internalName": "skeleton.stray", + "displayName": "Stray" + }, + { + "internalName": "stray.armor", + "displayName": "Stray (Overlay)" + }, + { + "internalName": "tropicalfish_b", + "displayName": "Tropical Fish (Large)" + } + ] +}