From f429b83bc4c5dacf60998cdc414d816abc28a192 Mon Sep 17 00:00:00 2001
From: NullBite <me@nullbite.com>
Date: Fri, 29 Nov 2024 01:47:01 -0500
Subject: [PATCH] KattArmor: add chestplate, fix code

---
 player_model.bbmodel | 632 ++++++++++++++++++++++++++++++++++++++++---
 script.lua           |  26 +-
 textures/blank.png   |   3 +
 3 files changed, 618 insertions(+), 43 deletions(-)
 create mode 100644 textures/blank.png

diff --git a/player_model.bbmodel b/player_model.bbmodel
index b59bf63..69e5720 100644
--- a/player_model.bbmodel
+++ b/player_model.bbmodel
@@ -12,8 +12,8 @@
 	"timeline_setups": [],
 	"unhandled_root_fields": {},
 	"resolution": {
-		"width": 256,
-		"height": 256
+		"width": 64,
+		"height": 32
 	},
 	"elements": [
 		{
@@ -333,6 +333,7 @@
 			"to": [3.9, 12, 2],
 			"autouv": 0,
 			"color": 0,
+			"visibility": false,
 			"origin": [0, 0, 0],
 			"uv_offset": [0, 16],
 			"faces": {
@@ -376,6 +377,7 @@
 			"to": [3.9, 12, 2],
 			"autouv": 0,
 			"color": 0,
+			"visibility": false,
 			"inflate": 0.25,
 			"origin": [0, 0, 0],
 			"uv_offset": [0, 32],
@@ -420,6 +422,7 @@
 			"to": [0.1, 12, 2],
 			"autouv": 0,
 			"color": 0,
+			"visibility": false,
 			"origin": [0, 0, 0],
 			"uv_offset": [16, 48],
 			"faces": {
@@ -463,6 +466,7 @@
 			"to": [0.1, 12, 2],
 			"autouv": 0,
 			"color": 0,
+			"visibility": false,
 			"inflate": 0.25,
 			"origin": [0, 0, 0],
 			"uv_offset": [0, 48],
@@ -549,6 +553,7 @@
 			"to": [2, 17, 6],
 			"autouv": 0,
 			"color": 1,
+			"visibility": false,
 			"origin": [0, 14, 2],
 			"uv_offset": [0, 118],
 			"faces": {
@@ -592,6 +597,7 @@
 			"to": [1.5, 16.5, 10],
 			"autouv": 0,
 			"color": 1,
+			"visibility": false,
 			"origin": [0, 14.5, 5],
 			"uv_offset": [14, 116],
 			"faces": {
@@ -635,6 +641,7 @@
 			"to": [1, 16, 14],
 			"autouv": 0,
 			"color": 1,
+			"visibility": false,
 			"origin": [0, 14.5, 9],
 			"uv_offset": [25, 121],
 			"faces": {
@@ -678,6 +685,7 @@
 			"to": [0.5, 17.5, 9],
 			"autouv": 0,
 			"color": 1,
+			"visibility": false,
 			"rotation": [-45, 0, 0],
 			"origin": [0, 16, 7.5],
 			"uv_offset": [25, 115],
@@ -1113,19 +1121,19 @@
 			"faces": {
 				"north": {
 					"uv": [32, 20, 40, 23],
-					"texture": 7
+					"texture": 8
 				},
 				"east": {
 					"uv": [28, 20, 32, 23],
-					"texture": 7
+					"texture": 8
 				},
 				"south": {
 					"uv": [32, 20, 40, 23],
-					"texture": 7
+					"texture": 8
 				},
 				"west": {
 					"uv": [40, 20, 44, 23],
-					"texture": 7
+					"texture": 8
 				},
 				"up": {
 					"uv": [32, 15, 40, 19],
@@ -1133,7 +1141,7 @@
 				},
 				"down": {
 					"uv": [32, 23, 40, 27],
-					"texture": 7
+					"texture": 8
 				}
 			},
 			"type": "cube",
@@ -1156,19 +1164,19 @@
 			"faces": {
 				"north": {
 					"uv": [20, 24, 28, 29],
-					"texture": 7
+					"texture": 8
 				},
 				"east": {
 					"uv": [16, 24, 20, 29],
-					"texture": 7
+					"texture": 8
 				},
 				"south": {
 					"uv": [32, 24, 40, 29],
-					"texture": 7
+					"texture": 8
 				},
 				"west": {
 					"uv": [28, 24, 32, 29],
-					"texture": 7
+					"texture": 8
 				},
 				"up": {
 					"uv": [49, 26, 57, 30],
@@ -1176,7 +1184,7 @@
 				},
 				"down": {
 					"uv": [32, 23, 40, 27],
-					"texture": 7
+					"texture": 8
 				}
 			},
 			"type": "cube",
@@ -1199,7 +1207,7 @@
 			"faces": {
 				"north": {
 					"uv": [20, 29, 28, 31],
-					"texture": 7
+					"texture": 8
 				},
 				"east": {
 					"uv": [66, 213, 70, 215],
@@ -1207,7 +1215,7 @@
 				},
 				"south": {
 					"uv": [32, 29, 40, 31],
-					"texture": 7
+					"texture": 8
 				},
 				"west": {
 					"uv": [78, 213, 82, 215],
@@ -1242,19 +1250,19 @@
 			"faces": {
 				"north": {
 					"uv": [20, 26, 28, 31],
-					"texture": 7
+					"texture": 8
 				},
 				"east": {
 					"uv": [16, 26, 20, 31],
-					"texture": 7
+					"texture": 8
 				},
 				"south": {
 					"uv": [32, 26, 40, 31],
-					"texture": 7
+					"texture": 8
 				},
 				"west": {
 					"uv": [28, 26, 32, 31],
-					"texture": 7
+					"texture": 8
 				},
 				"up": {
 					"uv": [45, 213, 51, 216],
@@ -1285,19 +1293,19 @@
 			"faces": {
 				"north": {
 					"uv": [8, 16, 12, 22],
-					"texture": 7
+					"texture": 8
 				},
 				"east": {
 					"uv": [19, 26, 21, 32],
-					"texture": 7
+					"texture": 8
 				},
 				"south": {
 					"uv": [8, 16, 12, 22],
-					"texture": 7
+					"texture": 8
 				},
 				"west": {
 					"uv": [19, 26, 21, 32],
-					"texture": 7
+					"texture": 8
 				},
 				"up": {
 					"uv": [2, 18, 6, 20],
@@ -1670,6 +1678,7 @@
 			"to": [0.5, 15.5, 15],
 			"autouv": 0,
 			"color": 1,
+			"visibility": false,
 			"origin": [0, 14.5, 16],
 			"uv_offset": [44, 118],
 			"faces": {
@@ -1713,6 +1722,7 @@
 			"to": [0.25, 12, 19],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [2, 12, -3],
 			"faces": {
@@ -1756,6 +1766,7 @@
 			"to": [0, 19, 19],
 			"autouv": 0,
 			"color": 1,
+			"visibility": false,
 			"inflate": 0.01,
 			"origin": [0, 14.5, 16],
 			"uv_offset": [44, 118],
@@ -1800,6 +1811,7 @@
 			"to": [0.25, 19, 19],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [2, 12, -3],
 			"faces": {
@@ -1843,6 +1855,7 @@
 			"to": [0.25, 17, 18],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [2, 12, -3],
 			"faces": {
@@ -1886,6 +1899,7 @@
 			"to": [0.25, 14, 18],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [2, 12, -3],
 			"faces": {
@@ -1929,6 +1943,7 @@
 			"to": [-1.5, 16, 2],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [2, 12, -3],
 			"faces": {
@@ -1972,6 +1987,7 @@
 			"to": [-1.5, 16, 4],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [2, 12, -3],
 			"faces": {
@@ -2015,6 +2031,7 @@
 			"to": [-1.5, 16, 6],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [2, 12, -3],
 			"faces": {
@@ -2058,6 +2075,7 @@
 			"to": [-1, 15.5, 8],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [2, 12, -3],
 			"faces": {
@@ -2101,6 +2119,7 @@
 			"to": [-1, 15.5, 10],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [2, 12, -3],
 			"faces": {
@@ -2144,6 +2163,7 @@
 			"to": [-0.5, 15.5, 12],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [2, 12, -3],
 			"faces": {
@@ -2187,6 +2207,7 @@
 			"to": [-0.5, 15.5, 14],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [2, 12, -3],
 			"faces": {
@@ -2230,6 +2251,7 @@
 			"to": [1, 15.5, 14],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [-2, 12, -3],
 			"faces": {
@@ -2273,6 +2295,7 @@
 			"to": [1, 15.5, 12],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [-2, 12, -3],
 			"faces": {
@@ -2316,6 +2339,7 @@
 			"to": [1.5, 15.5, 10],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [-2, 12, -3],
 			"faces": {
@@ -2359,6 +2383,7 @@
 			"to": [1.5, 15.5, 8],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [-2, 12, -3],
 			"faces": {
@@ -2402,6 +2427,7 @@
 			"to": [2, 16, 6],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [-2, 12, -3],
 			"faces": {
@@ -2445,6 +2471,7 @@
 			"to": [2, 16, 4],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [-2, 12, -3],
 			"faces": {
@@ -2488,6 +2515,7 @@
 			"to": [2, 16, 2],
 			"autouv": 0,
 			"color": 4,
+			"visibility": false,
 			"inflate": 0.05,
 			"origin": [-2, 12, -3],
 			"faces": {
@@ -3221,6 +3249,7 @@
 			"to": [3.9, 12, 2],
 			"autouv": 0,
 			"color": 0,
+			"visibility": false,
 			"inflate": 0.26,
 			"origin": [0, 0, 0],
 			"uv_offset": [0, 32],
@@ -3265,6 +3294,7 @@
 			"to": [0.1, 12, 2],
 			"autouv": 0,
 			"color": 0,
+			"visibility": false,
 			"inflate": 0.26,
 			"origin": [0, 0, 0],
 			"uv_offset": [0, 32],
@@ -3356,7 +3386,7 @@
 			"faces": {
 				"north": {
 					"uv": [20, 29, 28, 31],
-					"texture": 7
+					"texture": 8
 				},
 				"east": {
 					"uv": [0, 0, 4, 2],
@@ -3364,7 +3394,7 @@
 				},
 				"south": {
 					"uv": [32, 29, 40, 31],
-					"texture": 7
+					"texture": 8
 				},
 				"west": {
 					"uv": [0, 0, 4, 2],
@@ -3381,6 +3411,485 @@
 			},
 			"type": "cube",
 			"uuid": "0ce95a83-d18e-5ea4-8551-b7f699f527c9"
+		},
+		{
+			"name": "Chestplate",
+			"box_uv": false,
+			"rescale": false,
+			"locked": false,
+			"light_emission": 0,
+			"render_order": "default",
+			"allow_mirror_modeling": true,
+			"from": [-4, 12, -2],
+			"to": [4, 24, 2],
+			"autouv": 0,
+			"color": 0,
+			"inflate": 1,
+			"origin": [0, 0, 0],
+			"uv_offset": [16, 16],
+			"faces": {
+				"north": {
+					"uv": [20, 20, 28, 32],
+					"texture": 8
+				},
+				"east": {
+					"uv": [16, 20, 20, 32],
+					"texture": 8
+				},
+				"south": {
+					"uv": [32, 20, 40, 32],
+					"texture": 8
+				},
+				"west": {
+					"uv": [28, 20, 32, 32],
+					"texture": 8
+				},
+				"up": {
+					"uv": [28, 20, 20, 16],
+					"texture": 8
+				},
+				"down": {
+					"uv": [36, 16, 28, 20],
+					"texture": 8
+				}
+			},
+			"type": "cube",
+			"uuid": "a2fa70ea-1519-b11e-51cc-9a722f42971e"
+		},
+		{
+			"name": "ChestplateTrim",
+			"box_uv": false,
+			"rescale": false,
+			"locked": false,
+			"light_emission": 0,
+			"render_order": "default",
+			"allow_mirror_modeling": true,
+			"from": [-4, 12, -2],
+			"to": [4, 24, 2],
+			"autouv": 0,
+			"color": 0,
+			"inflate": 1.01,
+			"origin": [0, 0, 0],
+			"uv_offset": [16, 16],
+			"faces": {
+				"north": {
+					"uv": [20, 20, 28, 32],
+					"texture": 8
+				},
+				"east": {
+					"uv": [16, 20, 20, 32],
+					"texture": 8
+				},
+				"south": {
+					"uv": [32, 20, 40, 32],
+					"texture": 8
+				},
+				"west": {
+					"uv": [28, 20, 32, 32],
+					"texture": 8
+				},
+				"up": {
+					"uv": [28, 20, 20, 16],
+					"texture": 8
+				},
+				"down": {
+					"uv": [36, 16, 28, 20],
+					"texture": 8
+				}
+			},
+			"type": "cube",
+			"uuid": "ab623298-a98d-c9de-ad0f-33c9933683c6"
+		},
+		{
+			"name": "Chestplate",
+			"box_uv": false,
+			"rescale": false,
+			"locked": false,
+			"light_emission": 0,
+			"render_order": "default",
+			"allow_mirror_modeling": true,
+			"from": [4, 12, -2],
+			"to": [8, 24, 2],
+			"autouv": 0,
+			"color": 0,
+			"inflate": 1,
+			"origin": [0, 0, 0],
+			"uv_offset": [40, 16],
+			"faces": {
+				"north": {
+					"uv": [44, 20, 48, 32],
+					"texture": 8
+				},
+				"east": {
+					"uv": [40, 20, 44, 32],
+					"texture": 8
+				},
+				"south": {
+					"uv": [52, 20, 56, 32],
+					"texture": 8
+				},
+				"west": {
+					"uv": [48, 20, 52, 32],
+					"texture": 8
+				},
+				"up": {
+					"uv": [48, 20, 44, 16],
+					"texture": 8
+				},
+				"down": {
+					"uv": [52, 16, 48, 20],
+					"texture": 8
+				}
+			},
+			"type": "cube",
+			"uuid": "6f8d0040-2c8a-8743-5945-3944c5e1e377"
+		},
+		{
+			"name": "ChestplateTrim",
+			"box_uv": false,
+			"rescale": false,
+			"locked": false,
+			"light_emission": 0,
+			"render_order": "default",
+			"allow_mirror_modeling": true,
+			"from": [4, 12, -2],
+			"to": [8, 24, 2],
+			"autouv": 0,
+			"color": 0,
+			"inflate": 1.01,
+			"origin": [0, 0, 0],
+			"uv_offset": [40, 16],
+			"faces": {
+				"north": {
+					"uv": [44, 20, 48, 32],
+					"texture": 8
+				},
+				"east": {
+					"uv": [40, 20, 44, 32],
+					"texture": 8
+				},
+				"south": {
+					"uv": [52, 20, 56, 32],
+					"texture": 8
+				},
+				"west": {
+					"uv": [48, 20, 52, 32],
+					"texture": 8
+				},
+				"up": {
+					"uv": [48, 20, 44, 16],
+					"texture": 8
+				},
+				"down": {
+					"uv": [52, 16, 48, 20],
+					"texture": 8
+				}
+			},
+			"type": "cube",
+			"uuid": "5c4c1da1-0814-59ba-7892-905e80b6cf5b"
+		},
+		{
+			"name": "Chestplate",
+			"box_uv": false,
+			"rescale": false,
+			"locked": false,
+			"light_emission": 0,
+			"render_order": "default",
+			"allow_mirror_modeling": true,
+			"from": [-8, 12, -2],
+			"to": [-4, 24, 2],
+			"autouv": 0,
+			"color": 0,
+			"inflate": 1,
+			"origin": [0, 0, 0],
+			"uv_offset": [32, 48],
+			"faces": {
+				"north": {
+					"uv": [48, 20, 44, 32],
+					"texture": 8
+				},
+				"east": {
+					"uv": [52, 20, 48, 32],
+					"texture": 8
+				},
+				"south": {
+					"uv": [56, 20, 52, 32],
+					"texture": 8
+				},
+				"west": {
+					"uv": [44, 20, 40, 32],
+					"texture": 8
+				},
+				"up": {
+					"uv": [44, 20, 48, 16],
+					"texture": 8
+				},
+				"down": {
+					"uv": [48, 16, 52, 20],
+					"texture": 8
+				}
+			},
+			"type": "cube",
+			"uuid": "13254fc5-718b-00d6-df28-e8c23fc99626"
+		},
+		{
+			"name": "ChestplateTrim",
+			"box_uv": false,
+			"rescale": false,
+			"locked": false,
+			"light_emission": 0,
+			"render_order": "default",
+			"allow_mirror_modeling": true,
+			"from": [-8, 12, -2],
+			"to": [-4, 24, 2],
+			"autouv": 0,
+			"color": 0,
+			"inflate": 1.01,
+			"origin": [0, 0, 0],
+			"uv_offset": [32, 48],
+			"faces": {
+				"north": {
+					"uv": [48, 20, 44, 32],
+					"texture": 8
+				},
+				"east": {
+					"uv": [52, 20, 48, 32],
+					"texture": 8
+				},
+				"south": {
+					"uv": [56, 20, 52, 32],
+					"texture": 8
+				},
+				"west": {
+					"uv": [44, 20, 40, 32],
+					"texture": 8
+				},
+				"up": {
+					"uv": [44, 20, 48, 16],
+					"texture": 8
+				},
+				"down": {
+					"uv": [48, 16, 52, 20],
+					"texture": 8
+				}
+			},
+			"type": "cube",
+			"uuid": "03709c03-c415-0101-1b6a-ed4f0c4980e8"
+		},
+		{
+			"name": "LeggingsTopArmorTrim",
+			"box_uv": false,
+			"rescale": false,
+			"locked": false,
+			"light_emission": 0,
+			"render_order": "default",
+			"allow_mirror_modeling": true,
+			"from": [-4, 12, -2],
+			"to": [4, 15, 2],
+			"autouv": 0,
+			"color": 5,
+			"inflate": 0.51,
+			"origin": [0, 24, 0],
+			"faces": {
+				"north": {
+					"uv": [32, 20, 40, 23],
+					"texture": 8
+				},
+				"east": {
+					"uv": [28, 20, 32, 23],
+					"texture": 8
+				},
+				"south": {
+					"uv": [32, 20, 40, 23],
+					"texture": 8
+				},
+				"west": {
+					"uv": [40, 20, 44, 23],
+					"texture": 8
+				},
+				"up": {
+					"uv": [32, 15, 40, 19],
+					"texture": null
+				},
+				"down": {
+					"uv": [32, 23, 40, 27],
+					"texture": 8
+				}
+			},
+			"type": "cube",
+			"uuid": "554623e7-5ed5-7361-363f-c68991884c6f"
+		},
+		{
+			"name": "LeggingsTopTrimArmorTrim",
+			"box_uv": false,
+			"rescale": false,
+			"locked": false,
+			"light_emission": 0,
+			"render_order": "default",
+			"allow_mirror_modeling": true,
+			"from": [-4, 9, -2],
+			"to": [4, 11, 2],
+			"autouv": 0,
+			"color": 4,
+			"inflate": 0.51,
+			"origin": [0, 10, 0],
+			"faces": {
+				"north": {
+					"uv": [20, 29, 28, 31],
+					"texture": 8
+				},
+				"east": {
+					"uv": [0, 0, 4, 2],
+					"texture": null
+				},
+				"south": {
+					"uv": [32, 29, 40, 31],
+					"texture": 8
+				},
+				"west": {
+					"uv": [0, 0, 4, 2],
+					"texture": null
+				},
+				"up": {
+					"uv": [0, 0, 8, 4],
+					"texture": null
+				},
+				"down": {
+					"uv": [0, 0, 8, 4],
+					"texture": null
+				}
+			},
+			"type": "cube",
+			"uuid": "3ae5afb2-4780-2a61-08a2-fc32c27e5f36"
+		},
+		{
+			"name": "LeggingsArmorTrim",
+			"box_uv": false,
+			"rescale": false,
+			"locked": false,
+			"light_emission": 0,
+			"render_order": "default",
+			"allow_mirror_modeling": true,
+			"from": [-4, 7, -2],
+			"to": [4, 12, 2],
+			"autouv": 0,
+			"color": 7,
+			"inflate": 0.26,
+			"origin": [0, 0, 0],
+			"faces": {
+				"north": {
+					"uv": [20, 24, 28, 29],
+					"texture": 8
+				},
+				"east": {
+					"uv": [16, 24, 20, 29],
+					"texture": 8
+				},
+				"south": {
+					"uv": [32, 24, 40, 29],
+					"texture": 8
+				},
+				"west": {
+					"uv": [28, 24, 32, 29],
+					"texture": 8
+				},
+				"up": {
+					"uv": [49, 26, 57, 30],
+					"texture": null
+				},
+				"down": {
+					"uv": [32, 23, 40, 27],
+					"texture": 8
+				}
+			},
+			"type": "cube",
+			"uuid": "e9ac3180-30dc-5163-dd60-943fe75c50c0"
+		},
+		{
+			"name": "LeggingsTrimArmorTrim",
+			"box_uv": false,
+			"rescale": false,
+			"locked": false,
+			"light_emission": 0,
+			"render_order": "default",
+			"allow_mirror_modeling": true,
+			"from": [-4, 4.5, -2],
+			"to": [4, 6.5, 2],
+			"autouv": 0,
+			"color": 7,
+			"inflate": 0.26,
+			"origin": [0, 0, 0],
+			"faces": {
+				"north": {
+					"uv": [20, 29, 28, 31],
+					"texture": 8
+				},
+				"east": {
+					"uv": [66, 213, 70, 215],
+					"texture": null
+				},
+				"south": {
+					"uv": [32, 29, 40, 31],
+					"texture": 8
+				},
+				"west": {
+					"uv": [78, 213, 82, 215],
+					"texture": null
+				},
+				"up": {
+					"uv": [0, 0, 0, 0],
+					"texture": null
+				},
+				"down": {
+					"uv": [0, 0, 0, 0],
+					"texture": null
+				}
+			},
+			"type": "cube",
+			"uuid": "dd42ebae-4131-043c-b9ea-a58eb670f04f"
+		},
+		{
+			"name": "LeggingsBottomArmorTrim",
+			"box_uv": false,
+			"rescale": false,
+			"locked": false,
+			"light_emission": 0,
+			"render_order": "default",
+			"allow_mirror_modeling": true,
+			"from": [-3, 2, -1.5],
+			"to": [3, 7, 1.5],
+			"autouv": 0,
+			"color": 7,
+			"inflate": 0.26,
+			"origin": [0, 0, 0],
+			"faces": {
+				"north": {
+					"uv": [20, 26, 28, 31],
+					"texture": 8
+				},
+				"east": {
+					"uv": [16, 26, 20, 31],
+					"texture": 8
+				},
+				"south": {
+					"uv": [32, 26, 40, 31],
+					"texture": 8
+				},
+				"west": {
+					"uv": [28, 26, 32, 31],
+					"texture": 8
+				},
+				"up": {
+					"uv": [45, 213, 51, 216],
+					"texture": null
+				},
+				"down": {
+					"uv": [51, 213, 57, 216],
+					"texture": null
+				}
+			},
+			"type": "cube",
+			"uuid": "35c2fc2d-6bb8-dc5c-0fa2-f34be3ea790a"
 		}
 	],
 	"outliner": [
@@ -3474,10 +3983,14 @@
 			"autouv": 0,
 			"children": [
 				"3ad67235-d358-522b-2b7f-b6f28a3adb44",
+				"a2fa70ea-1519-b11e-51cc-9a722f42971e",
+				"ab623298-a98d-c9de-ad0f-33c9933683c6",
 				"fe8f48bc-738a-1530-4b51-6b5c44189209",
 				"dac3d332-ea94-6f54-eba0-ff99133048a4",
 				"873ff9bc-4b53-ad8d-6f0a-3fd4d25c9881",
+				"554623e7-5ed5-7361-363f-c68991884c6f",
 				"0ce95a83-d18e-5ea4-8551-b7f699f527c9",
+				"3ae5afb2-4780-2a61-08a2-fc32c27e5f36",
 				{
 					"name": "MTail1",
 					"origin": [0, 12, 0],
@@ -3514,7 +4027,9 @@
 						"6cff7b79-ee18-9086-218d-fa738a4d2521",
 						"d09d7bd6-8291-5870-a270-ca6796253f2e",
 						"df568236-f7ba-ca30-c826-27a62dbefd8a",
+						"e9ac3180-30dc-5163-dd60-943fe75c50c0",
 						"2aaeaa85-8833-6aa4-cfa3-03459e8afbad",
+						"dd42ebae-4131-043c-b9ea-a58eb670f04f",
 						{
 							"name": "MTail2",
 							"origin": [0, 7, 0],
@@ -3528,6 +4043,7 @@
 							"autouv": 0,
 							"children": [
 								"ef418dc6-504f-7ebc-f3aa-3bd4133fd66d",
+								"35c2fc2d-6bb8-dc5c-0fa2-f34be3ea790a",
 								{
 									"name": "MTailDots2",
 									"origin": [0, 0, 0],
@@ -3624,7 +4140,13 @@
 			"locked": false,
 			"visibility": true,
 			"autouv": 0,
-			"children": ["0a9aea6e-b669-2a73-2e60-d8eb0f97460a", "9f81f0fd-f07b-c125-148b-8c103cf668c1", "4dabf3ec-a3de-d0cd-807d-dee3a8851510"]
+			"children": [
+				"0a9aea6e-b669-2a73-2e60-d8eb0f97460a",
+				"6f8d0040-2c8a-8743-5945-3944c5e1e377",
+				"5c4c1da1-0814-59ba-7892-905e80b6cf5b",
+				"9f81f0fd-f07b-c125-148b-8c103cf668c1",
+				"4dabf3ec-a3de-d0cd-807d-dee3a8851510"
+			]
 		},
 		{
 			"name": "LeftArm",
@@ -3633,11 +4155,17 @@
 			"uuid": "93ca2f17-aaab-7358-e583-9ce060077f1d",
 			"export": true,
 			"mirror_uv": false,
-			"isOpen": false,
+			"isOpen": true,
 			"locked": false,
 			"visibility": true,
 			"autouv": 0,
-			"children": ["a0d4e383-1ccf-40c1-8e85-5ba6309ff0d2", "1e8978f6-8be0-025b-f0ea-0aa25eac2f15", "0537953b-c4a6-fd92-e2ec-7b93a6703a3f"]
+			"children": [
+				"a0d4e383-1ccf-40c1-8e85-5ba6309ff0d2",
+				"13254fc5-718b-00d6-df28-e8c23fc99626",
+				"03709c03-c415-0101-1b6a-ed4f0c4980e8",
+				"1e8978f6-8be0-025b-f0ea-0aa25eac2f15",
+				"0537953b-c4a6-fd92-e2ec-7b93a6703a3f"
+			]
 		},
 		{
 			"name": "RightLeg",
@@ -3648,7 +4176,7 @@
 			"mirror_uv": false,
 			"isOpen": false,
 			"locked": false,
-			"visibility": true,
+			"visibility": false,
 			"autouv": 0,
 			"children": ["b630965a-c67f-5d63-eed0-02c4004b8f1b", "62bb2bb4-3f0c-8b6e-3e72-ff90cb1f07e1", "02570367-9f85-5bc3-3c6d-880c89c9f4da"]
 		},
@@ -3661,7 +4189,7 @@
 			"mirror_uv": false,
 			"isOpen": false,
 			"locked": false,
-			"visibility": true,
+			"visibility": false,
 			"autouv": 0,
 			"children": ["191cbcc1-0448-6344-571e-70d87db32910", "22e5271c-f297-726b-c221-2afc930e5c30", "c7c2753f-dcbe-a4a3-6cf1-12e3db21cc46"]
 		},
@@ -3674,7 +4202,7 @@
 			"mirror_uv": false,
 			"isOpen": false,
 			"locked": false,
-			"visibility": true,
+			"visibility": false,
 			"autouv": 0,
 			"children": [
 				{
@@ -3687,7 +4215,7 @@
 					"mirror_uv": false,
 					"isOpen": true,
 					"locked": false,
-					"visibility": true,
+					"visibility": false,
 					"autouv": 0,
 					"children": [
 						"977014eb-1701-2110-a981-bd764d9fb7fc",
@@ -3700,7 +4228,7 @@
 							"mirror_uv": false,
 							"isOpen": true,
 							"locked": false,
-							"visibility": true,
+							"visibility": false,
 							"autouv": 0,
 							"children": [
 								"77b12007-501d-6e47-42a3-577ae7f19d26",
@@ -3721,7 +4249,7 @@
 							"mirror_uv": false,
 							"isOpen": true,
 							"locked": false,
-							"visibility": true,
+							"visibility": false,
 							"autouv": 0,
 							"children": [
 								{
@@ -3733,7 +4261,7 @@
 									"mirror_uv": false,
 									"isOpen": false,
 									"locked": false,
-									"visibility": true,
+									"visibility": false,
 									"autouv": 0,
 									"children": [
 										"5793e297-ca96-9055-eb51-e07faa6cce47",
@@ -3754,7 +4282,7 @@
 									"mirror_uv": false,
 									"isOpen": true,
 									"locked": false,
-									"visibility": true,
+									"visibility": false,
 									"autouv": 0,
 									"children": [
 										{
@@ -3766,7 +4294,7 @@
 											"mirror_uv": false,
 											"isOpen": false,
 											"locked": false,
-											"visibility": true,
+											"visibility": false,
 											"autouv": 0,
 											"children": [
 												"b9033d41-df6b-c6db-a12e-d94b0305d29e",
@@ -3785,7 +4313,7 @@
 											"mirror_uv": false,
 											"isOpen": true,
 											"locked": false,
-											"visibility": true,
+											"visibility": false,
 											"autouv": 0,
 											"children": [
 												{
@@ -3797,7 +4325,7 @@
 													"mirror_uv": false,
 													"isOpen": true,
 													"locked": false,
-													"visibility": true,
+													"visibility": false,
 													"autouv": 0,
 													"children": [
 														"0ab4b1d2-4c95-3d4b-b56f-55fe70f903bc",
@@ -4043,6 +4571,34 @@
 			"uuid": "1a3d8ad7-7865-0571-2429-13b6e20b59e0",
 			"relative_path": "textures/armorLayer1.png",
 			"source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAHASURBVGhD7VlbcsMgDMTXaA+Q3v807QGaa7gWU80oiqwVAQMT2x/JOGCiXVYvvCRw/aZ19aZ8pmVBa8w8Do0nAjaQaU3f2+fXw/c93dIpCPhIP0/giYyNnHMQcCngUsAVA84dA946DaI8f3QOH51GF5TniQAvC9SOT0GAl+elAnge5X/rd10s8byZ64gnBWhw/zvMFeNWF+eKMN9b7iPBUqWIFDKFAuRuegYx4MicqEKGE3B0kGPStBuw0t6eACZYu8to4GwX7AaPVsjo9SEBs+1ca3tCBHAdMEP/L+uWFvaECJD5f7TvEgEt7QkREE2TPfy5uwsgUHu9hFYK6jlK5yO7eBwpFioA/ZH2Sa785HEZy5YrQ11S0z2PCcPzkRtd1nw+kpOVprV+FwKQgXpcBlVUKlsA9fPe+l0IKAW0RxhqpqQivAzAqowc2jZxgVJApYRZboh2NtK30LpNCCgFVEIYAopiFBrP7TCahMZLAHk+PeLFy8N5gO7fa+8tQF5Ut2JAFwWURvG9kyFWSvSESaa8Ua/eqhVg7ZAsVxmYF5GjxRRyxVfGMwE1CtiTaOuS9RVwkWeqg+DRPhoBUTPnD5tN+TApUlTKAAAAAElFTkSuQmCC"
+		},
+		{
+			"path": "/home/nullbite/git/figura-protogen/textures/blank.png",
+			"name": "blank.png",
+			"folder": "block",
+			"namespace": "",
+			"id": "8",
+			"group": "",
+			"width": 64,
+			"height": 32,
+			"uv_width": 64,
+			"uv_height": 32,
+			"particle": false,
+			"use_as_default": false,
+			"layers_enabled": false,
+			"sync_to_project": "",
+			"render_mode": "default",
+			"render_sides": "auto",
+			"frame_time": 1,
+			"frame_order_type": "loop",
+			"frame_order": "",
+			"frame_interpolate": false,
+			"visible": true,
+			"internal": true,
+			"saved": true,
+			"uuid": "af3625f9-f78f-61df-d912-c93ac21f6e0d",
+			"relative_path": "textures/blank.png",
+			"source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAABQSURBVGhD7dUBEQAwDAKx4t90hXzmoBwZu/hb/P4TgAbEE0AgXgCfIAIIxBNAIF4AK4AAAvEEEIgXwAoggEA8AQTiBbACCCAQTwCBeAGswAMyTgAh7vlWIAAAAABJRU5ErkJggg=="
 		}
 	],
 	"texture_groups": [
diff --git a/script.lua b/script.lua
index 5b449e0..2a25779 100644
--- a/script.lua
+++ b/script.lua
@@ -28,6 +28,7 @@ UVManager=require("nulllib.UVManager")
 sharedstate=require("nulllib.sharedstate")
 sharedconfig=require("nulllib.sharedconfig")
 statemonitor=require("nulllib.statemonitor")
+KattArmorTail=require("kattarmor.KattArmor")()
 KattArmor=require("kattarmor.KattArmor")()
 
 ---Set optimal settings for random player sounds
@@ -159,6 +160,15 @@ TAIL_LEGGINGS_COLOR={
 	model.Body.MTail1.LeggingsTrim,
 	model.Body.MTail1.MTail2.LeggingsBottom
 }
+
+TAIL_LEGGINGS_TRIM={
+	-- god help me
+	model.Body.LeggingsTopArmorTrim, -- the trim of the normal part
+	model.Body.LeggingsTopTrimArmorTrim, -- the trim of the trim
+	model.Body.MTail1.LeggingsArmorTrim,
+	model.Body.MTail1.LeggingsTrimArmorTrim,
+	model.Body.MTail1.MTail2.LegginsBottomArmorTrim
+}
 TAIL_BOOTS={
 	model.Body.MTail1.MTail2.MTail3.Boot,
 	--model.Body.MTail1.MTail2.MTail3.LeatherBoot
@@ -260,11 +270,14 @@ do
 
 	PM.addPartListFunction(tail_parts, tail_visible_rule)
 	PM.addPartListFunction(TAIL_LEGGINGS, tail_visible_rule)
+	PM.addPartListFunction(TAIL_LEGGINGS_TRIM, tail_visible_rule)
 	PM.addPartListFunction(TAIL_BOOTS, tail_visible_rule)
 
 	--- Armor state
 	local all_armor=util.reduce(util.mergeTable, {VANILLA_GROUPS.ARMOR, TAIL_LEGGINGS, TAIL_BOOTS})
 	PM.addPartListFunction(all_armor, function(last) return last and sharedconfig.load("armor_enabled") end)
+	-- Disable vanilla chestplate (KattArmor is better because animation)
+	PM.addPartFunction(vanilla_model.CHESTPLATE, function(_) return false end)
 	-- Only show armor if equipped
 	-- PM.addPartFunction(model.Body.MTail1.MTail2.MTail3.Boot, function(last) return last and armor_state.boots end)
 	-- PM.addPartFunction(model.Body.MTail1.MTail2.MTail3.LeatherBoot, function(last) return last and armor_state.leather_boots end)
@@ -279,11 +292,14 @@ SNORES={"snore-1", "snore-2", "snore-3"}
 -- }}}
 
 -- KattArmor Config -- {{{
-KattArmor.Armor.Leggings:addParts(table.unpack(TAIL_LEGGINGS))
-KattArmor.Armor.Leggings:setLayer(1)
-KattArmor.Armor.Boots:addParts(table.unpack(TAIL_BOOTS))
---KattArmor.Armor.Boots:addParts(table.unpack(TAIL_BOOTS))
--- KattArmor.
+
+KattArmorTail.Armor.Leggings:addParts(table.unpack(TAIL_LEGGINGS))
+KattArmorTail.Armor.Leggings:addTrimParts(table.unpack(TAIL_LEGGINGS_TRIM))
+KattArmorTail.Armor.Leggings:setLayer(1)
+KattArmorTail.Armor.Boots:addParts(table.unpack(TAIL_BOOTS))
+
+KattArmor.Armor.Chestplate:addParts(model.Body.Chestplate, model.LeftArm.Chestplate, model.RightArm.Chestplate)
+KattArmor.Armor.Chestplate:addTrimParts(model.Body.ChestplateTrim, model.LeftArm.ChestplateTrim, model.RightArm.ChestplateTrim)
 -- }}}
 
 -- Expression change -- {{{
diff --git a/textures/blank.png b/textures/blank.png
new file mode 100644
index 0000000..098f588
--- /dev/null
+++ b/textures/blank.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a40ac56b0e25948e52487111f6cd96b2f241aeebb3ae16766a17c37f3451102f
+size 116