RenderMeltery.java 文件源码

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

项目:Meltery 作者:
public void renderItem(double x, double y, double z, TileMeltery meltery) {
    // calculate x/z parameters
    double x1 = meltery.getPos().getX();
    double y1 = meltery.getPos().getY();
    double z1 = meltery.getPos().getZ();

    Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
    RenderUtil.pre(x, y, z);
    GlStateManager.translate(0.5,1/16d,0.5);
    GlStateManager.disableCull();
    GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);

    RenderHelper.enableStandardItemLighting();

    int brightness = meltery.getWorld().getCombinedLight(meltery.getPos(), 0);

    ItemStack stack = meltery.inventory.getStackInSlot(0);
    boolean isItem = !(stack.getItem() instanceof ItemBlock);
    OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) (brightness % 0x10000) / 1f,
            (float) (brightness / 0x10000) / 1f);
    if (isItem) {
        GlStateManager.rotate(-90, 1, 0, 0);
    } else {
        GlStateManager.scale(0.5,0.5,0.5);
    }
    IBakedModel model = Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(stack, meltery.getWorld(), null);
    model = ForgeHooksClient.handleCameraTransforms(model, ItemCameraTransforms.TransformType.NONE, false);
    Minecraft.getMinecraft().getRenderItem().renderItem(stack, model);
    if (isItem) {
        GlStateManager.rotate(90, 1, 0, 0);
    }
    RenderHelper.enableStandardItemLighting();
    GlStateManager.enableCull();
    RenderUtil.post();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号