RendererBackpack.java 文件源码

java
阅读 21 收藏 0 点赞 0 评论 0

项目:WearableBackpacks 作者:
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();

}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号