Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package TFC.Handlers;
- import org.lwjgl.opengl.GL11;
- import TFC.Core.TFC_Core;
- import TFC.Items.ItemChisel;
- import net.minecraft.src.*;
- import net.minecraftforge.client.event.DrawBlockHighlightEvent;
- import net.minecraftforge.event.ForgeSubscribe;
- public class ChiselHighlightHandler{
- @ForgeSubscribe
- public void DrawBlockHighlightEvent(DrawBlockHighlightEvent evt)
- {
- World world = evt.player.worldObj;
- if(evt.currentItem != null && evt.currentItem.getItem() instanceof ItemChisel)
- {
- int id = world.getBlockId(evt.target.blockX,evt.target.blockY,evt.target.blockZ);
- if(id == TFCBlocks.StoneDetailed.blockID || id == Block.glass.blockID || TFC_Core.isRawStone(id) || TFC_Core.isSmoothStone(id))
- {
- double subX = evt.target.hitVec.xCoord - evt.target.blockX - 0.03;
- double subY = evt.target.hitVec.yCoord - evt.target.blockY - 0.03;
- double subZ = evt.target.hitVec.zCoord - evt.target.blockZ - 0.03;
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
- GL11.glColor4f(0.0F, 0.0F, 0.0F, 0.4F);
- GL11.glLineWidth(2.0F);
- GL11.glDisable(GL11.GL_TEXTURE_2D);
- GL11.glDepthMask(true);
- double minX = evt.target.blockX + subX;
- double minY = evt.target.blockY + subY;
- double minZ = evt.target.blockZ + subZ;
- double maxX = minX + 0.16;
- double maxY = minY + 0.16;
- double maxZ = minZ + 0.16;
- //drawOutlinedBoundingBox(Block.blocksList[id].getSelectedBoundingBoxFromPool(world, evt.target.blockX,evt.target.blockY,evt.target.blockZ));
- //evt.setCanceled(true);
- drawOutlinedBoundingBox(AxisAlignedBB.getAABBPool().addOrModifyAABBInPool(minX,minY,minZ,maxX,maxY,maxZ));
- GL11.glDepthMask(true);
- GL11.glEnable(GL11.GL_TEXTURE_2D);
- GL11.glDisable(GL11.GL_BLEND);
- }
- }
- }
- void drawOutlinedBoundingBox(AxisAlignedBB par1AxisAlignedBB)
- {
- Tessellator var2 = Tessellator.instance;
- var2.startDrawing(3);
- var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
- var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
- var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- var2.draw();
- var2.startDrawing(3);
- var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
- var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
- var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- var2.draw();
- var2.startDrawing(1);
- var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
- var2.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
- var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
- var2.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
- var2.draw();
- }
- }
Add Comment
Please, Sign In to add comment