I am trying to create a custom entity with geckolib, and I am following this youtube tutorial:
https://www.youtube.com/watch?v=62GMA9Yg938
However, at 13:30 in the video when the entity renderer class extends GeoEntityRenderer is created, I get an error saying "The type com.mojang.math.Vector3f cannot be resolved. It is indirectly referenced from required .class files". My code is attached below. I have since dug deeper into this problem and found that in the GeoEntityRenderer class, there are the imports
import com.mojang.math.Matrix3f;
import com.mojang.math.Matrix4f;
import com.mojang.math.Vector3f;
I have checked the com.mojang.math package in the extenal dependencies and there was no decleration for Matrix3f, Matrix4f, or Vector3f. I do not know how to create those classes, please help.
package net.or1on.rpgmod.entity.client;
import org.jetbrains.annotations.Nullable;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.resources.ResourceLocation;
import net.or1on.rpgmod.RpgMod;
import net.or1on.rpgmod.entity.custom.TinyTitaniumRobotEntity;
import software.bernie.geckolib3.renderers.geo.GeoEntityRenderer;
public class TinyTitaniumRobotRenderer extends GeoEntityRenderer<TinyTitaniumRobotEntity>{
public TinyTitaniumRobotRenderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new TinyTitaniumRobotModel());
this.shadowRadius = 0.16f;
}
@Override
public ResourceLocation getTextureLocation(TinyTitaniumRobotEntity instance) {
return new ResourceLocation(RpgMod.MOD_ID, "textures/entity/tiny_titanium_robot_texture.png");
}
@Override
public RenderType getRenderType(TinyTitaniumRobotEntity animatable, float partialTicks, PoseStack stack,
@Nullable MultiBufferSource renderTypeBuffer,
@Nullable VertexConsumer vertexBuilder, int packedLightIn,
ResourceLocation textureLocation) {
stack.scale(1f, 1f, 1f);
return super.getRenderType(animatable, partialTicks, stack, renderTypeBuffer, vertexBuilder, packedLightIn, textureLocation);
}
}