Custom Player Models¶
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.
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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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
]
}
]
}
]
}
]
}
Link Hat¶
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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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":
Capes are exempt from this rule.
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.