Custom Player Models

_images/icon4.webp

sp614x with a hat, available only to him.

Custom Player Models (CPM; sometimes called Special Cosmetics) is a feature that can change or add to the player model.

CPMs are like Capes, in that they are loaded on join and can be associated with a specific player.

_images/cape_change.webp

Available CPMs can be chosen under the Cape Change menu.

CPMs cannot be bought and like Special capes, they are normally not available to normal donators.

List of exclusive CPMs

MrCheeze

This cosmetic is titled mrcheeze. This is the username of an OptiFine Discord moderator. It is at http://s.optifine.net/items/mrcheeze/model.cfg.

It resembles the rings at the top of Lego blocks, as MrCheeze's cape is a reference to Legos, as well as his skin and profile.

_images/mrcheeze.webp
{
	"type": "PlayerItem",
	"usePlayerTexture": true,
	"textureSize": [
		64,
		64
	],
	"models": [
		{
		"id": "tail",
		"type": "ModelBox",
		"attachTo": "body",
		"invertAxis": "z",
		"translate": [
			0,
			0,
			0
		],
		"submodels": [
			{
			"part": "tail",
			"id": "tail",
			"invertAxis": "z",
			"translate": [
				0,
				3.5,
				-7.2
			],
			"rotate": [
				-57,
				0,
				0
			],
			"boxes": [
				{
				"coordinates": [
					-0.5,
					-3,
					-7.2,
					1,
					7,
					1
				],
				"textureOffset": [
					60,
					20
				]
				}
			]
			},
			{
			"part": "tail2",
			"id": "tail2",
			"invertAxis": "z",
			"translate": [
				0,
				-8.8,
				-16.9
			],
			"rotate": [
				-102.5,
				0,
				0
			],
			"boxes": [
				{
				"coordinates": [
					-0.5,
					4.5,
					-22,
					1,
					6,
					1
				],
				"textureOffset": [
					60,
					20
				]
				}
			]
			}
		]
		}
	]
}

Jiingy Hat

This cosmetic is titled jiingy. This is the username of an OptiFine Discord moderator. It is at http://s.optifine.net/items/jiingy/model.cfg.

It resembles a ushanka, a Russian hat.

_images/jiingy.webp
{
	"type": "PlayerItem",
	"textureSize": [
		62,
		23
	],
	"models": [
		{
			"id": "Main",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "xy",
			"translate": [
				0,
				0,
				0
			],
			"rotate": [
				5,
				0,
				0
			],
			"boxes": [
				{
					"coordinates": [
						-5,
						4.5,
						-6,
						10,
						5,
						5
					],
					"textureOffset": [
						0,
						0
					]
				},
				{
					"coordinates": [
						-4.5,
						3,
						-2.5,
						9,
						6,
						7
					],
					"textureOffset": [
						0,
						10
					],
					"sizeAdd": "0.1"
				},
				{
					"coordinates": [
						3.5,
						0,
						-1.5,
						1,
						3,
						4
					],
					"textureOffset": [
						30,
						1
					],
					"sizeAdd": "0.1"
				},
				{
					"coordinates": [
						-4.5,
						0,
						-1.5,
						1,
						3,
						4
					],
					"textureOffset": [
						30,
						1
					],
					"sizeAdd": "0.1"
				}
			]
		}
	]
}

Jiingy Scarf

This cosmetic is titled jiingy_scarf. This is the username of an OptiFine Discord moderator. It is at http://s.optifine.net/items/jiingy_scarf/model.cfg.

It is a scarf.

_images/jiingy_scarf.webp
{
	"type": "PlayerItem",
	"textureSize": [
		62,
		23
	],
	"models": [
		{
			"id": "Main",
			"type": "ModelBox",
			"attachTo": "body",
			"invertAxis": "xy",
			"translate": [
				0,
				0,
				0
			],
			"rotate": [
				0,
				0,
				0
			],
			"boxes": [
				{
					"coordinates": [
						-5,
						0,
						-2.5,
						10,
						1,
						5
					],
					"textureOffset": [
						32,
						10
					]
				},
				{
					"coordinates": [
						-4,
						-1,
						-2.5,
						8,
						1,
						5
					],
					"textureOffset": [
						32,
						17
					]
				},
				{
					"coordinates": [
						1,
						-6,
						-2.5,
						2,
						5,
						1
					],
					"textureOffset": [
						41,
						2
					]
				},
				{
					"coordinates": [
						1,
						-7,
						-2.5,
						1,
						1,
						1
					],
					"textureOffset": [
						48,
						6
					]
				}
			]
		}
	]
}

Kai Ears

This cosmetic resembles cat ears, likely to be applied to KaiAF, an OptiFine Discord moderator. It is titled kai_ears. It is at http://s.optifine.net/items/kai_ears/model.cfg.

_images/kai_ears.webp
{
	"type": "PlayerItem",
	"usePlayerTexture": true,
	"textureSize": [
		64,
		64
	],
	"models": [
		{
			"id": "ears",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "z",
			"translate": [
				0,
				0,
				0
			],
			"submodels": [
				{
					"part": "leftEar",
					"id": "leftEar",
					"invertAxis": "xy",
					"translate": [
						0,
						0,
						0
					],
					"rotate": [
						0,
						-180,
						0
					],
					"boxes": [
						{
							"coordinates": [
								2,
								7.7,
								-2,
								1,
								2,
								3
							],
							"textureOffset": [
								0,
								0
							]
						}
					]
				},
				{
					"part": "rightEar",
					"id": "rightEar",
					"invertAxis": "xy",
					"translate": [
						0,
						0,
						0
					],
					"rotate": [
						0,
						0,
						0
					],
					"boxes": [
						{
							"coordinates": [
								2,
								7.7,
								-1,
								1,
								2,
								3
							],
							"textureOffset": [
								0,
								0
							]
						}
					]
				}
			]
		}
	]
}

Kai Tail

This cosmetic resembles a cat's tail, likely to be applied to KaiAF, an OptiFine Discord moderator. It is titled kai_tail. It is at http://s.optifine.net/items/kai_tail/model.cfg.

_images/kai_tail.webp
{
	"type": "PlayerItem",
	"usePlayerTexture": true,
	"textureSize": [
		64,
		64
	],
	"models": [
		{
			"id": "tail",
			"type": "ModelBox",
			"attachTo": "body",
			"invertAxis": "z",
			"translate": [
				0,
				0,
				0
			],
			"submodels": [
				{
					"part": "tail",
					"id": "tail",
					"invertAxis": "z",
					"translate": [
						0,
						3.5,
						-7.2
					],
					"rotate": [
						-57,
						0,
						0
					],
					"boxes": [
						{
							"coordinates": [
								-0.5,
								-3,
								-7.2,
								1,
								7,
								1
							],
							"textureOffset": [
								60,
								20
							]
						}
					]
				},
				{
					"part": "tail2",
					"id": "tail2",
					"invertAxis": "z",
					"translate": [
						0,
						-8.8,
						-16.9
					],
					"rotate": [
						-102.5,
						0,
						0
					],
					"boxes": [
						{
							"coordinates": [
								-0.5,
								4.5,
								-22,
								1,
								6,
								1
							],
							"textureOffset": [
								60,
								20
							]
						}
					]
				}
			]
		}
	]
}

Back Sword

This cosmetic has an old-textured Iron Sword at the player's back. It is titled back_sword. It is at http://s.optifine.net/items/back_sword/model.cfg.

_images/back_sword.webp
{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "body",
			"invertAxis": "yz",
			"translate": [
				-7,
				2,
				-4
			],
			"rotate": [
				0,
				0,
				-90
			],
			"sprites": [
				{
					"comment": "Axe",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						0,
						0,
						0,
						16,
						16,
						1
					]
				}
			]
		}
	]
}

Back Pickaxe

This cosmetic has an old-textured Iron Pickaxe at the player's back. It is titled back_pickaxe. It is at http://s.optifine.net/items/back_pickaxe/model.cfg.

_images/back_pickaxe.webp
{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "body",
			"invertAxis": "yz",
			"mirrorTexture": "u",
			"translate": [
				-7,
				-14,
				-4
			],
			"rotate": [
				0,
				0,
				0
			],
			"sprites": [
				{
					"comment": "Axe",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						0,
						0,
						0,
						16,
						16,
						1
					]
				}
			]
		}
	]
}

Back Axe

This cosmetic has an old-textured Iron Axe at the player's back. It is titled back_axe. It is at http://s.optifine.net/items/back_axe/model.cfg.

_images/back_axe.webp
{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "body",
			"invertAxis": "yz",
			"mirrorTexture": "uv",
			"translate": [
				-8,
				1,
				-4
			],
			"rotate": [
				0,
				0,
				-90
			],
			"sprites": [
				{
					"comment": "Axe",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						0,
						0,
						0,
						16,
						16,
						1
					]
				}
			]
		}
	]
}

Back Quiver

This cosmetic has an old-textured Quiver at the player's back. Quivers are a remnant of Minecraft; the texture was removed in 1.9 snapshot 15w31a. It is titled back_quiver. It is at http://s.optifine.net/items/back_quiver/model.cfg.

_images/back_quiver.webp
{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "body",
			"invertAxis": "yz",
			"mirrorTexture": "u",
			"translate": [
				-8,
				-13,
				-4
			],
			"rotate": [
				0,
				0,
				0
			],
			"sprites": [
				{
					"comment": "Axe",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						0,
						0,
						0,
						16,
						16,
						1
					]
				}
			]
		}
	]
}

Back Bow

This cosmetic has an old-textured Bow at the player's back. It is titled back_bow. It is at http://s.optifine.net/items/back_quiver/model.cfg.

_images/back_bow.webp
{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "body",
			"invertAxis": "yz",
			"mirrorTexture": "uv",
			"translate": [
				-8,
				2,
				-4
			],
			"rotate": [
				0,
				0,
				-90
			],
			"sprites": [
				{
					"comment": "Axe",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						0,
						0,
						0,
						16,
						16,
						1
					]
				}
			]
		}
	]
}

Back Carrot on a Stick

This cosmetic has an old-textured Carrot on a Stick at the player's back. It is titled back_carrotstick. It is at http://s.optifine.net/items/back_carrotstick/model.cfg.

_images/back_carrotstick.webp
{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "body",
			"invertAxis": "yz",
			"mirrorTexture": "u",
			"translate": [
				-7,
				-14,
				-4
			],
			"rotate": [
				0,
				0,
				0
			],
			"sprites": [
				{
					"comment": "Axe",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						0,
						0,
						0,
						16,
						16,
						1
					]
				}
			]
		}
	]
}

Back Fishing Rod

This cosmetic has an old-textured Fishing Rod at the player's back. It is titled back_fishing_rod. It is at http://s.optifine.net/items/back_fishing_rod/model.cfg.

_images/back_fishing_rod.webp
{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "body",
			"invertAxis": "yz",
			"mirrorTexture": "u",
			"translate": [
				-7,
				-14,
				-4
			],
			"rotate": [
				0,
				0,
				0
			],
			"sprites": [
				{
					"comment": "Axe",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						0,
						0,
						0,
						16,
						16,
						1
					]
				}
			]
		}
	]
}

Breasts

This cosmetic is titled body_boobs. It is at http://s.optifine.net/items/body_boobs/model.cfg.

_images/body_boobs.webp
{
	"type": "PlayerItem",
	"usePlayerTexture": true,
	"textureSize": [
		64,
		32
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "body",
			"invertAxis": "z",
			"translate": [
				-4,
				3,
				1.9
			],
			"rotate": [
				0,
				0,
				0
			],
			"sprites": [
				{
					"textureOffset": [
						20,
						23
					],
					"coordinates": [
						0,
						0,
						0,
						8,
						3,
						1
					]
				}
			]
		}
	]
}

Body Sword

This cosmetic has an old-textured Iron Sword at the player's front. It is titled body_sword. It is at http://s.optifine.net/items/body_sword/model.cfg.

_images/body_sword_back.webp
_images/body_sword_front.webp
{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "body",
			"invertAxis": "yz",
			"translate": [
				-1,
				-6,
				-14
			],
			"rotate": [
				90,
				-45,
				90
			],
			"sprites": [
				{
					"comment": "Axe",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						0,
						0,
						0,
						16,
						16,
						1
					]
				}
			]
		}
	]
}

Body Hearth

This cosmetic has a heart at the player's chest. It is titled body_hearth. It is at http://s.optifine.net/items/body_hearth/model.cfg.

Hearth is likely to be a typo, intended to be heart.

_images/body_hearth.webp
{
	"type": "PlayerItem",
	"textureSize": [
		62,
		23
	],
	"models": [
		{
			"id": "Main",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "xy",
			"translate": [
				0,
				0,
				0
			],
			"rotate": [
				5,
				0,
				0
			],
			"boxes": [
				{
					"coordinates": [
						-5,
						4.5,
						-6,
						10,
						5,
						5
					],
					"textureOffset": [
						0,
						0
					]
				},
				{
					"coordinates": [
						-4.5,
						3,
						-2.5,
						9,
						6,
						7
					],
					"textureOffset": [
						0,
						10
					],
					"sizeAdd": "0.1"
				},
				{
					"coordinates": [
						3.5,
						0,
						-1.5,
						1,
						3,
						4
					],
					"textureOffset": [
						30,
						1
					],
					"sizeAdd": "0.1"
				},
				{
					"coordinates": [
						-4.5,
						0,
						-1.5,
						1,
						3,
						4
					],
					"textureOffset": [
						30,
						1
					],
					"sizeAdd": "0.1"
				}
			]
		}
	]
}

Arrow Hat

This cosmetic is intended to look like an arrow through the player's head. It is titled hat_arrow. It is at http://s.optifine.net/items/hat_arrow/model.cfg.

_images/hat_arrow.webp
_images/hat_arrow_front.webp
{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "SideA",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"translate": [
				0,
				5,
				0
			],
			"rotate": [
				-45,
				0,
				0
			],
			"scale": 0.75,
			"boxes": [
				{
					"comment": "Tail",
					"textureOffset": [
						0,
						5
					],
					"coordinates": [
						-13,
						-2.5,
						0,
						8,
						5,
						0
					]
				},
				{
					"comment": "Head",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						5,
						-2.5,
						0,
						8,
						5,
						0
					]
				}
			]
		},
		{
			"id": "SideB",
			"baseId": "SideA",
			"rotate": [
				45,
				0,
				0
			]
		},
		{
			"id": "Back",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"translate": [
				0,
				5,
				0
			],
			"rotate": [
				45,
				0,
				0
			],
			"scale": 0.75,
			"boxes": [
				{
					"comment": "Back (tex coord V is 5 instead of 10!)",
					"textureOffset": [
						0,
						5
					],
					"coordinates": [
						12,
						-2.5,
						-2.5,
						0,
						5,
						5
					]
				}
			]
		}
	]
}

Axe Hat

This cosmetic is intended to look like an axe through the player's head. It is titled hat_axe. It is at http://s.optifine.net/items/hat_axe/model.cfg.

{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"mirrorTexture": "",
			"translate": [
				-1,
				-1,
				-16
			],
			"rotate": [
				90,
				0,
				90
			],
			"sprites": [
				{
					"comment": "Axe",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						0,
						0,
						0,
						16,
						16,
						1
					]
				}
			]
		}
	]
}

Bee Antenna

This cosmetic looks like a bee antenna coming out of the east side of the player's head. It is titled hat_bee. It is at http://s.optifine.net/items/hat_bee/model.cfg.

_images/hat_bee.webp
{
	"type": "PlayerItem",
	"texture": "optifine:textures/features/hat_bee.png",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "RightAntenna",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"translate": [
				2,
				8,
				0
			],
			"rotate": [
				0,
				0,
				0
			],
			"boxes": [
				{
					"comment": "V",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						-1,
						0,
						0,
						1,
						4,
						1
					]
				},
				{
					"comment": "H",
					"textureOffset": [
						0,
						5
					],
					"coordinates": [
						0,
						4,
						0,
						2,
						1,
						1
					]
				},
				{
					"comment": "Dot",
					"textureOffset": [
						4,
						0
					],
					"coordinates": [
						2,
						3,
						0,
						1,
						1,
						1
					]
				},
				{
					"textureOffset": [
						4,
						0
					],
					"coordinates": [
						3,
						4,
						0,
						1,
						1,
						1
					]
				},
				{
					"textureOffset": [
						4,
						0
					],
					"coordinates": [
						4,
						3,
						0,
						1,
						1,
						1
					]
				},
				{
					"textureOffset": [
						4,
						0
					],
					"coordinates": [
						3,
						2,
						0,
						1,
						1,
						1
					]
				},
				{
					"comment": "DotCenter",
					"textureOffset": [
						4,
						2
					],
					"coordinates": [
						3,
						3,
						0,
						1,
						1,
						1
					]
				}
			]
		},
		{
			"id": "LeftAntenna",
			"baseId": "RightAntenna",
			"invertAxis": "xyz",
			"mirrorTexture": "u"
		}
	]
}

Jingy Hat

This cosmetic looks like a re-textured Witch Hat. It is titled hat_jingy. The name Jingy is misspelled, the name is supposed to be Jiingy. It is a reference to Jiingy, an OptiFine Discord admin. It is at http://s.optifine.net/items/hat_jingy/model.cfg.

_images/hat_jingy.webp
{
	"type": "PlayerItem",
	"texture": "optifine:textures/features/hat_jingy.png",
	"textureSize": [
		96,
		26
	],
	"models": [
		{
			"part": "witch_hat",
			"type": "ModelBox",
			"attachTo": "head",
			"id": "witch_hat",
			"invertAxis": "xy",
			"translate": [
				-2.372,
				-23.5,
				-8.5
			],
			"rotate": [
				90,
				72.5,
				89.5
			],
			"submodels": [
				{
					"id": "Tip",
					"invertAxis": "xy",
					"translate": [
						-2.3828,
						40.3367,
						2.1
					],
					"rotate": [
						0,
						-90,
						50
					],
					"boxes": [
						{
							"coordinates": [
								-1,
								-1.5,
								-1,
								2,
								3,
								2
							],
							"textureOffset": [
								75,
								21
							]
						}
					]
				},
				{
					"id": "Top",
					"invertAxis": "xy",
					"translate": [
						-0.2993,
						37.9964,
						2.1
					],
					"rotate": [
						0,
						-90,
						37.5
					],
					"boxes": [
						{
							"coordinates": [
								-2,
								-2,
								-2,
								4,
								4,
								4
							],
							"textureOffset": [
								58,
								18
							]
						}
					]
				},
				{
					"id": "Middle",
					"invertAxis": "xy",
					"translate": [
						0.5898,
						35.475,
						2.1
					],
					"rotate": [
						0,
						-90,
						14.5
					],
					"boxes": [
						{
							"coordinates": [
								-2.8999,
								-2.3873,
								-3,
								6,
								4,
								6
							],
							"textureOffset": [
								33,
								16
							]
						}
					]
				},
				{
					"id": "Bottom2",
					"invertAxis": "xy",
					"translate": [
						0.9,
						33.05,
						2.1
					],
					"rotate": [
						0,
						-90,
						-3
					],
					"boxes": [
						{
							"coordinates": [
								-4,
								-1,
								-4,
								8,
								2,
								8
							],
							"textureOffset": [
								0,
								16
							],
							"sizeAdd": 0.1
						}
					]
				},
				{
					"id": "Bottom1",
					"invertAxis": "xy",
					"translate": [
						0.775,
						31.4594,
						2.1
					],
					"rotate": [
						0,
						-90,
						-7.5
					],
					"boxes": [
						{
							"coordinates": [
								-4.9348,
								-1,
								-5,
								10,
								2,
								10
							],
							"textureOffset": [
								56,
								3
							]
						}
					]
				},
				{
					"id": "Base",
					"invertAxis": "xy",
					"translate": [
						0.775,
						30.9636,
						2.1
					],
					"rotate": [
						0,
						0,
						-7.5
					],
					"boxes": [
						{
							"coordinates": [
								-7.00004,
								-0.5136,
								-7,
								14,
								0,
								14
							],
							"textureOffset": [
								0,
								0
							]
						}
					]
				}
			]
		}
	]
}

This cosmetic looks like a prototype of the santa hat. It is unknown what the name is a reference to. It is titled hat_link. It is at http://s.optifine.net/items/hat_link/model.cfg.

_images/hat_link_front.webp
_images/hat_link_back.webp
{
	"type": "PlayerItem",
	"textureSize": [
		64,
		64
	],
	"models": [
		{
			"id": "Level1",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "y",
			"translate": [
				-5,
				7,
				-5
			],
			"rotate": [
				0,
				0,
				0
			],
			"boxes": [
				{
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						0,
						0,
						0,
						10,
						3,
						10
					],
					"sizeAdd": 0.1
				}
			],
			"submodel": {
				"comment": "Level2",
				"invertAxis": "y",
				"translate": [
					1,
					3,
					1
				],
				"rotate": [
					-20,
					0,
					0
				],
				"boxes": [
					{
						"textureOffset": [
							0,
							13
						],
						"coordinates": [
							0,
							0,
							0,
							8,
							4,
							8
						]
					}
				],
				"submodel": {
					"comment": "Level3",
					"invertAxis": "y",
					"translate": [
						1,
						4,
						1
					],
					"rotate": [
						-25,
						0,
						0
					],
					"boxes": [
						{
							"textureOffset": [
								0,
								25
							],
							"coordinates": [
								0,
								0,
								0,
								6,
								4,
								6
							]
						}
					],
					"submodel": {
						"comment": "Level4",
						"invertAxis": "y",
						"translate": [
							0.5,
							4,
							0.5
						],
						"rotate": [
							-40,
							0,
							0
						],
						"boxes": [
							{
								"textureOffset": [
									0,
									35
								],
								"coordinates": [
									0,
									0,
									0,
									5,
									4,
									5
								]
							}
						],
						"submodel": {
							"comment": "Level5",
							"invertAxis": "y",
							"translate": [
								0.5,
								4,
								0.5
							],
							"rotate": [
								-40,
								0,
								0
							],
							"boxes": [
								{
									"textureOffset": [
										0,
										44
									],
									"coordinates": [
										0,
										0,
										0,
										4,
										4,
										4
									]
								}
							],
							"submodel": {
								"comment": "Level6",
								"invertAxis": "y",
								"translate": [
									0.5,
									4,
									0.5
								],
								"rotate": [
									-35,
									0,
									0
								],
								"boxes": [
									{
										"textureOffset": [
											0,
											52
										],
										"coordinates": [
											0,
											0,
											0,
											3,
											5,
											3
										]
									}
								],
								"submodel": {
									"comment": "Level7",
									"invertAxis": "y",
									"translate": [
										0.5,
										5,
										0.5
									],
									"rotate": [
										-15,
										0,
										0
									],
									"boxes": [
										{
											"textureOffset": [
												32,
												13
											],
											"coordinates": [
												0,
												0,
												0,
												2,
												5,
												2
											]
										}
									],
									"submodels": [
										{
											"comment": "Level8",
											"invertAxis": "y",
											"translate": [
												0.5,
												5,
												0.5
											],
											"rotate": [
												-3,
												0,
												0
											],
											"boxes": [
												{
													"textureOffset": [
														40,
														0
													],
													"coordinates": [
														0,
														0,
														0,
														1,
														4,
														1
													]
												}
											]
										}
									]
								}
							}
						}
					}
				}
			}
		}
	]
}

Pickaxe Hat

This cosmetic is intended to look like a pickaxe through the player's head. It is titled hat_pickaxe. It is at http://s.optifine.net/items/hat_pickaxe/model.cfg.

{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"translate": [
				0,
				1,
				-14
			],
			"rotate": [
				0,
				-90,
				0
			],
			"sprites": [
				{
					"comment": "Axe",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						0,
						0,
						0,
						16,
						16,
						1
					]
				}
			]
		}
	]
}

Reddit Hat

This cosmetic looks very similar to hat_bee, except that the antenna is more centered, and the yellow dot is white. It is intended to look like Snoo's single antenna, the alien-like mascot of Reddit. It is titled hat_reddit. It is at http://s.optifine.net/items/hat_reddit/model.cfg.

_images/hat_reddit.webp
{
	"type": "PlayerItem",
	"texture": "optifine:textures/features/hat_reddit.png",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"translate": [
				0,
				8,
				0
			],
			"rotate": [
				0,
				0,
				0
			],
			"boxes": [
				{
					"comment": "V",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						-1,
						0,
						0,
						1,
						4,
						1
					]
				},
				{
					"comment": "H",
					"textureOffset": [
						0,
						5
					],
					"coordinates": [
						0,
						4,
						0,
						2,
						1,
						1
					]
				},
				{
					"comment": "Dot",
					"textureOffset": [
						4,
						0
					],
					"coordinates": [
						2,
						3,
						0,
						1,
						1,
						1
					]
				},
				{
					"textureOffset": [
						4,
						0
					],
					"coordinates": [
						3,
						4,
						0,
						1,
						1,
						1
					]
				},
				{
					"textureOffset": [
						4,
						0
					],
					"coordinates": [
						4,
						3,
						0,
						1,
						1,
						1
					]
				},
				{
					"textureOffset": [
						4,
						0
					],
					"coordinates": [
						3,
						2,
						0,
						1,
						1,
						1
					]
				},
				{
					"comment": "DotCenter",
					"textureOffset": [
						4,
						2
					],
					"coordinates": [
						3,
						3,
						0,
						1,
						1,
						1
					]
				}
			]
		}
	]
}

Reindeer Antlers

This cosmetic looks like two reindeer antlers coming out of the top of the player's head. It is titled hat_reindeer. It is at http://s.optifine.net/items/hat_reindeer/model.cfg.

{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"translate": [
				-8,
				6,
				0
			],
			"rotate": [
				0,
				0,
				0
			],
			"sprites": [
				{
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						0,
						0,
						0,
						16,
						6,
						1
					]
				}
			]
		}
	]
}

Shovel Hat

This cosmetic has an old-textured Iron Shovel in the player's head. It is titled hat_shovel. It is at http://s.optifine.net/items/hat_shovel/model.cfg.

{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"mirrorTexture": "",
			"translate": [
				-1,
				-3,
				-15
			],
			"rotate": [
				90,
				0,
				90
			],
			"sprites": [
				{
					"comment": "Axe",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						0,
						0,
						0,
						16,
						16,
						1
					]
				}
			]
		}
	]
}

Vanilla Witch Hat

This cosmetic looks like the Vanilla's Witch's hat. It is not the same as hat_jingy. It is titled hat_witch. It is at http://s.optifine.net/items/hat_witch/model.cfg.

_images/hat_witch.webp
{
	"type": "PlayerItem",
	"texture": "optifine:textures/features/hat_witch.png",
	"textureSize": [
		64,
		64
	],
	"models": [
		{
			"id": "Level1",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"translate": [
				0,
				7,
				0
			],
			"rotate": [
				0,
				0,
				0
			],
			"boxes": [
				{
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						-5,
						0,
						-5,
						10,
						2,
						10
					],
					"sizeAdd": 0.1
				}
			]
		},
		{
			"id": "Level2",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"translate": [
				0,
				8.75,
				0
			],
			"rotate": [
				-3,
				0,
				-1.5
			],
			"boxes": [
				{
					"textureOffset": [
						0,
						12
					],
					"coordinates": [
						-3.5,
						0,
						-3.5,
						7,
						4,
						7
					]
				}
			]
		},
		{
			"id": "Level3",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"translate": [
				0,
				12.5,
				0
			],
			"rotate": [
				-9,
				0,
				-4.5
			],
			"boxes": [
				{
					"textureOffset": [
						0,
						23
					],
					"coordinates": [
						-2,
						0,
						-2,
						4,
						4,
						4
					]
				}
			]
		},
		{
			"id": "Level4",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"translate": [
				0,
				16.25,
				0
			],
			"rotate": [
				-21,
				0,
				-10.5
			],
			"boxes": [
				{
					"textureOffset": [
						0,
						31
					],
					"coordinates": [
						-0.25,
						0,
						-1,
						1,
						2,
						1
					],
					"sizeAdd": 0.25
				}
			]
		}
	]
}

Nose Up

It is unknown what this cosmetic is supposed to be. It has no texture. It is titled head_nose_up. It is at http://s.optifine.net/items/head_nose_up/model.cfg.

{
	"type": "PlayerItem",
	"usePlayerTexture": true,
	"textureSize": [
		64,
		32
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"translate": [
				-1,
				3,
				4
			],
			"rotate": [
				0,
				0,
				0
			],
			"sprites": [
				{
					"textureOffset": [
						11,
						13
					],
					"coordinates": [
						0,
						0,
						0,
						2,
						1,
						1
					]
				}
			]
		}
	]
}

Nose Down

It is unknown what this cosmetic is supposed to be. It has no texture. It is titled head_nose_down. It is at http://s.optifine.net/items/head_nose_down/model.cfg.

{
	"type": "PlayerItem",
	"usePlayerTexture": true,
	"textureSize": [
		64,
		32
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"translate": [
				-1,
				2,
				4
			],
			"rotate": [
				0,
				0,
				0
			],
			"sprites": [
				{
					"textureOffset": [
						11,
						13
					],
					"coordinates": [
						0,
						0,
						0,
						2,
						1,
						1
					]
				}
			]
		}
	]
}

Villager Nose

This cosmetic looks like a Villager's nose. It is titled head_nose_villager. It is at http://s.optifine.net/items/head_nose_villager/model.cfg.

_images/head_nose_villager.webp
{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "Level 1",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"translate": [
				-1,
				-1,
				4
			],
			"rotate": [
				0,
				0,
				0
			],
			"boxes": [
				{
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						0,
						0,
						0,
						2,
						4,
						2
					]
				}
			]
		}
	]
}

Mouse Ears

This cosmetic looks like a mouse's ears. They are attached to the top of the player's head. It is titled ears_mouse. It is at http://s.optifine.net/items/ears_mouse/model.cfg.

_images/ears_mouse.webp
{
	"type": "PlayerItem",
	"textureSize": [
		32,
		32
	],
	"models": [
		{
			"id": "Main",
			"type": "ModelBox",
			"attachTo": "head",
			"invertAxis": "yz",
			"mirrorTexture": "",
			"translate": [
				0,
				0,
				0
			],
			"rotate": [
				0,
				0,
				0
			],
			"boxes": [
				{
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						2,
						6,
						0,
						4,
						4,
						1
					]
				}
			]
		},
		{
			"id": "Second",
			"type": "ModelBox",
			"baseId": "Main",
			"invertAxis": "xyz",
			"mirrorTexture": "u"
		}
	]
}

Angel Wings

This cosmetic is intended to look like an angel's wings. It is titled wings_angel. It is at http://s.optifine.net/items/wings_angel/model.cfg.

{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "Main",
			"type": "ModelBox",
			"attachTo": "body",
			"invertAxis": "",
			"translate": [
				1,
				0,
				3
			],
			"rotate": [
				0,
				0,
				0
			],
			"sprites": [
				{
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						0,
						0,
						0,
						16,
						16,
						1
					]
				}
			]
		},
		{
			"id": "Other",
			"baseId": "Main",
			"attachTo": "body",
			"invertAxis": "x",
			"mirrorTexture": "u"
		}
	]
}

Wolverine Hand

This cosmetic looks like long "claws" coming out of the player's hand. It is titled hand_wolverine. It is at http://s.optifine.net/items/hand_wolverine/model.cfg.

{
	"type": "PlayerItem",
	"textureSize": [
		16,
		16
	],
	"models": [
		{
			"id": "LeftHand",
			"type": "ModelBox",
			"attachTo": "leftArm",
			"translate": [
				0,
				6.5,
				0
			],
			"rotate": [
				0,
				0,
				0
			],
			"boxes": [
				{
					"comment": "1",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						2.4,
						0,
						-2,
						1,
						9,
						1
					],
					"sizeAdd": -0.3
				},
				{
					"comment": "2",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						2.4,
						0,
						-0.5,
						1,
						9,
						1
					],
					"sizeAdd": -0.3
				},
				{
					"comment": "3",
					"textureOffset": [
						0,
						0
					],
					"coordinates": [
						2.4,
						0,
						1,
						1,
						9,
						1
					],
					"sizeAdd": -0.3
				}
			]
		},
		{
			"id": "RightHand",
			"baseId": "LeftHand",
			"attachTo": "rightArm",
			"invertAxis": "x"
		}
	]
}

Technical details

Cosmetics are loaded alongside capes for all players. After trying to load a player's cape, OptiFine will also check a URL:

http://s.optifine.net/users/USERNAME.cfg

Where USERNAME is the player's case-corrected username. This URL must be accessed under HTTP; HTTPS will fail.

If that player has any cosmetics, s.optifine.net will return a JSON file with the extension .cfg.

The file follows the format of:

{
        "items": [
                {
                        "model": "String, optional",
                        "texture": "String, optional"
                        "type": "String",
                        "active": "Boolean"
                }, ...
        ]
}

Only "type" and "active" are required.

For example, see sp614x's model configuration.

OptiFine will iterate through each entry in the "items" array. If a model is not declared, OptiFine will load one based on "type":

OptiFine will then load that model's texture by querying http://optifine.net/items/MODEL/users/USERNAME.png. The most reliable method of getting any model's texture is by querying sp614x as the USERNAME. If a texture cannot be loaded, red wool replaces it.


Assumes the latest OptiFine version.
Updated to commit feb2a450.

Last update: 2024 January 31