Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pl.xguard.modification;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.gui.ScaledResolution;
- import net.minecraft.util.BlockPos;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.gui.FontRenderer;
- import net.minecraft.client.gui.Gui;
- import net.minecraft.client.gui.GuiOverlayDebug;
- import net.minecraft.client.gui.GuiScreen;
- import net.minecraft.client.gui.ScaledResolution;
- import net.minecraft.client.renderer.GlStateManager;
- import net.minecraft.client.renderer.Tessellator;
- import net.minecraft.client.renderer.WorldRenderer;
- import net.minecraft.client.settings.KeyBinding;
- import net.minecraft.entity.Entity;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.util.BlockPos;
- import net.minecraft.util.EnumFacing;
- import net.minecraft.util.MathHelper;
- import pl.xguard.modules.FPS;
- import java.awt.Color;
- import org.lwjgl.input.Keyboard;
- import org.lwjgl.opengl.GL11;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.gui.FontRenderer;
- import net.minecraft.client.gui.ScaledResolution;
- import net.minecraft.client.renderer.GlStateManager;
- import net.minecraft.client.renderer.Tessellator;
- import net.minecraft.client.renderer.WorldRenderer;
- import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
- import org.lwjgl.opengl.GL11;
- public class Compass {
- private FontRenderer fontRenderer;
- private ScaledResolution scaledResolution;
- private static int offY = 0;
- private static int cwidth = 500;
- private int clientWidth;
- private static int offsetAll = 0;
- private static int centerX = 0;
- private static int colorMarker = 0;
- private static int colorDirection = 0;
- public static int width = 184;
- public static int height = 20;
- private Minecraft mc = Minecraft.getMinecraft();
- private FontRenderer fr;
- private static int getRainbow(int speed, int offset) {
- float hue = (float)((System.currentTimeMillis() + offset) % speed);
- hue /= speed;
- return Color.getHSBColor(hue, 1.0F, 1.0F).getRGB();
- }
- public void drawCompass() {
- int speed = 2;
- int color = getRainbow(6000, -15 * speed);
- speed += 12;
- fontRenderer = Minecraft.getMinecraft().fontRendererObj;
- scaledResolution = new ScaledResolution(Minecraft.getMinecraft());
- clientWidth = scaledResolution.getScaledWidth();
- centerX = clientWidth / 2;
- int direction = normalize((int) Minecraft.getMinecraft().thePlayer.rotationYaw);
- offsetAll = (clientWidth * direction / 360);
- Gui.drawRect(centerX - width / 2, offY, centerX + width / 2, offY + height, -1442840576);
- this.renderMarker();
- this.drawDirection("S", 0, 1.4D);
- this.drawDirection("15", 15, 0.6D);
- this.drawDirection("30", 30, 0.6D);
- this.drawDirection("SW", 45, 1.4D);
- this.drawDirection("60", 60, 0.6D);
- this.drawDirection("75", 75, 0.6D);
- this.drawDirection("W", 90, 1.4D);
- this.drawDirection("105", 105, 0.6D);
- this.drawDirection("120", 120, 0.6D);
- this.drawDirection("NW", 135, 1.4D);
- this.drawDirection("195", 195, 0.6D);
- this.drawDirection("210", 210, 0.6D);
- this.drawDirection("N", 180, 1.4D);
- this.drawDirection("150", 150, 0.6D);
- this.drawDirection("165", 165, 0.6D);
- this.drawDirection("NE", 225, 1.4D);
- this.drawDirection("240", 240, 0.6D);
- this.drawDirection("255", 255, 0.6D);
- this.drawDirection("E", 270, 1.4D);
- this.drawDirection("285", 285, 0.6D);
- this.drawDirection("300", 300, 0.6D);
- this.drawDirection("SE", 315, 1.4D);
- this.drawDirection("330", 330, 0.6D);
- this.drawDirection("345", 345, 0.6D);
- }
- private void renderMarker() {
- Tessellator tessellator = Tessellator.getInstance();
- WorldRenderer worldrenderer = tessellator.getWorldRenderer();
- GlStateManager.enableBlend();
- GlStateManager.disableTexture2D();
- GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0);
- worldrenderer.begin(6, DefaultVertexFormats.POSITION);
- worldrenderer.pos(centerX, offY + 3, 0.0D).endVertex();
- worldrenderer.pos(centerX + 3, offY, 0.0D).endVertex();
- worldrenderer.pos(centerX - 3, offY, 0.0D).endVertex();
- tessellator.draw();
- GlStateManager.enableTexture2D();
- GlStateManager.disableBlend();
- }
- private void drawDirection(String dir, int degrees, double scale) {
- int offset = this.clientWidth * degrees / 360 - this.offsetAll;
- if (offset > this.clientWidth / 2) {
- offset -= this.clientWidth;
- }
- if (offset < -this.clientWidth / 2) {
- offset += this.clientWidth;
- }
- double opacity = 1.0D - (double)Math.abs(offset) / ((double)this.width / 2.0D);
- if (opacity > 0.1D) {
- int speed = 2;
- int color = getRainbow(6000, -15 * speed);
- speed += 12;
- int posX = this.centerX + offset - (int)((double)this.fontRenderer.getStringWidth(dir) * scale / 2.0D);
- int posY = this.offY + this.height / 2 - (int)((double)this.fontRenderer.FONT_HEIGHT * scale / 2.0D);
- GL11.glEnable(3042);
- GL11.glPushMatrix();
- GL11.glTranslated((double)(-posX) * (scale - 1.0D), (double)(-posY) * (scale - 1.0D), 0.0D);
- GL11.glScaled(scale, scale, 1.0D);
- this.fontRenderer.drawStringWithShadow(dir, (float)posX, (float)posY, color);
- GL11.glPopMatrix();
- GL11.glDisable(3042);
- }
- }
- private int normalize(int direction) {
- if (direction > 360) {
- direction %= 360;
- }
- while (direction < 0) {
- direction += 360;
- }
- return direction;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement