/**
* Render quiver on skeletons if possible
*/
@SubscribeEvent
public void renderLiving(RenderLivingEvent.Post<AbstractSkeleton> event) {
if (BattlegearConfig.enableSkeletonQuiver && event.getEntity() instanceof EntitySkeleton && event.getRenderer() instanceof RenderSkeleton) {
GlStateManager.pushMatrix();
GlStateManager.disableCull();
GlStateManager.color(1, 1, 1);
Minecraft.getMinecraft().getTextureManager().bindTexture(quiverDetails);
GlStateManager.translate((float) event.getX(), (float) event.getY(), (float) event.getZ());
GlStateManager.scale(1, -1, 1);
float f2 = interpolateRotation(event.getEntity().prevRenderYawOffset, event.getEntity().renderYawOffset, BattlegearClientTickHandeler.getPartialTick());
GlStateManager.rotate(180.0F - f2, 0.0F, 1.0F, 0.0F);
if (event.getEntity().deathTime > 0) {
float f3 = ((float) event.getEntity().deathTime
+ BattlegearClientTickHandeler.getPartialTick() - 1.0F) / 20.0F * 1.6F;
f3 = MathHelper.sqrt(f3);
if (f3 > 1.0F) {
f3 = 1.0F;
}
GlStateManager.rotate(-f3 * 90, 0.0F, 0.0F, 1.0F);
}
GlStateManager.translate(0, -1.5F, 0);
GlStateManager.rotate(event.getEntity().rotationPitch, 0, 1, 0);
if(event.getEntity().hasItemInSlot(EntityEquipmentSlot.CHEST)){
GlStateManager.translate(0, 0, BattlegearRenderHelper.RENDER_UNIT);
}
((ModelBiped)event.getRenderer().mainModel).bipedBody.postRender(BattlegearRenderHelper.RENDER_UNIT);
GlStateManager.scale(1.05F, 1.05F, 1.05F);
quiverModel.render(SKELETON_ARROW, BattlegearRenderHelper.RENDER_UNIT);
Minecraft.getMinecraft().getTextureManager().bindTexture(quiverBase);
GlStateManager.color(0.10F, 0.10F, 0.10F);
quiverModel.render(0, BattlegearRenderHelper.RENDER_UNIT);
GlStateManager.color(1, 1, 1);
GlStateManager.enableCull();
GlStateManager.popMatrix();
}
}
BattlegearClientEvents.java 文件源码
java
阅读 23
收藏 0
点赞 0
评论 0
项目:Battlegear2
作者:
评论列表
文章目录