Визуальная часть MotionGraphRender exp 3.1 ready

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
7 Май 2025
Сообщения
11
Реакции
0
Выберите загрузчик игры
  1. Прочие моды

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

незнаю зачем,моя первая тема на форуме не пинайте!

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


govnocode:
Expand Collapse Copy
package im.expensive.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.ui.styles.StyleManager;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.Scissor;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import org.lwjgl.opengl.GL11;

import java.util.ArrayList;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class MotionGraphRenderer implements ElementRenderer {
    private final Dragging dragging;
    private final Minecraft mc = Minecraft.getInstance();
    private final ArrayList<Double> height = new ArrayList<>();
    private double bps;

    public void tick() {

        this.height.add(this.bps);
        if (this.height.size() > 80) {
            this.height.remove(0);
        }
    }

    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = this.dragging.getX();
        float posY = this.dragging.getY();


        this.bps = Math.hypot(mc.player.prevPosX - mc.player.getPosX(), mc.player.prevPosZ - mc.player.getPosZ()) * 20.0D;
        renderMotionGraph(ms, posX, posY);
        Scissor.unset();
    }

    private void renderMotionGraph(MatrixStack ms, float posX, float posY) {
        int width = 80;
        int height = 30;


        int color = ColorUtils.rgba(0, 0, 0, 190);
        DisplayUtils.drawRoundedRect((int) posX, (int) posY, width, height, 5, color);

        if (this.height.size() < 2) {
            return;
        }


        double maxBps = Math.max(0.5, this.height.stream().mapToDouble(Double::doubleValue).max().orElse(1.0));
        double minBps = this.height.stream().mapToDouble(Double::doubleValue).min().orElse(0.0);
        double range = maxBps - minBps;
        if (range < 0.1) range = 0.1;

        GL11.glPushMatrix();
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_LINE_SMOOTH);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        GL11.glLineWidth(2.0F);

        GL11.glBegin(GL11.GL_LINE_STRIP);


        StyleManager styleManager = Expensive.getInstance().getStyleManager();
        int firstColor = styleManager.getCurrentStyle().getFirstColor().getRGB();
        float alpha = ((firstColor >> 24) & 0xFF) / 255.0f;
        float red = ((firstColor >> 16) & 0xFF) / 255.0f;
        float green = ((firstColor >> 8) & 0xFF) / 255.0f;
        float blue = (firstColor & 0xFF) / 255.0f;
        GL11.glColor4f(red, green, blue, alpha);

        for (int i = 0; i < this.height.size(); i++) {
            double x = posX + 1 + (i * (width - 2.0) / (this.height.size() - 1));
            double value = this.height.get(i);
            double normalized = (value - minBps) / range;
            double y = posY + height - 3 - (normalized * (height - 6));

            if (i % 10 == 0) {
            }

            GL11.glVertex2d(x, y);
        }

        GL11.glEnd();
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glDisable(GL11.GL_LINE_SMOOTH);
        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glPopMatrix();


        String bpsText = String.format("%.1f BPS", this.bps);
        float textX = posX + width + 5;
        float textY = posY + 5;


        int backgroundColor = ColorUtils.rgba(0, 0, 0, 150);
        float textWidth = mc.fontRenderer.getStringWidth(bpsText);
        float textHeight = 10;
        DisplayUtils.drawRoundedRect((int) textX - 2, (int) textY - 2, (int) textWidth + 4, (int) textHeight + 2, 2, backgroundColor);


        mc.fontRenderer.drawStringWithShadow(ms, bpsText, textX, textY, 0xFFFFFF);

        dragging.setWidth(width);
        dragging.setHeight(height);
    }

    public void update(EventUpdate e) {
        tick();
    }
}
 
было бы лучше если вот это
1747828170805.png
поместить сюда
1747828202495.png

но это будеть легко сделать так что может кому-то нужно будет
 
Скрытое содержимоену смысл этой темы ты думаешь так тяжело взять с ньюкода или с друго исходника код и перенести его на 3.1?
я не брал его, это селфкод
 
незнаю зачем,моя первая тема на форуме не пинайте!

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


govnocode:
Expand Collapse Copy
package im.expensive.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.ui.styles.StyleManager;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.Scissor;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import org.lwjgl.opengl.GL11;

import java.util.ArrayList;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class MotionGraphRenderer implements ElementRenderer {
    private final Dragging dragging;
    private final Minecraft mc = Minecraft.getInstance();
    private final ArrayList<Double> height = new ArrayList<>();
    private double bps;

    public void tick() {

        this.height.add(this.bps);
        if (this.height.size() > 80) {
            this.height.remove(0);
        }
    }

    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = this.dragging.getX();
        float posY = this.dragging.getY();


        this.bps = Math.hypot(mc.player.prevPosX - mc.player.getPosX(), mc.player.prevPosZ - mc.player.getPosZ()) * 20.0D;
        renderMotionGraph(ms, posX, posY);
        Scissor.unset();
    }

    private void renderMotionGraph(MatrixStack ms, float posX, float posY) {
        int width = 80;
        int height = 30;


        int color = ColorUtils.rgba(0, 0, 0, 190);
        DisplayUtils.drawRoundedRect((int) posX, (int) posY, width, height, 5, color);

        if (this.height.size() < 2) {
            return;
        }


        double maxBps = Math.max(0.5, this.height.stream().mapToDouble(Double::doubleValue).max().orElse(1.0));
        double minBps = this.height.stream().mapToDouble(Double::doubleValue).min().orElse(0.0);
        double range = maxBps - minBps;
        if (range < 0.1) range = 0.1;

        GL11.glPushMatrix();
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_LINE_SMOOTH);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        GL11.glLineWidth(2.0F);

        GL11.glBegin(GL11.GL_LINE_STRIP);


        StyleManager styleManager = Expensive.getInstance().getStyleManager();
        int firstColor = styleManager.getCurrentStyle().getFirstColor().getRGB();
        float alpha = ((firstColor >> 24) & 0xFF) / 255.0f;
        float red = ((firstColor >> 16) & 0xFF) / 255.0f;
        float green = ((firstColor >> 8) & 0xFF) / 255.0f;
        float blue = (firstColor & 0xFF) / 255.0f;
        GL11.glColor4f(red, green, blue, alpha);

        for (int i = 0; i < this.height.size(); i++) {
            double x = posX + 1 + (i * (width - 2.0) / (this.height.size() - 1));
            double value = this.height.get(i);
            double normalized = (value - minBps) / range;
            double y = posY + height - 3 - (normalized * (height - 6));

            if (i % 10 == 0) {
            }

            GL11.glVertex2d(x, y);
        }

        GL11.glEnd();
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glDisable(GL11.GL_LINE_SMOOTH);
        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glPopMatrix();


        String bpsText = String.format("%.1f BPS", this.bps);
        float textX = posX + width + 5;
        float textY = posY + 5;


        int backgroundColor = ColorUtils.rgba(0, 0, 0, 150);
        float textWidth = mc.fontRenderer.getStringWidth(bpsText);
        float textHeight = 10;
        DisplayUtils.drawRoundedRect((int) textX - 2, (int) textY - 2, (int) textWidth + 4, (int) textHeight + 2, 2, backgroundColor);


        mc.fontRenderer.drawStringWithShadow(ms, bpsText, textX, textY, 0xFFFFFF);

        dragging.setWidth(width);
        dragging.setHeight(height);
    }

    public void update(EventUpdate e) {
        tick();
    }
}
если 1 и без гпт, то нормис. Потому что не все могут так в первой работе. Удачи дальше в развитии
 
незнаю зачем,моя первая тема на форуме не пинайте!

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


govnocode:
Expand Collapse Copy
package im.expensive.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.ui.styles.StyleManager;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.Scissor;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import org.lwjgl.opengl.GL11;

import java.util.ArrayList;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class MotionGraphRenderer implements ElementRenderer {
    private final Dragging dragging;
    private final Minecraft mc = Minecraft.getInstance();
    private final ArrayList<Double> height = new ArrayList<>();
    private double bps;

    public void tick() {

        this.height.add(this.bps);
        if (this.height.size() > 80) {
            this.height.remove(0);
        }
    }

    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = this.dragging.getX();
        float posY = this.dragging.getY();


        this.bps = Math.hypot(mc.player.prevPosX - mc.player.getPosX(), mc.player.prevPosZ - mc.player.getPosZ()) * 20.0D;
        renderMotionGraph(ms, posX, posY);
        Scissor.unset();
    }

    private void renderMotionGraph(MatrixStack ms, float posX, float posY) {
        int width = 80;
        int height = 30;


        int color = ColorUtils.rgba(0, 0, 0, 190);
        DisplayUtils.drawRoundedRect((int) posX, (int) posY, width, height, 5, color);

        if (this.height.size() < 2) {
            return;
        }


        double maxBps = Math.max(0.5, this.height.stream().mapToDouble(Double::doubleValue).max().orElse(1.0));
        double minBps = this.height.stream().mapToDouble(Double::doubleValue).min().orElse(0.0);
        double range = maxBps - minBps;
        if (range < 0.1) range = 0.1;

        GL11.glPushMatrix();
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_LINE_SMOOTH);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        GL11.glLineWidth(2.0F);

        GL11.glBegin(GL11.GL_LINE_STRIP);


        StyleManager styleManager = Expensive.getInstance().getStyleManager();
        int firstColor = styleManager.getCurrentStyle().getFirstColor().getRGB();
        float alpha = ((firstColor >> 24) & 0xFF) / 255.0f;
        float red = ((firstColor >> 16) & 0xFF) / 255.0f;
        float green = ((firstColor >> 8) & 0xFF) / 255.0f;
        float blue = (firstColor & 0xFF) / 255.0f;
        GL11.glColor4f(red, green, blue, alpha);

        for (int i = 0; i < this.height.size(); i++) {
            double x = posX + 1 + (i * (width - 2.0) / (this.height.size() - 1));
            double value = this.height.get(i);
            double normalized = (value - minBps) / range;
            double y = posY + height - 3 - (normalized * (height - 6));

            if (i % 10 == 0) {
            }

            GL11.glVertex2d(x, y);
        }

        GL11.glEnd();
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glDisable(GL11.GL_LINE_SMOOTH);
        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glPopMatrix();


        String bpsText = String.format("%.1f BPS", this.bps);
        float textX = posX + width + 5;
        float textY = posY + 5;


        int backgroundColor = ColorUtils.rgba(0, 0, 0, 150);
        float textWidth = mc.fontRenderer.getStringWidth(bpsText);
        float textHeight = 10;
        DisplayUtils.drawRoundedRect((int) textX - 2, (int) textY - 2, (int) textWidth + 4, (int) textHeight + 2, 2, backgroundColor);


        mc.fontRenderer.drawStringWithShadow(ms, bpsText, textX, textY, 0xFFFFFF);

        dragging.setWidth(width);
        dragging.setHeight(height);
    }

    public void update(EventUpdate e) {
        tick();
    }
}
легче с ньюкода спастить чем такое
 
каким хуем это первая тема? я еще летом сливал
 
топ приватный нахуй визуал, пишется 1337 лет, селфкодик
 
прикольно, но не рабочее.
 
незнаю зачем,моя первая тема на форуме не пинайте!

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


govnocode:
Expand Collapse Copy
package im.expensive.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.ui.styles.StyleManager;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.Scissor;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import org.lwjgl.opengl.GL11;

import java.util.ArrayList;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class MotionGraphRenderer implements ElementRenderer {
    private final Dragging dragging;
    private final Minecraft mc = Minecraft.getInstance();
    private final ArrayList<Double> height = new ArrayList<>();
    private double bps;

    public void tick() {

        this.height.add(this.bps);
        if (this.height.size() > 80) {
            this.height.remove(0);
        }
    }

    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = this.dragging.getX();
        float posY = this.dragging.getY();


        this.bps = Math.hypot(mc.player.prevPosX - mc.player.getPosX(), mc.player.prevPosZ - mc.player.getPosZ()) * 20.0D;
        renderMotionGraph(ms, posX, posY);
        Scissor.unset();
    }

    private void renderMotionGraph(MatrixStack ms, float posX, float posY) {
        int width = 80;
        int height = 30;


        int color = ColorUtils.rgba(0, 0, 0, 190);
        DisplayUtils.drawRoundedRect((int) posX, (int) posY, width, height, 5, color);

        if (this.height.size() < 2) {
            return;
        }


        double maxBps = Math.max(0.5, this.height.stream().mapToDouble(Double::doubleValue).max().orElse(1.0));
        double minBps = this.height.stream().mapToDouble(Double::doubleValue).min().orElse(0.0);
        double range = maxBps - minBps;
        if (range < 0.1) range = 0.1;

        GL11.glPushMatrix();
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_LINE_SMOOTH);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        GL11.glLineWidth(2.0F);

        GL11.glBegin(GL11.GL_LINE_STRIP);


        StyleManager styleManager = Expensive.getInstance().getStyleManager();
        int firstColor = styleManager.getCurrentStyle().getFirstColor().getRGB();
        float alpha = ((firstColor >> 24) & 0xFF) / 255.0f;
        float red = ((firstColor >> 16) & 0xFF) / 255.0f;
        float green = ((firstColor >> 8) & 0xFF) / 255.0f;
        float blue = (firstColor & 0xFF) / 255.0f;
        GL11.glColor4f(red, green, blue, alpha);

        for (int i = 0; i < this.height.size(); i++) {
            double x = posX + 1 + (i * (width - 2.0) / (this.height.size() - 1));
            double value = this.height.get(i);
            double normalized = (value - minBps) / range;
            double y = posY + height - 3 - (normalized * (height - 6));

            if (i % 10 == 0) {
            }

            GL11.glVertex2d(x, y);
        }

        GL11.glEnd();
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glDisable(GL11.GL_LINE_SMOOTH);
        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glPopMatrix();


        String bpsText = String.format("%.1f BPS", this.bps);
        float textX = posX + width + 5;
        float textY = posY + 5;


        int backgroundColor = ColorUtils.rgba(0, 0, 0, 150);
        float textWidth = mc.fontRenderer.getStringWidth(bpsText);
        float textHeight = 10;
        DisplayUtils.drawRoundedRect((int) textX - 2, (int) textY - 2, (int) textWidth + 4, (int) textHeight + 2, 2, backgroundColor);


        mc.fontRenderer.drawStringWithShadow(ms, bpsText, textX, textY, 0xFFFFFF);

        dragging.setWidth(width);
        dragging.setHeight(height);
    }

    public void update(EventUpdate e) {
        tick();
    }
}
фу
 

Похожие темы

Назад
Сверху Снизу