private static void renderModel(IBackpack backpack, BlockModelRenderer renderer,
float ticks, boolean renderStraps,
float r, float g, float b, boolean useEnch) {
IBakedModel baseModel = (useEnch ? ProxyClient.MODEL_BACKPACK_ENCH : ProxyClient.MODEL_BACKPACK);
renderer.renderModelBrightnessColor(baseModel, 1.0F, r, g, b);
if (renderStraps)
renderer.renderModelBrightnessColor(ProxyClient.MODEL_BACKPACK_STRAPS, 1.0F, r, g, b);
float lidAngle = 0.0F;
IBackpackType type = backpack.getType();
if (type != null) {
int lidTicks = backpack.getLidTicks();
int prevLidTicks = backpack.getPrevLidTicks();
lidAngle = type.getLidAngle(lidTicks, prevLidTicks, ticks % 1);
}
// FIXME: Allow for custom, adjustable lid position.
float lidYOffset = 9 / 16.0F;
float lidZOffset = 5 / 16.0F;
GlStateManager.pushMatrix();
GlStateManager.translate(0.0F, lidYOffset, lidZOffset);
GlStateManager.rotate(lidAngle, -1.0F, 0.0F, 0.0F);
GlStateManager.translate(0.0F, -lidYOffset, -lidZOffset);
IBakedModel topModel = (useEnch ? ProxyClient.MODEL_BACKPACK_ENCH_TOP : ProxyClient.MODEL_BACKPACK_TOP);
renderer.renderModelBrightnessColor(topModel, 1.0F, r, g, b);
GlStateManager.popMatrix();
}
RendererBackpack.java 文件源码
java
阅读 21
收藏 0
点赞 0
评论 0
项目:WearableBackpacks
作者:
评论列表
文章目录