Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class TesselatorRenderer {
- private static final double MAX = 1.05;
- private static final double MIN = -0.05;
- public void render(double x, double y, double z, Pos... markerPos) {
- GL11.glBlendFunc(GL11.GL_DST_COLOR, GL11.GL_SRC_COLOR);
- GL11.glDisable(GL11.GL_TEXTURE_2D);
- OpenGlHelper.glBlendFunc(774, 768, 1, 0);
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.5F);
- GL11.glPushMatrix();
- GL11.glPolygonOffset(-3.0F, -3.0F);
- GL11.glEnable(GL11.GL_POLYGON_OFFSET_FILL);
- GL11.glEnable(GL11.GL_ALPHA_TEST);
- final boolean hadBlend = GL11.glIsEnabled(GL11.GL_BLEND);
- GL11.glEnable(GL11.GL_BLEND);
- final Tessellator tessellator = Tessellator.instance;
- tessellator.startDrawingQuads();
- tessellator.setTranslation(-x, -y, -z);
- float redPart = 1.0f;
- for (final Pos m : markerPos) {
- tessellator.setColorRGBA_F(redPart, 0, 0, 0.5f);
- if (m != null) {
- renderMarker(m, (int) x, (int) y, (int) z);
- }
- redPart *= 0.6;
- }
- tessellator.draw();
- tessellator.setTranslation(0.0D, 0.0D, 0.0D);
- GL11.glDisable(GL11.GL_ALPHA_TEST);
- GL11.glPolygonOffset(0.0F, 0.0F);
- GL11.glDisable(GL11.GL_POLYGON_OFFSET_FILL);
- GL11.glEnable(GL11.GL_ALPHA_TEST);
- if (!hadBlend) {
- GL11.glDisable(GL11.GL_BLEND);
- }
- GL11.glEnable(GL11.GL_TEXTURE_2D);
- GL11.glDepthMask(true);
- GL11.glPopMatrix();
- }
- private void renderMarker(Pos m, int x, int y, int z) {
- final Tessellator tessellator = Tessellator.instance;
- tessellator.addVertex(m.x + x + MIN, m.y + y + MAX, m.z + z + MIN);
- tessellator.addVertex(m.x + x + MIN, m.y + y + MAX, m.z + z + MAX);
- tessellator.addVertex(m.x + x + MAX, m.y + y + MAX, m.z + z + MAX);
- tessellator.addVertex(m.x + x + MAX, m.y + y + MAX, m.z + z + MIN);
- tessellator.addVertex(m.x + x + MIN, m.y + y + MIN, m.z + z + MIN);
- tessellator.addVertex(m.x + x + MIN, m.y + y + MIN, m.z + z + MAX);
- tessellator.addVertex(m.x + x + MIN, m.y + y + MAX, m.z + z + MAX);
- tessellator.addVertex(m.x + x + MIN, m.y + y + MAX, m.z + z + MIN);
- tessellator.addVertex(m.x + x + MAX, m.y + y + MAX, m.z + z + MIN);
- tessellator.addVertex(m.x + x + MAX, m.y + y + MAX, m.z + z + MAX);
- tessellator.addVertex(m.x + x + MAX, m.y + y + MIN, m.z + z + MAX);
- tessellator.addVertex(m.x + x + MAX, m.y + y + MIN, m.z + z + MIN);
- tessellator.addVertex(m.x + x + MIN, m.y + y + MIN, m.z + z + MIN);
- tessellator.addVertex(m.x + x + MIN, m.y + y + MAX, m.z + z + MIN);
- tessellator.addVertex(m.x + x + MAX, m.y + y + MAX, m.z + z + MIN);
- tessellator.addVertex(m.x + x + MAX, m.y + y + MIN, m.z + z + MIN);
- tessellator.addVertex(m.x + x + MIN, m.y + y + MAX, m.z + z + MAX);
- tessellator.addVertex(m.x + x + MIN, m.y + y + MIN, m.z + z + MAX);
- tessellator.addVertex(m.x + x + MAX, m.y + y + MIN, m.z + z + MAX);
- tessellator.addVertex(m.x + x + MAX, m.y + y + MAX, m.z + z + MAX);
- tessellator.addVertex(m.x + x + MIN, m.y + y + MIN, m.z + z + MAX);
- tessellator.addVertex(m.x + x + MIN, m.y + y + MIN, m.z + z + MIN);
- tessellator.addVertex(m.x + x + MAX, m.y + y + MIN, m.z + z + MIN);
- tessellator.addVertex(m.x + x + MAX, m.y + y + MIN, m.z + z + MAX);
- }
- /**
- * Draws the position markers.
- *
- * @param event
- */
- @SubscribeEvent
- public void drawMarkers(RenderWorldLastEvent event) {
- if (CraftBot.bot) {
- final EntityLivingBase player = Minecraft.getMinecraft().renderViewEntity;
- final double x = player.lastTickPosX;
- final double y = player.lastTickPosY;
- final double z = player.lastTickPosZ;
- this.render(x, y, z, new Pos(1, 0, 0));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement