From 70cafe9c7352e352c77f0f30e9e4d24a2df0a003 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sun, 12 Feb 2017 20:45:31 +0100 Subject: [PATCH] Rendering --- ...leEntitySpecialRendererStorageMonitor.java | 60 ++++++++++++++---- .../textures/gui/storage_monitor.png | Bin 0 -> 1816 bytes 2 files changed, 46 insertions(+), 14 deletions(-) create mode 100644 src/main/resources/assets/refinedstorage/textures/gui/storage_monitor.png diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/TileEntitySpecialRendererStorageMonitor.java b/src/main/java/com/raoulvdberge/refinedstorage/render/TileEntitySpecialRendererStorageMonitor.java index a7d48ef2d..381e87923 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/TileEntitySpecialRendererStorageMonitor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/TileEntitySpecialRendererStorageMonitor.java @@ -3,35 +3,67 @@ package com.raoulvdberge.refinedstorage.render; import com.raoulvdberge.refinedstorage.tile.TileStorageMonitor; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.RenderItem; import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.client.renderer.block.model.ItemCameraTransforms; +import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; -import net.minecraftforge.client.ForgeHooksClient; import org.lwjgl.opengl.GL11; public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRenderer { @Override public void renderTileEntityAt(TileStorageMonitor tile, double x, double y, double z, float partialTicks, int destroyStage) { GlStateManager.pushMatrix(); - GlStateManager.translate(x, y, z); + GlStateManager.translate(x + 0.5F, y + 0.5F, z - 0.01F); + GlStateManager.rotate(180F, 0F, 0F, 1F); + GlStateManager.color(1F, 1F, 1F, 1F); + setLightmapDisabled(true); + GlStateManager.depthMask(false); + GlStateManager.enableBlend(); + GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); + GlStateManager.depthMask(true); + GlStateManager.scale(0.4F, -0.4F, -0.015F); + + ItemStack stack = new ItemStack(Blocks.PISTON); + + RenderItem itemRender = Minecraft.getMinecraft().getRenderItem(); + Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); + Minecraft.getMinecraft().getTextureManager().getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).setBlurMipmap(false, false); GlStateManager.enableRescaleNormal(); - RenderHelper.enableStandardItemLighting(); GlStateManager.enableAlpha(); - GlStateManager.enableLighting(); - GlStateManager.alphaFunc(GL11.GL_GREATER, 0.0F); - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); - GlStateManager.scale(0.5F, 0.5F, 0.02F); - - IBakedModel model = Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(new ItemStack(Blocks.DIRT), null, null); - - model = ForgeHooksClient.handleCameraTransforms(model, ItemCameraTransforms.TransformType.GUI, false); - - Minecraft.getMinecraft().getRenderItem().renderItem(new ItemStack(Blocks.DIRT), model); + GlStateManager.alphaFunc(GL11.GL_GREATER, 0.1F); + GlStateManager.enableBlend(); + GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); + GlStateManager.color(1F, 1F, 1F, 1F); + IBakedModel bakedmodel = itemRender.getItemModelWithOverrides(stack, null, Minecraft.getMinecraft().player); + bakedmodel = net.minecraftforge.client.ForgeHooksClient.handleCameraTransforms(bakedmodel, ItemCameraTransforms.TransformType.GUI, false); + itemRender.renderItem(stack, bakedmodel); + GlStateManager.disableAlpha(); + GlStateManager.disableRescaleNormal(); + GlStateManager.disableLighting(); + Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); + Minecraft.getMinecraft().getTextureManager().getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).restoreLastBlurMipmap(); + GlStateManager.disableBlend(); + GlStateManager.color(1F, 1F, 1F, 1F); GlStateManager.popMatrix(); + + GlStateManager.pushMatrix(); + + GlStateManager.translate(x + 0.5F, y + 0.5F, z - 0.02F); + GlStateManager.rotate(180F, 0F, 0F, 1F); + + float size = 0.00450F; + float factor = 2.0f; + GlStateManager.scale(size * factor, size * factor, size); + + Minecraft.getMinecraft().fontRendererObj.drawString("It works", 0, 0, 0xFFFFFF); + + GlStateManager.popMatrix(); + + setLightmapDisabled(false); } } diff --git a/src/main/resources/assets/refinedstorage/textures/gui/storage_monitor.png b/src/main/resources/assets/refinedstorage/textures/gui/storage_monitor.png new file mode 100644 index 0000000000000000000000000000000000000000..df26907155a169347a8fd3871468a1eb4eabe30c GIT binary patch literal 1816 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5D>38$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&di49pAxJ|V6^adUI?(9qEC?(Sp9j{X1tA1E>kMnhnPgh10{aTQRmDGBlm z1}6TI3>bpHv#SE5owL9rvY3H^?=T269?xHq0u+=iag8Vm&QB{TPb^AhC`ioAE78kK zEm1JhGte_Ma%RbX!@$5);OXKRQW5v|)@v_jM*-G{rqjRIKe;-i$o)YSnS}kX5%)Ru!e(x3T8s?Z~C00|p?=V#SYG4s?V0afhje&_n zfx%yX0+2qi_q31$1EUwCot*V&M^9mfbNo~7Vi_1&9^6aiRA^ve`tW5E%Y*NBLJj<0 zAcZ^1Bbhh?xC{3E*FL`f$ATq{40}P!?(EiK1Q|ZhP60?aR8Ln0YUMa^nf(gK0sAd$ z&b@gx-+vclMQeFU?RH_XN+e|(2&0mfwQYvfFonmNiInDma)OSjn2O z+qT^2D?_}!O|?@r`+>L721|c0)y}SXvW6ugS-7Fsm%+@8@y3mz$JtW*pJgLkYbfg( R)+A72<>~6@vd$@?2>`Z}7mNS^ literal 0 HcmV?d00001