The Best Resource for Minecraft
The Best Resource for Minecraft

Customizable Player Models Mod Wiki

Customizable Player Models (CPM) is a comprehensive cosmetic mod for Minecraft that allows players to create, animate, and share completely custom player avatars using an in-game editor or external tools like Blockbench.

8 sections · 946 words

Overview#

Customizable Player Models (CPM) is a powerful utility mod designed to break the limitations of the standard Minecraft player model. Unlike traditional skin-based customization, CPM allows for the addition of new geometry, custom animations, and high-resolution textures. The mod is purely cosmetic and does not affect gameplay mechanics, hitboxes, or player stats.

Key features include:

  • In-Game Editor: A full-featured modeling and animation suite accessible directly within Minecraft.
  • Steganography Export: Models are encoded into the unused pixels of a standard skin file, allowing them to be uploaded to official Minecraft skin servers.
  • Dynamic Animations: Create custom poses and movement cycles for any part of the model.
  • Cross-Platform: Compatible with both Forge and Fabric, with support for a wide range of Minecraft versions.

Getting Started#

To begin customizing your model, you must first access the CPM Editor. By default, the editor is opened by pressing the 'G' key while in-game.

Initial Setup

  1. Skin Preparation: It is recommended to use a 64x64 or 128x128 skin. High-resolution skins provide more space for custom textures.
  2. The Models Folder: Local model files (.cpmproject) are stored in your Minecraft directory under .minecraft/player_models.
  3. Navigation: Use the mouse to rotate the preview and the scroll wheel to zoom. The editor interface is divided into three main tabs: Model, Texture, and Animation.

Modeling Mechanics#

Modeling in CPM is based on a hierarchical system of 'Parts' (cubes). New parts must be parented to an existing element, such as a vanilla player limb or another custom part.

Part Properties

Each part has several adjustable parameters that define its appearance and behavior:

Property Description
Position The center position and rotation point of the element relative to its parent.
Rotation The orientation of the part in 3D space.
Offset The part's position offset from its center/rotation point.
Size The physical dimensions of the part box.
Scale A multiplier for the part's overall size.
MC Scale Increases size from the part box center by a set amount (similar to the 'inflation' on vanilla 2nd skin layers).
Mirror Mirrors the texture mapping on the part.
Mode Determines if the part uses a solid color or a custom texture from the skin.

Hierarchy and Parenting

Custom parts move and rotate with their parent element. For example, a 'Hat' part parented to the 'Head' will follow the player's head movements automatically.

Hiding Vanilla Parts

Vanilla model parts (like the default arms or legs) can be hidden using the Toggle Visibility button in the editor. This allows you to replace the standard player model entirely with a custom creation, such as a creature or a robot. Note that hiding vanilla parts in the editor will not hide custom parts when exporting.

Texturing and UV Mapping#

CPM allows you to map specific areas of your skin texture onto your custom parts.

  • UV Mapping: You can drag the UV box over your skin texture to select which pixels appear on each face of a custom part.
  • High-Resolution Skins: By increasing the canvas size (e.g., to 128x128), you gain extra 'blank' space on your skin file to draw textures for your custom parts.
  • Glow Effect: Parts can be set to 'Glow,' which makes them ignore in-game lighting and appear at full brightness (similar to Glow Squid eyes).
  • Hidden by Default: Custom parts can be hidden by default using the 'Effects' menu. These parts can then be triggered to appear via custom animations or poses.

Animations#

The animation system uses a keyframe-based approach to create fluid movement.

Animation Types

  1. Standard Poses: These trigger automatically during specific actions (Standing, Walking, Running, Sneaking, Swimming, Climbing, etc.).
  2. Global Animations: These play constantly in a loop regardless of player action.
  3. Custom Poses: User-defined animations that can be triggered via keybinds or specific conditions.

Creating Animations

Animations are built by adding 'Frames' and adjusting the position, rotation, or scale of parts in each frame. The mod automatically interpolates (smooths) the movement between these frames. You can adjust the Duration of each frame to control the speed of the animation.

Exporting and Sharing#

Once a model is complete, it must be exported to be visible to others.

  • Export to Skin: This is the most common method. The model data is saved into the alpha channel or unused pixels of your skin PNG. When you upload this PNG to your Minecraft account, the mod reads the data and reconstructs the model.
  • Export to Gist: For very large or complex models that exceed skin pixel limits, the model can be uploaded to a GitHub Gist. The mod then provides a URL that can be linked to your skin.
  • Visibility: Other players must have the Customizable Player Models mod installed to see your custom model. If they do not, they will only see your base 2D skin.

Commands and Configuration#

While most functions are handled through the GUI, the mod includes several configuration options and commands.

Keybinds

  • G: Open Editor (Default).
  • V: Open Model Selection Menu (Default).

Commands

  • /cpm reload: Reloads local models from the player_models folder.
  • /cpm export: Quick export command for the current project.

Configuration

In the mod settings menu, players can toggle safety features, such as:

  • Model Scaling: Enable or disable the ability for models to change the player's visual height.
  • Safety Profiles: Block models from specific players or limit the complexity of models rendered to improve performance.

GUI for editing mob part properties

Advanced Features#

Blockbench Integration

For professional-grade modeling, a CPM Plugin for Blockbench is available. This allows users to utilize Blockbench's superior modeling tools and then export the file directly into a .cpmproject format compatible with the mod.

While CPM is primarily a client-side mod, a server-side version (or plugin for Bukkit/Spigot) exists. This allows the server to manage and sync models more efficiently, ensuring all players see custom models correctly without relying solely on the skin-encoding method.