Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Визуальная часть Круглый прицел | expensive 3.1 ready

  • Автор темы Автор темы shitikz
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Июн 2024
Сообщения
12
Реакции
0
Чел сливал уже, но там чуть чуть не правильно

Пожалуйста, авторизуйтесь для просмотра ссылки.

1.Удаляем все из crosshair и вставляем это
Java:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventDisplay.Type;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import java.awt.Color;
import net.minecraft.client.settings.PointOfView;

@FunctionRegister(
        name = "Crosshair",
        type = Category.Render
)
public class Crosshair extends Function {
    private final ModeSetting mode = new ModeSetting("Вид", "Круг", new String[]{"Круг", "Класический"});
    private final BooleanSetting staticCrosshair = new BooleanSetting("Статический", false);
    private float lastYaw;
    private float lastPitch;
    private float animatedYaw;
    private float animatedPitch;
    private float animation;
    private float animationSize;
    private final int outlineColor;
    private final int entityColor;

    public Crosshair() {
        this.outlineColor = Color.BLACK.getRGB();
        this.entityColor = Color.RED.getRGB();
        this.addSettings(new Setting[]{this.mode, this.staticCrosshair});
    }

    @Subscribe
    public void onDisplay(EventDisplay e) {
        if (mc.player != null && mc.world != null && e.getType() == Type.POST) {
            float x = (float)mc.getMainWindow().getScaledWidth() / 2.0F;
            float y = (float)mc.getMainWindow().getScaledHeight() / 2.0F;
            float padding = 5.0F;
            float cooldown;
            float length;
            switch(this.mode.getIndex()) {
                case 0:
                    cooldown = 5.0F;
                    int color = ColorUtils.interpolate(HUD.getColor(1), HUD.getColor(1), 1.0F - this.animation);
                    if (!(Boolean)this.staticCrosshair.get()) {
                        x += this.animatedYaw;
                        y += this.animatedPitch;
                    }

                    this.animationSize = MathUtil.fast(this.animationSize, (1.0F - mc.player.getCooledAttackStrength(1.0F)) * 260.0F, 10.0F);
                    length = 3.0F + ((Boolean)this.staticCrosshair.get() ? 0.0F : this.animationSize);
                    if (mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
                        DisplayUtils.drawCircle1(x, y, 0.0F, 360.0F, 3.5F, 3.0F, false, ColorUtils.getColor(90));
                        DisplayUtils.drawCircle1(x, y, 0.0F, this.animationSize, 3.5F, 3.0F, false, ColorUtils.rgb(23, 21, 21));
                    }
                    break;
                case 1:
                    if (mc.gameSettings.getPointOfView() != PointOfView.FIRST_PERSON) {
                        return;
                    }

                    cooldown = 1.0F - mc.player.getCooledAttackStrength(1.0F);
                    float thickness = 1.0F;
                    length = 3.0F;
                    float gap = 2.0F + 8.0F * cooldown;
                    color = mc.pointedEntity != null ? this.entityColor : -1;
                    this.drawOutlined(x - thickness / 2.0F, y - gap - length, thickness, length, ColorUtils.getColor(90));
                    this.drawOutlined(x - thickness / 2.0F, y + gap, thickness, length, ColorUtils.getColor(90));
                    this.drawOutlined(x - gap - length, y - thickness / 2.0F, length, thickness, color);
                    this.drawOutlined(x + gap, y - thickness / 2.0F, length, thickness, color);
            }

        }
    }

    private void drawOutlined(float x, float y, float w, float h, int hex) {
        DisplayUtils.drawRectW((double)x - 0.5D, (double)y - 0.5D, (double)(w + 1.0F), (double)(h + 1.0F), this.outlineColor);
        DisplayUtils.drawRectW((double)x, (double)y, (double)w, (double)h, hex);
    }
}

2.В DisplayUtils вставляем это
Java:
Expand Collapse Copy
public static void drawCircle1(float x, float y, float start, float end, float radius, float width, boolean filled, int color) {
        if (start > end) {
            float endOffset = end;
            end = start;
            start = endOffset;
        }

        GlStateManager.enableBlend();
        GL11.glDisable(3553);
        RenderSystem.blendFuncSeparate(770, 771, 1, 0);
        GL11.glEnable(2848);
        GL11.glLineWidth(width);
        GL11.glBegin(3);

        float i;
        float cos;
        float sin;
        for(i = end; i >= start; --i) {
            ColorUtils.setColor(color);
            cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            GL11.glVertex2f(x + cos, y + sin);
        }

        GL11.glEnd();
        GL11.glDisable(2848);
        if (filled) {
            GL11.glBegin(6);

            for(i = end; i >= start; --i) {
                ColorUtils.setColor1(color);
                cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                GL11.glVertex2f(x + cos, y + sin);
            }

            GL11.glEnd();
        }

        GL11.glEnable(3553);
        GlStateManager.disableBlend();
    }

    public static void drawCircle1(float x, float y, float start, float end, float radius, float width, boolean filled, Style s) {
        if (start > end) {
            float endOffset = end;
            end = start;
            start = endOffset;
        }

        GlStateManager.enableBlend();
        RenderSystem.disableAlphaTest();
        GL11.glDisable(3553);
        RenderSystem.blendFuncSeparate(770, 771, 1, 0);
        RenderSystem.shadeModel(7425);
        GL11.glEnable(2848);
        GL11.glLineWidth(width);
        GL11.glBegin(3);

        float i;
        float cos;
        float sin;
        for(i = end; i >= start; --i) {
            ColorUtils.setColor(ColorUtils.getColor((int)(i * 1.0F)));
            cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            GL11.glVertex2f(x + cos, y + sin);
        }

        GL11.glEnd();
        GL11.glDisable(2848);
        if (filled) {
            GL11.glBegin(6);

            for(i = end; i >= start; --i) {
                ColorUtils.setColor(ColorUtils.getColor((int)(i * 1.0F)));
                cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                GL11.glVertex2f(x + cos, y + sin);
            }

            GL11.glEnd();
        }

        RenderSystem.enableAlphaTest();
        RenderSystem.shadeModel(7424);
        GL11.glEnable(3553);
        GlStateManager.disableBlend();
    }
3.В ColorUtils это
Java:
Expand Collapse Copy
public static void setColor1(int color) {
        setAlphaColor(color, (float)(color >> 24 & 255) / 255.0F);
    }
 
Чел сливал уже, но там чуть чуть не правильно

Пожалуйста, авторизуйтесь для просмотра ссылки.

1.Удаляем все из crosshair и вставляем это
Java:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventDisplay.Type;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import java.awt.Color;
import net.minecraft.client.settings.PointOfView;

@FunctionRegister(
        name = "Crosshair",
        type = Category.Render
)
public class Crosshair extends Function {
    private final ModeSetting mode = new ModeSetting("Вид", "Круг", new String[]{"Круг", "Класический"});
    private final BooleanSetting staticCrosshair = new BooleanSetting("Статический", false);
    private float lastYaw;
    private float lastPitch;
    private float animatedYaw;
    private float animatedPitch;
    private float animation;
    private float animationSize;
    private final int outlineColor;
    private final int entityColor;

    public Crosshair() {
        this.outlineColor = Color.BLACK.getRGB();
        this.entityColor = Color.RED.getRGB();
        this.addSettings(new Setting[]{this.mode, this.staticCrosshair});
    }

    @Subscribe
    public void onDisplay(EventDisplay e) {
        if (mc.player != null && mc.world != null && e.getType() == Type.POST) {
            float x = (float)mc.getMainWindow().getScaledWidth() / 2.0F;
            float y = (float)mc.getMainWindow().getScaledHeight() / 2.0F;
            float padding = 5.0F;
            float cooldown;
            float length;
            switch(this.mode.getIndex()) {
                case 0:
                    cooldown = 5.0F;
                    int color = ColorUtils.interpolate(HUD.getColor(1), HUD.getColor(1), 1.0F - this.animation);
                    if (!(Boolean)this.staticCrosshair.get()) {
                        x += this.animatedYaw;
                        y += this.animatedPitch;
                    }

                    this.animationSize = MathUtil.fast(this.animationSize, (1.0F - mc.player.getCooledAttackStrength(1.0F)) * 260.0F, 10.0F);
                    length = 3.0F + ((Boolean)this.staticCrosshair.get() ? 0.0F : this.animationSize);
                    if (mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
                        DisplayUtils.drawCircle1(x, y, 0.0F, 360.0F, 3.5F, 3.0F, false, ColorUtils.getColor(90));
                        DisplayUtils.drawCircle1(x, y, 0.0F, this.animationSize, 3.5F, 3.0F, false, ColorUtils.rgb(23, 21, 21));
                    }
                    break;
                case 1:
                    if (mc.gameSettings.getPointOfView() != PointOfView.FIRST_PERSON) {
                        return;
                    }

                    cooldown = 1.0F - mc.player.getCooledAttackStrength(1.0F);
                    float thickness = 1.0F;
                    length = 3.0F;
                    float gap = 2.0F + 8.0F * cooldown;
                    color = mc.pointedEntity != null ? this.entityColor : -1;
                    this.drawOutlined(x - thickness / 2.0F, y - gap - length, thickness, length, ColorUtils.getColor(90));
                    this.drawOutlined(x - thickness / 2.0F, y + gap, thickness, length, ColorUtils.getColor(90));
                    this.drawOutlined(x - gap - length, y - thickness / 2.0F, length, thickness, color);
                    this.drawOutlined(x + gap, y - thickness / 2.0F, length, thickness, color);
            }

        }
    }

    private void drawOutlined(float x, float y, float w, float h, int hex) {
        DisplayUtils.drawRectW((double)x - 0.5D, (double)y - 0.5D, (double)(w + 1.0F), (double)(h + 1.0F), this.outlineColor);
        DisplayUtils.drawRectW((double)x, (double)y, (double)w, (double)h, hex);
    }
}

2.В DisplayUtils вставляем это
Java:
Expand Collapse Copy
public static void drawCircle1(float x, float y, float start, float end, float radius, float width, boolean filled, int color) {
        if (start > end) {
            float endOffset = end;
            end = start;
            start = endOffset;
        }

        GlStateManager.enableBlend();
        GL11.glDisable(3553);
        RenderSystem.blendFuncSeparate(770, 771, 1, 0);
        GL11.glEnable(2848);
        GL11.glLineWidth(width);
        GL11.glBegin(3);

        float i;
        float cos;
        float sin;
        for(i = end; i >= start; --i) {
            ColorUtils.setColor(color);
            cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            GL11.glVertex2f(x + cos, y + sin);
        }

        GL11.glEnd();
        GL11.glDisable(2848);
        if (filled) {
            GL11.glBegin(6);

            for(i = end; i >= start; --i) {
                ColorUtils.setColor1(color);
                cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                GL11.glVertex2f(x + cos, y + sin);
            }

            GL11.glEnd();
        }

        GL11.glEnable(3553);
        GlStateManager.disableBlend();
    }

    public static void drawCircle1(float x, float y, float start, float end, float radius, float width, boolean filled, Style s) {
        if (start > end) {
            float endOffset = end;
            end = start;
            start = endOffset;
        }

        GlStateManager.enableBlend();
        RenderSystem.disableAlphaTest();
        GL11.glDisable(3553);
        RenderSystem.blendFuncSeparate(770, 771, 1, 0);
        RenderSystem.shadeModel(7425);
        GL11.glEnable(2848);
        GL11.glLineWidth(width);
        GL11.glBegin(3);

        float i;
        float cos;
        float sin;
        for(i = end; i >= start; --i) {
            ColorUtils.setColor(ColorUtils.getColor((int)(i * 1.0F)));
            cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            GL11.glVertex2f(x + cos, y + sin);
        }

        GL11.glEnd();
        GL11.glDisable(2848);
        if (filled) {
            GL11.glBegin(6);

            for(i = end; i >= start; --i) {
                ColorUtils.setColor(ColorUtils.getColor((int)(i * 1.0F)));
                cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                GL11.glVertex2f(x + cos, y + sin);
            }

            GL11.glEnd();
        }

        RenderSystem.enableAlphaTest();
        RenderSystem.shadeModel(7424);
        GL11.glEnable(3553);
        GlStateManager.disableBlend();
    }
3.В ColorUtils это
Java:
Expand Collapse Copy
public static void setColor1(int color) {
        setAlphaColor(color, (float)(color >> 24 & 255) / 255.0F);
    }
Молодец что сделал свой исходник, тип который сливал ратер + скамер который не может написать спиды в 1 строку без моей помощи ?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Молодец что сделал свой исходник, тип который сливал ратер + скамер который не может написать спиды в 1 строку без моей помощи ?
но написал же норм спиди были под 20бпс на ромашке
что я
Молодец что сделал свой исходник, тип который сливал ратер + скамер который не может написать спиды в 1 строку без моей помощи ?
я сливал тему на юге как сделать ратку в версион что дальше но меня забанили нахуй за такую хуйню
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
но написал же норм спиди были под 20бпс на ромашке

что я

я сливал тему на юге как сделать ратку в версион что дальше но меня забанили нахуй за такую хуйню
он тя знает я вас видел вы срались на какой то теме давно еще
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Чел сливал уже, но там чуть чуть не правильно

Пожалуйста, авторизуйтесь для просмотра ссылки.

1.Удаляем все из crosshair и вставляем это
Java:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventDisplay.Type;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import java.awt.Color;
import net.minecraft.client.settings.PointOfView;

@FunctionRegister(
        name = "Crosshair",
        type = Category.Render
)
public class Crosshair extends Function {
    private final ModeSetting mode = new ModeSetting("Вид", "Круг", new String[]{"Круг", "Класический"});
    private final BooleanSetting staticCrosshair = new BooleanSetting("Статический", false);
    private float lastYaw;
    private float lastPitch;
    private float animatedYaw;
    private float animatedPitch;
    private float animation;
    private float animationSize;
    private final int outlineColor;
    private final int entityColor;

    public Crosshair() {
        this.outlineColor = Color.BLACK.getRGB();
        this.entityColor = Color.RED.getRGB();
        this.addSettings(new Setting[]{this.mode, this.staticCrosshair});
    }

    @Subscribe
    public void onDisplay(EventDisplay e) {
        if (mc.player != null && mc.world != null && e.getType() == Type.POST) {
            float x = (float)mc.getMainWindow().getScaledWidth() / 2.0F;
            float y = (float)mc.getMainWindow().getScaledHeight() / 2.0F;
            float padding = 5.0F;
            float cooldown;
            float length;
            switch(this.mode.getIndex()) {
                case 0:
                    cooldown = 5.0F;
                    int color = ColorUtils.interpolate(HUD.getColor(1), HUD.getColor(1), 1.0F - this.animation);
                    if (!(Boolean)this.staticCrosshair.get()) {
                        x += this.animatedYaw;
                        y += this.animatedPitch;
                    }

                    this.animationSize = MathUtil.fast(this.animationSize, (1.0F - mc.player.getCooledAttackStrength(1.0F)) * 260.0F, 10.0F);
                    length = 3.0F + ((Boolean)this.staticCrosshair.get() ? 0.0F : this.animationSize);
                    if (mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
                        DisplayUtils.drawCircle1(x, y, 0.0F, 360.0F, 3.5F, 3.0F, false, ColorUtils.getColor(90));
                        DisplayUtils.drawCircle1(x, y, 0.0F, this.animationSize, 3.5F, 3.0F, false, ColorUtils.rgb(23, 21, 21));
                    }
                    break;
                case 1:
                    if (mc.gameSettings.getPointOfView() != PointOfView.FIRST_PERSON) {
                        return;
                    }

                    cooldown = 1.0F - mc.player.getCooledAttackStrength(1.0F);
                    float thickness = 1.0F;
                    length = 3.0F;
                    float gap = 2.0F + 8.0F * cooldown;
                    color = mc.pointedEntity != null ? this.entityColor : -1;
                    this.drawOutlined(x - thickness / 2.0F, y - gap - length, thickness, length, ColorUtils.getColor(90));
                    this.drawOutlined(x - thickness / 2.0F, y + gap, thickness, length, ColorUtils.getColor(90));
                    this.drawOutlined(x - gap - length, y - thickness / 2.0F, length, thickness, color);
                    this.drawOutlined(x + gap, y - thickness / 2.0F, length, thickness, color);
            }

        }
    }

    private void drawOutlined(float x, float y, float w, float h, int hex) {
        DisplayUtils.drawRectW((double)x - 0.5D, (double)y - 0.5D, (double)(w + 1.0F), (double)(h + 1.0F), this.outlineColor);
        DisplayUtils.drawRectW((double)x, (double)y, (double)w, (double)h, hex);
    }
}

2.В DisplayUtils вставляем это
Java:
Expand Collapse Copy
public static void drawCircle1(float x, float y, float start, float end, float radius, float width, boolean filled, int color) {
        if (start > end) {
            float endOffset = end;
            end = start;
            start = endOffset;
        }

        GlStateManager.enableBlend();
        GL11.glDisable(3553);
        RenderSystem.blendFuncSeparate(770, 771, 1, 0);
        GL11.glEnable(2848);
        GL11.glLineWidth(width);
        GL11.glBegin(3);

        float i;
        float cos;
        float sin;
        for(i = end; i >= start; --i) {
            ColorUtils.setColor(color);
            cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            GL11.glVertex2f(x + cos, y + sin);
        }

        GL11.glEnd();
        GL11.glDisable(2848);
        if (filled) {
            GL11.glBegin(6);

            for(i = end; i >= start; --i) {
                ColorUtils.setColor1(color);
                cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                GL11.glVertex2f(x + cos, y + sin);
            }

            GL11.glEnd();
        }

        GL11.glEnable(3553);
        GlStateManager.disableBlend();
    }

    public static void drawCircle1(float x, float y, float start, float end, float radius, float width, boolean filled, Style s) {
        if (start > end) {
            float endOffset = end;
            end = start;
            start = endOffset;
        }

        GlStateManager.enableBlend();
        RenderSystem.disableAlphaTest();
        GL11.glDisable(3553);
        RenderSystem.blendFuncSeparate(770, 771, 1, 0);
        RenderSystem.shadeModel(7425);
        GL11.glEnable(2848);
        GL11.glLineWidth(width);
        GL11.glBegin(3);

        float i;
        float cos;
        float sin;
        for(i = end; i >= start; --i) {
            ColorUtils.setColor(ColorUtils.getColor((int)(i * 1.0F)));
            cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            GL11.glVertex2f(x + cos, y + sin);
        }

        GL11.glEnd();
        GL11.glDisable(2848);
        if (filled) {
            GL11.glBegin(6);

            for(i = end; i >= start; --i) {
                ColorUtils.setColor(ColorUtils.getColor((int)(i * 1.0F)));
                cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                GL11.glVertex2f(x + cos, y + sin);
            }

            GL11.glEnd();
        }

        RenderSystem.enableAlphaTest();
        RenderSystem.shadeModel(7424);
        GL11.glEnable(3553);
        GlStateManager.disableBlend();
    }
3.В ColorUtils это
Java:
Expand Collapse Copy
public static void setColor1(int color) {
        setAlphaColor(color, (float)(color >> 24 & 255) / 255.0F);
    }
ты просто добавил цвет еще 1 который я специально убрал
 
Чел сливал уже, но там чуть чуть не правильно

Пожалуйста, авторизуйтесь для просмотра ссылки.

1.Удаляем все из crosshair и вставляем это
Java:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventDisplay.Type;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import java.awt.Color;
import net.minecraft.client.settings.PointOfView;

@FunctionRegister(
        name = "Crosshair",
        type = Category.Render
)
public class Crosshair extends Function {
    private final ModeSetting mode = new ModeSetting("Вид", "Круг", new String[]{"Круг", "Класический"});
    private final BooleanSetting staticCrosshair = new BooleanSetting("Статический", false);
    private float lastYaw;
    private float lastPitch;
    private float animatedYaw;
    private float animatedPitch;
    private float animation;
    private float animationSize;
    private final int outlineColor;
    private final int entityColor;

    public Crosshair() {
        this.outlineColor = Color.BLACK.getRGB();
        this.entityColor = Color.RED.getRGB();
        this.addSettings(new Setting[]{this.mode, this.staticCrosshair});
    }

    @Subscribe
    public void onDisplay(EventDisplay e) {
        if (mc.player != null && mc.world != null && e.getType() == Type.POST) {
            float x = (float)mc.getMainWindow().getScaledWidth() / 2.0F;
            float y = (float)mc.getMainWindow().getScaledHeight() / 2.0F;
            float padding = 5.0F;
            float cooldown;
            float length;
            switch(this.mode.getIndex()) {
                case 0:
                    cooldown = 5.0F;
                    int color = ColorUtils.interpolate(HUD.getColor(1), HUD.getColor(1), 1.0F - this.animation);
                    if (!(Boolean)this.staticCrosshair.get()) {
                        x += this.animatedYaw;
                        y += this.animatedPitch;
                    }

                    this.animationSize = MathUtil.fast(this.animationSize, (1.0F - mc.player.getCooledAttackStrength(1.0F)) * 260.0F, 10.0F);
                    length = 3.0F + ((Boolean)this.staticCrosshair.get() ? 0.0F : this.animationSize);
                    if (mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
                        DisplayUtils.drawCircle1(x, y, 0.0F, 360.0F, 3.5F, 3.0F, false, ColorUtils.getColor(90));
                        DisplayUtils.drawCircle1(x, y, 0.0F, this.animationSize, 3.5F, 3.0F, false, ColorUtils.rgb(23, 21, 21));
                    }
                    break;
                case 1:
                    if (mc.gameSettings.getPointOfView() != PointOfView.FIRST_PERSON) {
                        return;
                    }

                    cooldown = 1.0F - mc.player.getCooledAttackStrength(1.0F);
                    float thickness = 1.0F;
                    length = 3.0F;
                    float gap = 2.0F + 8.0F * cooldown;
                    color = mc.pointedEntity != null ? this.entityColor : -1;
                    this.drawOutlined(x - thickness / 2.0F, y - gap - length, thickness, length, ColorUtils.getColor(90));
                    this.drawOutlined(x - thickness / 2.0F, y + gap, thickness, length, ColorUtils.getColor(90));
                    this.drawOutlined(x - gap - length, y - thickness / 2.0F, length, thickness, color);
                    this.drawOutlined(x + gap, y - thickness / 2.0F, length, thickness, color);
            }

        }
    }

    private void drawOutlined(float x, float y, float w, float h, int hex) {
        DisplayUtils.drawRectW((double)x - 0.5D, (double)y - 0.5D, (double)(w + 1.0F), (double)(h + 1.0F), this.outlineColor);
        DisplayUtils.drawRectW((double)x, (double)y, (double)w, (double)h, hex);
    }
}

2.В DisplayUtils вставляем это
Java:
Expand Collapse Copy
public static void drawCircle1(float x, float y, float start, float end, float radius, float width, boolean filled, int color) {
        if (start > end) {
            float endOffset = end;
            end = start;
            start = endOffset;
        }

        GlStateManager.enableBlend();
        GL11.glDisable(3553);
        RenderSystem.blendFuncSeparate(770, 771, 1, 0);
        GL11.glEnable(2848);
        GL11.glLineWidth(width);
        GL11.glBegin(3);

        float i;
        float cos;
        float sin;
        for(i = end; i >= start; --i) {
            ColorUtils.setColor(color);
            cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            GL11.glVertex2f(x + cos, y + sin);
        }

        GL11.glEnd();
        GL11.glDisable(2848);
        if (filled) {
            GL11.glBegin(6);

            for(i = end; i >= start; --i) {
                ColorUtils.setColor1(color);
                cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                GL11.glVertex2f(x + cos, y + sin);
            }

            GL11.glEnd();
        }

        GL11.glEnable(3553);
        GlStateManager.disableBlend();
    }

    public static void drawCircle1(float x, float y, float start, float end, float radius, float width, boolean filled, Style s) {
        if (start > end) {
            float endOffset = end;
            end = start;
            start = endOffset;
        }

        GlStateManager.enableBlend();
        RenderSystem.disableAlphaTest();
        GL11.glDisable(3553);
        RenderSystem.blendFuncSeparate(770, 771, 1, 0);
        RenderSystem.shadeModel(7425);
        GL11.glEnable(2848);
        GL11.glLineWidth(width);
        GL11.glBegin(3);

        float i;
        float cos;
        float sin;
        for(i = end; i >= start; --i) {
            ColorUtils.setColor(ColorUtils.getColor((int)(i * 1.0F)));
            cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
            GL11.glVertex2f(x + cos, y + sin);
        }

        GL11.glEnd();
        GL11.glDisable(2848);
        if (filled) {
            GL11.glBegin(6);

            for(i = end; i >= start; --i) {
                ColorUtils.setColor(ColorUtils.getColor((int)(i * 1.0F)));
                cos = MathHelper.cos((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                sin = MathHelper.sin((float)((double)i * 3.141592653589793D / 180.0D)) * radius;
                GL11.glVertex2f(x + cos, y + sin);
            }

            GL11.glEnd();
        }

        RenderSystem.enableAlphaTest();
        RenderSystem.shadeModel(7424);
        GL11.glEnable(3553);
        GlStateManager.disableBlend();
    }
3.В ColorUtils это
Java:
Expand Collapse Copy
public static void setColor1(int color) {
        setAlphaColor(color, (float)(color >> 24 & 255) / 255.0F);
    }
прикольно :roflanEbalo:
 
Назад
Сверху Снизу