Minecraft (Java Edition) does not allow users to change entity models by default. To still change entity models, you have to make use of mods. The most popular mod to change entity models is OptiFine. The problem with mods is that users need to have the mod installed to be able to see the model, so this method it not compatible with regular resource packs and maps. But if you still want to create entity models, you can use Blockbench to create models for the OptiFine format.
Parts of this guide are outdated. Please refer to the following video tutorial:
OptiFine has two ways to define entity models. As a complete entity model or as a model made of multiple, seperate entity part models. The latter method gives you more controll over textures, but is harder to create. If you want to go for that method, check out this tutorial: Minecraftforum: A Basic Guide to Optifine Modelling
To start off an entity model, you can use File > New > New Entity Model. But I recommend to use Geenium’s entity model generator plugin. The plugin will pre generate all the bones and cubes for you, so all you need to do is change the bone IDs and start modeling.
OptiFine’s format uses different names for most bones. You can view the list of remodelable entities as well as their bone names here: optifine/cem_model.txt It is important that you keep the pivots of bones the same as they were. The format does not allow users to change those pivots so doing that might mess up the model.
Texture mapping for OptiFine works the same as for Bedrock or .Java entity models. In the UV editor you can for each cube define the area that it draws it’s texture from. Because texture mapping is calculated from the box size, it is recommended to keep the size of all cubes at integers. To make the process of creating a texture easier, you can create a new texture in Blockbench with the bottom above the textures list and enable ‘Generate Template’. This will create a blank texture with each cube assigned to a unique space.
If you are done modeling, you can export the model via File > Export > Export Optifine JEM and the texture via the save icon. Both the model and the texture go into the folder ‘assets/minecraft/optifine/cem’ inside your resource pack. With Optifine installed, the models should show up in game now.