Using Optifine for Armor Textures - jojodmo/CustomItems GitHub Wiki

Welcome to the armor texture help page

This does require Optifine in order to view the textures

Warning Do Not use capital letters in any files or folders inside the optifine folder (If you do it will not work)

Please note on 1.15+ Currently Armor textures only work in OptiFine 1.15.2 HD U G1 pre20 and up.

Please note due to the way the optifine code is written the examples only work in 1.14+

Start by heading into you your resource pack file then resourcePackName\assets\minecraft Create a folder in there called optifine inside the optifine folder create another folder called cit inside the cit folder create a folder called custom armor inside that folder create a folder called ice You can have as many files inside files as you want providing there all in the cit folder

This file (resourcePackName\assets\minecraft\optifine\cit\custom armor\ice) is where will be doing our first example. For our example, we will be doing a custom chainmail armor with CustomModelData of 1 (Due to add more examples soon)

Remember you item .properties files and your texture relating to that item needs to be in the same file

texture relating

For each item, you want to change to a custom texture you need to define certain details, For armor you have to define each armor piece and proved the 2 texture layers that armor requires also if you're going to add the icons to the armor you need them Use the template below and create a .properties file in the "optifine\cit\custom armor\ice" folder of your resource pack.

inside ice_helmet.properties

type=armor
matchItems=minecraft:chainmail_helmet
texture.chainmail_layer_1=ice_helmet.png
nbt.CustomModelData=1

inside ice_chestplate.properties

type=armor
matchItems=minecraft:chainmail_chestplate
texture.chainmail_layer_1=ice_chestplate.png
nbt.CustomModelData=1

inside ice_leggings.properties

type=armor
matchItems=minecraft:chainmail_leggings
texture.chainmail_layer_2=ice_leggings.png
nbt.CustomModelData=1

inside ice_boots.properties

type=armor
matchItems=minecraft:chainmail_boots
texture.chainmail_layer_1=ice_boots.png
nbt.CustomModelData=1

Note: Properties files can be organized into subfolders of any depth, as long as everything is within the top-level optifine/cit folder.

Each properties file specifies a list of matching item IDs or names In this case, chainmail note: your material "match items and texture" has to match from these files to your custom armor files or the textures won't show, a replacement texture, and an optional set of rules specifying damage, stack size, or NBT tags.

Explanation of .properties file

type= **the type of item in exmaple armor**
matchItems=minecraft: **the material of item for optifine to match**
texture.chainmail_layer_1=ice_boots.png  **the texture replacment**
nbt.CustomModelData=1 **model data directly related to what you put in your customarmor.yml**

All property names are case-sensitive. All paths are relative to assets/minecraft unless otherwise stated.

Next, we are going to define the icons this is what is shown when it's on the player's inventory or item frame so create the 4 icon files below to cover all the armor

inside ice_helmet_icon.properties

type=item
matchItems=chainmail_helmet
texture=ice_helmet_icon
nbt.CustomModelData=1

inside ice_chestplate_icon.properties

type=item
matchItems=chainmail_chestplate
texture=ice_chestplate_icon
nbt.CustomModelData=1

inside ice_leggings_icon.properties

type=item
matchItems=chainmail_leggings
texture=ice_leggings_icon
nbt.CustomModelData=1

inside ice_boots_icon.properties

type=item
matchItems=chainmail_boots
texture=ice_boots_icon
nbt.CustomModelData=1

Next, you are going to grab the zip download below which has all the 8 textures you need

The Ice Armor Textures

To assign this texture to your custom item its easy below is the 4 armor pieces which go with this example

inside ice_helmet.yml

name: ice_helmet
item:
  material: CHAINMAIL_HELMET
  displayName: '&7Ice Helmet'

inside ice_chestplate.yml

name: ice_chestplate
item:
  material: CHAINMAIL_CHESTPLATE
  displayName: '&7Ice Chestplate'

inside ice_leggings.yml

name: ice_leggings
item:
  material: CHAINMAIL_LEGGINGS
  textureID: 1
  displayName: '&7Ice Leggings'

inside ice_boots.yml

name: ice_boots
item:
  material: CHAINMAIL_BOOTS
  textureID: 1
  displayName: '&7Ice Boots'

bit out of date links below

There is this example and a shield example (called wooden shield) in the texture pack below 1.14 + : Download 1.14+ pack

You dont need optifine for shield textures in 1.14+ > Below is a link to a shield example resource pack, enjoy

1.14+ Shield resource pack example

This subject on the wiki is still work on progress

If you would like to view optifine's CIT document here is the link https://github.com/sp614x/optifine/blob/master/OptiFineDoc/doc/cit_single.properties