Quick Links

One of Minecraft's biggest strengths has always been its customisation. Players have near-limitless control over not just how their in-game worlds look, but the appearance and function of the game itself. Mods and datapacks allow players to change the way the game works on a fundamental level, or add new functionality entirely.

Related: Minecraft: How To Install Texture Packs

If you're looking for a way to spice up your Minecraft experience that doesn't require any coding knowledge, however, resource packs are a great way to breathe new life into your worlds. These allow you to change the appearance of things in-game, and if you're playing Java Edition, you're free to add any packs you like. There are countless fantastic community-created packs out there, but if you're looking to create your own, this guide will walk you through the basics.

Getting Started

Minecraft Texture Pack Folder Structure

The first thing you'll need to do is set up your folders. Create a folder with the name of your pack, and inside that folder create another folder with called "assets". Inside "assets", create one more folder called "minecraft". This is case-sensitive, so make sure not to capitalise any of the names. The first folder you'll want to make inside "minecraft" is one called "textures", though we won't use that right now.

Once your folders are set up, there are a few more initial steps to take. If you want your pack to have an icon in the resource packs menu in-game, add the image you want to the base folder (the one that just has the name of your pack) and call it "pack.png." This image must be square, and a resolution of 128x128 works best. Lastly, you need to add the "pack.mcmeta" file. Open Notepad (or any other text editor of your choosing), and paste in the following text:

{

"pack": {

"pack_format": 9,

"description": "[Your Pack Name Here"]"

}

}

Change the [Your Pack Name Here] to the name of your pack, then save the file as "pack.mcmeta." Put this into the base folder, where you put "pack.png." Don't worry - this is the only "coding" you'll need to do during the whole process!

Adding Textures

Minecraft Texture Editing

Now it's time to actually start adding the textures for your pack. Create textures for the blocks you want to retexture in your pixel art editor of choice (Lospec is a good option), and save them to a folder called "blocks" inside the "textures" folder.

The textures you create don't need to have the same resolution as Minecraft's default textures; just the same ratio. For example, Minecraft's default dirt texture is 16x16 (as are all its square block textures), so if you wanted to retexture dirt, you'd need to keep to a square aspect ratio, but you could opt for more pixels if you wanted to go for a more detailed pack - 32x32, 128x128, etc.

While most textures are square, not all of them are — plants, doors, signs, and so on all have their own dimensions. Some blocks, like logs, also have multiple textures — in the case of logs, the bark on the side is one texture, while the exposed trunk on the ends is another.

Minecraft Installations Screen

When saving your textures, save them with the exact name of the block whose texture you're replacing. For dirt, this means you'll save your dirt texture as "dirt.png".

If you're unsure of what Minecraft calls textures, you can extract all of Minecraft's asset files from the .jar, which can be found by clicking the pictured button, navigating to the "versions" folder, and then the folder for your version of choice.

Copy the .jar file from in here to elsewhere on your computer, then extract it using a tool like 7-Zip. This will give you access to all of Minecraft's asset files, allowing you to see exactly what to copy for your textures.

The way Minecraft resource packs work is that the game looks at the topmost pack, uses any textures it contains, and then moves on to the next one for any textures it still needs. What this means is that you don't need to worry about any textures you don't want to change — Minecraft will automatically default to getting them from the vanilla textures (or other installed resource packs).

More Complicated Textures

Minecraft Item Sprite Textures

Some blocks are a little bit more complicated than simply adding new block textures. Some blocks, like doors, have separate sprites for the item in your inventory. You'll need to create a new sprite if you want to retexture this as well, and place it in an "items" folder inside "textures".

Similarly, a handful of blocks, like signs, are considered entities in some states — as are actual entities like mobs. Signs will need textures placed inside a "signs" folder, inside a third folder called "entity" within "textures". Again, looking at an extracted .jar and copying the structure of how Minecraft itself handles any given block should keep you right.

You can change more than just textures with a resource pack — sounds and in-game text are also fair game. Sounds should be saved in a "sounds" folder in "assets" as .ogg files, inside a hierarchy of folders pertaining to the specific block type. Once more, copying Minecraft itself is by far the easiest way to understand the necessary folder structures.

Finally, it's possible to change the in-game text of items. For example, say you wanted to rename cookies to "biscuits". Create another folder in "assets" called "lang", and copy the "en_us.json" (or whichever language is applicable for you) from the extracted .jar's folder of the same name. Find the lines mentioning "Cookie" and replace them with "Biscuit" (Ctrl+F is your friend here).

This is useful for larger resource packs that reinvent areas of the game, such as turning vanilla ores like iron into more fantastical ones like mithril — changing the name as well as the textures helps keep the immersion.

Once your pack is complete, all that's left to do is zip the base folder — this is important, so make sure you don't forget it — and add it to your game. You can find a full guide on installing resource packs at the top of this article, but the key thing to remember is that resource packs are hierarchical; any textures in your pack could be overridden by conflicting textures in other packs if they're placed higher, so put your pack at the top to make sure you can see all those textures you've worked hard on!

Going Even Further

Minecraft Custom Leaf Models

This isn't even the limit of what resource packs can do. Once you get the popular mod Optifine involved, all kinds of things are possible — most notably, changing the models of blocks. If you feel confident with the basics outlined in this guide, don't be afraid to venture further into resource pack creation and see what kind of awesome custom models you can come up with! Optifine also lets you use shaders, which introduce more realistic rendering to make your worlds look even better.

Optifine allows for a ton of other cool features, such as biome-specific textures, randomised textures, and textures that connect to each other across blocks. The only downside is that anyone using your pack will need Optifine installed for it to fully work. Creating a pack that fully utilises all of Optifine's features would take up several more guides on its own, however, so we'll leave this one at just the basics for now.

Next: Minecraft: Complete Guide And Walkthrough