How to make a Boat
This tutorial will teach you how to make a living entity that can be driven like a vanilla boat. We will cover how to make a boat model and properly set up the driving seat in Blockbench, and how to set up the procedures for the project.
To kick this tutorial off you will need a modeling program that supports entity creation, I will be using Blockbench as it's free and easy to use. The other thing you will need is MCreator for making your modification.
- Blockbench (For modeling the entity).
- MCreator (To make the modification).
- Paint.net (For texture editing)
You may find yourself wondering how to use a block bench. If so don't worry I have done a tutorial series on how to use block bench on my channel go watch the tutorial series how to set up and make a modded entity and come back to this tutorial when you have done that.
Step 1 - Setting the Texture Size
Name your entity identifier name is different from any other entities in your mod. Next set the texture size to something above 32 by 32 (32x32) pixels.
Keep your texture image sizes the same size valid numbers are on an 8 bit scale ("64x64", "128x128", "256x256", "512x512" and "1024x1024")
Your entity file name should be the same as your entity identifier name and entity texture file name.
Step 2 - Making and Saving your Texture
On the texture, GUI creates a texture image, name the image the same name as your entity identifier name.
Make sure your texture is a solid color that is easy to see and not transparent as cubes will be invisible.
Make sure your texture size is the same as your model settings in your project settings.
Step 3 - Modeling and Grid
Model your boat however you like to keep in mind that the top space above the grid will be where your driver seat will be located.
Update the texture as you go or you will find yourself spending more time latter texturing the full model.
After you have saved your texture you can use a photo editor to edit the textures as you go while you work in Blockbench save the file in your photo editor and it will update automatically in Block bench.
Your grid location in the block bench is the same location on the X and Z location where the player will sit when ridding any entity. The Y location can be adjusted in MCreator later.
There is a cube limit in MCreator where models will stop working because the code is too long. Try to use fewer cubes for larger models.
Step 4 - Exporting and Importing
Export your "texture", model and save your work as a block bench model for good measures.
Your texture and model name needs to be the same name as your entity identifier name.
Models need to save as .java format, and your textures need to save as .png format.
Your texture image needs to be imported as an "Other" image, not a block or item texture.
Step 5 - MCreator Settings
Your height of the seat can be adjusted by increasing the boundary box of the entity's height direction, I suggest disabling XP drops and setting the spawn egg to disabled and use your items to summon the entity. Most of the other settings are fine to configure without any issues to customize your entity's attributes.
Step 6 - AI Tasks and Spawning
The only AI task you need is for it to swim in water the rest of the code is using procedures. I recommend disabling spawning for your entity so it won't spawn in random places around your world.
If you want spawning enabled to make sure the entity can't despawn or people will lose their boats.
Step 7 - Procedures and Coding
The last thing you need to do is set up the procedures. I have provided my procedures from my working mod for your use. Just install them properly like in the video and then test your mod.
The dolphin effect helps the entity glide in the water when it swims.
You may want to use custom items to summon your entity this can be done with a regular item and have a procedure trigger when entity right-clicked in air.
Hopefully, you guys found this tutorial helpful if you did please consider subscribing to my YouTube channel. If you need help you can join my discord server and ask for help in the #mcreator-help section.