Визуальная часть MotionGraph | exp 3.1

  • Автор темы Автор темы netrxq
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
20 Июл 2024
Сообщения
11
Реакции
0
Выберите загрузчик игры
  1. OptiFine
  2. ForgeOptiFine

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

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

Спасибо!

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

адекватный
MotionGraph, для past$$ов чилл + вайб

Код:
Expand Collapse Copy
package fun.netreex.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import fun.netreex.Netreex;
import fun.netreex.events.EventDisplay;
import fun.netreex.events.EventUpdate;
import fun.netreex.ui.display.ElementRenderer;
import fun.netreex.ui.styles.StyleManager;
import fun.netreex.utils.drag.Dragging;
import fun.netreex.utils.render.ColorUtils;
import fun.netreex.utils.render.DisplayUtils;
import fun.netreex.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> heightHistory = new ArrayList<>();
    private double lastY;

    public void tick() {
        this.lastY = mc.player.getPosY();
        this.heightHistory.add(this.lastY);

        if (this.heightHistory.size() > 150) {
            this.heightHistory.remove(0);
        }
    }

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

        renderHeightGraph(ms, posX, posY);
        Scissor.unset();
    }

    private void renderHeightGraph(MatrixStack ms, float posX, float posY) {
        int width = 120;
        int height = 50;
       
        int bgColor = ColorUtils.rgba(20, 20, 30, 180);
        DisplayUtils.drawRoundedRect((int)posX, (int)posY, width, height, 3, bgColor);

   
        int borderColor = ColorUtils.rgba(60, 60, 80, 150);
        GL11.glLineWidth(1.5f);
        GL11.glBegin(GL11.GL_LINE_LOOP);
        GL11.glColor4f(
                ((borderColor >> 16) & 0xFF) / 255.0f,
                ((borderColor >> 8) & 0xFF) / 255.0f,
                (borderColor & 0xFF) / 255.0f,
                ((borderColor >> 24) & 0xFF) / 255.0f
        );
        GL11.glVertex2d(posX, posY);
        GL11.glVertex2d(posX + width, posY);
        GL11.glVertex2d(posX + width, posY + height);
        GL11.glVertex2d(posX, posY + height);
        GL11.glEnd();

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

        double maxY = this.heightHistory.stream().mapToDouble(Double::doubleValue).max().orElse(100.0);
        double minY = this.heightHistory.stream().mapToDouble(Double::doubleValue).min().orElse(0.0);
        double range = maxY - minY;
        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(3.0F);
        GL11.glBegin(GL11.GL_LINE_STRIP);
        StyleManager styleManager = Netreex.getInstance().getStyleManager();
        int firstColor = styleManager.getCurrentStyle().getFirstColor().getRGB();
        GL11.glColor4f(
                ((firstColor >> 16) & 0xFF) / 255.0f,
                ((firstColor >> 8) & 0xFF) / 255.0f,
                (firstColor & 0xFF) / 255.0f,
                0.9f
        );

        for (int i = 0; i < this.heightHistory.size(); i++) {
            double x = posX + 2 + (i * (width - 4.0) / (this.heightHistory.size() - 1));
            double value = this.heightHistory.get(i);
            double normalized = (value - minY) / range;
            double yPos = posY + height - 5 - (normalized * (height - 10));
            GL11.glVertex2d(x, yPos);
        }
        GL11.glEnd();

   
        GL11.glBegin(GL11.GL_QUAD_STRIP);
        GL11.glColor4f(0.3f, 0.5f, 1.0f, 0.15f);
        for (int i = 0; i < this.heightHistory.size(); i++) {
            double x = posX + 2 + (i * (width - 4.0) / (this.heightHistory.size() - 1));
            double value = this.heightHistory.get(i);
            double normalized = (value - minY) / range;
            double yPos = posY + height - 5 - (normalized * (height - 10));
            GL11.glVertex2d(x, yPos);
            GL11.glVertex2d(x, posY + height - 5);
        }
        GL11.glEnd();

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

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

    public void update(EventUpdate e) {
        tick();
    }
}
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
было уже
 
Хуйня ничего не поменяно толком, автор не указан, /del
 
/del нихуя не поменял
 
Пожалуйста, авторизуйтесь для просмотра ссылки.

адекватный
MotionGraph, для past$$ов чилл + вайб

Код:
Expand Collapse Copy
package fun.netreex.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import fun.netreex.Netreex;
import fun.netreex.events.EventDisplay;
import fun.netreex.events.EventUpdate;
import fun.netreex.ui.display.ElementRenderer;
import fun.netreex.ui.styles.StyleManager;
import fun.netreex.utils.drag.Dragging;
import fun.netreex.utils.render.ColorUtils;
import fun.netreex.utils.render.DisplayUtils;
import fun.netreex.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> heightHistory = new ArrayList<>();
    private double lastY;

    public void tick() {
        this.lastY = mc.player.getPosY();
        this.heightHistory.add(this.lastY);

        if (this.heightHistory.size() > 150) {
            this.heightHistory.remove(0);
        }
    }

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

        renderHeightGraph(ms, posX, posY);
        Scissor.unset();
    }

    private void renderHeightGraph(MatrixStack ms, float posX, float posY) {
        int width = 120;
        int height = 50;
      
        int bgColor = ColorUtils.rgba(20, 20, 30, 180);
        DisplayUtils.drawRoundedRect((int)posX, (int)posY, width, height, 3, bgColor);

  
        int borderColor = ColorUtils.rgba(60, 60, 80, 150);
        GL11.glLineWidth(1.5f);
        GL11.glBegin(GL11.GL_LINE_LOOP);
        GL11.glColor4f(
                ((borderColor >> 16) & 0xFF) / 255.0f,
                ((borderColor >> 8) & 0xFF) / 255.0f,
                (borderColor & 0xFF) / 255.0f,
                ((borderColor >> 24) & 0xFF) / 255.0f
        );
        GL11.glVertex2d(posX, posY);
        GL11.glVertex2d(posX + width, posY);
        GL11.glVertex2d(posX + width, posY + height);
        GL11.glVertex2d(posX, posY + height);
        GL11.glEnd();

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

        double maxY = this.heightHistory.stream().mapToDouble(Double::doubleValue).max().orElse(100.0);
        double minY = this.heightHistory.stream().mapToDouble(Double::doubleValue).min().orElse(0.0);
        double range = maxY - minY;
        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(3.0F);
        GL11.glBegin(GL11.GL_LINE_STRIP);
        StyleManager styleManager = Netreex.getInstance().getStyleManager();
        int firstColor = styleManager.getCurrentStyle().getFirstColor().getRGB();
        GL11.glColor4f(
                ((firstColor >> 16) & 0xFF) / 255.0f,
                ((firstColor >> 8) & 0xFF) / 255.0f,
                (firstColor & 0xFF) / 255.0f,
                0.9f
        );

        for (int i = 0; i < this.heightHistory.size(); i++) {
            double x = posX + 2 + (i * (width - 4.0) / (this.heightHistory.size() - 1));
            double value = this.heightHistory.get(i);
            double normalized = (value - minY) / range;
            double yPos = posY + height - 5 - (normalized * (height - 10));
            GL11.glVertex2d(x, yPos);
        }
        GL11.glEnd();

  
        GL11.glBegin(GL11.GL_QUAD_STRIP);
        GL11.glColor4f(0.3f, 0.5f, 1.0f, 0.15f);
        for (int i = 0; i < this.heightHistory.size(); i++) {
            double x = posX + 2 + (i * (width - 4.0) / (this.heightHistory.size() - 1));
            double value = this.heightHistory.get(i);
            double normalized = (value - minY) / range;
            double yPos = posY + height - 5 - (normalized * (height - 10));
            GL11.glVertex2d(x, yPos);
            GL11.glVertex2d(x, posY + height - 5);
        }
        GL11.glEnd();

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

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

    public void update(EventUpdate e) {
        tick();
    }
}
И в чём прикол? И блять перестань загружать на imgbb уёбищный сайт.
 
paster
/del /del /del /del /del /del /del /del /del /del /del /del/del /del /del /del /del /del /del /del
нихуя не работает
1748353001006.png
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
да не пости свою хуйню пж
 
Пожалуйста, авторизуйтесь для просмотра ссылки.

адекватный
MotionGraph, для past$$ов чилл + вайб

Код:
Expand Collapse Copy
package fun.netreex.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import fun.netreex.Netreex;
import fun.netreex.events.EventDisplay;
import fun.netreex.events.EventUpdate;
import fun.netreex.ui.display.ElementRenderer;
import fun.netreex.ui.styles.StyleManager;
import fun.netreex.utils.drag.Dragging;
import fun.netreex.utils.render.ColorUtils;
import fun.netreex.utils.render.DisplayUtils;
import fun.netreex.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> heightHistory = new ArrayList<>();
    private double lastY;

    public void tick() {
        this.lastY = mc.player.getPosY();
        this.heightHistory.add(this.lastY);

        if (this.heightHistory.size() > 150) {
            this.heightHistory.remove(0);
        }
    }

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

        renderHeightGraph(ms, posX, posY);
        Scissor.unset();
    }

    private void renderHeightGraph(MatrixStack ms, float posX, float posY) {
        int width = 120;
        int height = 50;
      
        int bgColor = ColorUtils.rgba(20, 20, 30, 180);
        DisplayUtils.drawRoundedRect((int)posX, (int)posY, width, height, 3, bgColor);

  
        int borderColor = ColorUtils.rgba(60, 60, 80, 150);
        GL11.glLineWidth(1.5f);
        GL11.glBegin(GL11.GL_LINE_LOOP);
        GL11.glColor4f(
                ((borderColor >> 16) & 0xFF) / 255.0f,
                ((borderColor >> 8) & 0xFF) / 255.0f,
                (borderColor & 0xFF) / 255.0f,
                ((borderColor >> 24) & 0xFF) / 255.0f
        );
        GL11.glVertex2d(posX, posY);
        GL11.glVertex2d(posX + width, posY);
        GL11.glVertex2d(posX + width, posY + height);
        GL11.glVertex2d(posX, posY + height);
        GL11.glEnd();

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

        double maxY = this.heightHistory.stream().mapToDouble(Double::doubleValue).max().orElse(100.0);
        double minY = this.heightHistory.stream().mapToDouble(Double::doubleValue).min().orElse(0.0);
        double range = maxY - minY;
        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(3.0F);
        GL11.glBegin(GL11.GL_LINE_STRIP);
        StyleManager styleManager = Netreex.getInstance().getStyleManager();
        int firstColor = styleManager.getCurrentStyle().getFirstColor().getRGB();
        GL11.glColor4f(
                ((firstColor >> 16) & 0xFF) / 255.0f,
                ((firstColor >> 8) & 0xFF) / 255.0f,
                (firstColor & 0xFF) / 255.0f,
                0.9f
        );

        for (int i = 0; i < this.heightHistory.size(); i++) {
            double x = posX + 2 + (i * (width - 4.0) / (this.heightHistory.size() - 1));
            double value = this.heightHistory.get(i);
            double normalized = (value - minY) / range;
            double yPos = posY + height - 5 - (normalized * (height - 10));
            GL11.glVertex2d(x, yPos);
        }
        GL11.glEnd();

  
        GL11.glBegin(GL11.GL_QUAD_STRIP);
        GL11.glColor4f(0.3f, 0.5f, 1.0f, 0.15f);
        for (int i = 0; i < this.heightHistory.size(); i++) {
            double x = posX + 2 + (i * (width - 4.0) / (this.heightHistory.size() - 1));
            double value = this.heightHistory.get(i);
            double normalized = (value - minY) / range;
            double yPos = posY + height - 5 - (normalized * (height - 10));
            GL11.glVertex2d(x, yPos);
            GL11.glVertex2d(x, posY + height - 5);
        }
        GL11.glEnd();

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

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

    public void update(EventUpdate e) {
        tick();
    }
}
очень нужное
 
Назад
Сверху Снизу