![]() |
VOOZH | about |
Resource packs allow users to include files that can modify or add custom textures, models, animations, music, sounds, user interfaces, and languages that change the way some things in Minecraft behave, look or sound.
There are some things that you should not do when creating a resource pack / texture packs, which includes but is not limited to:
In any case, you should always follow the Terms and Conditions on the Mojang Studios website.
Minecraft has a unique mechanic that allows for text and media files to be added to the game files that allow for everything from custom block textures and models to custom credits and sound events. This tutorial is meant to help with setting up the file systems in order to implement them. Since the files are essentially code, there are technical rules for how to format files and certain things may change from version to version. As such, what is written in this tutorial may not apply to every situation, but in the case where the difference is significant and specific, it provides a framework on the changes needed for different versions.
Note: This tutorial is geared towards 1.21.9 and 1.21.10. It may be compatible with another version, but compatibility is not guaranteed.
Creating custom files for Minecraft: Java Edition, whether in the forms of resource/data packs or mods, is somewhat technical and can be difficult. There are many rules that must be followed in order for add-ons to work correctly, most notably how the files are formatted. There are many tools that can help mitigate these issues, some of which are listed here.
To access the base assets of Minecraft to edit textures, models, or sounds, a file archiver is needed. On Windows, 7-Zip is suggested. MacOS has a built-in file archiver called "Archive Utility" that can be used, but if an alternative is wanted, The Unarchiver can also be used. You can also make a copy of your target version's .jar file and replace the extension with .zip to open it in your system's native file browser.
Making a resource pack involves creating JSON text files, which can be tricky to use and format correctly, especially for people who have never had any contact with this format before, and are coming across it for the first time while trying to create resources for Minecraft. Fortunately, many file editors assist with formatting these files and making sure proper syntax is used. Here are some suggestions:
In order to add sound files, you must put it in the proper format (.ogg). While this can be done using one of numerous sites online, an audio editor program is suggested to allow customizing or trimming of audio files. Audacity is one of the most popular audio editors.
To add textures or custom models, it is suggested to use a modelling program that allows for a visual-based editing system. Like with audio conversion websites, there are many online tools, though a common recommended program is Blockbench. Most image editors suffice to modify textures, but it is recommended to use an editor that supports transparency such as paint.net or https://pixlr.com/ so that you may add transparent pixels to textures.
All the resources and instructions in a pack reside in the pack folder, which lives in the "resourcepacks" directory.
In versions 1.11 and higher, all file names within a resource pack must use lowercase letters only.
A resource pack needs to follow a specific folder structure. Every content in your resource pack has its own place.
βββ pack.mcmeta βββ assets
βββ minecraft βββ lang β βββ en_us.json βββ textures βββ block βββ item]]: Metadata of the resource pack. This is the only mandatory file.
To create this file, right click within your resource pack folder and create a new text document. Name this file pack.mcmeta.
Note: Make sure that the file extension is .mcmeta and not .txt when you rename it, as otherwise the resource pack will not be readable by Minecraft itself! You may be warned that changing a file name extension could make the file unusable. However, ignore this because this actually indicates that you have renamed the pack.mcmeta file correctly.
On Windows, file extensions are hidden by default. If you cannot see file extensions, you will have to turn them on. The procedure to enable file extensions depends on the Windows version that you are running:
On almost all MacOS versions, you can right-click the file and click "Get info" to see the extension and also make it visible.
Open pack.mcmeta in the text editor of your choice and type or copy and paste the following:
{ "pack":{ "description":"This is the description of your resource pack.", "min_format":69, "max_format":69 } }
Be very careful not to forget any braces {}, commas ,, colons :, quotation marks "", or square brackets []. Missing one of these can lead to your resource pack not being recognised by Minecraft.
The text following description is required and displayed in game under the pack title in the resource pack selection screen, and must be enclosed in quotation marks "". If you wish to use special characters, you can enter the Unicode code for the character in the format \u####, where #### is the Unicode hex code for the character. Say you want to use the letter Γ (eszett), which has code U+00DF. Inside the description you would type \u00DF. Make sure that you are using the correct slash, or it may not work. A list of Unicode codes can be found here.
Note: Only the characters 0000βFFFF (Basic Multilingual Plane) are supported.[citation needed]
The number next to pack_format is required and tells Minecraft what release the resource pack is designed for. All valid resource pack formats with their corresponding Java Edition versions that can be used for this pack_format property are presented in the table below.
Starting with Minecraft 1.20.2, in addition to this property, a resource pack can also specify a range of pack formats it is compatible with. For more information on this topic, see the "Pack format range" section.
The supported_formats property introduced in Minecraft 1.20.2 is optional and was designed to be used to specify a range of pack formats that the resource pack is compatible with, something that was not possible with the legacy pack_format property. All valid resource pack formats with their corresponding Java Edition versions that can be used for this supported_formats property are presented in the table below.
This property can be represented in one of the following three forms:
18)[18, 46])min_inclusive and max_inclusive β to specify the start and end of the range, similarly to the list above (example: { "min_inclusive": 18, "max_inclusive": 46 }).Note: Even though this property somewhat replaces pack_format, the latter is still required and has to be specified in order for the resource pack to be read correctly by Minecraft. Also, if supported_formats is present, it must contain the value declared in pack_format.
| Value | Versions | Releases | Significant/Breaking Changes |
|---|---|---|---|
| 1 | 13w24a β 1.8.9 | 1.6.1 β 1.8.9 | First implementation of the resource pack system. See Java Edition 1.6.1/Resource pack changes for the list of file names changed. |
| 2 | 15w31a β 1.10.2 | 1.9 β 1.10.2 | Changes in the model system, such as item tags, multipart, and changes to display tags. |
| 3 | 16w32a β 17w47b | 1.11 β 1.12.2 | Now requires lowercase file names for all files in the resource pack. |
| 4 | 17w48a β 19w46b | 1.13 β 1.14.4 | Most of the block and item textures have been renamed. See Java Edition 1.13/Resource pack changes for the list of file names changed. The resource pack folder textures/blocks got renamed to textures/block.The resource pack folder textures/items got renamed to textures/item. |
| 5 | 1.15-pre1 β 1.16.2-pre3 | 1.15 β 1.16.1 | Changed texture mappings with all chests, banner and shield patterns now use alpha channels. The ender dragon no longer has a separate texture for the bottom of its wing. The glint texture for enchanted items now appears like it does in-game. The game now supports conversion with some of version 4 resource packs' outdated textures to the newer ones. Increased the size limit for the client-side downloading of resource packs from 50 MB to 100 MB. |
| 6 | 1.16.2-rc1 β 1.16.5 | 1.16.2 β 1.16.5 | Fixed MC-197275 β Due to changes to walls, pack_format: 5 is no longer cross-compatible between 1.15 and 1.16. |
| 7 | 20w45a β 21w38a | 1.17 β 1.17.1 | Drowned texture mirroring has changed, Grass path has been renamed to dirt path. Slots for the game mode selector are now 26 pixels instead of 25. |
| 8 | 21w39a β 1.18.2 | 1.18 β 1.18.2 | inventory.png now contains an extra sprite for a thin-layout version of the effect list in the inventory. |
| 9 | 22w11a β 1.19.2 | 1.19 β 1.19.2 | Resource pack can have a filter section in pack.mcmeta now. |
| 11 | 22w42a β 22w44a | β | Removed "fixers" for resource packs with a pack_format value of 3 and 4 (pre-flattening);the game will no longer try to adapt packs with those values to the current version. |
| 12 | 22w45a β 23w07a | 1.19.3 | The model and textures of the vex have been updated. tabs.png is now skinnier by 2 pixels, with the 7th tab being added to it. Resource packs can have configuration files now, located in the new atlases directory, that control which images are included in the atlases. Block and item textures are now loaded before they are processed by block and item models. |
| 13 | 1.19.4-pre1 β 23w13a | 1.19.4 | The enchantment glint now has two separate texture files: enchanted_glint_entity.png and enchanted_glint_item.png.The former smithing table GUI texture has been renamed to legacy_smithing.png in preparations for Java Edition 1.20, where the new smithing GUI texture is named as smithing.png instead, superseding the previous, similarly-named texture. |
| 14 | 23w14a β 23w16a | β | Updated the sprite layout of minecraft.png and invite_icon.png. minecraft.png logo has been reworked to be high quality and is no longer split across 2 rows. |
| 15 | 23w17a β 1.20.1 | 1.20 β 1.20.1 | legacy_unicode glyph provider has been removed. Bitmaps used by uniform font have been removed.uniform font has been updated to use Unifont 15.0.01, where it changes shape of multiple characters, while also adding support for new ones, and combining characters no longer include circle overlayed over them. Added second level of organization of entries in credits.json on top of titles, called disciplines. |
| 16 | 23w31a | β | Pack metadata now includes an optional field supported_formats which describes a range for pack formats that this pack supports. Packs can now contain overlay directories ("overlays"). |
| 17 | 23w32a β 1.20.2-pre1 | β | The text field background is now a nine-sliced sprite at widget/text_field, and widget/text_field_highlighted. The scroll bar in lists and text fields is now a nine-sliced sprite at widget/scroller. Added new village structure icons to map_icons.png. |
| 18 | 1.20.2-pre2 β 23w41a | 1.20.2 | β[more information needed] |
| 19 | 23w42a | β | Added block model, item model and block state definitions for Crafter. Associated GUI slot texture and sprites have also been added as well. |
| 20 | 23w43a β 23w44a | β | The bat has a new model, resulting the texture mappings for bat.png to be changed. |
| 21 | 23w45a β 23w46a | β | Now support only .png files for textures. |
| 22 | 1.20.3-pre1 β 23w51b | 1.20.3 β 1.20.4 | Renamed grass block and item to short_grass. |
| 24 | 24w03a β 24w04a | β | Adjusted the texture of the Wolf Collar layer to be more consistent with the new Wolf Armor. The ttf font provider transforms have been adjusted to have more reasonable defaults. |
| 25 | 24w05a β 24w05b | β | Added texture and model files for vault block. Removed unused attributes in core shader definitions. |
| 26 | 24w06a β 24w07a | β | Added font variant filters. |
| 28 | 24w09a β 24w10a | β | Adjusted menu GUI textures. Added additional textures to support colored layers of wolf armor for the wolf model and wolf armor item. Added three semi-transparent textures for the cracks to show on the wolf armor layer. |
| 29 | 24w11a | β | Adjusted menu GUI textures. |
| 30 | 24w12a | β | Split map_icons.png into individual sprites in the textures/map/decorations directory. |
| 31 | 24w13a β 1.20.5-pre3 | β | Added new particle types and sound events. |
| 32 | 1.20.5-pre4 β 1.20.6 | 1.20.5 β 1.20.6 | The shift in TTF glyph providers is now restricted to the range [-512; 512]. |
| 33 | 24w18a β 24w20a | β | The sound events for ominous trial spawner becoming active and ambient sound were renamed. Added new music discs. |
| 34 | 24w21a β 1.21.1 | 1.21 β 1.21.1 | Added the block.vault.reject_rewarded_player sound event. |
| 35 | 24w33a | β | Changed shaders and post-process effects. |
| 36 | 24w34a β 24w35a | β | Changed shader and post-process effect definitions and imports. |
| 37 | 24w36a | β | Introduced equipment models and more customizable tooltips. |
| 38 | 24w37a | β | Added GUI Sprite of the highlighted slots. |
| 39 | 24w38a β 24w39a | β | Added Bundle variants and changed torch models. |
| 40 | 24w40a | β | Increased to support the new experimental changes. |
| 41 | 1.21.2-pre1 β 1.21.2-pre2 | β | Added texture for empty air bubble and sound for when air bubble pops. |
| 42 | 1.21.2-pre3 β 1.21.3 | 1.21.2 β 1.21.3 | Added texture for bundle slot background. |
| 43 | 24w44a | β | Added resin, eyeblossoms, and changes some GUI sprites and magma cube texture layout with UV mapping. |
| 44 | 24w45a | β | Adds new format for data-driven item models. |
| 45 | 24w46a | β | All blocks that previously rendered only block entity will now also render normal block model over it. |
| 46 | 1.21.4-pre1 β 1.21.4 | 1.21.4 | Added a way to suppress first-person hand animation on item change for specific models. |
| 47 | 25w02a | β | Added wildflowers, falling leaves, and new pig textures. |
| 48 | 25w03a | β | Changed the size of the pig_saddle texture and added new equipment layer to pigs and striders. |
| 49 | 25w04a | β | Changed item model components. |
| 50 | 25w05a | β | Added new cow variants and new bush blocks. |
| 51 | 25w06a | β | Added new chicken textures, new eggs, cactus flower, and tall and short dry grass. |
| 52 | 25w07a | β | Updated mooshroom model, removed shader program definitions for core shaders and post-processing effects as JSON files, and updated item rendering. |
| 53 | 25w08a β 25w09b | β | Updated spawn egg textures, removed spawn_egg.png and spawn_egg_overlay.png, added an undercoat texture to sheep, and changed wolf sounds. |
| 54 | 25w10a | β | Renamed misc/enchanted_glint_entity.png to misc/enchanted_glint_armor.png, and "global" uniforms may now be defined in any shader and the game will attempt to fill it. |
| 55 | 1.21.5-pre1 β 1.21.5 | 1.21.5 | Tweaked leaf litter model. |
| 56 | 25w15a | β | The game will now consistently respect blur texture parameter in .png.mcmeta files. |
| 57 | 25w16a | β | All core shader uniforms are now uniform blocks, clouds.png can no longer be colored, and Block Model rotations are no longer limited to multiplies of 22.5. |
| 58 | 25w17a | β | FOG_IS_SKY has been removed. |
| 59 | 25w18a | β | Locator bar arrows are now animated using the standard method. Unifont updated to 16.0.03. UNIHEX font provider's size_overrides field is now optional. |
| 60 | 25w19a | β | Panorama textures must now all be the same size and square. |
| 61 | 25w20a | β | Added icon/music_notes and toast/now_playing sprites. |
| 62 | 25w21a | β | Added entity/leashknot/break sound, renamed leash sound names,and added sounds for shearing Saddles, Horse Armor, and Carpets from Llamas. |
| 63 | 1.21.6-pre1 β 1.21.7-rc1 | 1.21.6 | Added oversized_in_gui item model field and introduced new player head special model type. In 1.21.7 Release Candidate 1, new textures were added, but the pack format was not incremented. |
| 64 | 1.21.7-rc2 β 1.21.8 | 1.21.7 β 1.21.8 | Pack format bump missed in 1.21.7-rc1. No changes. |
| 65.0 | 25w31a | β | Pack format now includes minor versions, which are incremented instead of major versions when non-breaking changes are made. Some post-proccessing vertex shaders have been merged, are no longer passed the Position attribute, and are now exectued with a triangle instead of a quad. |
| 65.1 | 25w32a | β | Added new textures, sounds, models, etc, for the new copper blocks. Added copper_fire_flame particle. |
| 65.2 | 25w33a | β | Added environment/end_flash.png texture. Added sounds and sound event for end flashes weather.end_flash. Some changes to the core/lightmap.fsh shader. |
| 66.0 | 25w34a β 25w34b | β | Removed the align_items_to_bottom blockstate from shelves. |
| 67.0 | 25w35a | β | Changed block and item sprite chain to iron_chain. |
| 68.0 | 25w36a β 25w36b | β | UV calculations in the minecraft_sample_lightmap function of core/terrain.vsh have been slightly tweaked. |
| 69.0 | 25w37a β 1.21.10 | 1.21.9 β 1.21.10 | The game now requires OpenGL 3.3. The result slot of the villager trading interface has been moved up by one pixel. |
| 70.0 | 25w41a | β | Updated Unifont. Moved sun and end flash textures into environment/celestial/. Split and moved moon phases into environment/celestial/moon/.texture section of *.mcmeta files has a new boolean field darkened_cutout_mipmap controlling how mipmap textures are created.Glass and glass panes now support translucent textures |
| 70.1 | 25w42a | β | Tweaked copper chest textures. |
| 71.0 | 25w43a | β | Added new sound event for the nautilus item.underwater_saddle.equip.The darkened_cutout_mipmap field of the texture section of *.mcmeta files has been replaced by a new field mipmap_strategy.beacons and redstone dust now support translucent textures. Added mipmap_strategy settings to *.mcmeta files for various foliage textures. |
| 72.0 | 25w44a | β | Tweaked spear textures. Various changes made to the core/terrain shader for texxel anti-aliasing and chunk fading.Added new shader, core/block, for rendering 'ad-hoc blocks' such as falling blocks.Added new shaders for rendering sprite animations core/animate_sprite.vsh, core/animate_sprite_blit.fsh, and core/animate_sprite_interpolate.fsh.Added two new uniforms, ivec3 CameraBlockPos and vec3 CameraOffset, to the Globals uniform block. |
| 73.0 | 25w45a | β | Item textures were split out of the blocks atlas into a separate new items atlas that does not have mipmaps.All textures used in an item model have to come from the same (items or blocks) atlas. All textures used in a block model have to come from the blocks atlas. |
| 74.0 | 25w46a | β | Added entity.zombie_horse.eat sound event.The model format has been updated to support multi-axis rotation. The blockstate format has been updated to allow rotation on the z axis. To prepare for future work, the game will now print a warning if any defined sprites in any atlases share a name. Beacons no longer support translucent textures. Textures used for still water and lava are now hardcoded to minecraft:block/water_still and minecraft:block/lava_still as opposed to using the flowing models particle texture. |
| 75.0 | 1.21.11-pre1 β 1.21.11 | 1.21.11 | texture section of *.mcmeta files has a new alpha_cutoff_bias field that controls alpha bias for cutout textures.Textures for the leather horse armor item and equipment asset have been split into a tinted base layer and an overlay layer. The core/terrain shader has been modified to support RGSS filtering.The minecraft:entity/decorated_pot/decorated_pot_side and minecraft:entity/enchanting_table_book sprites are no longer included in the blocks atlas by default. |
| 76.0 | 26.1-snap1 | β | The LightmapInfo uniform now has two new fields.The AmbientLightFactor field was removed, its value is now premultiplied into AmbientColor.The DarkenWorldFactor was renamed to BossOverlayWorldDarkeningFactor.Text and items rendered in UI now use a separate 1x1 white lightmap texture, so the lightmap shader does not always have to keep the 15, 15 pixel purely white. |
| 77.0 | 26.1-snap2 | β | Added new textures for some baby mobs. Moved entity textures into a folder with the entities name. Renamed some entity textures. |
| 78.0 | 26.1-snap3 | β | The Tripwire texture is now rendered as alpha cutout instead of transparent. |
| 78.1 | 26.1-snap4 | β | Added new textures for baby horses, mules, and donkeys. Added new horse sounds. |
| 79.0 | 26.1-snap5 | β | Added new textures for some aquatic baby mobs. The Glow particles emitted by Glow Squids, Lightning Rods, blocks being waxed, unwaxed and scraped is now rendered as opaque, since they never actually used translucency. Removed demo_background.png in favor of popup/background.png sprite.Added block/golden_dandelion.png.Added new sounds for baby chicken and golden dandelion. |
| 80.0 | 26.1-snap6 | β | Added new textures for some baby mobs. The core/rendertype_item_entity_translucent_cull shaders have been removed in favor of core/entity.The core/rendertype_entity_alpha and core/rendertype_entity_decal shaders have been replaced by a DISSOLVE flag implemented by core/entity.Rendering of items (in UI and in the world) has been split from the core/entity into new core/item shaders. |
| 81.0 | 26.1-snap7 | β | β[more information needed] |
| 81.1 | 26.1-snap8 β 26.1-snap9 | β | β[more information needed] |
| 82.0 | 26.1-snap10 | β | β[more information needed] |
| 83.0 | 26.1-snap11 | β | β[more information needed] |
| 84.0 | 26.1-pre1 β 26.1.2 | 26.1 β 26.1.2 | β[more information needed] |
| 85.0 | 26.2-snap1 β 26.2-snap2 | β | β[more information needed] |
| 86.0 | 26.2-snap3 | β | β[more information needed] |
| 86.1 | 26.2-snap4 | β | β[more information needed] |
| 86.2 | 26.2-snap5 β 26.2-snap6 | β | β[more information needed] |
| 87.0 | 26.2-snap7 β 26.2-snap8 | β | β[more information needed] |
| 88.0 | 26.2-pre1 β 26.2 | 26.2 |
If an icon is not specified, a generic cobblestone icon appears next to the resource pack in the resource pack selection screen in game. If you would like to use your own pack icon instead, you need to name it pack.png and place it inside your resource pack folder right next to the pack.mcmeta file.
The file must be in the PNG format in any resolution and with a 1:1 aspect ratio (in other words, square-shaped), but a resolution of 128Γ128 px is recommended, as this is what Mojang itself uses in the default built-in resource and data packs.
At this point, you can test if the pack is formatted correctly by putting it in the game! To do this you must place your resource pack folder in the Minecraft pack folder. You can access it by selecting "Options", then "Resource Packs", then "Open Pack Folder", or you can navigate to it from your file browser:
Once you have the folder open, you can drag your custom pack folder and drop it in.
If you have formatted the files correctly, you should see your resource pack appear in the menu.
If you don't see your pack in the list, make sure your pack.mcmeta file is correct and saved in the folder. Look for any missing braces {}, commas ,, colons :, quotation marks "", or square brackets []. Remember that for each open brace, quotation, or square bracket, you must have a closing brace, quotation, or square bracket. Also, the formatting does not allow trailing commas (commas at the end of a list or after a single element).
Now that you have your resource pack set up, you can start adding content to it. You add most files into a subfolder called assets. Simply create a new folder inside your resource pack folder named assets. This, pack.mcmeta, and pack.png should be the only files located directly in your parent resource pack folder. Any other resource files must be located somewhere in assets or they won't be read by Minecraft.
Next, inside your assets folder are your namespace folders. These help separate the files in your resource pack so that there is no confusion between which files are located where. If you plan on modifying or replacing vanilla resources, those files would go into the minecraft namespace folder. Custom additions should go in your own namespace folder, which for this tutorial is named custom. In the future, you should use a significant or unique namespace so that there isn't a possibility of other resource packs confusing which files belong where when multiple packs are loaded.
If you plan on editing multiple resources, or to help ease of access, you may want to save a copy of the vanilla resources in an accessible location in case some things rely on other files within the directory. To do this, you need to navigate to the vanilla resources file by opening the versions folder inside the .minecraft directory. You should see a list of numbered folders, which correspond to versions that you've loaded or used in the past. Open the folder corresponding to the version you want for your resource pack (in this tutorial it would be 1.21.10) and extract the JAR file located inside, which can be done by right clicking the file and selecting a file archiver from the "Open With" option. You may want to save this in an accessible location for future reference, as certain tasks such as modifying block models require textures in addition to the model files. If you do not have a program that can open .jar files simply change the extension from .jar to .zip.
This section goes through the process of modifying a texture, using the creeper texture as an example.
First, you need the vanilla resource to get the texture you want to edit. This is located in the extracted version folder that was created in the previous section. In the extracted folder, navigate to assetsβminecraftβtexturesβentityβcreeper where you can find creeper.png. Save a duplicate of this file somewhere accessible or keep the folder window open during the next few steps.
Next you'll need to replicate the folder structure of the vanilla pack within your resource pack, which lets Minecraft know to use the texture. Since we are modifying a default texture, this is in the minecraft subfolder of our assets folder. Within the minecraft folder of your resource pack, do the following:
minecraft, create a folder called textures.textures, create a folder called entity.entity, create a folder called creeper.creeper folder.Now that you have the normal creeper texture placed in your resource pack, open it up in the image editor of your choice. It should look something like the image shown.
Since texture files are very small, you may need to zoom in.
If you've never seen a texture before, the above image might surprise you. A lot of textures look this way and are "wrapped" around a model, like wrapping paper around a present.
Now it's time to be creative! Edit the texture however you want. For simplicity, this example adds a headband. Note where the changes are and compare it to the color-coded texture above.
Once you are happy with your texture, save the file as creeper.png. It is important that it is saved with the same name as the default asset or otherwise it cannot detect and load your texture.
Now you can load up Minecraft and spawn a creeper with your custom texture! If it doesn't show up, make sure that you've selected your resource pack. If it still doesn't work, make sure you've named the file properly and placed it in the correct folder.
If you are playing with multiple resource packs loaded, there may be some textures that are in your pack that aren't being shown. This is because of the way resource packs are loaded in Minecraft. All selected resource pack files are loaded from the bottom up as they are shown in the selection menu, so if there is a resource pack that is loaded above yours, it may replace files that you've changed. This can cause various issues with using multiple themed resource packs that have differing textures, so make sure you have your resource pack at the top.
Sometimes you may want to change one of the Minecraft models. To do so you need a file archiver to get the default model and texture along with a 3D modelling tool to edit the model. Blockbench works well in this case since it can export directly to the .json format needed for models.
Because the default ladder in Minecraft isn't 3D, you can replace it with your own model. First, get all the ladder's files into this resource pack:
assets/minecraft/blockstates folder, then extract ladder.json to Tutorial_Resource_Pack/assets/minecraft/blockstatesassets/minecraft/models/block folder, then extract ladder.json to Tutorial_Resource_Pack/assets/minecraft/models/blockassets/minecraft/models/item folder, then extract ladder.json to Tutorial_Resource_Pack/assets/minecraft/models/itemassets/minecraft/textures/block folder, then extract ladder.png to Tutorial_Resource_Pack/assets/minecraft/textures/block.Now you can either edit the ladder.png using your preferred image editor, or you can edit it in your preferred modelling editor.
Note: If you are doing a basic "Just Simple Nonanimated Textures" resource pack, the .json files are unnecessary. Otherwise, if you are doing special features to change what the texture looks like when certain parameters are true or false, then the .json files would be necessary. For example, if you created a resource pack that makes grass blocks smooth, the .json files would prevent you from having dirt lines everywhere in your world that already uses code.
In modelling the ladder, we use Blockbench. Once you have opened the program, press Ctrl+O to open the model selection menu. After the open dialog has appeared, go to the location where you saved ladder.json and select .
You then should be facing a ladder that is on the south side of the box.
ladder.png, then click Apply to Untextured Faces.resourcepacks/Tutorial_Resource_Pack/assets/minecraft/models/block/ladder.json (Replace "block" with "blocks" for 1.12 and below).Now we have created a new model for the ladder block in Blockbench.
Go to getpaint.net and download paint.net for free.
When you have completed the 3D model of the ladder and saved it, launch Minecraft, and test it out. Place a ladder on a wall, and you should see its replaced model.
Just like modifying the default textures or models, you can substitute custom sounds in place of the default ones. This example shows how to change the boss music in the ender dragon fight.
Similar to the custom texture and models, you'll first need to know the path of the sound you want to change.
assets/indexes, which contains a list of numbered .json files..json file corresponding to your Minecraft version (e.g. 1.19.json), and open it with the text editor of your choice.minecraft/sounds/music/game/end/boss.oggassets/minecraft.sounds.sounds folder, you need to create new folders depending on your sound's path. For example, if your path is minecraft/sounds/music/game/end/boss.ogg, you need to create the folders sounds/music/game/end.end) you can put in your new sound file. Make sure you named the file to the file that you're replacing, or in this example, boss.ogg.
.ogg file. To convert your sound file to a .ogg file, you can use the free website Online-Convert.comIf everything went according to plan, you have now replaced a sound in Minecraft. To test it:
/playsound command to play your sound. In our example, type: /playsound minecraft:music.dragon master @sIn addition to modifying default sounds, you can add your own! In this example, a new player hurt sound can be added without replacing any of the current player hurt sounds.
In order to add a sound, you'll need to know where it should actually go by determining its path. Unlike replacing sounds, you should go straight to your resource pack folder and search in there.
.json index file (e.g 1.19.json) from .minecraft/assets/indexes.minecraft/sounds/damage/.Tutorial_Resource_Pack/assets/minecraft.minecraft folder, create a folder named sounds.
sounds folder from replacing a default sound, open that folder.sounds folder, create a folder that matches the directory of the sound you want to add. In this case, we are going to create a file called damage..ogg file. Like in the previous section, you may use the free website Online-Convert.com or use Audacity as mentioned at the top of the page..json file from above. In this case, five other hurt sounds exist within the minecraft/sounds/damage/ folder, two for falling at different heights (fallbig.ogg and fallsmall.ogg) and the other three are when the player actually gets hurt (hit1.ogg, hit2.ogg, and hit3.ogg) Since we want to add a fourth sound to the existing three hurt sounds, we cannot reuse those file names. For simplicity, name your sound hit4.ogg.Because we are adding a sound, we must change the associated sound event in sounds.json.
assets/minecraft in your resource pack folder.sounds.json. Do make sure that the file extension is indeed .json and nothing else.sounds.json:{ "entity.player.hurt":{ "sounds":[ { "name":"damage/hit1" }, { "name":"damage/hit2" }, { "name":"damage/hit3" }, { "name":"damage/hit4" } ], "subtitle":"Hurt" } }
entity.player.hurt with the sound event listed in the vanilla sounds.json file./playsound in-game, you can determine this id. In this case, using /playsound minecraft:entity.player.hurt master @s confirms that the player's hurt sound is indeed classified as entity.player.hurt.subtitle field dictates the text to display when the sound is played. It can either be a string of text, or can use a field defined in a lang file.[needs testing]sounds.json file to specify more parameters such as volume and pitch. A detailed list of additional sounds.json fields can be found here..json formatting is required! Any missing bracket, comma, etc. causes the resource pack to fail.If there is an error anywhere in your sounds.json file, none of the sounds described in it appear in-game. If this happens, you should check the spelling and file paths.
If everything went according to plan, you have now added a sound to Minecraft. To test it:
/playsound command once again to play your sound. In our example, type: /playsound minecraft:entity.player.hurt master @s. For this example, it likely requires multiple tries, as hurt sounds are chosen randomly.You can add completely new languages to Minecraft using a resource pack. Assuming that your new language is <lang>[1] and its country/region is <country>[2], the pack.mcmeta file will look like this:
{ "pack":{ "description":"This is the description of your resource pack", "pack_format":18, "supported_formats":[18,46] }, "language":{ "<lang>_<country>":{ "name":"Tutorial Language", "region":"<country>/<region name>", "bidirectional":false } } }
If you want your language to be right-to-left, set bidirectional to true.
Then, put <lang>_<country>.json in assets/minecraft/lang inside your resource pack. When you launch the game, choose your resource pack, open the Language selection screen, and your new language should be there.
The pack.mcmeta goes in the root folder of your resource pack, not in the assets/minecraft/lang folder. Also note that the above pack.mcmeta is the same file as the pack.mcmeta file that you have created a while ago. As of 1.7-pre, you can choose multiple resource packs at once. If you want to use your new language and resource pack for before 1.7, you need to combine them manually because multiple resource packs could not be selected before the version.
An example of an animation file is this:
stone.png.mcmeta{ "animation":{ "interpolate":true, "width":1, "height":7, "frametime":1, "frames":[ { "index":0, "time":0 }, 1,2,3,4,5,6,4,2 ] } }
All you really need to make a texture animated is the following code. By default, it makes each frame last only one tick:
stone.png.mcmeta{ "animation":{} }
Save the file as the same name as the texture you want to be animated with an .mcmeta in the same folder as your texture.
An example of a texture property is this:
shadow.png.mcmeta{ "texture":{ "blur":false, "clamp":true } }
Character sizes in fonts are determined by the last line of pixels that contains pixels that contain a non-zero alpha. This allows additional padding to be added around characters by adding a color with an alpha level of 1, which Minecraft considers as part of the character.
If you decide you want to make some changes to your resource pack, edit your resource pack, go to resource packs in options, remove your pack from the active list and exit, go back, and reapply it. Alternatively, saving the texture to the resource pack and pressing β―+β― reloads the pack without the need to reload the default textures first.
For use in singleplayer worlds, you can package your resource pack as a ZIP file named resources.zip inside the world directory. This is then automatically used when playing the singleplayer world.
If you are the owner of a server, you may set it as the resource pack of your server.
resource-pack=.require-resource-pack property to true to force people to use the resource pack.Servers can have an icon that appears in the Multiplayer list.
server-icon.png.| Resource packs | |||||
|---|---|---|---|---|---|
| Components |
| ||||
| Built-in |
| ||||
| Tutorials | |||||