mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/PCK-Studio.git
synced 2026-06-25 20:55:47 +00:00
LegacySkinExporter.cs - Update 'defaultSkinParts'
This commit is contained in:
@@ -12,6 +12,7 @@ using OMI.Formats.Pck;
|
||||
using PckStudio.Classes.Conversion.Legacy.JsonDefinitions;
|
||||
using PckStudio.Extensions;
|
||||
using PckStudio.Conversion.Common.JsonDefinitions;
|
||||
using PckStudio.Classes.Utils;
|
||||
|
||||
namespace PckStudio.Conversion.Legacy
|
||||
{
|
||||
@@ -48,38 +49,44 @@ namespace PckStudio.Conversion.Legacy
|
||||
|
||||
var file = new PckFile.FileData("", PckFile.FileData.FileType.SkinFile);
|
||||
|
||||
var anim = new SkinANIM();
|
||||
var boxes = new Stack<SkinBOX>(10);
|
||||
|
||||
return default!;
|
||||
}
|
||||
return default!;
|
||||
}
|
||||
|
||||
private static GeometryCube[] defaultSkinParts = new GeometryCube[8]
|
||||
private static Dictionary<string, GeometryCube> defaultSkinParts = new Dictionary<string, GeometryCube>()
|
||||
{
|
||||
// head
|
||||
new GeometryCube(new Vector3(-4, 24, -4), new Vector3(8), new Vector2(0)),
|
||||
|
||||
// body
|
||||
new GeometryCube(new Vector3(-4, 12, -2), new Vector3(8, 12, 4), new Vector2(16)),
|
||||
|
||||
// leg0
|
||||
new GeometryCube(new Vector3(-4, 0, -2), new Vector3(4, 12, 4), new Vector2(0, 16)),
|
||||
|
||||
// leg1
|
||||
new GeometryCube(new Vector3(0, 0, -2), new Vector3(4, 12, 4), new Vector2(16, 48)),
|
||||
|
||||
// arm0
|
||||
new GeometryCube(new Vector3(-7, 12, -2), new Vector3(4, 12, 4), new Vector2(40, 16)),
|
||||
|
||||
// arm1
|
||||
new GeometryCube(new Vector3(4, 24, -2), new Vector3(4, 12, 4), new Vector2(32, 48)),
|
||||
|
||||
// arm0 slim
|
||||
new GeometryCube(new Vector3(-7, 12, -2), new Vector3(3, 12, 4), new Vector2(40, 16)),
|
||||
|
||||
// arm1 slim
|
||||
new GeometryCube(new Vector3(4, 24, -2), new Vector3(3, 12, 4), new Vector2(32, 48)),
|
||||
["head"] = new GeometryCube(new Vector3(-4, 24, -4), new Vector3(8), new Vector2(0)),
|
||||
["body"] = new GeometryCube(new Vector3(-4, 12, -2), new Vector3(8, 12, 4), new Vector2(16)),
|
||||
["leg0"] = new GeometryCube(new Vector3(-4, 0, -2), new Vector3(4, 12, 4), new Vector2(0, 16)),
|
||||
["leg1"] = new GeometryCube(new Vector3(0, 0, -2), new Vector3(4, 12, 4), new Vector2(16, 48)),
|
||||
["arm0"] = new GeometryCube(new Vector3(-8, 12, -2), new Vector3(4, 12, 4), new Vector2(40, 16)),
|
||||
["arm1"] = new GeometryCube(new Vector3(4, 24, -2), new Vector3(4, 12, 4), new Vector2(32, 48)),
|
||||
["arm0_slim"] = new GeometryCube(new Vector3(-7, 12, -2), new Vector3(3, 12, 4), new Vector2(40, 16)),
|
||||
["arm1_slim"] = new GeometryCube(new Vector3(4, 24, -2), new Vector3(3, 12, 4), new Vector2(32, 48))
|
||||
};
|
||||
|
||||
private bool HasHuminodOrSlimModel(BlockbenchBedrockModel.BedrockModel bedrockModel)
|
||||
{
|
||||
Dictionary<string, bool> keyValues = new Dictionary<string, bool>(6);
|
||||
foreach (var bone in bedrockModel.Bones)
|
||||
{
|
||||
if (defaultSkinParts.ContainsKey(bone.Name))
|
||||
{
|
||||
var defaultCube = defaultSkinParts[bone.Name];
|
||||
keyValues[bone.Name] = bone.Cubes.Any(cube =>
|
||||
{
|
||||
return cube.Origin.SequenceEqual(defaultCube.Origin) &&
|
||||
cube.Size.SequenceEqual(defaultCube.Size) &&
|
||||
cube.UV.SequenceEqual(defaultCube.UV);
|
||||
});
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user