Skip to main content

Overview

BetterModel uses BlockBench Generic models (.bbmodel files) to render 3D models in Minecraft Java Edition. This guide walks you through creating, exporting, and configuring models for the plugin.

Prerequisites

  • BlockBench installed (free 3D modeling software)
  • Basic understanding of 3D modeling concepts
  • BetterModel plugin installed on your server

Creating Your First Model

Directory Structure

Place your exported model files in the BetterModel plugin directory:
  • models/: General models that can be attached to entities and saved
  • players/: Player-specific limb models (12-limb animation system)

Model Types

General Models

General models are used for entities, NPCs, and standalone objects. They support:
  • Full save/load functionality
  • Entity binding and tracking
  • Custom hitboxes
  • Damage animations and tinting

Player Limb Models

Player limb models are designed for the 12-limb player animation system:
  • Head, Body, Arms, Legs
  • Left/Right Arm Layers, Left/Right Leg Layers
  • Cape support
  • No persistent saving

Best Practices

Naming Conventions

Use descriptive, consistent names for bones and groups:

Bone Tags

BetterModel recognizes special bone tags for automatic behavior:
  • head: Applies head rotation tracking
  • hitbox: Automatically creates a hitbox for this bone
  • tag: Creates a nametag display
  • shadow: Adds a shadow underneath the model
Add tags in BlockBench by selecting a bone and adding them in the properties panel.

Pivot Points

Set correct pivot points for natural rotation:
  • Arms should pivot at the shoulder
  • Legs should pivot at the hip
  • Head should pivot at the base of the neck

Texture Resolution

Keep texture resolution reasonable (512x512 or lower) to avoid client performance issues and resource pack bloat.

Animation Length

Consider the purpose of each animation:
  • Idle: 2-4 seconds (loop)
  • Walk: 0.5-1 second (loop)
  • Attack: 0.3-0.6 seconds (once)
  • Death: 1-2 seconds (once)

Testing Your Model

Common Issues

Model doesn’t appear

  • Check console for loading errors
  • Verify the .bbmodel file is in the correct directory
  • Ensure texture files are accessible
  • Reload the plugin after making changes

Animations are broken

  • Check that bone names match between BlockBench and your code
  • Verify animation loop settings
  • Ensure pivot points are correctly positioned

Textures are missing

  • Keep texture files in the same directory as the .bbmodel
  • Use relative paths in BlockBench
  • Check file permissions

Advanced Techniques

Custom Model Properties

Create a model configuration file to customize behavior:

Molang Expressions

BetterModel supports Molang expressions in animations for dynamic behavior based on game state.

Multiple Texture Variants

Create texture variants by duplicating the model with different texture references for customization.

Next Steps

Spawning Entities

Learn how to spawn and bind models to entities

Playing Animations

Control animations programmatically