Advertisement
Guest User

Untitled

a guest
Apr 16th, 2014
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.90 KB | None | 0 0
  1. package noppes.npcs.client.renderer.blocks;
  2.  
  3. import net.minecraft.block.Block;
  4. import net.minecraft.client.Minecraft;
  5. import net.minecraft.client.renderer.RenderBlocks;
  6. import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
  7. import net.minecraft.tileentity.TileEntity;
  8. import net.minecraft.util.ResourceLocation;
  9. import net.minecraft.world.IBlockAccess;
  10. import noppes.npcs.CustomItems;
  11. import noppes.npcs.blocks.BlockCandle;
  12. import noppes.npcs.blocks.tiles.TileCandle;
  13. import noppes.npcs.client.model.blocks.ModelCandle;
  14. import noppes.npcs.client.model.blocks.ModelCandleWall;
  15.  
  16. import org.lwjgl.opengl.GL11;
  17. import org.lwjgl.opengl.GL12;
  18.  
  19. import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
  20. import cpw.mods.fml.client.registry.RenderingRegistry;
  21.  
  22. public class BlockCandleRenderer extends TileEntitySpecialRenderer implements
  23.         ISimpleBlockRenderingHandler {
  24.  
  25.     private final ModelCandle model = new ModelCandle();
  26.     private final ModelCandleWall modelWall = new ModelCandleWall();
  27.     private static final ResourceLocation resource1 = new ResourceLocation("customnpcs", "textures/models/Candle.png");
  28.  
  29.     public BlockCandleRenderer() {
  30.         ((BlockCandle) CustomItems.candle).renderId = RenderingRegistry.getNextAvailableRenderId();
  31.         RenderingRegistry.registerBlockHandler(this);
  32.     }
  33.  
  34.     @Override
  35.     public void renderTileEntityAt(TileEntity var1, double var2, double var4,
  36.             double var6, float var8) {
  37.         TileCandle tile = (TileCandle) var1;
  38.         GL11.glDisable(GL12.GL_RESCALE_NORMAL);
  39.         GL11.glPushMatrix();
  40.         GL11.glTranslatef((float) var2 + 0.5f, (float) var4 + 1.5f, (float) var6 + 0.5f);
  41.         // GL11.glScalef(0.95f, 0.95f, 0.95f);
  42.         GL11.glRotatef(180, 0, 0, 1);
  43.         GL11.glRotatef(45 * tile.rotation, 0, 1, 0);
  44.         GL11.glColor3f(1, 1, 1);
  45.  
  46.         Minecraft.getMinecraft().getTextureManager().bindTexture(resource1);
  47.         if (tile.color == 0)
  48.             model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
  49.         else if (tile.color == 1)
  50.             model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
  51.         else {
  52.             GL11.glRotatef(180, 0, 1, 0);
  53.             modelWall.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
  54.         }
  55.  
  56.         GL11.glPopMatrix();
  57.     }
  58.  
  59.     @Override
  60.     public void renderInventoryBlock(Block block, int metadata, int modelId,
  61.             RenderBlocks renderer) {
  62.         GL11.glPushMatrix();
  63.         GL11.glTranslatef(0, 2.6f, 0);
  64.         GL11.glScalef(2f, 2f, 2f);
  65.         GL11.glRotatef(180, 0, 0, 1);
  66.         GL11.glRotatef(180, 0, 1, 0);
  67.  
  68.         Minecraft.getMinecraft().getTextureManager().bindTexture(resource1);
  69.         GL11.glColor3f(1, 1, 1);
  70.         model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
  71.  
  72.         GL11.glPopMatrix();
  73.     }
  74.  
  75.     @Override
  76.     public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z,
  77.             Block block, int modelId, RenderBlocks renderer) {
  78.         return false;
  79.     }
  80.  
  81.     @Override
  82.     public boolean shouldRender3DInInventory(int modelId) {
  83.         return true;
  84.     }
  85.  
  86.     @Override
  87.     public int getRenderId() {
  88.         return CustomItems.candle.getRenderType();
  89.     }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement