- 355
- 2
- 17
По сути это выделение блока, расширение границ не помогло, это вот тоже не помогло:
Java:
GL11.glPolygonOffset(-3F, -3F);
GL11.glEnable(GL11.GL_POLYGON_OFFSET_FILL);
GL11.glEnable(GL11.GL_CULL_FACE);
Вызываю из ивента RenderWorldLastEvent
Java:
AxisAlignedBB alignedBB = AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z +1).expand(0.001D, 0.001D, 0.001D);
double worldPosX = -(mc.thePlayer.lastTickPosX + (mc.thePlayer.posX - mc.thePlayer.lastTickPosX) * partialTicks);
double worldPosY = -(mc.thePlayer.lastTickPosY + (mc.thePlayer.posY - mc.thePlayer.lastTickPosY) * partialTicks);
double worldPosZ = -(mc.thePlayer.lastTickPosZ + (mc.thePlayer.posZ - mc.thePlayer.lastTickPosZ) * partialTicks);
GL11.glPushMatrix();
GL11.glTranslated(worldPosX, worldPosY, worldPosZ);
GL11.glEnable(GL11.GL_BLEND);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glColor4f((float)(color >> 16) / 255.0F, (float)(color >> 8 & 255) / 255.0F, (float)(color & 255) / 255.0F, 0.25F);
Tessellator tessellator = Tessellator.instance;
tessellator.startDrawingQuads();
//top
tessellator.addVertex(alignedBB.maxX, alignedBB.maxY, alignedBB.minZ);
tessellator.addVertex(alignedBB.minX, alignedBB.maxY, alignedBB.minZ);
tessellator.addVertex(alignedBB.minX, alignedBB.maxY, alignedBB.maxZ);
tessellator.addVertex(alignedBB.maxX, alignedBB.maxY, alignedBB.maxZ);
//bottom
tessellator.addVertex(alignedBB.maxX, alignedBB.minY, alignedBB.maxZ);
tessellator.addVertex(alignedBB.minX, alignedBB.minY, alignedBB.maxZ);
tessellator.addVertex(alignedBB.minX, alignedBB.minY, alignedBB.minZ);
tessellator.addVertex(alignedBB.maxX, alignedBB.minY, alignedBB.minZ);
//north
tessellator.addVertex(alignedBB.maxX, alignedBB.minY, alignedBB.minZ);
tessellator.addVertex(alignedBB.minX, alignedBB.minY, alignedBB.minZ);
tessellator.addVertex(alignedBB.minX, alignedBB.maxY, alignedBB.minZ);
tessellator.addVertex(alignedBB.maxX, alignedBB.maxY, alignedBB.minZ);
//south
tessellator.addVertex(alignedBB.maxX, alignedBB.maxY, alignedBB.maxZ);
tessellator.addVertex(alignedBB.minX, alignedBB.maxY, alignedBB.maxZ);
tessellator.addVertex(alignedBB.minX, alignedBB.minY, alignedBB.maxZ);
tessellator.addVertex(alignedBB.maxX, alignedBB.minY, alignedBB.maxZ);
//west
tessellator.addVertex(alignedBB.minX, alignedBB.maxY, alignedBB.maxZ);
tessellator.addVertex(alignedBB.minX, alignedBB.maxY, alignedBB.minZ);
tessellator.addVertex(alignedBB.minX, alignedBB.minY, alignedBB.minZ);
tessellator.addVertex(alignedBB.minX, alignedBB.minY, alignedBB.maxZ);
//east
tessellator.addVertex(alignedBB.maxX, alignedBB.minY, alignedBB.maxZ);
tessellator.addVertex(alignedBB.maxX, alignedBB.minY, alignedBB.minZ);
tessellator.addVertex(alignedBB.maxX, alignedBB.maxY, alignedBB.minZ);
tessellator.addVertex(alignedBB.maxX, alignedBB.maxY, alignedBB.maxZ);
tessellator.draw();
if (drawLines)
{
tessellator.startDrawing(3);
tessellator.addVertex(alignedBB.minX, alignedBB.minY, alignedBB.minZ);
tessellator.addVertex(alignedBB.maxX, alignedBB.minY, alignedBB.minZ);
tessellator.addVertex(alignedBB.maxX, alignedBB.minY, alignedBB.maxZ);
tessellator.addVertex(alignedBB.minX, alignedBB.minY, alignedBB.maxZ);
tessellator.addVertex(alignedBB.minX, alignedBB.minY, alignedBB.minZ);
tessellator.draw();
tessellator.startDrawing(3);
tessellator.addVertex(alignedBB.minX, alignedBB.maxY, alignedBB.minZ);
tessellator.addVertex(alignedBB.maxX, alignedBB.maxY, alignedBB.minZ);
tessellator.addVertex(alignedBB.maxX, alignedBB.maxY, alignedBB.maxZ);
tessellator.addVertex(alignedBB.minX, alignedBB.maxY, alignedBB.maxZ);
tessellator.addVertex(alignedBB.minX, alignedBB.maxY, alignedBB.minZ);
tessellator.draw();
tessellator.startDrawing(1);
tessellator.addVertex(alignedBB.minX, alignedBB.minY, alignedBB.minZ);
tessellator.addVertex(alignedBB.minX, alignedBB.maxY, alignedBB.minZ);
tessellator.addVertex(alignedBB.maxX, alignedBB.minY, alignedBB.minZ);
tessellator.addVertex(alignedBB.maxX, alignedBB.maxY, alignedBB.minZ);
tessellator.addVertex(alignedBB.maxX, alignedBB.minY, alignedBB.maxZ);
tessellator.addVertex(alignedBB.maxX, alignedBB.maxY, alignedBB.maxZ);
tessellator.addVertex(alignedBB.minX, alignedBB.minY, alignedBB.maxZ);
tessellator.addVertex(alignedBB.minX, alignedBB.maxY, alignedBB.maxZ);
tessellator.draw();
}
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_BLEND);
GL11.glPopMatrix();