У меня вопрос:Как сделать так,что бы броня двигалась за руками.
Вот код рендера:
public class RenderPlayer2 extends RenderPlayerBase
{
public RenderPlayer2(RenderPlayerAPI renderPlayerAPI) {
super(renderPlayerAPI);
}
public static ItemStack stack;
private Minecraft mc = Minecraft.getMinecraft();
private EntityPlayer player;
ModelHeadArmor2 ModelHeadArmor = new ModelHeadArmor2();
private static final ResourceLocation ArmorTexture = new ResourceLocation("mod:textures/models/armor/ArmorModel2.png");
@SideOnly(Side.CLIENT)
public void renderSpecials(AbstractClientPlayer par1AbstractClientPlayer, float par2) {
super.renderSpecials(par1AbstractClientPlayer, par2);
this.player = (EntityPlayer)par1AbstractClientPlayer;
EntityPlayer p = (EntityPlayer)par1AbstractClientPlayer;
/** Голова **/
if(player.getCurrentArmor(2) != null)
{
if(player.getCurrentArmor(2) != null && player.getCurrentArmor(2).getItem() == Main.Armor2) {
GL11.glPushMatrix();
super.renderPlayer.modelBipedMain.bipedBody.postRender(0.0625F);
GL11.glScalef(1.0F, 1.0F, 1.0F);
GL11.glTranslatef(0f, -0.0f, -0.0f);
RenderManager.instance.renderEngine.bindTexture(this.ArmorTexture);
this.ModelHeadArmor.render(0.0625F);
GL11.glPopMatrix();
}
}
}
Вот код модельки:
public class ModelHeadArmor2 extends ModelBase
{
//fields
ModelRenderer Box_0;
ModelRenderer Box_1;
ModelRenderer Box_27;
ModelRenderer Box_3;
ModelRenderer Box_33;
ModelRenderer Box_34;
ModelRenderer Box_35;
ModelRenderer Box_36;
ModelRenderer Box_45;
ModelRenderer Box_46;
ModelRenderer Box_59;
ModelRenderer Box_60;
ModelRenderer Box_61;
ModelRenderer Box_62;
ModelRenderer Box_63;
ModelRenderer Box_64;
ModelRenderer Box_65;
ModelRenderer Box_66;
ModelRenderer Box_67;
ModelRenderer Box_68;
ModelRenderer Box_69;
ModelRenderer Box_70;
ModelRenderer Box_71;
public ModelHeadArmor2()
{
textureWidth = 512;
textureHeight = 512;
Box_0 = new ModelRenderer(this, 1, 1);
Box_0.addBox(0F, 0F, 0F, 1, 4, 6);
Box_0.setRotationPoint(-8F, -1F, -3F);
Box_0.setTextureSize(64, 32);
Box_0.mirror = true;
setRotation(Box_0, 0F, 0F, 0.2792527F);
Box_1 = new ModelRenderer(this, 17, 1);
Box_1.addBox(0F, 0F, 0F, 4, 7, 4);
Box_1.setRotationPoint(-8F, 3F, -2F);
Box_1.setTextureSize(64, 32);
Box_1.mirror = true;
setRotation(Box_1, 0F, 0F, 0F);
Box_27 = new ModelRenderer(this, 409, 1);
Box_27.addBox(0F, 0F, 0F, 8, 3, 4);
Box_27.setRotationPoint(-4F, 10F, -2F);
Box_27.setTextureSize(64, 32);
Box_27.mirror = true;
setRotation(Box_27, 0F, 0F, 0F);
Box_3 = new ModelRenderer(this, 57, 1);
Box_3.addBox(0F, 0F, 0F, 4, 7, 4);
Box_3.setRotationPoint(4F, 3F, -2F);
Box_3.setTextureSize(64, 32);
Box_3.mirror = true;
setRotation(Box_3, 0F, 0F, 0F);
Box_33 = new ModelRenderer(this, 57, 9);
Box_33.addBox(0F, 0F, 0F, 8, 8, 1);
Box_33.setRotationPoint(-4F, 2F, -2.5F);
Box_33.setTextureSize(64, 32);
Box_33.mirror = true;
setRotation(Box_33, 0F, 0F, 0F);
Box_34 = new ModelRenderer(this, 81, 1);
Box_34.addBox(0F, 0F, 0F, 2, 3, 1);
Box_34.setRotationPoint(-4.5F, 0F, -2.5F);
Box_34.setTextureSize(64, 32);
Box_34.mirror = true;
setRotation(Box_34, 0F, 0F, -0.1919862F);
Box_35 = new ModelRenderer(this, 225, 1);
Box_35.addBox(0F, 0F, 0F, 2, 4, 1);
Box_35.setRotationPoint(2.5F, -1F, -2.5F);
Box_35.setTextureSize(64, 32);
Box_35.mirror = true;
setRotation(Box_35, 0F, 0F, 0.1919862F);
Box_36 = new ModelRenderer(this, 113, 9);
Box_36.addBox(0F, 0F, 0F, 8, 10, 1);
Box_36.setRotationPoint(-4F, 0F, 1.5F);
Box_36.setTextureSize(64, 32);
Box_36.mirror = true;
setRotation(Box_36, 0F, 0F, 0F);
Box_45 = new ModelRenderer(this, 17, 1);
Box_45.addBox(0F, 0F, 0F, 4, 4, 6);
Box_45.setRotationPoint(-8F, -1F, -3F);
Box_45.setTextureSize(64, 32);
Box_45.mirror = true;
setRotation(Box_45, 0F, 0F, 0F);
Box_46 = new ModelRenderer(this, 17, 1);
Box_46.addBox(0F, 0F, 0F, 4, 4, 6);
Box_46.setRotationPoint(4F, -1F, -3F);
Box_46.setTextureSize(64, 32);
Box_46.mirror = true;
setRotation(Box_46, 0F, 0F, 0F);
Box_59 = new ModelRenderer(this, 1, 1);
Box_59.addBox(0F, 0F, 0F, 1, 4, 6);
Box_59.setRotationPoint(-8F, 2F, -3F);
Box_59.setTextureSize(64, 32);
Box_59.mirror = true;
setRotation(Box_59, 0F, 0F, 0.2792527F);
Box_60 = new ModelRenderer(this, 1, 1);
Box_60.addBox(0F, 0F, 0F, 1, 4, 6);
Box_60.setRotationPoint(-8F, 6F, -3F);
Box_60.setTextureSize(64, 32);
Box_60.mirror = true;
setRotation(Box_60, 0F, 0F, 0.2792527F);
Box_61 = new ModelRenderer(this, 1, 1);
Box_61.addBox(0F, 0F, 0F, 1, 4, 6);
Box_61.setRotationPoint(7F, -0.7F, -3F);
Box_61.setTextureSize(64, 32);
Box_61.mirror = true;
setRotation(Box_61, 0F, 0F, -0.2792527F);
Box_62 = new ModelRenderer(this, 1, 1);
Box_62.addBox(0F, 0F, 0F, 1, 4, 6);
Box_62.setRotationPoint(7F, 2.3F, -3F);
Box_62.setTextureSize(64, 32);
Box_62.mirror = true;
setRotation(Box_62, 0F, 0F, -0.2792527F);
Box_63 = new ModelRenderer(this, 1, 1);
Box_63.addBox(0F, 0F, 0F, 1, 4, 6);
Box_63.setRotationPoint(7F, 6.3F, -3F);
Box_63.setTextureSize(64, 32);
Box_63.mirror = true;
setRotation(Box_63, 0F, 0F, -0.2792527F);
Box_64 = new ModelRenderer(this, 57, 9);
Box_64.addBox(0F, 0F, 0F, 8, 3, 1);
Box_64.setRotationPoint(-4F, 2F, -2.5F);
Box_64.setTextureSize(64, 32);
Box_64.mirror = true;
setRotation(Box_64, -0.1570796F, 0F, 0F);
Box_65 = new ModelRenderer(this, 57, 9);
Box_65.addBox(0F, 0F, 0F, 8, 3, 1);
Box_65.setRotationPoint(-4F, 5F, -2.5F);
Box_65.setTextureSize(64, 32);
Box_65.mirror = true;
setRotation(Box_65, -0.1570796F, 0F, 0F);
Box_66 = new ModelRenderer(this, 57, 9);
Box_66.addBox(0F, 0F, 0F, 8, 4, 1);
Box_66.setRotationPoint(-4F, 8F, -2.5F);
Box_66.setTextureSize(64, 32);
Box_66.mirror = true;
setRotation(Box_66, -0.1570796F, 0F, 0F);
Box_67 = new ModelRenderer(this, 57, 9);
Box_67.addBox(0F, 0F, 0F, 8, 3, 1);
Box_67.setRotationPoint(-4F, 0F, -2.5F);
Box_67.setTextureSize(64, 32);
Box_67.mirror = true;
setRotation(Box_67, -0.2617994F, 0F, 0F);
Box_68 = new ModelRenderer(this, 57, 9);
Box_68.addBox(0F, 0F, 0F, 8, 3, 1);
Box_68.setRotationPoint(-4F, 0F, 2.1F);
Box_68.setTextureSize(64, 32);
Box_68.mirror = true;
setRotation(Box_68, 0.2617994F, 0F, 0F);
Box_69 = new ModelRenderer(this, 57, 9);
Box_69.addBox(0F, 0F, 0F, 8, 3, 1);
Box_69.setRotationPoint(-4F, 3F, 2.1F);
Box_69.setTextureSize(64, 32);
Box_69.mirror = true;
setRotation(Box_69, 0.2617994F, 0F, 0F);
Box_70 = new ModelRenderer(this, 57, 9);
Box_70.addBox(0F, 0F, 0F, 8, 3, 1);
Box_70.setRotationPoint(-4F, 6F, 2.1F);
Box_70.setTextureSize(64, 32);
Box_70.mirror = true;
setRotation(Box_70, 0.2617994F, 0F, 0F);
Box_71 = new ModelRenderer(this, 57, 9);
Box_71.addBox(0F, 0F, 0F, 8, 3, 1);
Box_71.setRotationPoint(-4F, 9F, 2.1F);
Box_71.setTextureSize(64, 32);
Box_71.mirror = true;
setRotation(Box_71, 0.2617994F, 0F, 0F);
}
public void render(float f5)
{
Box_0.render(f5);
Box_1.render(f5);
Box_27.render(f5);
Box_3.render(f5);
Box_33.render(f5);
Box_34.render(f5);
Box_35.render(f5);
Box_36.render(f5);
Box_45.render(f5);
Box_46.render(f5);
Box_59.render(f5);
Box_60.render(f5);
Box_61.render(f5);
Box_62.render(f5);
Box_63.render(f5);
Box_64.render(f5);
Box_65.render(f5);
Box_66.render(f5);
Box_67.render(f5);
Box_68.render(f5);
Box_69.render(f5);
Box_70.render(f5);
Box_71.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, Entity e)
{
super.setRotationAngles(f, f1, f2, f3, f4, f, e);
}
Вот код рендера:
public class RenderPlayer2 extends RenderPlayerBase
{
public RenderPlayer2(RenderPlayerAPI renderPlayerAPI) {
super(renderPlayerAPI);
}
public static ItemStack stack;
private Minecraft mc = Minecraft.getMinecraft();
private EntityPlayer player;
ModelHeadArmor2 ModelHeadArmor = new ModelHeadArmor2();
private static final ResourceLocation ArmorTexture = new ResourceLocation("mod:textures/models/armor/ArmorModel2.png");
@SideOnly(Side.CLIENT)
public void renderSpecials(AbstractClientPlayer par1AbstractClientPlayer, float par2) {
super.renderSpecials(par1AbstractClientPlayer, par2);
this.player = (EntityPlayer)par1AbstractClientPlayer;
EntityPlayer p = (EntityPlayer)par1AbstractClientPlayer;
/** Голова **/
if(player.getCurrentArmor(2) != null)
{
if(player.getCurrentArmor(2) != null && player.getCurrentArmor(2).getItem() == Main.Armor2) {
GL11.glPushMatrix();
super.renderPlayer.modelBipedMain.bipedBody.postRender(0.0625F);
GL11.glScalef(1.0F, 1.0F, 1.0F);
GL11.glTranslatef(0f, -0.0f, -0.0f);
RenderManager.instance.renderEngine.bindTexture(this.ArmorTexture);
this.ModelHeadArmor.render(0.0625F);
GL11.glPopMatrix();
}
}
}
Вот код модельки:
public class ModelHeadArmor2 extends ModelBase
{
//fields
ModelRenderer Box_0;
ModelRenderer Box_1;
ModelRenderer Box_27;
ModelRenderer Box_3;
ModelRenderer Box_33;
ModelRenderer Box_34;
ModelRenderer Box_35;
ModelRenderer Box_36;
ModelRenderer Box_45;
ModelRenderer Box_46;
ModelRenderer Box_59;
ModelRenderer Box_60;
ModelRenderer Box_61;
ModelRenderer Box_62;
ModelRenderer Box_63;
ModelRenderer Box_64;
ModelRenderer Box_65;
ModelRenderer Box_66;
ModelRenderer Box_67;
ModelRenderer Box_68;
ModelRenderer Box_69;
ModelRenderer Box_70;
ModelRenderer Box_71;
public ModelHeadArmor2()
{
textureWidth = 512;
textureHeight = 512;
Box_0 = new ModelRenderer(this, 1, 1);
Box_0.addBox(0F, 0F, 0F, 1, 4, 6);
Box_0.setRotationPoint(-8F, -1F, -3F);
Box_0.setTextureSize(64, 32);
Box_0.mirror = true;
setRotation(Box_0, 0F, 0F, 0.2792527F);
Box_1 = new ModelRenderer(this, 17, 1);
Box_1.addBox(0F, 0F, 0F, 4, 7, 4);
Box_1.setRotationPoint(-8F, 3F, -2F);
Box_1.setTextureSize(64, 32);
Box_1.mirror = true;
setRotation(Box_1, 0F, 0F, 0F);
Box_27 = new ModelRenderer(this, 409, 1);
Box_27.addBox(0F, 0F, 0F, 8, 3, 4);
Box_27.setRotationPoint(-4F, 10F, -2F);
Box_27.setTextureSize(64, 32);
Box_27.mirror = true;
setRotation(Box_27, 0F, 0F, 0F);
Box_3 = new ModelRenderer(this, 57, 1);
Box_3.addBox(0F, 0F, 0F, 4, 7, 4);
Box_3.setRotationPoint(4F, 3F, -2F);
Box_3.setTextureSize(64, 32);
Box_3.mirror = true;
setRotation(Box_3, 0F, 0F, 0F);
Box_33 = new ModelRenderer(this, 57, 9);
Box_33.addBox(0F, 0F, 0F, 8, 8, 1);
Box_33.setRotationPoint(-4F, 2F, -2.5F);
Box_33.setTextureSize(64, 32);
Box_33.mirror = true;
setRotation(Box_33, 0F, 0F, 0F);
Box_34 = new ModelRenderer(this, 81, 1);
Box_34.addBox(0F, 0F, 0F, 2, 3, 1);
Box_34.setRotationPoint(-4.5F, 0F, -2.5F);
Box_34.setTextureSize(64, 32);
Box_34.mirror = true;
setRotation(Box_34, 0F, 0F, -0.1919862F);
Box_35 = new ModelRenderer(this, 225, 1);
Box_35.addBox(0F, 0F, 0F, 2, 4, 1);
Box_35.setRotationPoint(2.5F, -1F, -2.5F);
Box_35.setTextureSize(64, 32);
Box_35.mirror = true;
setRotation(Box_35, 0F, 0F, 0.1919862F);
Box_36 = new ModelRenderer(this, 113, 9);
Box_36.addBox(0F, 0F, 0F, 8, 10, 1);
Box_36.setRotationPoint(-4F, 0F, 1.5F);
Box_36.setTextureSize(64, 32);
Box_36.mirror = true;
setRotation(Box_36, 0F, 0F, 0F);
Box_45 = new ModelRenderer(this, 17, 1);
Box_45.addBox(0F, 0F, 0F, 4, 4, 6);
Box_45.setRotationPoint(-8F, -1F, -3F);
Box_45.setTextureSize(64, 32);
Box_45.mirror = true;
setRotation(Box_45, 0F, 0F, 0F);
Box_46 = new ModelRenderer(this, 17, 1);
Box_46.addBox(0F, 0F, 0F, 4, 4, 6);
Box_46.setRotationPoint(4F, -1F, -3F);
Box_46.setTextureSize(64, 32);
Box_46.mirror = true;
setRotation(Box_46, 0F, 0F, 0F);
Box_59 = new ModelRenderer(this, 1, 1);
Box_59.addBox(0F, 0F, 0F, 1, 4, 6);
Box_59.setRotationPoint(-8F, 2F, -3F);
Box_59.setTextureSize(64, 32);
Box_59.mirror = true;
setRotation(Box_59, 0F, 0F, 0.2792527F);
Box_60 = new ModelRenderer(this, 1, 1);
Box_60.addBox(0F, 0F, 0F, 1, 4, 6);
Box_60.setRotationPoint(-8F, 6F, -3F);
Box_60.setTextureSize(64, 32);
Box_60.mirror = true;
setRotation(Box_60, 0F, 0F, 0.2792527F);
Box_61 = new ModelRenderer(this, 1, 1);
Box_61.addBox(0F, 0F, 0F, 1, 4, 6);
Box_61.setRotationPoint(7F, -0.7F, -3F);
Box_61.setTextureSize(64, 32);
Box_61.mirror = true;
setRotation(Box_61, 0F, 0F, -0.2792527F);
Box_62 = new ModelRenderer(this, 1, 1);
Box_62.addBox(0F, 0F, 0F, 1, 4, 6);
Box_62.setRotationPoint(7F, 2.3F, -3F);
Box_62.setTextureSize(64, 32);
Box_62.mirror = true;
setRotation(Box_62, 0F, 0F, -0.2792527F);
Box_63 = new ModelRenderer(this, 1, 1);
Box_63.addBox(0F, 0F, 0F, 1, 4, 6);
Box_63.setRotationPoint(7F, 6.3F, -3F);
Box_63.setTextureSize(64, 32);
Box_63.mirror = true;
setRotation(Box_63, 0F, 0F, -0.2792527F);
Box_64 = new ModelRenderer(this, 57, 9);
Box_64.addBox(0F, 0F, 0F, 8, 3, 1);
Box_64.setRotationPoint(-4F, 2F, -2.5F);
Box_64.setTextureSize(64, 32);
Box_64.mirror = true;
setRotation(Box_64, -0.1570796F, 0F, 0F);
Box_65 = new ModelRenderer(this, 57, 9);
Box_65.addBox(0F, 0F, 0F, 8, 3, 1);
Box_65.setRotationPoint(-4F, 5F, -2.5F);
Box_65.setTextureSize(64, 32);
Box_65.mirror = true;
setRotation(Box_65, -0.1570796F, 0F, 0F);
Box_66 = new ModelRenderer(this, 57, 9);
Box_66.addBox(0F, 0F, 0F, 8, 4, 1);
Box_66.setRotationPoint(-4F, 8F, -2.5F);
Box_66.setTextureSize(64, 32);
Box_66.mirror = true;
setRotation(Box_66, -0.1570796F, 0F, 0F);
Box_67 = new ModelRenderer(this, 57, 9);
Box_67.addBox(0F, 0F, 0F, 8, 3, 1);
Box_67.setRotationPoint(-4F, 0F, -2.5F);
Box_67.setTextureSize(64, 32);
Box_67.mirror = true;
setRotation(Box_67, -0.2617994F, 0F, 0F);
Box_68 = new ModelRenderer(this, 57, 9);
Box_68.addBox(0F, 0F, 0F, 8, 3, 1);
Box_68.setRotationPoint(-4F, 0F, 2.1F);
Box_68.setTextureSize(64, 32);
Box_68.mirror = true;
setRotation(Box_68, 0.2617994F, 0F, 0F);
Box_69 = new ModelRenderer(this, 57, 9);
Box_69.addBox(0F, 0F, 0F, 8, 3, 1);
Box_69.setRotationPoint(-4F, 3F, 2.1F);
Box_69.setTextureSize(64, 32);
Box_69.mirror = true;
setRotation(Box_69, 0.2617994F, 0F, 0F);
Box_70 = new ModelRenderer(this, 57, 9);
Box_70.addBox(0F, 0F, 0F, 8, 3, 1);
Box_70.setRotationPoint(-4F, 6F, 2.1F);
Box_70.setTextureSize(64, 32);
Box_70.mirror = true;
setRotation(Box_70, 0.2617994F, 0F, 0F);
Box_71 = new ModelRenderer(this, 57, 9);
Box_71.addBox(0F, 0F, 0F, 8, 3, 1);
Box_71.setRotationPoint(-4F, 9F, 2.1F);
Box_71.setTextureSize(64, 32);
Box_71.mirror = true;
setRotation(Box_71, 0.2617994F, 0F, 0F);
}
public void render(float f5)
{
Box_0.render(f5);
Box_1.render(f5);
Box_27.render(f5);
Box_3.render(f5);
Box_33.render(f5);
Box_34.render(f5);
Box_35.render(f5);
Box_36.render(f5);
Box_45.render(f5);
Box_46.render(f5);
Box_59.render(f5);
Box_60.render(f5);
Box_61.render(f5);
Box_62.render(f5);
Box_63.render(f5);
Box_64.render(f5);
Box_65.render(f5);
Box_66.render(f5);
Box_67.render(f5);
Box_68.render(f5);
Box_69.render(f5);
Box_70.render(f5);
Box_71.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, Entity e)
{
super.setRotationAngles(f, f1, f2, f3, f4, f, e);
}