fix #9 blocking with magic

This commit is contained in:
Matthew Messinger 2016-07-08 01:59:34 -04:00
parent 45ddc6baca
commit fded14ad6d
2 changed files with 22 additions and 10 deletions

View file

@ -337,7 +337,7 @@ public class ModelPlayerPony extends AbstractPonyModel implements PonyModelConst
break; break;
case BLOCK: case BLOCK:
this.bipedLeftArm.rotateAngleX = this.bipedLeftArm.rotateAngleX * 0.5F - 0.9424779F; this.bipedLeftArm.rotateAngleX = this.bipedLeftArm.rotateAngleX * 0.5F - 0.9424779F;
this.bipedLeftArm.rotateAngleY = 0.5235988F; this.bipedLeftArm.rotateAngleY = (float) (Math.PI / 6);
break; break;
case ITEM: case ITEM:
float swag = 1f; float swag = 1f;
@ -355,7 +355,7 @@ public class ModelPlayerPony extends AbstractPonyModel implements PonyModelConst
break; break;
case BLOCK: case BLOCK:
this.bipedRightArm.rotateAngleX = this.bipedRightArm.rotateAngleX * 0.5F - 0.9424779F; this.bipedRightArm.rotateAngleX = this.bipedRightArm.rotateAngleX * 0.5F - 0.9424779F;
this.bipedRightArm.rotateAngleY = -0.5235988F; this.bipedRightArm.rotateAngleY = (float) (-Math.PI / 6);
break; break;
case ITEM: case ITEM:
float swag = 1f; float swag = 1f;
@ -367,6 +367,15 @@ public class ModelPlayerPony extends AbstractPonyModel implements PonyModelConst
this.bipedRightArm.rotateAngleY = 0.0F; this.bipedRightArm.rotateAngleY = 0.0F;
} }
} else if (this.metadata.hasMagic()) {
if (this.leftArmPose == ArmPose.BLOCK) {
this.unicornArmLeft.rotateAngleX = this.unicornArmLeft.rotateAngleX * 0.5F - 0.9424779F;
this.unicornArmLeft.rotateAngleY = (float) (Math.PI / 6);
}
if (this.rightArmPose == ArmPose.BLOCK) {
this.unicornArmRight.rotateAngleY = (float) (-Math.PI / 6);
this.unicornArmRight.rotateAngleX = this.unicornArmRight.rotateAngleX * 0.5F - 0.9424779F;
}
} }
} }
@ -621,7 +630,7 @@ public class ModelPlayerPony extends AbstractPonyModel implements PonyModelConst
protected void renderLegs() { protected void renderLegs() {
if (!this.isSneak) if (!this.isSneak)
this.bipedBody.postRender(this.scale); this.bipedBody.postRender(this.scale);
this.bipedLeftArm.render(this.scale); this.bipedLeftArm.render(this.scale);
this.bipedRightArm.render(this.scale); this.bipedRightArm.render(this.scale);

View file

@ -96,7 +96,7 @@ public class LayerHeldPonyItem implements LayerRenderer<EntityLivingBase> {
Minecraft.getMinecraft().getItemRenderer().renderItemSide(entity, drop, transform, isLeft); Minecraft.getMinecraft().getItemRenderer().renderItemSide(entity, drop, transform, isLeft);
if (isUnicorn) { if (isUnicorn) {
this.renderItemGlow(entity, drop.copy(), transform, hand, metadata.getGlowColor()); this.renderItemGlow(entity, drop, transform, hand, metadata.getGlowColor());
} }
GlStateManager.popMatrix(); GlStateManager.popMatrix();
} }
@ -105,8 +105,9 @@ public class LayerHeldPonyItem implements LayerRenderer<EntityLivingBase> {
public void renderItemGlow(EntityLivingBase entity, ItemStack drop, ItemCameraTransforms.TransformType transform, EnumHandSide hand, int glowColor) { public void renderItemGlow(EntityLivingBase entity, ItemStack drop, ItemCameraTransforms.TransformType transform, EnumHandSide hand, int glowColor) {
// enchantments mess up the rendering // enchantments mess up the rendering
if (drop.hasEffect()) ItemStack drop2 = drop.copy();
drop.setTagInfo("ench", null); if (drop2.hasEffect())
drop2.setTagInfo("ench", null);
GL11.glPushAttrib(GL11.GL_CURRENT_BIT | GL11.GL_ENABLE_BIT | GL11.GL_COLOR_BUFFER_BIT); GL11.glPushAttrib(GL11.GL_CURRENT_BIT | GL11.GL_ENABLE_BIT | GL11.GL_COLOR_BUFFER_BIT);
@ -118,19 +119,21 @@ public class LayerHeldPonyItem implements LayerRenderer<EntityLivingBase> {
enableBlend(); enableBlend();
blendFunc(GL11.GL_CONSTANT_COLOR, 1); blendFunc(GL11.GL_CONSTANT_COLOR, 1);
GL14.glBlendColor(red, green, blue, alpha); GL14.glBlendColor(red, green, blue, alpha);
IBakedModel model = Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(drop, null, null);
RenderItem renderItem = Minecraft.getMinecraft().getRenderItem();
IBakedModel model = renderItem.getItemModelWithOverrides(drop, entity.worldObj, entity);
ItemCameraTransforms itemcameratransforms = model.getItemCameraTransforms(); ItemCameraTransforms itemcameratransforms = model.getItemCameraTransforms();
ItemCameraTransforms.applyTransformSide(itemcameratransforms.getTransform(transform), hand == EnumHandSide.LEFT); ItemCameraTransforms.applyTransformSide(itemcameratransforms.getTransform(transform), hand == EnumHandSide.LEFT);
RenderItem renderItem = Minecraft.getMinecraft().getRenderItem();
scale(1.1, 1.1, 1.1); scale(1.1, 1.1, 1.1);
translate(0, .01, .01); translate(0, .01, .01);
renderItem.renderItem(drop, model); renderItem.renderItem(drop2, model);
translate(.01, -.01, -.02); translate(.01, -.01, -.02);
// scale(1.1, 1.1, 1.1); // scale(1.1, 1.1, 1.1);
renderItem.renderItem(drop, model); renderItem.renderItem(drop2, model);
disableBlend(); disableBlend();
enableLighting(); enableLighting();
enableTexture2D(); enableTexture2D();