Blockbench
Blockbench is a robust, modern 3D modeling program for Minecraft. It exports JSON-based model files for use in resource packs. As a free and open source project, it is generally the choice of entry level users.
Installation
Blockbench can be installed by downloading the latest installer from the installation page and following the prompts. Blockbench is also availible as a web app, which can be accessed here. It is generally reccomended to use the standalone app if possible for performance reasons, as well as some extended functionality.
On first opening Blockbench, you will likely be greeted with a changelog. On dismissing this, you will be broungt to the start menu. From here, you can choose the format 'Java Block/Item', which is the format that will be used for unmodded, vanilla resource pack models.
Project Settings
On creating a project, you will be brought to a form prompting you for information about your project. Project settings can be revisted at any time from File > Project... Here is some infor about the options:
File Name
is arbitaryParent Model
allows you to use repeated components from another model, and is covered in greater detail in the models sectionAmbient Occlusion
refers to whether the block model will render with shadows on its faces in gameUV Mode
specifies how textures are mapped to faces on your model, and should be left as per-face UV for Java Edition modelsTexture Size
defines the maximum x and y coordinates that will be used by Blockbench for UV mapping, though this setting is only used by Blockbench, and exported UV values will be translated to a 16 by 16 coordinate system
Edit Tab
The edit tab is where most of your time in Blockbench will be spent. Tab switching may be done in the top right. From the edit tab, you may import textures, create elements, and setup UV mapping.
Textures
Textures may be created or imported from this menu. You may also drag textures from your system''s file explorer utilitiy directly into this menu. It is important to note that, when importing textures, you should place your model within its final location in your resource pack. This will allow Blockbench to export the correct texture paths to your model JSON.
It is also reccomended that you import the default textures, so that Blockbench may relatively reference these without them being present in your own resource pack. See the full guide on extracting the default assets to obtain these. To make Blockbench aware of these assets:
- Navigate to the settings menu from File > Preferences > Settings...
- Expand the Defaults section
- Choose Default Path and select Continue when prompted
- Use your file explorer utility to navigate to the textures folder of the default assets
- Select the textures folder (
./assets/minecraft/textures
) and open
The default assets are now set, meaning that Blockbench will now attempt to resolve any references to default textures that are missing from your own resource pack.
Outliner
The outliner allows you to add elements and lists all the elements contained in your model. You may also add groups to organize your model, though it should be noted that groups are purely organizational and in no way factor into Minecraft's rendering of models.
There is also a Toggle More Options button. This will allow for the application of additional settings on a per-element basis. The options are as follows:
- Auto UV mode affects how the UV is expanded as the size of the element changes:
- will always attempt to expand in the positive direction and subtract in the negative direction of the UV coordinates until the edge is reached
- will expand the UV based on the direction of element expansion and subtract based on the direction of element deflation
- will keep the UV locked to the same postion, regardless of changes in element size
- Shading mode defines whether or not the element will have shading applied:
- enables shading for the element
- disables shading for the element
- Export mode controlls whether or not the element will be written to the JSON on export:
- will write the element on export
- will not write the element on export
- Lock mode controls whether or not further edits can be made to the element:
- will allow further edits to the element
- will lock the element to its current state
- Visibility mode controls whether or not the element can be seen in Blockbench:
- will show the element in Blockbench
- will not show the element in Blockbench
UV Editor
The UV editor is where the display of textures on each element face is controlled. A miniaturized version of the UV editor with limited options is always displayed above the textures menu. To see the full UV editor, select any elelemnt face and double click the texture displayed on the leftward menu. The following menu options are availible:
- The UV Grid box defines the amount of steps when dragging the UV size. The default setting will take steps based on the texture pixel size, while the other options step based on the project texture size
- maximizes the UV to use the entire texture on the face
- applies automatic UV based on the element size and proportion (the relative option will only consider proportion)
- mirrors the UV along the X axis
- mirrors the UV along the Y axis
- copies the UV of the current face to the clipboard
- pastes the UV on the clipboard to the current face
- prevents the face from being written to the JSON file
- resets the face to missing texture
- enables or disables tinting
- The cullface selector chooses a face to be culled if there is an adjacent block
- applies automatic culling
- The UV rotation scrollbar rotates the UV as it is displayed on the face in increments of 90º
Element
- Position
- Size
- Pivot
- Rotation
Toolbar
- Move
- Resize
- Rotate
- Pivot
- Vertex Snapping
- Transform Space
Paint Tab
The paint tab allows for direct texture editting on the model with a relatively simple set of tools:
Toolbar
- Paint Brush
- Paint Bucket
- Eraser
- Color Picker
- Draw Shape
- Copy Paste
- Mirror Painting
- Lock Alpha Channel
- Painting Grid
Color Picker
Display Tab
The display tab modifies how the model is shown based on inventory slot and camera view, as well as displays in item frames, on ground, and in GUI.
Presets
Slot
Reference Model
Display Options
- Rotation
- Translation
- Scale