@OnlyIn(Dist.CLIENT) public class CustomArrowEntityRenderer extends ArrowRenderer { // Put your custom texture here public static final ResourceLocation TEXTURE = new ResourceLocation("modid goes here, "textures/entity/custom_arrow.png"); public CustomArrowEntityRenderer(EntityRendererProvider.Context manager) { super(manager); } public @NotNull ResourceLocation getTextureLocation(@NotNull CustomArrowEntity arrow) { // You can have the texture change based on the entity's health, age, etc. Here I just have it always return the same texture return TEXTURE; } }