I am trying to create a custom entity in Minecraft. How do register my custom entity with a render and a model? Is there any documentation on entities that I can reference?
This is what I have:
public class PlayerEntity extends CreatureEntity {
public PlayerEntity(EntityType<? extends CreatureEntity> type, World worldIn) {
super(type, worldIn);
}
@Override
protected void registerGoals() {
//super.registerGoals();
this.goalSelector.addGoal(0, new SwimGoal(this));
this.goalSelector.addGoal(1, new RandomWalkingGoal(this, 1.2d));
this.goalSelector.addGoal(2, new LookRandomlyGoal(this));
}
@Override
protected void registerAttributes() {
super.registerAttributes();
this.getAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(20);
this.getAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(1.2d);
}
}
(This doesn't compile)
@OnlyIn(Dist.CLIENT)
public class PlayerEntityRegistry {
public static void RegisterEntityRenders(){
RenderingRegistry.registerEntityRenderingHandler(PlayerEntity.class, new PlayerEntityRender.RenderFactory());
}
}
@OnlyIn(Dist.CLIENT)
public class PlayerEntityRender extends LivingRenderer<PlayerEntity, PlayerEntityModel> {
public PlayerEntityRender(EntityRendererManager manager){
super(manager, new PlayerEntityModel(), 0f);
}
@Override
public ResourceLocation getEntityTexture(PlayerEntity entity) {
return PlayerAiMod.location("textures/entity/player.png");
}
public static class RenderFactory implements IRenderFactory<PlayerEntity> {
@Override
public EntityRenderer<? super PlayerEntity> createRenderFor(EntityRendererManager manager) {
return new PlayerEntityRender(manager);
}
}
}
If anyone has any resources on how to do this correctly that would be really helpful.
Thank you