Make a Fashion Pack BEFORE 1.16 - AbsolemJackdaw/JustFashion GitHub Wiki

Getting Started

a Fashion Pack is an ornamented ResourcePack.
I suggest you read up on Resource Packs here.

Fashion Pack Conventions

  • Write in all lowercase
  • Preferably work in clothing sets. End-Users find it to be easier to navigate trough and combine clothing
  • The order in which you write your names in the json file is important , items will be loaded in the same order
  • Each Body part has a texture associated with it. Here are some blank samples you can use :

Head :

Body :

Pants :

Boots :

Once you have drawn your own set of clothes, you can proceed to

Put your clothes in the resource pack

The base path for the clothing is assets / fashion / textures / **your_pack_name **/ **body_part_index **/ mytexture.png

  • your_pack_name will be the unique name you give your fashion pack ! the provided fashion pack on curseforge uses the id "outfits". Use another name ! get creative !
  • body_part_index will either be body, boots, hats, or pants.

as for the texture name, this name will be shown in the wardrobe gui in-game.
The basic convention of the provided resourcepack has all textures of the same set named the same way, so users can find their way back in complete sets of clothes !

In order for the pack to function correctly , you'll have to

Set up the Fashion Pack JSON file

Just like Resource Packs need their pack.mcmeta, Fashion Packs need their fashionpack.json file.
The fashionpack.json file should be put in assets / fashion The json file will contain all elements the mod needs to load in, as well as the unique name we were talking about in the previous section.
A good way to start of with the json file is by copying these contents :

{
	"pack" : "your_pack_name", 
	"hats" :  [], 

	"body" :  [], 

	"pants" : [], 

	"boots" : []
}

For all that's holy and sacred in this world : please do not call your pack "your_pack_name" Chances are big some other person may do the same, and you are going to end up with incompatible packs.

If you have a texture for a hat that is called "flowers.png" , then you should add the full name to the array (list) of hats , likewise :

"hats" : ["flowers.png"],
if you have multiple entries, seperate them with a comma :

"hats" : ["flowers.png" , "creeper_hat.png"],

If you have drawn complete sets , name all textures my_set_name.png and declare them in the same manner for all body parts :

{
	"pack" : "your_pack_name", 
	"hats" :  ["my_set_name.png", "flowers.png", "creeper_hat.png"], 

	"body" :  ["my_set_name.png"], 

	"pants" : ["my_set_name.png"], 

	"boots" : ["my_set_name.png"]
}

pro tip : use all lower case names, dont use spaces anywhere in any name, and keep the signs and names as simple as possible. If you do not do this, JSON readers will freak out and crash, and minecraft doesn't have a concept of spaces in texture files. so things will be bound to fail if you do not follow these conventions !

If you followed these instructions correctly, and have read the tutorial on Resource Packs, your folder pack should look anything like this :

\---FASHION PACK
    |   pack.mcmeta
    |   pack.png
    |
    \---assets
        \---fashion
            |   fashionpack.json
            |
            \---textures
                \---my_pack_name
                    +---body
                    |       my_set_name.png
                    |
                    +---boots
                    |       my_set_name.png
                    |
                    +---hats
                    |       creeper_hat.png
                    |       flowers.png
                    |       my_set_name.png
                    |
                    \---pants
                            my_set_name.png

If you have added clothes, or dont want to add clothes, you can always

Add Aesthetic Shield and Armor Replacements

For Shields and Weapons alike , you can model your own item. Here's the one I found on the internet and edited in BlockBench to my own modeling needs.

I called the file smores.json
I decided to use minecraft textures for this model.
If you do have a texture :
The texture file name doesn't have to be the same name as the model

You can make any model for shields or weapons in BlockBench and just add their JSON file to the Fashion Pack.

Fixing up your json

BlockBench will not export your file with the correct texture path defined. You have to do it manually.
Open the saved JSON file and in the beginning of the file, you'll have the paths for the textures specified.
For the smores, I choose to use default minecraft textures, which i defined like this :

"textures": {
		"stick_tex": "block/oak_log",
		"marshmallow": "block/white_wool"
	},

If you change the texture names from 0 to stick_tex or something else like I did, do not forget to update the reference in each part of your model.

You can also pick a texture you made yourself, and which you will locate in the Fashion Pack. Here's an example :

"weapon_tex": "fashion:my_pack_name/weapons/sword"

For more info on where to put model files and textures , read up on

Paths

Model JSON files for weapons and shields respectively go in
assets/fashion/models/my_pack_name/weapons
assets/fashion/models/my_pack_name/shields

Textures destined to go with weapon models or shield models are , respectively, best put in assets/fashion/textures/my_pack_name/weapons
assets/fashion/textures/my_pack_name/shields

Registering the Aesthetic Models

Goes just the same as for armor. Just add these 4 categories : 2 for shields and 2 for weapons
example :

  "weapon_models":[
	"smores",
	"sword"
  ],
  "weapon_textures":[
	"sword_texture"
  ],
  "shield_models": [
	"kite_shield"
  ],
  "shield_textures": [
	"kite_shield_texture"
  ] 

- Notice how smores lack any texture addition ? This is because it takes from minecraft's textures ! no need to specify any.
- All names written in these categories should match their file names !
- You also may have noticed that textures here dont end in .png ? Minecraft does it for us, while with the clothing parts, it will not. Sorry for the inconvenience !

Item - Based Weapons

Weapons have a second way of being added.
They can be added in as regular minecraft textures. You can make them yourself, or you can reuse minecraft's already existing textures.
**IMPORTANT NOTE ** These json files will have to go in their own directory !
For model json files and textures respectively :
assets/fashion/models/item/my_pack_name/weapons
assets/fashion/textures/item/my_pack_name/weapons

If you want to re-use any existing minecraft files, you can just make a generic json minecraft item file.
The most important things in here are the texture layer, and the parent, which HAS TO BE item/handheld !!!

Example of a salmon (used in the provided base pack of JustFashion)

{
    "parent": "item/generated",
    "textures": {
        "layer0": "item/salmon"
    }
}

Example of a custom drawn axe (equally used in the base pack provided by JustFashion)

{
    "parent": "item/handheld",
    "textures": {
        "layer0": "fashion:item/outfits/weapons/lumber_axe"
    }
}

Register Aesthetic Weapon Items

To let the mod know you are loading in a minecraft based flat texture 3D model, you need too add "item/" to the name in the fashionpack.json

Here's an example :

  "weapon_models":[
	"smores",
	"sword",
	"item/custom_axe",
	"item/salmon_sword"
  ],
  "weapon_textures":[
	"sword_texture"
  ],

Note that both JSON files for the custom axe and salmon sword are respectively called
"custom_axe.json" and
"salmon_sword.json"

Final Note

If you happen to struggle still, you can always join my Discord channel and I'll answer any question as soon as I can !
https://discord.gg/8MEdFZh