TESRMagibench.java 文件源码

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

项目:PurificatiMagicae 作者:
@Override
public void render(TileMagibench te, double x, double y, double z, float partialTicks, int destroyStage, float alpha, BufferBuilder buffer, Tessellator tes)
{
    resetTrans(te);
    //todo add floating items support
    MagibenchRegistry.Tier t = PurMag.INSTANCE.getMagibenchRegistry().getTier(te.getTier());
    int index = 0;
    float scale = Math.min(1f / t.getWidth(), 1f / t.getHeight());
    GlStateManager.pushMatrix();
    GlStateManager.translate(0.5f, 0, 0.5f);
    GlStateManager.rotate(PXLMC.getHorizontalRotation(te.getWorld().getBlockState(te.getPos()).getValue(HorizontalFacingController.FACING_H)), 0, 1, 0);
    GlStateManager.translate(-0.5f, 0, -0.5f);
    GlStateManager.translate(0.16f, 1.09f, 0.16f);
    for (int yy = 0; yy < t.getHeight(); yy++)
    {
        for (int xx = 0; xx < t.getWidth(); xx++)
        {
            ItemStack stack = te.handler.getStackInSlot(index);
            if (!stack.isEmpty())
            {
                GlStateManager.pushMatrix();
                GlStateManager.scale(0.8f, 0.8f, 0.8f);
                GlStateManager.translate(0.1f, 0, 0.1f);
                GlStateManager.scale(scale, scale, scale);
                GlStateManager.translate(t.getWidth() - xx - 1, 0, t.getHeight() - yy - 1);
                if (!(stack.getItem() instanceof ItemBlock))
                {
                    GlStateManager.translate(0, -0.22f, 0);
                    GlStateManager.rotate(90, 1, 0, 0);
                }
                Minecraft.getMinecraft().getRenderItem().renderItem(stack, ItemCameraTransforms.TransformType.FIXED);
                GlStateManager.popMatrix();
            }
            index++;
        }
    }
    GlStateManager.popMatrix();
    setTrans(te);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号