I have helped this part of the Forum for many years, and some things I have had to repeat because some people didn't know or assumed we don't need to know more than they think is absolutely necessary. I wanted to create this guide to link to, so I don't need to reformulate it every time, which happens like every 2 months.
Table of Contents
• Basic Knowledge
• Help us to Help you
• Look-up Table
• Editors and Encoding
• Indexes and Objects
Basic Knowledge
The basic knowledge we expect you to know is the so-called "Wikipedia Knowledge" of Resource Packs, no tutorials, no framework that does it for you.
It already explains what you need to know to make a pack with all the freedom you can have, where frameworks might limit you, and leave you to fight for yourself if you encounter a problem.
The least amount of Information your Thread should have in its first post are files pertaining to your problem.
If the file in question is in JSON format, first try to run the whole file through JSON Lint, if you edited it yourself.
If it's the
• block/item model, then the block model (and blockstates) or the item model, together with file path starting at the namespace of your pack. (large (in height) code blocks preferably embedded in a spoiler)
• language, then the language file, the file path. (and the pack.mcmeta for custom languages)
• sounds, then the sound file paths and the sounds.json file.
• textures, then the texture in question, the file path, and the program you used to create it.
• shaders, maybe the code? I can't really tell what to do there, because no one in this Forum knows anything about shaders. (and my knowledge is insignificant)
The .minecraft folder can be found by many means, one is to write %appdata% into the windows search bar, another is to open the resource packs folder from the resource packs selection menu and go a folder up.
If you want to go a step further, you can pin the folder, so you can quick access it by right-clicking the file manager on the task bar. To do that, right-click the desired folder, and "pin it for quick access."
Some people will also ask for the session log, which can be directly read in the launcher settings → checkbox for output log, or the latest.txt file found in .minecraft/logs/ where the .log.gz files can be opened like normal .zip files. (right-click)
You can add screenshots of the problem, but...
Don't-Do:
• Screenshots of the file being displayed in the editor,
• ask for help in other people's threads, (reference the thread(s) in your thread instead)
• make anyone who wants to help have to download your pack first (except as further elaboration aid),
But you can remove unnecessary details, such as the name of your computer, the name of your windows profile written all over the log files (preferably replace it with "[redacted]"), your desktop and wallpaper.
Look-up Table
They're everywhere, in the wiki, in the Optifine documentation, the vanilla shader documentation, but not for resource pack folder structures and files.
Well, not an official one, as that would be redistribution of game assets, that Mojang has imbued into their Terms of Service.
But you can find the table yourself, go to .minecraft/versions/, pick your version, and extract the assets/ folder, from the version's .jar file that can be opened like a .zip file, into the version folder outside the .jar file. (see picture below)
There, you can look up everything that a resource pack can change for that version, and possibly make your pack cross-version compatible.
If you want to go a step further, you can revoke your folder permissions to the assets/ folder and every folder below it.
Editors and Encoding
There're some editors for images and texts that should not be used because they encode the text in an unusable format, or don't support transparency.
For texts, better to use coding programs specially made for programmers, like Visual Studio Code, or the more lightweight Notepad++.
They both are free and can encode in UTF-8 without BOM, because BOM is put as the first most letter in any windows related text file, which can break the JSON format, as no letter is allowed to exist outside the root curly brackets {}.
For image editing software, Paint.NET, GIMP, or Krita can be recommended, they can work with pixel artwork and support transparency. Pixlr can run in the browser and does not need to be installed first to use.
Software like Adobe Photoshop are less for minecraft textures and more for bigger projects, like a skybox texture.
For item/block model editors, MrCrayfish's Model Creator and other model creators can work good with their advertising campaign, but Blockbench is more recommended, and as a bonus it can run in the browser, too.
For anyone, who wants to style their Blockbench, I recommend using the CSS style sheet instead, and use the browser's version to target all the relevant elements in the dev tools, and then copy it over to the installed app.
The window's default text editor and image editors just don't cut it. They can't encode in anything but UTF-8 with BOM and PNG without transparency.
Indexes and Objects
Minecraft has some files that're not directly accessible, like the aforementioned look-up table, they've to be dug up one by one from the .minecraft/assets/ folder, where the game can access them much faster.
In the indexes/ folder, open the version of your choice, and with Ctrl+F, you can search for file names, such as the German language with "de_de.json", the enderdragon death sound with "enderdragon/end.ogg", and the panorama textures 0 to 5 with "panorama_#.png".
The files have a common convention, the identifier is the file path starting in the namespace for a resource pack, where pack.mcmeta and the assets/ folder are, the object then contains the hash and the (file?) size. (in bits?)
The first two letters of the hash describe the folder name inside the objects/ folder, and the hash is the file name.
The file can then be copied to the desktop or preferably the look-up table, and rename it back to its original file name with its correct file extension, after which it can then be opened like any text/sound/texture file in their respective file viewer.
I have helped this part of the Forum for many years, and some things I have had to repeat because some people didn't know or assumed we don't need to know more than they think is absolutely necessary. I wanted to create this guide to link to, so I don't need to reformulate it every time, which happens like every 2 months.
Table of Contents
• Basic Knowledge
• Help us to Help you
• Look-up Table
• Editors and Encoding
• Indexes and Objects
Basic Knowledge
The basic knowledge we expect you to know is the so-called "Wikipedia Knowledge" of Resource Packs, no tutorials, no framework that does it for you.
It already explains what you need to know to make a pack with all the freedom you can have, where frameworks might limit you, and leave you to fight for yourself if you encounter a problem.
The basic knowledge for your specific situation should be: Create a Resource Pack, Languages, Blockstates, Models (Block, Item), Sounds (sounds.json), Textures (Particles, Font), Shaders (Wiki, Pioneer)
"Help us to Help you" -Alvoria
The least amount of Information your Thread should have in its first post are files pertaining to your problem.
If the file in question is in JSON format, first try to run the whole file through JSON Lint, if you edited it yourself.
If it's the
• block/item model, then the block model (and blockstates) or the item model, together with file path starting at the namespace of your pack. (large (in height) code blocks preferably embedded in a spoiler)
• language, then the language file, the file path. (and the pack.mcmeta for custom languages)
• sounds, then the sound file paths and the sounds.json file.
• textures, then the texture in question, the file path, and the program you used to create it.
• shaders, maybe the code? I can't really tell what to do there, because no one in this Forum knows anything about shaders. (and my knowledge is insignificant)
The .minecraft folder can be found by many means, one is to write %appdata% into the windows search bar, another is to open the resource packs folder from the resource packs selection menu and go a folder up.
If you want to go a step further, you can pin the folder, so you can quick access it by right-clicking the file manager on the task bar. To do that, right-click the desired folder, and "pin it for quick access."
Some people will also ask for the session log, which can be directly read in the launcher settings → checkbox for output log, or the latest.txt file found in .minecraft/logs/ where the .log.gz files can be opened like normal .zip files. (right-click)
You can add screenshots of the problem, but...
Don't-Do:
• Screenshots of the file being displayed in the editor,
• ask for help in other people's threads, (reference the thread(s) in your thread instead)
• make anyone who wants to help have to download your pack first (except as further elaboration aid),
But you can remove unnecessary details, such as the name of your computer, the name of your windows profile written all over the log files (preferably replace it with "[redacted]"), your desktop and wallpaper.
Look-up Table
They're everywhere, in the wiki, in the Optifine documentation, the vanilla shader documentation, but not for resource pack folder structures and files.
Well, not an official one, as that would be redistribution of game assets, that Mojang has imbued into their Terms of Service.
But you can find the table yourself, go to .minecraft/versions/, pick your version, and extract the assets/ folder, from the version's .jar file that can be opened like a .zip file, into the version folder outside the .jar file. (see picture below)
There, you can look up everything that a resource pack can change for that version, and possibly make your pack cross-version compatible.
If you want to go a step further, you can revoke your folder permissions to the assets/ folder and every folder below it.
Editors and Encoding
There're some editors for images and texts that should not be used because they encode the text in an unusable format, or don't support transparency.
For texts, better to use coding programs specially made for programmers, like Visual Studio Code, or the more lightweight Notepad++.
They both are free and can encode in UTF-8 without BOM, because BOM is put as the first most letter in any windows related text file, which can break the JSON format, as no letter is allowed to exist outside the root curly brackets {}.
For image editing software, Paint.NET, GIMP, or Krita can be recommended, they can work with pixel artwork and support transparency. Pixlr can run in the browser and does not need to be installed first to use.
Software like Adobe Photoshop are less for minecraft textures and more for bigger projects, like a skybox texture.
For item/block model editors, MrCrayfish's Model Creator and other model creators can work good with their advertising campaign, but Blockbench is more recommended, and as a bonus it can run in the browser, too.
For anyone, who wants to style their Blockbench, I recommend using the CSS style sheet instead, and use the browser's version to target all the relevant elements in the dev tools, and then copy it over to the installed app.
The window's default text editor and image editors just don't cut it. They can't encode in anything but UTF-8 with BOM and PNG without transparency.
Indexes and Objects
Minecraft has some files that're not directly accessible, like the aforementioned look-up table, they've to be dug up one by one from the .minecraft/assets/ folder, where the game can access them much faster.
In the indexes/ folder, open the version of your choice, and with Ctrl+F, you can search for file names, such as the German language with "de_de.json", the enderdragon death sound with "enderdragon/end.ogg", and the panorama textures 0 to 5 with "panorama_#.png".
The files have a common convention, the identifier is the file path starting in the namespace for a resource pack, where pack.mcmeta and the assets/ folder are, the object then contains the hash and the (file?) size. (in bits?)
The first two letters of the hash describe the folder name inside the objects/ folder, and the hash is the file name.
The file can then be copied to the desktop or preferably the look-up table, and rename it back to its original file name with its correct file extension, after which it can then be opened like any text/sound/texture file in their respective file viewer.
Meow~
#F5F8FB
KittenKatja ♥
Thanks for your help on my forum!