aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/detrav/events/DetravDrawBlockHighlightEventHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/detrav/events/DetravDrawBlockHighlightEventHandler.java')
-rw-r--r--src/main/java/com/detrav/events/DetravDrawBlockHighlightEventHandler.java268
1 files changed, 0 insertions, 268 deletions
diff --git a/src/main/java/com/detrav/events/DetravDrawBlockHighlightEventHandler.java b/src/main/java/com/detrav/events/DetravDrawBlockHighlightEventHandler.java
deleted file mode 100644
index 25b29c8e96..0000000000
--- a/src/main/java/com/detrav/events/DetravDrawBlockHighlightEventHandler.java
+++ /dev/null
@@ -1,268 +0,0 @@
-package com.detrav.events;
-
-import cpw.mods.fml.common.FMLCommonHandler;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraftforge.client.event.DrawBlockHighlightEvent;
-import net.minecraftforge.common.MinecraftForge;
-import org.lwjgl.opengl.GL11;
-
-import static org.lwjgl.opengl.GL11.GL_TRIANGLES;
-//import net.minecraftforge.client.event.RenderWorldLastEvent;
-
-/**
- * Created by wital_000 on 18.04.2016.
- */
-public class DetravDrawBlockHighlightEventHandler {
-
- public static long modeBlockBreak = 0L;
- public static boolean disableDepthBuffer = false;
- public static float thickness = 4F;
- public static float offset = 0.01F;
- public static float red = 1F;//0.1F;
- public static float green = 1F;
- public static float blue = 1F;//0.1F;
- public static float alpha = 0.1F;
-
- @SubscribeEvent
- public void onDrawBlockHighlight(DrawBlockHighlightEvent e) {
- if (drawMoreSelectionBox(e.player, e.target, 0, e.currentItem, e.partialTicks))
- e.setCanceled(true);
- }
-
- public static boolean drawMoreSelectionBox(EntityPlayer player, MovingObjectPosition mouseHit, int par3, ItemStack par4ItemStack, float par5) {
- switch ((int) modeBlockBreak) {
- //case 0: Просто рисуем без экспанда
- case 0:
- //drawSelectionBox(player, mouseHit.typeOfHit, mouseHit.blockX , mouseHit.blockY, mouseHit.blockZ , par3, par4ItemStack, par5);
- return false;
- case 1:
- switch (mouseHit.sideHit) {//Рисуеи по моусхиту
- case 0:
- case 1://x,z
- for (int i = -1; i <= 1; i++)
- for (int j = -1; j <= 1; j++)
- drawSelectionBox(player, mouseHit.typeOfHit, mouseHit.blockX + i, mouseHit.blockY, mouseHit.blockZ + j, par3, par4ItemStack, par5);
- break;
- case 2:
- case 3://x,y
- for (int i = -1; i <= 1; i++)
- for (int j = -1; j <= 1; j++)
- drawSelectionBox(player, mouseHit.typeOfHit, mouseHit.blockX + i, mouseHit.blockY + j, mouseHit.blockZ, par3, par4ItemStack, par5);
- break;
- case 4:
- case 5://y,z
- for (int i = -1; i <= 1; i++)
- for (int j = -1; j <= 1; j++)
- drawSelectionBox(player, mouseHit.typeOfHit, mouseHit.blockX, mouseHit.blockY + i, mouseHit.blockZ + j, par3, par4ItemStack, par5);
- break;
- }
- break;
- case 2://x,z
- for (int i = -1; i <= 1; i++)
- for (int j = -1; j <= 1; j++)
- drawSelectionBox(player, mouseHit.typeOfHit, mouseHit.blockX + i, mouseHit.blockY, mouseHit.blockZ + j, par3, par4ItemStack, par5);
- break;
- case 3:
- float rotationYaw = player.rotationYaw;
- while (rotationYaw > 0) rotationYaw -= 360F;
- while (rotationYaw < -360) rotationYaw += 360F;
- if ((-135 <= rotationYaw && rotationYaw <= -45) || (-315 <= rotationYaw && rotationYaw <= -225)) {
- //y,z
- for (int i = -1; i <= 1; i++)
- for (int j = -1; j <= 1; j++)
- drawSelectionBox(player, mouseHit.typeOfHit, mouseHit.blockX, mouseHit.blockY + i, mouseHit.blockZ + j, par3, par4ItemStack, par5);
- } else if ((-225 <= rotationYaw && rotationYaw <= -135) || -45 <= rotationYaw || rotationYaw <= -315) {
- //x,y
- for (int i = -1; i <= 1; i++)
- for (int j = -1; j <= 1; j++)
- drawSelectionBox(player, mouseHit.typeOfHit, mouseHit.blockX + i, mouseHit.blockY + j, mouseHit.blockZ, par3, par4ItemStack, par5);
- }
- break;
- case 4:
- //x,y,z
- for (int i = -1; i <= 1; i++)
- for (int j = -1; j <= 1; j++)
- for (int k = -1; k <= 1; k++)
- drawSelectionBox(player, mouseHit.typeOfHit, mouseHit.blockX + i, mouseHit.blockY + j, mouseHit.blockZ + k, par3, par4ItemStack, par5);
- break;
- }
- return false;
- }
-
- public static void drawSelectionBox(EntityPlayer player,MovingObjectPosition.MovingObjectType typeOfHit, int blockX,int blockY, int blockZ, int par3, ItemStack par4ItemStack, float par5) {
- if ((par3 == 0) && (typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)) {
- //float breakProgress = getBlockDamage(player, block);
- if (disableDepthBuffer) {
- GL11.glDisable(2929);
- }
- GL11.glEnable(3042);
- GL11.glBlendFunc(770, 771);
- GL11.glLineWidth(thickness);
- GL11.glDisable(3553);
- GL11.glDepthMask(false);
- float f1 = offset;
-
- Minecraft mc = Minecraft.getMinecraft();
- Block b = mc.theWorld.getBlock(blockX, blockY, blockZ);
- if (b != Blocks.air && b!= null) {
- b.setBlockBoundsBasedOnState(mc.theWorld, blockX, blockY, blockZ);
-
- double xOffset = player.lastTickPosX + (player.posX - player.lastTickPosX) * par5;
- double yOffset = player.lastTickPosY + (player.posY - player.lastTickPosY) * par5;
- double zOffset = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * par5;
-
- float xExpand = 0F;
- float yExpand = 0F;
- float zExpand = 0F;
-
-
-
- try {
- AxisAlignedBB bb = b.getSelectedBoundingBoxFromPool(mc.theWorld, blockX, blockY, blockZ).expand(xExpand + f1, yExpand + f1, zExpand + f1).getOffsetBoundingBox(-xOffset, -yOffset, -zOffset);
- GL11.glColor4f(red, green, blue, alpha);
- //drawOutlinedBoundingBox(bb);
- drawBlock(bb);
- }catch(Exception e) {
-
- }
-
- }
- GL11.glDepthMask(true);
- GL11.glEnable(3553);
- GL11.glDisable(3042);
- if (disableDepthBuffer) {
- GL11.glEnable(2929);
- }
- }
- }
-
- private static void drawBlock(AxisAlignedBB par1AxisAlignedBB) {
- //Tessellator tessellator = Tessellator.instance;
- if(alpha > 0.0F) {
-
-
- renderDown(par1AxisAlignedBB);
- renderUp(par1AxisAlignedBB);
- renderNorth(par1AxisAlignedBB);
- renderSouth(par1AxisAlignedBB);
- renderWest(par1AxisAlignedBB);
- renderEast(par1AxisAlignedBB);
- }
-
- }
-
-
- public static void renderUp(AxisAlignedBB par1AxisAlignedBB) {
- Tessellator tessellator = Tessellator.instance;
- tessellator.startDrawingQuads();
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- tessellator.draw();
- }
-
- public static void renderDown(AxisAlignedBB par1AxisAlignedBB) {
- Tessellator tessellator = Tessellator.instance;
- tessellator.startDrawingQuads();
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- tessellator.draw();
- }
-
- public static void renderNorth(AxisAlignedBB par1AxisAlignedBB) {
- Tessellator tessellator = Tessellator.instance;
- tessellator.startDrawingQuads();
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- tessellator.draw();
- }
-
- public static void renderSouth(AxisAlignedBB par1AxisAlignedBB) {
- Tessellator tessellator = Tessellator.instance;
- tessellator.startDrawingQuads();
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
- tessellator.draw();
- }
-
- public static void renderWest(AxisAlignedBB par1AxisAlignedBB) {
- Tessellator tessellator = Tessellator.instance;
- tessellator.startDrawingQuads();
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- tessellator.draw();
- }
-
- public static void renderEast(AxisAlignedBB par1AxisAlignedBB) {
- Tessellator tessellator = Tessellator.instance;
- tessellator.startDrawingQuads();
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- tessellator.draw();
- }
-
- private static void drawOutlinedBoundingBox(AxisAlignedBB par1AxisAlignedBB) {
- Tessellator tessellator = Tessellator.instance;
- tessellator.startDrawing(3);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- tessellator.draw();
- tessellator.startDrawing(3);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- tessellator.draw();
- tessellator.startDrawing(1);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.minZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.maxZ);
- tessellator.addVertex(par1AxisAlignedBB.minX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
- tessellator.draw();
- }
-
-
- static boolean inited = false;
-
- public static void register() {
- if (!inited) {
- inited = true;
- DetravDrawBlockHighlightEventHandler handler = new DetravDrawBlockHighlightEventHandler();
- MinecraftForge.EVENT_BUS.register(handler);
- FMLCommonHandler.instance().bus().register(handler);
- }
- }
-} \ No newline at end of file