> ## 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.

# My First Mob

> Create and spawn your first custom mob in five minutes.

In this tutorial you'll create your first custom mob and spawn it in your world. It takes about five minutes, and you don't need to write any code.

## Before you start

You need:

* NMEntities installed: the jar in your server's `plugins/` folder, server started once.
* Permission to run `/nme` commands (you're OP, or you have `nmentities.*`).

A Blockbench model is optional. We'll cover both paths.

## Path A: A mob with a custom model

### 1. Drop in your model

Take any `.bbmodel` file exported from [Blockbench](https://www.blockbench.net/) and place it in:

```text theme={null}
plugins/NMEntities/models/
```

For this tutorial we'll assume it's called `toast.bbmodel`.

### 2. Reload

Run:

```text theme={null}
/nme reload
```

Two things happen. NMEntities rebuilds the resource pack with your model in it, and it notices `toast` isn't used by any mob yet, so it **automatically creates one** for you in `plugins/NMEntities/Mobs/mobs.yml`. The console confirms it: `Loaded 1 mob(s)`.

### 3. Apply the resource pack

Your model lives in a resource pack that players need to see it. Apply the generated pack to your client (it's in `plugins/NMEntities/build`, or set up your server to send it automatically).

### 4. Spawn it

```text theme={null}
/nme spawn toast
```

There it is: a pig wearing your model. Every auto-generated mob starts as a pig. Let's fix that.

### 5. Make it yours

Open `plugins/NMEntities/Mobs/mobs.yml`. You'll find your mob waiting:

```yaml theme={null}
toast:
  model: toast
  base: pig
```

Every mob is just a **model** (how it looks) plus a **base** (the vanilla entity underneath, deciding how it behaves). Change the base and add some character:

```yaml theme={null}
toast:
  model: toast
  base: zombie
  display: "&6Sir Toast"
  health: 40
```

* `base: zombie` makes it walk around and attack players like a zombie would.
* `display` is the name floating above it. `&6` makes it gold.
* `health: 40` is 20 hearts (health is counted in points, 2 points per heart).

Save the file, then:

```text theme={null}
/nme reload
/nme spawn toast
```

Sir Toast lives, and he's not friendly anymore.

## Path B: A mob without a model

No Blockbench model? No problem. A mob only needs a `base`. Create a file `plugins/NMEntities/Mobs/guards.yml`:

```yaml theme={null}
angry_guard:
  base: vindicator
  display: "&cAngry Guard"
  health: 50
```

Then:

```text theme={null}
/nme reload
/nme spawn angry_guard
```

A beefed-up vindicator with a custom name. Everything in these tutorials works the same with or without a model.

## What you've learned

* Models go in `models/`, mobs are defined in `Mobs/*.yml`, and `/nme reload` applies changes.
* A mob is a **base** entity, optionally wearing a **model**, with whatever stats you give it.
* Auto-generated mobs start as pigs and are yours to edit. Your edits are never overwritten.

Right now your mob looks the part but doesn't *do* anything special. That's the next tutorial: [My First Effect](my-first-effect).
