Guest User

Untitled

a guest
Nov 16th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.98 KB | None | 0 0
  1. package TFC.Handlers;
  2.  
  3. import org.lwjgl.opengl.GL11;
  4.  
  5. import TFC.Core.TFC_Core;
  6. import TFC.Items.ItemChisel;
  7. import net.minecraft.src.*;
  8. import net.minecraftforge.client.event.DrawBlockHighlightEvent;
  9. import net.minecraftforge.event.ForgeSubscribe;
  10.  
  11. public class ChiselHighlightHandler{
  12.  
  13.     @ForgeSubscribe
  14.     public void DrawBlockHighlightEvent(DrawBlockHighlightEvent evt)
  15.     {
  16.         World world = evt.player.worldObj;
  17.         if(evt.currentItem != null && evt.currentItem.getItem() instanceof ItemChisel)
  18.         {
  19.             int id = world.getBlockId(evt.target.blockX,evt.target.blockY,evt.target.blockZ);
  20.             if(id == TFCBlocks.StoneDetailed.blockID || id == Block.glass.blockID || TFC_Core.isRawStone(id) || TFC_Core.isSmoothStone(id))
  21.             {
  22.                 double subX = evt.target.hitVec.xCoord - evt.target.blockX - 0.03;
  23.                 double subY = evt.target.hitVec.yCoord - evt.target.blockY - 0.03;
  24.                 double subZ = evt.target.hitVec.zCoord - evt.target.blockZ - 0.03;
  25.                
  26.                 GL11.glEnable(GL11.GL_BLEND);
  27.                 GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
  28.                 GL11.glColor4f(0.0F, 0.0F, 0.0F, 0.4F);
  29.                 GL11.glLineWidth(2.0F);
  30.                 GL11.glDisable(GL11.GL_TEXTURE_2D);
  31.                 GL11.glDepthMask(true);
  32.                
  33.                 double minX = evt.target.blockX + subX;
  34.                 double minY = evt.target.blockY + subY;
  35.                 double minZ = evt.target.blockZ + subZ;
  36.                
  37.                 double maxX = minX + 0.16;
  38.                 double maxY = minY + 0.16;
  39.                 double maxZ = minZ + 0.16;
  40.  
  41.                 //drawOutlinedBoundingBox(Block.blocksList[id].getSelectedBoundingBoxFromPool(world, evt.target.blockX,evt.target.blockY,evt.target.blockZ));
  42.                 //evt.setCanceled(true);
  43.                 drawOutlinedBoundingBox(AxisAlignedBB.getAABBPool().addOrModifyAABBInPool(minX,minY,minZ,maxX,maxY,maxZ));
  44.  
  45.                 GL11.glDepthMask(true);
  46.                 GL11.glEnable(GL11.GL_TEXTURE_2D);
  47.                 GL11.glDisable(GL11.GL_BLEND);
  48.  
  49.             }
  50.         }
  51.     }
  52.    
  53.     void drawOutlinedBoundingBox(AxisAlignedBB par1AxisAlignedBB)
  54.     {
  55.         Tessellator var2 = Tessellator.instance;
  56.         var2.startDrawing(3);
  57.         var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
  58.         var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
  59.         var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
  60.         var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
  61.         var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
  62.         var2.draw();
  63.         var2.startDrawing(3);
  64.         var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
  65.         var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
  66.         var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
  67.         var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
  68.         var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
  69.         var2.draw();
  70.         var2.startDrawing(1);
  71.         var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
  72.         var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
  73.         var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
  74.         var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
  75.         var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
  76.         var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
  77.         var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
  78.         var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
  79.         var2.draw();
  80.     }
  81.  
  82. }
Add Comment
Please, Sign In to add comment