- 21
- 1
- 1
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
@SideOnly(Side.CLIENT)
@ForgeSubscribe
public void selectHighlight(DrawBlockHighlightEvent event) {
if (event.target != null && event.target.typeOfHit == EnumMovingObjectType.TILE) {
double ax = event.target.blockX;
double ay = event.target.blockY;
double az = event.target.blockZ;
double bx = event.target.blockX + 1;
double by = event.target.blockY + 1;
double bz = event.target.blockZ + 1;
AxisAlignedBB aabb = AxisAlignedBB.getBoundingBox(ax, ay, az, bx, by, bz).expand(0.01D, 0.01D, 0.01D);
double x_fix = -(mc.thePlayer.lastTickPosX + (mc.thePlayer.posX - mc.thePlayer.lastTickPosX) * event.partialTicks);
double y_fix = -(mc.thePlayer.lastTickPosY + (mc.thePlayer.posY - mc.thePlayer.lastTickPosY) * event.partialTicks);
double z_fix = -(mc.thePlayer.lastTickPosZ + (mc.thePlayer.posZ - mc.thePlayer.lastTickPosZ) * event.partialTicks);
GL11.glPushMatrix();
GL11.glTranslated(x_fix, y_fix, z_fix);
GL11.glEnable(GL11.GL_BLEND);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glColor4f(0.75F, 0.25F, 0.25F, 0.25F);
Utils.box(aabb);
GL11.glColor4f(0.75F, 0.25F, 0.25F, 0.75F);
Utils.lines(aabb);
GL11.glColor4f(1F, 1F, 1F, 0F);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_BLEND);
GL11.glPopMatrix();
}
}
public static void box(AxisAlignedBB aabb) {
Tessellator tessellator = Tessellator.instance;
tessellator.startDrawingQuads();
tessellator.addVertex(aabb.maxX, aabb.maxY, aabb.minZ);
tessellator.addVertex(aabb.minX, aabb.maxY, aabb.minZ);
tessellator.addVertex(aabb.minX, aabb.maxY, aabb.maxZ);
tessellator.addVertex(aabb.maxX, aabb.maxY, aabb.maxZ);
tessellator.addVertex(aabb.maxX, aabb.minY, aabb.maxZ);
tessellator.addVertex(aabb.minX, aabb.minY, aabb.maxZ);
tessellator.addVertex(aabb.minX, aabb.minY, aabb.minZ);
tessellator.addVertex(aabb.maxX, aabb.minY, aabb.minZ);
tessellator.addVertex(aabb.maxX, aabb.minY, aabb.minZ);
tessellator.addVertex(aabb.minX, aabb.minY, aabb.minZ);
tessellator.addVertex(aabb.minX, aabb.maxY, aabb.minZ);
tessellator.addVertex(aabb.maxX, aabb.maxY, aabb.minZ);
tessellator.addVertex(aabb.maxX, aabb.maxY, aabb.maxZ);
tessellator.addVertex(aabb.minX, aabb.maxY, aabb.maxZ);
tessellator.addVertex(aabb.minX, aabb.minY, aabb.maxZ);
tessellator.addVertex(aabb.maxX, aabb.minY, aabb.maxZ);
tessellator.addVertex(aabb.minX, aabb.maxY, aabb.maxZ);
tessellator.addVertex(aabb.minX, aabb.maxY, aabb.minZ);
tessellator.addVertex(aabb.minX, aabb.minY, aabb.minZ);
tessellator.addVertex(aabb.minX, aabb.minY, aabb.maxZ);
tessellator.addVertex(aabb.maxX, aabb.minY, aabb.maxZ);
tessellator.addVertex(aabb.maxX, aabb.minY, aabb.minZ);
tessellator.addVertex(aabb.maxX, aabb.maxY, aabb.minZ);
tessellator.addVertex(aabb.maxX, aabb.maxY, aabb.maxZ);
tessellator.draw();
}
public static void lines(AxisAlignedBB aabb) {
GL11.glBegin(GL11.GL_LINES);
GL11.glVertex3d(aabb.minX, aabb.maxY, aabb.minZ);
GL11.glVertex3d(aabb.maxX, aabb.maxY, aabb.minZ);
GL11.glVertex3d(aabb.maxX, aabb.maxY, aabb.minZ);
GL11.glVertex3d(aabb.maxX, aabb.maxY, aabb.maxZ);
GL11.glVertex3d(aabb.maxX, aabb.maxY, aabb.maxZ);
GL11.glVertex3d(aabb.minX, aabb.maxY, aabb.maxZ);
GL11.glVertex3d(aabb.minX, aabb.maxY, aabb.maxZ);
GL11.glVertex3d(aabb.minX, aabb.maxY, aabb.minZ);
GL11.glVertex3d(aabb.minX, aabb.minY, aabb.minZ);
GL11.glVertex3d(aabb.maxX, aabb.minY, aabb.minZ);
GL11.glVertex3d(aabb.maxX, aabb.minY, aabb.minZ);
GL11.glVertex3d(aabb.maxX, aabb.minY, aabb.maxZ);
GL11.glVertex3d(aabb.maxX, aabb.minY, aabb.maxZ);
GL11.glVertex3d(aabb.minX, aabb.minY, aabb.maxZ);
GL11.glVertex3d(aabb.minX, aabb.minY, aabb.maxZ);
GL11.glVertex3d(aabb.minX, aabb.minY, aabb.minZ);
GL11.glVertex3d(aabb.minX, aabb.maxY, aabb.minZ);
GL11.glVertex3d(aabb.minX, aabb.minY, aabb.minZ);
GL11.glVertex3d(aabb.maxX, aabb.maxY, aabb.maxZ);
GL11.glVertex3d(aabb.maxX, aabb.minY, aabb.maxZ);
GL11.glVertex3d(aabb.maxX, aabb.maxY, aabb.minZ);
GL11.glVertex3d(aabb.maxX, aabb.minY, aabb.minZ);
GL11.glVertex3d(aabb.minX, aabb.maxY, aabb.maxZ);
GL11.glVertex3d(aabb.minX, aabb.minY, aabb.maxZ);
GL11.glEnd();
}