Advertisement
Guest User

Untitled

a guest
Nov 12th, 2016
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.69 KB | None | 0 0
  1. package net.geforcemods.securitycraft.renderers;
  2.  
  3. import org.lwjgl.opengl.GL11;
  4.  
  5. import net.geforcemods.securitycraft.items.ItemModule;
  6. import net.geforcemods.securitycraft.main.mod_SecurityCraft;
  7. import net.geforcemods.securitycraft.misc.EnumCustomModules;
  8. import net.geforcemods.securitycraft.tileentity.TileEntityKeypad;
  9. import net.minecraft.block.Block;
  10. import net.minecraft.client.Minecraft;
  11. import net.minecraft.client.renderer.GlStateManager;
  12. import net.minecraft.client.renderer.RenderHelper;
  13. import net.minecraft.client.renderer.Tessellator;
  14. import net.minecraft.client.renderer.WorldRenderer;
  15. import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
  16. import net.minecraft.client.resources.model.IBakedModel;
  17. import net.minecraft.item.ItemStack;
  18. import net.minecraft.tileentity.TileEntity;
  19. import net.minecraftforge.fml.relauncher.Side;
  20. import net.minecraftforge.fml.relauncher.SideOnly;
  21.  
  22. @SideOnly(Side.CLIENT)
  23. public class TileEntityKeypadRenderer extends TileEntitySpecialRenderer {
  24.    
  25.     private IBakedModel blockModel;
  26.    
  27.     public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f, int number){
  28.         if(((TileEntityKeypad) tileEntity).hasModule(EnumCustomModules.DISGUISE)) {
  29.             ItemModule module = (ItemModule) ((TileEntityKeypad) tileEntity).getModule(EnumCustomModules.DISGUISE).getItem();
  30.             blockModel = getBlockModel(module.getBlockAddons(((TileEntityKeypad) tileEntity).getModule(EnumCustomModules.DISGUISE).getTagCompound()).get(0));
  31.         }
  32.         else {
  33.             blockModel = getBlockModel(mod_SecurityCraft.keypad);
  34.         }
  35.        
  36.         GlStateManager.pushAttrib();
  37.         GlStateManager.pushMatrix();
  38.  
  39.         RenderHelper.disableStandardItemLighting();
  40.         GlStateManager.enableBlend();
  41.         GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE_MINUS_DST_COLOR);
  42.        
  43.         GlStateManager.translate(x, y, z);
  44.         WorldRenderer wr = Tessellator.getInstance().getWorldRenderer();
  45.  
  46.         wr.startDrawingQuads();
  47.         Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelRenderer().renderModel(tileEntity.getWorld(), blockModel, tileEntity.getWorld().getBlockState(tileEntity.getPos()), tileEntity.getPos(), wr, false);
  48.         Tessellator.getInstance().draw();
  49.        
  50.         GlStateManager.disableBlend();
  51.         RenderHelper.enableStandardItemLighting();
  52.         GlStateManager.popMatrix();
  53.         GlStateManager.popAttrib();
  54.     }
  55.    
  56.     private IBakedModel getBlockModel(Block blockToRenderAs) {
  57.         if(blockModel == null) {           
  58.             return Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getItemModel(new ItemStack(blockToRenderAs));
  59.         }
  60.        
  61.         return blockModel;
  62.     }
  63.    
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement