mirror of
https://github.com/exogen/t2-model-skinner.git
synced 2026-01-19 19:24:44 +00:00
744 lines
18 KiB
JavaScript
744 lines
18 KiB
JavaScript
import fs from "node:fs";
|
|
import { globby } from "globby";
|
|
import orderBy from "lodash.orderby";
|
|
|
|
const models = [
|
|
"lmale",
|
|
"mmale",
|
|
"hmale",
|
|
"lfemale",
|
|
"mfemale",
|
|
"hfemale",
|
|
"lbioderm",
|
|
"mbioderm",
|
|
"hbioderm",
|
|
];
|
|
|
|
async function getSkinConfig() {
|
|
const defaultSkins = await Promise.all(
|
|
models.map((name) => globby(`./public/textures/*.${name}.png`))
|
|
);
|
|
|
|
return {
|
|
defaultSkins: models.reduce((skins, name, i) => {
|
|
skins[name] = orderBy(
|
|
defaultSkins[i].map((name) =>
|
|
name.replace(/(^.*\/|\.[lmh](male|female|bioderm)\.png$)/g, "")
|
|
),
|
|
[(name) => name.toLowerCase()],
|
|
["asc"]
|
|
);
|
|
return skins;
|
|
}, {}),
|
|
modelDefaults: {
|
|
// Players
|
|
lmale: "Blood Eagle",
|
|
mmale: "Blood Eagle",
|
|
hmale: "Blood Eagle",
|
|
lfemale: "Blood Eagle",
|
|
mfemale: "Blood Eagle",
|
|
hfemale: "Blood Eagle",
|
|
lbioderm: "Storm",
|
|
mbioderm: "Storm",
|
|
hbioderm: "Storm",
|
|
// Weapons
|
|
chaingun: "weapon_chaingun",
|
|
disc: "weapon_disc",
|
|
elf: "weapon_elf",
|
|
energy: "weapon_energy",
|
|
grenade_launcher: "weapon_grenade_launcher",
|
|
mine: "mine",
|
|
missile: "weapon_missile",
|
|
mortar: "weapon_mortar",
|
|
plasmathrower: "weapon_plasmathrower",
|
|
repair: "weapon_repair",
|
|
shocklance: "weapon_shocklance",
|
|
sniper: "weapon_sniper",
|
|
targeting: "weapon_targeting",
|
|
// Vehicles
|
|
vehicle_land_mpbbase: "vehicle_land_mpbbase",
|
|
vehicle_grav_scout: "vehicle_grav_scout",
|
|
vehicle_grav_tank: "vehicle_grav_tank",
|
|
turret_assaulttank_mortar: "turret_assaulttank_mortar",
|
|
vehicle_air_scout: "vehicle_air_scout",
|
|
vehicle_air_bomber: "vehicle_air_bomber",
|
|
vehicle_air_hapc: "vehicle_air_hapc",
|
|
},
|
|
animationLabels: {
|
|
Forward: "Run Forward",
|
|
Back: "Run Backward",
|
|
Back0: "Run Backward",
|
|
Root: "Idle",
|
|
Root2: "Run Backward",
|
|
Root3: "Idle",
|
|
Idlepda: "Idle (PDA)",
|
|
PDA: "Idle (PDA)",
|
|
Root1: "Idle (PDA)",
|
|
Jump: "Jump",
|
|
Jump0: "Jump (Alternate)",
|
|
Jump1: "Jump (Alternate)",
|
|
Jump2: "Jump (Alternate)",
|
|
Jump3: "Jump (Alternate)",
|
|
Jet: "Jet",
|
|
Fall: "Fall",
|
|
Land: "Land",
|
|
Land1: "Land (Alternate)",
|
|
ski: "Ski",
|
|
Side: "Strafe Left",
|
|
Celwave: "Wave",
|
|
Celbow: "Bow",
|
|
Celdisco: "Dance",
|
|
Celdance: "Dance",
|
|
Celflex: "Flex",
|
|
Celflex1: "Flex",
|
|
Celrocky: "Awesome",
|
|
Celjump: "Awesome",
|
|
Celsalute: "Salute",
|
|
celTaunt: "Too Bad",
|
|
CelebrationGora: "Wave Arms",
|
|
Celgora: "Wave Arms",
|
|
CelebrationJump: "Bull Charge",
|
|
Tauntbull: "Bull Charge",
|
|
CelebrationJump0: "Celebrate",
|
|
CelebrationJump4: "The Greatest",
|
|
CelebrationRoar: "Roar",
|
|
Celroar: "Roar",
|
|
Celraor: "Roar",
|
|
Celflex2: "Flex",
|
|
celyeah: "Yeah",
|
|
celtaunt: "Too Bad",
|
|
Tauntbutt: "Butt",
|
|
Tauntkiss: "Blow Kiss",
|
|
Tauntbest: "The Greatest",
|
|
Taunimp: "Move!",
|
|
Tauntimp: "Move!",
|
|
Sitting: "Sit",
|
|
Scoutroot: "Gravcycle",
|
|
Recoilde: "Recoil",
|
|
Light_recoil: "Recoil",
|
|
Dieforward: "Death (Fall Forward)",
|
|
DeathForward: "Death (Fall Forward)",
|
|
Dieslump: "Death (Slump)",
|
|
DeathSlump: "Death (Slump)",
|
|
Diespin: "Death (Spin)",
|
|
DeathSpin: "Death (Spin)",
|
|
diechest: "Death (Hold Chest)",
|
|
Diechest: "Death (Hold Chest)",
|
|
DeathChest: "Death (Hold Chest)",
|
|
Dieback: "Death (Hold Back)",
|
|
DeathBack: "Death (Hold Back)",
|
|
Diehead: "Death (Hold Head)",
|
|
DeathHead: "Death (Hold Head)",
|
|
Dieknees: "Death (On Knees)",
|
|
DeathKnees: "Death (On Knees)",
|
|
Dieleglf: "Death (Left Leg Injury)",
|
|
Dieleglft: "Death (Left Leg Injury)",
|
|
DeathLegLeft: "Death (Left Leg Injury)",
|
|
Dielegrt: "Death (Right Leg Injury)",
|
|
Dielegtrt: "Death (Right Leg Injury)",
|
|
DeathLegRight: "Death (Right Leg Injury)",
|
|
Dielegrt0: "Death (Right Leg Injury)",
|
|
Diesidelf: "Death (Left Side)",
|
|
DeathSideLeft: "Death (Left Side)",
|
|
Diesidert: "Death (Right Side)",
|
|
DeathSideRight: "Death (Right Side)",
|
|
Diesidert0: "Death (Right Side Alternate)",
|
|
},
|
|
cameraOverrides: {
|
|
chaingun: { target: "0m 0m 0m", fov: "12deg" },
|
|
plasmathrower: { target: "0.002m -0.001m 0m", fov: "12deg" },
|
|
energy: { fov: "31deg", orbit: "135deg 70deg 105%" },
|
|
hmale: { fov: "24deg" },
|
|
hfemale: { fov: "24deg" },
|
|
hbioderm: { fov: "24deg" },
|
|
vehicle_grav_scout: { orbit: "290deg 60deg 130%" },
|
|
vehicle_grav_tank: { orbit: "290deg 60deg 130%" },
|
|
turret_assaulttank_mortar: { orbit: "290deg 60deg 130%" },
|
|
vehicle_land_mpbbase: { orbit: "290deg 60deg 130%" },
|
|
vehicle_air_scout: { orbit: "290deg 60deg 130%" },
|
|
vehicle_air_bomber: { orbit: "290deg 60deg 130%" },
|
|
vehicle_air_hapc: { orbit: "290deg 60deg 130%" },
|
|
},
|
|
animationLabelOverrides: {
|
|
mmale: {
|
|
Back: "Strafe Left",
|
|
},
|
|
mfemale: {
|
|
Dielegrt: "Death (Slump)",
|
|
},
|
|
lbioderm: {
|
|
Root: "Gravcycle",
|
|
},
|
|
},
|
|
materials: {
|
|
lmale: [{ name: "base", label: "Warrior", fileSuffix: ".lmale" }],
|
|
mmale: [{ name: "base", label: "Warrior", fileSuffix: ".mmale" }],
|
|
hmale: [{ name: "base", label: "Warrior", fileSuffix: ".hmale" }],
|
|
lfemale: [{ name: "base", label: "Warrior", fileSuffix: ".lfemale" }],
|
|
mfemale: [{ name: "base", label: "Warrior", fileSuffix: ".mfemale" }],
|
|
lbioderm: [{ name: "base", label: "Warrior", fileSuffix: ".lbioderm" }],
|
|
mbioderm: [{ name: "base", label: "Warrior", fileSuffix: ".mbioderm" }],
|
|
hbioderm: [{ name: "base", label: "Warrior", fileSuffix: ".hbioderm" }],
|
|
disc: [
|
|
{ name: "weapon_disc", label: "Weapon" },
|
|
{
|
|
name: "dcase00",
|
|
label: "Disc Case",
|
|
size: [256, 256],
|
|
baseColorFactor: [1, 1, 1, 0.7],
|
|
emissiveFactor: [1, 1, 1],
|
|
emissiveTexture: true,
|
|
alphaMode: "BLEND",
|
|
metallicFactor: 0,
|
|
roughnessFactor: 1,
|
|
frameCount: 6,
|
|
frameTimings: [21, 1, 1, 1, 1, 1],
|
|
optional: true,
|
|
},
|
|
],
|
|
chaingun: [{ label: "Chaingun", name: "weapon_chaingun" }],
|
|
grenade_launcher: [
|
|
{ label: "Grenade Launcher", name: "weapon_grenade_launcher" },
|
|
],
|
|
sniper: [
|
|
{ label: "Weapon", name: "weapon_sniper" },
|
|
{
|
|
label: "Green Light",
|
|
name: "greenlight",
|
|
hasDefault: false,
|
|
optional: true,
|
|
},
|
|
{
|
|
label: "Red Light",
|
|
name: "lite_red",
|
|
hasDefault: false,
|
|
optional: true,
|
|
},
|
|
],
|
|
plasmathrower: [
|
|
{
|
|
label: "Rear & Barrel",
|
|
name: "weapon_plasma10",
|
|
file: "weapon_plasma1",
|
|
},
|
|
{
|
|
label: "Top & Front",
|
|
name: "weapon_plasma21",
|
|
file: "weapon_plasma2",
|
|
},
|
|
{
|
|
name: "weapon_plasma1",
|
|
file: "weapon_plasma1",
|
|
selectable: false,
|
|
},
|
|
{
|
|
name: "weapon_plasma2",
|
|
file: "weapon_plasma2",
|
|
selectable: false,
|
|
},
|
|
],
|
|
energy: [
|
|
{
|
|
label: "Weapon",
|
|
name: "blinn1",
|
|
file: "weapon_energy",
|
|
},
|
|
],
|
|
shocklance: [
|
|
{ label: "Weapon", name: "weapon_shocklance", size: [512, 256] },
|
|
{
|
|
label: "Glow",
|
|
name: "weapon_shocklance_glow_",
|
|
file: "weapon_shocklance_glow ",
|
|
emissiveFactor: [1, 1, 1],
|
|
alphaMode: "MASK",
|
|
alphaCutoff: 255,
|
|
emissiveTexture: true,
|
|
metallicFactor: 0,
|
|
roughnessFactor: 1,
|
|
size: [256, 128],
|
|
optional: true,
|
|
},
|
|
],
|
|
elf: [
|
|
{ label: "Weapon", name: "weapon_elf", file: "weapon_elf" },
|
|
{
|
|
label: "Glow",
|
|
name: "weapon_elf0",
|
|
file: "weapon_elf",
|
|
},
|
|
],
|
|
missile: [{ label: "Weapon", name: "weapon_missile" }],
|
|
mortar: [{ label: "Weapon", name: "weapon_mortar" }],
|
|
repair: [{ label: "Weapon", name: "weapon_repair" }],
|
|
targeting: [{ label: "Weapon", name: "weapon_targeting" }],
|
|
mine: [
|
|
{
|
|
label: "Weapon",
|
|
name: "mine",
|
|
size: [512, 512],
|
|
metallicFactor: 0,
|
|
roughnessFactor: 1,
|
|
},
|
|
],
|
|
// Vehicles
|
|
vehicle_air_scout: [
|
|
{
|
|
label: "Vehicle",
|
|
name: "vehicle_air_scout0",
|
|
file: "vehicle_air_scout",
|
|
},
|
|
{
|
|
name: "Unassigned",
|
|
hidden: true,
|
|
hasDefault: false,
|
|
},
|
|
{
|
|
name: "vehicle_air_scout",
|
|
hidden: true,
|
|
hasDefault: false,
|
|
},
|
|
{
|
|
label: "Flare",
|
|
name: "shrikeflare2",
|
|
emissiveFactor: [0, 0, 0],
|
|
alphaMode: "BLEND",
|
|
emissiveTexture: true,
|
|
metallicFactor: 0,
|
|
roughnessFactor: 1,
|
|
size: [256, 256],
|
|
optional: true,
|
|
},
|
|
],
|
|
vehicle_air_bomber: [
|
|
{
|
|
label: "Cockpit & Thrusters",
|
|
name: "vehicle_air_bomber10",
|
|
file: "vehicle_air_bomber1",
|
|
size: [256, 512],
|
|
},
|
|
{
|
|
name: "Unassigned",
|
|
hidden: true,
|
|
hasDefault: false,
|
|
},
|
|
{
|
|
label: "Rear",
|
|
name: "vehicle_air_bomber2",
|
|
size: [256, 512],
|
|
},
|
|
{
|
|
label: "Wings",
|
|
name: "vehicle_air_bomber31",
|
|
file: "vehicle_air_bomber3",
|
|
},
|
|
{
|
|
name: "vehicle_air_bomber1",
|
|
size: [256, 512],
|
|
selectable: false,
|
|
},
|
|
{
|
|
name: "vehicle_air_bomber3",
|
|
selectable: false,
|
|
},
|
|
],
|
|
vehicle_air_hapc: [
|
|
{
|
|
label: "Cockpit",
|
|
name: "vehicle_air_bomber1",
|
|
size: [256, 512],
|
|
},
|
|
{
|
|
name: "Unassigned",
|
|
hidden: true,
|
|
hasDefault: false,
|
|
},
|
|
{
|
|
label: "Wings",
|
|
name: "vehicle_air_hpc2",
|
|
},
|
|
{
|
|
label: "Seats",
|
|
name: "vehicle_air_hpc1",
|
|
},
|
|
{
|
|
label: "Thrusters",
|
|
name: "vehicle_air_hpc30",
|
|
file: "vehicle_air_hpc3",
|
|
},
|
|
{
|
|
name: "vehicle_air_hpc3",
|
|
selectable: false,
|
|
},
|
|
],
|
|
vehicle_grav_scout: [
|
|
{
|
|
label: "Vehicle",
|
|
name: "Vehicle_grav_scout0",
|
|
file: "Vehicle_grav_scout",
|
|
size: [512, 256],
|
|
},
|
|
{
|
|
name: "Unassigned",
|
|
hidden: true,
|
|
hasDefault: false,
|
|
},
|
|
{
|
|
label: "Pipes",
|
|
name: "Vehicle_grav_scout_pipes1",
|
|
file: "Vehicle_grav_scout_pipes",
|
|
metallicFactor: 0,
|
|
roughnessFactor: 1,
|
|
},
|
|
{
|
|
name: "Vehicle_grav_scout",
|
|
hidden: true,
|
|
hasDefault: false,
|
|
},
|
|
{
|
|
label: "Side Thrusters",
|
|
name: "Vehicle_grav_scout_pipes",
|
|
file: "Vehicle_grav_scout_pipes",
|
|
emissiveFactor: [1, 1, 1],
|
|
alphaMode: "OPAQUE",
|
|
metallicFactor: 0,
|
|
roughnessFactor: 1,
|
|
emissiveTexture: true,
|
|
selectable: false,
|
|
},
|
|
{
|
|
label: "Windshield",
|
|
name: "Vehicle_grav_scout_windshield",
|
|
file: "Vehicle_grav_scout_windshield",
|
|
selectable: false,
|
|
alphaMode: "BLEND",
|
|
baseColorFactor: [1, 1, 1, 0.5],
|
|
metallicFactor: 0,
|
|
roughnessFactor: 1,
|
|
size: [128, 128],
|
|
optional: true,
|
|
},
|
|
{
|
|
label: "Windshield Inner",
|
|
name: "Vehicle_grav_scout_windshieldInner",
|
|
file: "Vehicle_grav_scout_windshieldInner",
|
|
selectable: false,
|
|
alphaMode: "BLEND",
|
|
baseColorFactor: [1, 1, 1, 0.5],
|
|
metallicFactor: 0,
|
|
roughnessFactor: 1,
|
|
size: [128, 128],
|
|
optional: true,
|
|
},
|
|
],
|
|
vehicle_grav_tank: [
|
|
{
|
|
label: "Center",
|
|
name: "Vehicle_grav_tank_bodyMain",
|
|
size: [256, 512],
|
|
},
|
|
{
|
|
name: "Unassigned",
|
|
hidden: true,
|
|
hasDefault: false,
|
|
},
|
|
{
|
|
label: "Sides",
|
|
name: "vehicle_grav_tank_bodyside10",
|
|
file: "vehicle_grav_tank_bodyside1",
|
|
size: [256, 512],
|
|
},
|
|
{
|
|
label: "Thrusters",
|
|
name: "vehicle_grav_tank_bodyside21",
|
|
file: "vehicle_grav_tank_bodyside2",
|
|
},
|
|
{
|
|
name: "vehicle_grav_tank_bodyside2",
|
|
selectable: false,
|
|
},
|
|
{
|
|
name: "vehicle_grav_tank_bodyside1",
|
|
selectable: false,
|
|
},
|
|
],
|
|
turret_assaulttank_mortar: [
|
|
{
|
|
label: "Turret",
|
|
name: "turret_assaulttank_mortar",
|
|
file: "turret_assaultTank",
|
|
},
|
|
],
|
|
vehicle_land_mpbbase: [
|
|
{
|
|
label: "Vehicle Front",
|
|
name: "vehicle_land_mpb1",
|
|
},
|
|
{
|
|
label: "Vehicle Back",
|
|
name: "vehicle_land_mpb2",
|
|
},
|
|
{
|
|
label: "Wheels",
|
|
name: "Vehicle_Land_Assault_wheel",
|
|
file: "Vehicle_Land_Assault_Wheel",
|
|
size: [512, 256],
|
|
optional: true,
|
|
},
|
|
],
|
|
},
|
|
animations: {
|
|
global: [
|
|
"Forward",
|
|
"Back",
|
|
// "Head",
|
|
"Jump",
|
|
"Jet",
|
|
"Fall",
|
|
"Land",
|
|
"ski",
|
|
// "Lookde",
|
|
// "Looknw",
|
|
"Root",
|
|
],
|
|
lmale: [
|
|
"Idlepda",
|
|
"Side",
|
|
"Jump0",
|
|
"Land1",
|
|
"Recoilde",
|
|
"Celwave",
|
|
"Celdisco",
|
|
"Celflex",
|
|
"Celrocky",
|
|
"Celsalute",
|
|
"celTaunt",
|
|
"Taunimp",
|
|
"Tauntbest",
|
|
"Dieback",
|
|
"diechest",
|
|
"Dieforward",
|
|
"Diehead",
|
|
"Dieknees",
|
|
"Dieleglf",
|
|
"Dielegrt",
|
|
"Diesidelf",
|
|
"Diesidert",
|
|
"Dieslump",
|
|
"Diespin",
|
|
// "Headside",
|
|
// "Lookms",
|
|
// "Looksn",
|
|
"Scoutroot",
|
|
"Sitting",
|
|
],
|
|
mmale: [
|
|
"Back0",
|
|
"Jump3",
|
|
"Recoilde",
|
|
"Celwave",
|
|
"Celdance",
|
|
"Celflex",
|
|
"Celrocky",
|
|
"Celsalute",
|
|
"celtaunt",
|
|
"Tauntbest",
|
|
"Tauntimp",
|
|
"Dieback",
|
|
"Diechest",
|
|
"Dieforward",
|
|
"Diehead",
|
|
"Dieknees",
|
|
"Dieleglf",
|
|
"Dielegrt",
|
|
"Diesidelf",
|
|
"Diesidert",
|
|
"Diespin",
|
|
// "Head1",
|
|
// "Lookms",
|
|
// "Looksn",
|
|
// "Root2",
|
|
"Sitting",
|
|
],
|
|
hmale: [
|
|
"Idlepda",
|
|
"Jump1",
|
|
"Side",
|
|
"Recoilde",
|
|
"Celwave",
|
|
"Celdance",
|
|
"Celflex",
|
|
"Celjump",
|
|
"Celsalute",
|
|
"celtaunt",
|
|
"Tauntbest",
|
|
"Tauntimp",
|
|
"Dieback",
|
|
"Diechest",
|
|
"Dieforward",
|
|
"Diehead",
|
|
"Dieknees",
|
|
"Dielegrt",
|
|
"Diesidelf",
|
|
"Diesidert",
|
|
"Diesidert0",
|
|
"Dieslump",
|
|
"Diespin",
|
|
// "Headside",
|
|
// "Lookms",
|
|
],
|
|
lfemale: [
|
|
"Idlepda",
|
|
"Jump1",
|
|
"Side",
|
|
"Recoilde",
|
|
"Celwave",
|
|
"Celbow",
|
|
"Celdance",
|
|
"Celsalute",
|
|
"Tauntbest",
|
|
"Tauntbutt",
|
|
"Tauntimp",
|
|
"Tauntkiss",
|
|
"Dieback",
|
|
"Diechest",
|
|
"Dieforward",
|
|
"Diehead",
|
|
"Dieknees",
|
|
"Dieleglf",
|
|
"Dielegrt",
|
|
"Diesidelf",
|
|
"Diesidert",
|
|
"Dieslump",
|
|
"Diespin",
|
|
// "Head0",
|
|
// "Lookms",
|
|
// "Looksn",
|
|
"Scoutroot",
|
|
"Sitting",
|
|
],
|
|
mfemale: [
|
|
"Idlepda",
|
|
"Jump1",
|
|
"Side",
|
|
"Recoilde",
|
|
"Celwave",
|
|
"Celbow",
|
|
"Celdisco",
|
|
"Celsalute",
|
|
"Tauntbest",
|
|
"Tauntbutt",
|
|
"Tauntimp",
|
|
"Tauntkiss",
|
|
"Dieback",
|
|
"Diechest",
|
|
"Dieforward",
|
|
"Diehead",
|
|
"Dieknees",
|
|
"Dieleglf",
|
|
"Dielegrt",
|
|
"Dielegrt0",
|
|
"Diesidelf",
|
|
"Diesidert",
|
|
"Diespin",
|
|
// "Headside",
|
|
// "Looksn",
|
|
// "Lookth",
|
|
"Sitting",
|
|
],
|
|
lbioderm: [
|
|
"Root3",
|
|
"PDA",
|
|
"Jump2",
|
|
"Side",
|
|
"Light_recoil",
|
|
"CelebrationGora",
|
|
"CelebrationJump",
|
|
"CelebrationJump0",
|
|
"CelebrationJump4",
|
|
"CelebrationRoar",
|
|
"Salute",
|
|
"Celflex2",
|
|
"celyeah",
|
|
"DeathBack",
|
|
"DeathChest",
|
|
"DeathForward",
|
|
"DeathHead",
|
|
"DeathKnees",
|
|
"DeathLegLeft",
|
|
"DeathLegRight",
|
|
"DeathSideLeft",
|
|
"DeathSideRight",
|
|
"DeathSlump",
|
|
"DeathSpin",
|
|
// "Head1",
|
|
// "Lookms",
|
|
"Sitting",
|
|
],
|
|
mbioderm: [
|
|
"Root1",
|
|
"Jump2",
|
|
"Side",
|
|
"Recoilde",
|
|
"Salute",
|
|
"Celflex1",
|
|
"Celgora",
|
|
"Celjump",
|
|
"Celroar",
|
|
"celyeah",
|
|
"Tauntbest",
|
|
"Tauntbull",
|
|
"DeathBack",
|
|
"DeathChest",
|
|
"DeathHead",
|
|
"DeathSideLeft",
|
|
"DeathSpin",
|
|
"Dieforward",
|
|
"Dieknees",
|
|
"Dieleglft",
|
|
"Dielegtrt",
|
|
"Diesidert",
|
|
"Dieslump",
|
|
// "Head0",
|
|
// "Lookms",
|
|
"Sitting",
|
|
],
|
|
hbioderm: [
|
|
"Root1",
|
|
"Jump2",
|
|
"Side",
|
|
"Recoilde",
|
|
"Salute",
|
|
"Celflex2",
|
|
"Celgora",
|
|
"Celjump",
|
|
"Celraor",
|
|
"celyeah",
|
|
"Tauntbest",
|
|
"Tauntbull",
|
|
"DeathBack",
|
|
"DeathChest",
|
|
"DeathForward",
|
|
"DeathHead",
|
|
"DeathKnees",
|
|
"DeathLegLeft",
|
|
"DeathLegRight",
|
|
"DeathSideLeft",
|
|
"DeathSideRight",
|
|
"DeathSlump",
|
|
"DeathSpin",
|
|
// "Head0",
|
|
// "Lookms",
|
|
],
|
|
},
|
|
};
|
|
}
|
|
|
|
const config = await getSkinConfig();
|
|
|
|
fs.writeFileSync(
|
|
"./models.json",
|
|
JSON.stringify(config, null, 2) + "\n",
|
|
"utf8"
|
|
);
|