> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nmentities.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating a Model

> From an empty Blockbench window to a server-ready .bbmodel: project setup, cubes, bones and textures.

This page takes you from an empty Blockbench window to a model that's ready for your server.

## 1. Install Blockbench

Models are made in [Blockbench](https://www.blockbench.net/downloads), a free 3D editor built for Minecraft-style models. Download it, install it, open it. That's the only tool you need.

> Blockbench has its own excellent guides on modeling and animating. If you're brand new to 3D modeling, spending twenty minutes with their basics will pay off here.

## 2. Start the right kind of project

When Blockbench asks what to create, pick **Generic Model**.

\[Image here: Blockbench's new project screen with the Generic Model option highlighted]

This matters: other project types (Java Block/Item, Skin, and so on) export formats NMEntities doesn't read. Generic Model gives you full freedom of shape and the right export format.

Give the project a lowercase, simple name. That name becomes your model's id everywhere: `toast`, `fire_golem`, `shop_keeper`.

## 3. Build with cubes

Your model's body is made of **cubes**: stretched, rotated and textured boxes. Add them from the toolbar, move and resize them until the shape emerges.

\[Image here: A simple creature being assembled from a few cubes in the Blockbench viewport]

A good habit from the start: build low-poly. Minecraft's style forgives blocky shapes, and fewer cubes means better performance for everyone on the server.

## 4. Group cubes into bones

This is the most important concept on this page. A **bone** is a group of cubes that moves as one piece. Select cubes and group them (right-click, Group, or `Ctrl+G`), and name each group for the body part it represents: `head`, `body`, `left_arm`, `tail`.

\[Image here: The Blockbench outliner showing a model organized into named groups: head, body, arms, legs]

Why bones matter:

* **Animation happens per bone.** You animate the `head` bone, and everything inside it turns together. No bones, no animation.
* **Bones can be rotated freely**, unlike loose cubes which have rotation limits.
* **Performance.** Each bone is sent to players as one display packet, so a sane bone structure keeps your model cheap.
* **Special behaviors** attach to bones by name. That's the [bone tag](bone-tags) system: a bone named with the right prefix can follow the head, act as a hitbox, or hold a nametag.

A typical structure looks like: one root bone, with `head`, `body`, `left_leg`, `right_leg` inside it, and cubes inside each.

## 5. Texture it

Create a texture in Blockbench's Paint tab (or import a PNG), then paint your cubes. Blockbench handles the UV mapping as you go.

\[Image here: The Paint tab with a texture being applied to the model]

## 6. Save as .bbmodel

`File > Save Model` gives you a `.bbmodel` file. That single file contains the shapes, the texture and the animations. It's the only thing NMEntities needs.

> Meshes (non-cube shapes) are supported only on recent Minecraft clients. If your players are on older versions, stick to cubes.

## Next step

Your model exists. Time to put it in the world: [Importing Your Model](importing-a-model).
