I'm working on a conversion mod of sorts and have a hit a road block. I want to create a mod that changes the Arrow (when fired) model to something not-arrow-shaped. I actually want to change it to shoot rings. I've made a Techne model, but I've hit a snag.
and sadly, he leaves me right when I need information the most: exporting and calling my techne model instead of copy/pasting & modifying the rendering for the actual Arrow.
and I've added it as ModelDiscArrow.class with all of the other models. One of the big problems with the Arrow is that the rendering seems to happen on the fly rather than referencing any particular model. I want to remove just the rendering portion of RenderArrow and override it with a method/function that renders from my model file instead. No one seems to have any clear cut tutorials on doing this.
I'm working on a conversion mod of sorts and have a hit a road block. I want to create a mod that changes the Arrow (when fired) model to something not-arrow-shaped. I actually want to change it to shoot rings. I've made a Techne model, but I've hit a snag.
I've been following this tutorial:
http://www.minecraftforge.net/wiki/Tutorials/Blaster_Rifle_part_3
and sadly, he leaves me right when I need information the most: exporting and calling my techne model instead of copy/pasting & modifying the rendering for the actual Arrow.
I have a model file as follows:
package net.minecraft.src;
public class ModelDiscArrow extends ModelBase
{
//fields
ModelRenderer Shape8;
ModelRenderer Shape7;
ModelRenderer Shape6;
ModelRenderer Shape5;
ModelRenderer Shape4;
ModelRenderer Shape3;
ModelRenderer Shape2;
ModelRenderer Shape1;
public ModelArrow()
{
textureWidth = 64;
textureHeight = 64;
Shape8 = new ModelRenderer(this, 0, 0);
Shape8.addBox(-2.5F, 0F, -1F, 1, 1, 1);
Shape8.setRotationPoint(4.4F, 20F, 0F);
Shape8.setTextureSize(64, 64);
Shape8.mirror = true;
setRotation(Shape8, 0F, 0F, 0F);
Shape7 = new ModelRenderer(this, 0, 0);
Shape7.addBox(-7.5F, 0F, -2F, 4, 1, 1);
Shape7.setRotationPoint(5.4F, 20F, 0F);
Shape7.setTextureSize(64, 64);
Shape7.mirror = true;
setRotation(Shape7, 0F, 0F, 0F);
Shape6 = new ModelRenderer(this, 0, 0);
Shape6.addBox(-2.5F, 0F, 3F, 1, 1, 1);
Shape6.setRotationPoint(4.4F, 20F, 0F);
Shape6.setTextureSize(64, 64);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
Shape5 = new ModelRenderer(this, 0, 0);
Shape5.addBox(-6.5F, 0F, 4F, 4, 1, 1);
Shape5.setRotationPoint(4.4F, 20F, 0F);
Shape5.setTextureSize(64, 64);
Shape5.mirror = true;
setRotation(Shape5, 0F, 0F, 0F);
Shape4 = new ModelRenderer(this, 0, 0);
Shape4.addBox(-2F, 0F, 0F, 1, 1, 3);
Shape4.setRotationPoint(4.4F, 20F, 0F);
Shape4.setTextureSize(64, 64);
Shape4.mirror = true;
setRotation(Shape4, 0F, 0F, 0F);
Shape3 = new ModelRenderer(this, 0, 0);
Shape3.addBox(-8.5F, 0F, -1F, 1, 1, 1);
Shape3.setRotationPoint(5.4F, 20F, 0F);
Shape3.setTextureSize(64, 64);
Shape3.mirror = true;
setRotation(Shape3, 0F, 0F, 0F);
Shape2 = new ModelRenderer(this, 0, 0);
Shape2.addBox(-7.5F, 0F, 3F, 1, 1, 1);
Shape2.setRotationPoint(4.4F, 20F, 0F);
Shape2.setTextureSize(64, 64);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape1 = new ModelRenderer(this, 0, 0);
Shape1.addBox(-8F, 0F, 0F, 1, 1, 3);
Shape1.setRotationPoint(4.4F, 20F, 0F);
Shape1.setTextureSize(64, 64);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
}
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
setRotationAngles(f, f1, f2, f3, f4, f5);
Shape8.render(f5);
Shape7.render(f5);
Shape6.render(f5);
Shape5.render(f5);
Shape4.render(f5);
Shape3.render(f5);
Shape2.render(f5);
Shape1.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5);
}
}
and I've added it as ModelDiscArrow.class with all of the other models. One of the big problems with the Arrow is that the rendering seems to happen on the fly rather than referencing any particular model. I want to remove just the rendering portion of RenderArrow and override it with a method/function that renders from my model file instead. No one seems to have any clear cut tutorials on doing this.
i guess that it is better to shoot the item. not model