๐บ๐ธ English
Custom Steve Model (Forge 1.20.1)
Replace your Minecraft player with custom 3D models, complete with animations, an emote wheel and skins. On a server, other players see your character.
Inspired by the “CustomSteve” mod for 1.7.10, but built from scratch for 1.20.1 with plenty the original didn’t have: CPM and YSM models, an emote wheel, skins, multiplayer and a pt-br/English interface.
Features
- Many model formats: PMX, PMD, glTF/GLB, OBJ, Bedrock (
.geo.json), Custom Player Models (.cpmmodel) and Yes Steve Model (YSM) folders. - Animations: VMD, BVH and Bedrock, automatically bound to game states (idle, walk, run, jump, swim, fly, sneak, sleep, ride...).
- Model menu (K key): pick your character, adjust size and height, force an animation and switch forms (“Transform” button).
- Emote and skin wheel (N key): 8 slots, each showing your character doing the emote, plus skins as cards. All players see your emote and skin.
- Multiplayer: install the mod on the server too. Each player sends their own character (folder up to 48 MB).
- Items that become skins: items a
.cpmmodelships turned on (like Sonic’s hot dog) become a skin you can toggle. - Portuguese (Brazil) and English: interface, commands and emote and skin names follow the game language.
๐ Tutorial: how to add models, textures, skins and animations
Launch the game once with the mod: it creates a CustomSteve/ folder inside the game folder. Everything lives there:
CustomSteve/
models/<character>/ model + textures + skins
animations/<character>/ animations for that character only
animations/default/ fallback animations (used if the character lacks its own)
bgms/<character>/ music
lang/ translations (optional)
1. Adding a model
Create a folder named after the character inside models/ and put the model file in it, with the same name as the folder:models/sonic/sonic.pmx (or .pmd, .glb, .gltf, .obj, .geo.json, .cpmmodel).
Press K and pick the character. If it doesn’t show up, use /customsteve reload.
2. Textures
Put the images (PNG, JPG or BMP) in the model folder or in a textures/ subfolder.
.cpmmodelmodels: the texture is embedded in the file. Iftextures/*.pngexists in the folder, that image replaces the embedded one.- Shortcut for a loose model:
models/blup.geo.json+textures/blup/*.png.
3. Skins
Put skin images in models/<character>/skins/ (subfolders are fine). They show up in the wheel (N key, Skins button), and every player sees the one you pick.
- With
.cpmmodel, the other images intextures/and the model’s own layers (outfits/accessories) also become skins. - With YSM models, extra textures become skins automatically.
4. Animations
- Put animations in
animations/<character>/(.vmd,.bvh,.glbor.animation.json). The file name decides when it plays:stand,walk,run,sneaking_LO,jump,fall,swim,flying,ladder,sleep,riding... For Bedrock animations, the animation name is what counts (idlebecomes standing,walk,run...). - Heads up: bone names inside the
.vmdmust match the ones in the.pmx. The log prints “matched X/Y bones” for every loaded animation. - Animations that are not game states become emotes in the wheel (N). In
.cpmmodel, emotes are the model’s gestures. - To change which animation plays in which state, use
clipMapin the character’s.json.
5. YSM (Yes Steve Model) models
Copy the whole model folder (the one with ysm.json) to models/<name>/. It can be a folder grouping several models: each one becomes a character. Packed .ysm files don’t work.
6. Fine tuning (optional)
Create models/<character>/<character>.json to change scale, targetHeight (height in blocks, default 1.8), yOffset, boneMap, clipMap, headTracking, and more.
7. Translated names (optional)
To make emotes and skins show up in pt-br and English, put lang/pt_br.json and lang/en_us.json inside the model folder, in the format {"wave": "Wave"}. Or use a single file in CustomSteve/lang/ that applies to every model.
Commands: /customsteve list · /customsteve set <name> · /customsteve none · /customsteve reload
Current limitations
- No physics (Bullet), no toon/PBR/outline shading and no morphs (facial expressions).
- Textures in PNG, JPG or BMP (no DDS/TGA).
- YSM: no packed
.ysm, no animation controllers (config buttons, toggled parts, blinking eyes), no compatibility animations for other mods, no first-person arms and no sounds. .cpmmodel: the new animation format (ANIMATION_NEW), animated color and held items are not supported yet.
Requirements
Minecraft 1.20.1 · Forge 47+ · Java 17 · Install on the server too so players can see each other.
Independent mod, inspired by the original CustomSteve and not affiliated with its authors. No models are included: only use models you have permission to use.
๐ง๐ท Português
Custom Steve Model (Forge 1.20.1)
Troque o seu personagem do Minecraft por modelos 3D customizados, com animações, roda de emotes e skins. Em servidor, os outros jogadores veem o seu personagem.
Inspirado no mod “CustomSteve” da 1.7.10, mas feito do zero para a 1.20.1, com vários recursos que o original não tinha: modelos CPM e YSM, roda de emotes, skins, multiplayer e interface em pt-br/inglês.
O que ele faz
- Vários formatos de modelo: PMX, PMD, glTF/GLB, OBJ, Bedrock (
.geo.json), Custom Player Models (.cpmmodel) e pastas do Yes Steve Model (YSM). - Animações: VMD, BVH e Bedrock, ligadas automaticamente aos estados do jogo (parado, andar, correr, pular, nadar, voar, agachar, dormir, montar...).
- Menu de modelos (tecla K): escolha o personagem, ajuste tamanho e altura, force uma animação e troque de forma (botão “Transformar”).
- Roda de emotes e skins (tecla N): 8 slots em que cada um mostra o seu boneco fazendo o emote, e skins em cartões. Todos os jogadores veem o emote e a skin.
- Multiplayer: instale o mod também no servidor. Cada jogador envia o próprio personagem (pasta de até 48 MB).
- Itens que viram skin: itens que o
.cpmmodeljá traz ligados (como o cachorro-quente do Sonic) viram uma skin que liga e desliga. - Português (Brasil) e inglês: interface, comandos e nomes de emotes e skins seguem o idioma do jogo.
๐ Tutorial: como colocar modelos, texturas, skins e animações
Abra o jogo uma vez com o mod: ele cria a pasta CustomSteve/ dentro da pasta do jogo. Tudo fica lá:
CustomSteve/
models/<personagem>/ modelo + texturas + skins
animations/<personagem>/ animações só desse personagem
animations/default/ animações reserva (usadas se o personagem não tiver a sua)
bgms/<personagem>/ músicas
lang/ traduções (opcional)
1. Colocar um modelo
Crie uma pasta com o nome do personagem em models/ e ponha o arquivo do modelo dentro, com o mesmo nome da pasta:models/sonic/sonic.pmx (ou .pmd, .glb, .gltf, .obj, .geo.json, .cpmmodel).
Aperte K e escolha o personagem. Se ele não aparecer na lista, use /customsteve reload.
2. Texturas
Ponha as imagens (PNG, JPG ou BMP) na mesma pasta do modelo ou numa subpasta textures/.
- Modelos
.cpmmodel: a textura já vem dentro do arquivo. Se existirtextures/*.pngna pasta, essa imagem substitui a embutida. - Atalho para modelo solto:
models/blup.geo.json+textures/blup/*.png.
3. Skins
Ponha as imagens de skin em models/<personagem>/skins/ (pode ter subpastas). Elas aparecem na roda (tecla N, botão Skins) e todos os jogadores veem a que você escolher.
- Em
.cpmmodel, as outras imagens detextures/e as camadas (roupas/acessórios) do próprio modelo também viram skins. - Em modelos YSM, as texturas extras viram skins automaticamente.
4. Animações
- Ponha as animações em
animations/<personagem>/(.vmd,.bvh,.glbou.animation.json). O nome do arquivo define quando ela toca:stand,walk,run,sneaking_LO,jump,fall,swim,flying,ladder,sleep,riding... Em animações Bedrock, o nome da animação é que vale (idlevira parado,walk,run...). - Atenção: os nomes dos ossos dentro do
.vmdprecisam bater com os do.pmx. O log mostra “matched X/Y bones” para cada animação carregada. - Animações que não são estados do jogo viram emotes na roda (N). Em
.cpmmodel, os emotes são os gestos do modelo. - Para trocar qual animação toca em qual estado, use
clipMapno.jsondo personagem.
5. Modelos YSM (Yes Steve Model)
Copie a pasta inteira do modelo (a que tem o ysm.json) para models/<nome>/. Pode ser uma pasta que agrupa vários modelos: cada um vira um personagem. Arquivos .ysm empacotados não funcionam.
6. Ajustes finos (opcional)
Crie models/<personagem>/<personagem>.json para mudar scale, targetHeight (altura em blocos, padrão 1.8), yOffset, boneMap, clipMap, headTracking, entre outros.
7. Nomes traduzidos (opcional)
Para os emotes e skins aparecerem em pt-br e inglês, ponha lang/pt_br.json e lang/en_us.json dentro da pasta do modelo, no formato {"wave": "Acenar"}. Ou use um arquivo único em CustomSteve/lang/ que vale para todos os modelos.
Comandos: /customsteve list · /customsteve set <nome> · /customsteve none · /customsteve reload
Limitações atuais
- Sem física (Bullet), sombreamento toon/PBR/outline e morphs (expressões).
- Texturas em PNG, JPG ou BMP (sem DDS/TGA).
- YSM: não suporta
.ysmempacotado, controladores de animação (botões de configuração, partes que ligam e desligam, olhos que piscam), animações de compatibilidade com outros mods, braços em primeira pessoa e sons. .cpmmodel: ainda não suporta o formato novo de animação (ANIMATION_NEW), cor animada e itens nas mãos.
Requisitos
Minecraft 1.20.1 · Forge 47+ · Java 17 · Instale no servidor também para ver os outros jogadores.
Mod independente, inspirado no CustomSteve original e não afiliado aos autores dele. Nenhum modelo vem no mod: use apenas modelos que você tenha permissão para usar.

