Tutorial for Custom Cosmetics
Thanks ChatGPT for initially fancying file

All images mentioned are in the "Images" zip file.
===========================================
1st Tutorial: Creating Custom Cosmetics (for cape users (1.21.2 and above))

Image1
-----------------
• Creating a custom model may seem daunting, but it isn’t so bad once you figure it out. For this tutorial, I will be using Blockbench to create the model. All images will be on Windows 11 cause no one uses it willingly.
• If you dont have a cape yet, there is the common cape, all you have to do to get it is install and open minecraft bedrock and then unistall it immediately, we dont want it here.
-- Do note that my Windows may look a bit different than yours, but ill try to keep things as identical to stock windows 11 as possible.
-----------------
• What you'll need:
-- Blockbench
-- A file manager (defaults are recommended)
-- A text editor (defaults are recommended)
-----------------
1. Locate the resource pack folder on the minecraft directory. if you want to easily get there, just press the "Open Pack Folder" button inside of minecraft.
Image2

-- No major coding experience is needed for this tutorial.

2. Extract the resource pack, it is named like it is ingame.
-- It will caused duplicate entries, but Minecraft does identify archives as they end with ".zip". In this tutorial, use the one without the file extension part ".zip".
Image3

3. Remove the archived pack, as if you dont, the resource pack options wont appear ingame!

4. head on over to the models directory, which is located here: 
-- assets/minecraft/emf/cem/coc_cp_models

5. Inside is where all cosmetics (beside most of the backpack) is stored. Custom slots are named as "custom#", which the hashtag in this document being its number. For this tutorial, I will use slot 1.
-- If you want to, you can create a pack to have your custom cosmetic on. Just make sure that you have the bare minimum for a pack to show up ingame and everything else needed for cosmetic switching.

6. Import the model to Blockbench. You can simply drag and drop the "cosmetic.jem" file onto blockbench, it is much easier than opening its exact filepath.
-- The model file does contain some basic notes on what some things do.
image4

7. Ignore all warnings and view the model. The first thing you’ll notice is that the model contains the head and the body. This is just a placeholder for creators.
Image5

Important Notes:

-- Do not remove any of the bones as this can cause issues, especially the "cape" bone as that will cause the model to not show up ingame. Bones are marked as folders inside Blockbench.
-- When making anything for the chest, ensure it is inside the “cape” bone and the part that attaches to the back points points towards south. This is because the model is rotated 180° through an animation. You can verify the orientation by checking the Axis arrows, which should appear like this when facing south:
Image6
-- At any point in the tutorial, you can undo mistakes by pressing the undo icon on mobile, or by pressing CTRL + z on Windows/Linux or CMD + Z on MacOS:
Image7

8. Prepare the model. Remove any unnecessary cubes and make sure to remove them (unless needed) after the model is done if they are being used as a base. For this tutorial, ill keep the chest.
Image8

9. Now its time to model it!.
-- To add a cube: Press the three-lines menu > Edit > Add Cube on mobile, or the add element button (plus icon) on the outliner section.
-- To move the cube: Drag one of the three arrows to move along the X, Y, or Z axis.
-- To resize: Use the resize tool and drag one of the 6 ends.
Image9, Image10 and Image11

10. Before painting, ensure that head cosmetics are put on the "head_cosmetic" bone for them to follow the head. Otherwise, it will not follow the head.
Image12

11. Painting setup.
-- Create a texture by pressing this icon:
Image13

-- Ignore all other options and simply press “Confirm.”
Image14

-- Switch to the Paint tab (press the cube icon on mobile or just press the paint button on PC).
Image15 and Image 16

-- (Mobile) Press the “Paint” icon to begin.
Image17

12. Changing colors.
-- Use the palette tab to access colors. Adjust the slider below to add more colors.
-- Experiment with the tools on the right (Mobile), or on the top right (PC, but not the menubar) before painting for real.
Image18

13. Now its time to paint! Press a pixel on the model to colour/change it. For this tutorial, I will not include the painting process, as its really straightfoward. Just know that there are tutorials for certain thing not mentioned in this tutorial.
	
14. At this point, we are done modeling! Now its time to export for the cosmetic to be visible ingame.
-- First, lets save the model. Save your texture by pressing the save icon. A prompt may appear asking where to save your texture.
Image19

--- Save it to the following path and name it cosmetic.png, yes, we are replacing the preincluded texture: "resource pack"/assets/minecraft/coc_cp_textures/custom#
---- On mobile, most specifically iOS: you will have to save the texture itself.
-- Now, the cosmetic model itself. Save it by navigating to File > Save Model. you may have to go back to the pack's cosmetic directory to save it, which if you need a refresher, is this: assets/minecraft/emf/cem/coc_cp_models/custom# (hashtag is your custom cosmetic slot number)

15. Test your model in-game by selecting the cosmetic slot. If the model appears as desired, you’re done! Enjoy the game with your new cosmetic.
-- If there are leftover cubes from the placeholder model, remove them to avoid rendering issues like Z-fighting (when two elements with the same position in 3D space tries to render simultaneously, computers dont know how to render them correctly).
-- If the model is showing a missing texture, via a text editor, make sure that this is the model being referenced: "coc_cp_textures/backpack/cosmetic.png". Despite it's name, it makes everything else work correclty.
Image20
===========================================
2nd Tutorial: Create a Custom Cosmetics (for cape users (1.21.1 and below))
-----------------
• This tutorial is especially dedicated to those who plays versions below 1.21.2, especially 1.21.1 and 1.20.1, as these are version hotspots for mods.
-- This is done due to changes made to the cape model in 1.21.2 and above.
• There isnt much in this section as its just a small tweak that you have to do to your custom cosmetics.
-----------------
• What you'll need:
-- A file manager
-- A text editor
-----------------
1. Locate your custom cosmetic. It should be in the same place that you stored it in the first tutorial.

2. Duplicate the model, as we'll need to to change and rename it.

3. Add "_old" to the name of the cosmetic, but not after the file extension ".jem"
Image21

4. Open your model, and rename any mention of "cape" to "cloak".
-- When opening your model, you may want to change your filtering mode to "All files".
Image22

5. Save the changes by pressing CTRL + S. (or CMD + S on mac)

6. If done right, this is it! The cosmetic works now works.
===========================================
3rd Tutorial: Adding Capeless support to a cosmetic
-----------------
• So, you want to add capeless support for your cosmetics? well this tutorial is for you!
-- i've done most of the heavy-lifting, so all that you have to do is a few changes.
-----------------
• What you'll need:
-- A file manager
-- A text editor
-----------------
1. Locate your custom cosmetic. It should be in the same place that you stored it in the first tutorial.

2. Duplicate the model, as we'll need to to change and rename it.

3. Rename the model to "cosmetic_capeless.jpm" for back cosmetics, and "head_cosmetic_capeless.jpm" for head cosmetics.
-- Why these two names? because due to the way that the model is set up, this would cause duplicate models, so doing this prevents that.
Image23

4. After changing the model name, do the following:
-- Remove this:
    "translate": [0, -16, -0.5],
	"attach": true,
	"model": "coc_cp_animations.jpm",
-- Rename Any mentions of "models" to "submodels".
-- This is to assure that the cosmetics works ingame, and is positioned correctly.
-- Sometimes, you may have to shift your model by 0.5 to avoid z-fighting. to fix this, do the following:
-- Add this below the "cape" part:
    "translate": [0, 0, 0.5],

5. Save the changes by pressing CTRL + S. (or CMD + S on mac)

6. Before going ingame, we would have to modify the master "cosmetic_capeless.jpm.rpo" file for back cosmetics, or master "head_cosmetic_capeless.jpm.rpo" for head cosmetics, for the cosmetic to show up in game, so open that file:
-- For back cosmetics, it is located in the backpack folder in the list of all of the models, while it is locate in the crown folder for head cosmetics.
--- The reason this is the case is due to the fact that I followed the respackopts tutorial that allowed me to have cosmetic switching for multiple cosmetics.

7. In there (the tutorial is showing the master "cosmetic_capeless.jpm.rpo" file), read the note that is in there, it is useful.

8. After reading it, do it similarly to what i've done here. This applies to every cosmetic. You can keep the note if you want, it does nothing.
Image24

9. Thats is not all! Return to your custom cosmetic directory and rename the "select.rpo" file to either "cosmetic_capeless.jpm" or "head_cosmetic_capeless.jpm" depending what type of cosmetic is it (back or head cosmetic).
Image25

10. That's it. There is no tutorial for older versions, since the same model works on these versions aswell.

Bonus: to avoid the cape from appearing in third person for back cosmetics, here is a quick tutorial about it:
-- 1. go to this directory in the pack: assets/minecraft/emf/cem
-- 2. Access this file: nocape.jem.rpo
-- 3. In the conditions, add your cosmetic within the parentheses and with this format: SelectedCosmetic.Custom# (hashtag is the slot number)
--- Here is a better example, for extra cosmetics, add the or symbol (|), a space, and then the cosmetic name, like this: SelectedCosmetic.Backpack | SelectedCosmetic.ModernBackpack | SelectedCosmetic.Wings | SelectedCosmetic.AnniversaryBackpack | SelectedCosmetic.Custom1
-- 4. Dont forget to save!
===========================================
Final Notes:
-----------------
• If anything is unclear, check out additional Blockbench tutorials online. More specifically, the ones for minecraft bedrock mob modeling.