How to Make a Minecraft Resource Pack (26.3)
How to make a Minecraft resource pack: the folder layout, pack.mcmeta, zipping, local testing and serving it to players from server.properties.
2026年11月5日 更新Minecraft 26.3 向け3 分で読めます
Written for Minecraft 26.3.
To make a Minecraft resource pack you need a folder with a pack.mcmeta file and an assets folder. Zip it, drop it in your resourcepacks folder to test, then host the zip and point server.properties at it so every player gets it.
Before you start
Minecraft: Java Edition 26.3. Its resource pack format is 97.1.
A plain text editor that can save files with any extension, such as VS Code or Notepad++.
A zip tool. Windows, macOS and Linux all have one built in.
What a resource pack is
A resource pack replaces or adds files the game normally reads from itself: textures, models, sounds, fonts and text. Nothing in it is code. The game loads the files on the client, so players see your changes without installing a mod.
The folder layout
my_pack/
pack.mcmeta
pack.png
assets/
minecraft/
textures/
myserver/
models/
textures/pack.mcmetais the only required file. The game identifies a pack by finding it.pack.pngis optional. It is the icon in the pack list. Use a square PNG, 128 by 128 pixels.assets/<namespace>/holds the content. Theminecraftnamespace overrides vanilla files. Your own namespace, such asmyserver, adds new ones.Inside a namespace,
texturesholds PNG images andmodelsholds JSON shapes. Items are chosen by files initems.
Only pack.mcmeta, pack.png and assets should sit directly in the pack folder.
Make the pack
Create a folder called
my_packinside yourresourcepacksfolder (see below for where that is).Create
pack.mcmetain it with this content. Make sure the extension is.mcmeta, not.txt.
{
"pack": {
"description": "My server pack",
"min_format": 97,
"max_format": 97
}
}Since 1.21.9 a pack states the range of formats it supports with min_format and max_format. A single number means any minor version of that major version, so 97 covers 97.0 and 97.1. The older pack_format key is only needed if the pack must also work on resource pack formats below 65.
Add a texture to test. Copy any PNG to
assets/minecraft/textures/block/dirt.pngto replace the dirt block.Names must be lowercase. Letters, digits,
_,-and.are the only characters Java Edition accepts in a name.
Test it locally
Your resourcepacks folder is at %appdata%/.minecraft/resourcepacks on Windows, ~/Library/Application Support/minecraft/resourcepacks on macOS and ~/.minecraft/resourcepacks/ on Linux.
Open Options, then Resource Packs, and move your pack to the Selected list. Click Done.
Make a change to a file, then press
F3 + Tto reload packs without restarting.
If anything looks wrong, read our guide to fixing a pack that is not working.
Zip it and serve it
Select the contents of my_pack (not the folder itself) and compress them, so pack.mcmeta is at the top level of the zip. The zip must be reachable at a direct download link. Then set these in server.properties:
resource-pack=https://example.com/packs/my_pack.zip
resource-pack-sha1=<lowercase sha1 of the zip>
require-resource-pack=trueresource-packis the download URL. Left blank, no pack is offered.resource-pack-sha1is the lowercase SHA-1 hash of the zip. It is optional but recommended, because it checks the download is intact.require-resource-packdisconnects players who decline the pack. The default is false.
The size limit is 250 MiB. Restart the server after changing these. The server.properties tool explains the other settings.
Keep the link and hash in step with the file. If you upload a new zip, update the SHA-1 too, or clients may reject the download.
Check it worked
Join the server. You should be prompted to accept the pack.
Look at the changed block or item. Run
F3 + Tlocally if you are testing before upload.The pack list should show your name, description and icon with no warning symbol.
Common problems
The pack does not show in the list
Check that pack.mcmeta is directly in the pack, not inside an extra folder, and that Windows has not saved it as pack.mcmeta.txt.
It is marked incompatible
The format range in pack.mcmeta does not include the game's format. Set min_format and max_format to cover 97.
A texture does not change
The file name or folder must match the original exactly, in lowercase. Texture files must be PNG.
Players are not prompted on join
The URL is not a direct download link, or the hash does not match. A hash mismatch is reported in the console at startup.