Исходник Escarlate Trails | Expensive 3.1

Делать Худ?


  • Всего проголосовало
    137
Начинающий
Статус
Оффлайн
Регистрация
13 Апр 2024
Сообщения
16
Реакции[?]
0
Поинты[?]
0

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

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

Спасибо!

С нн софта сделал трeйлсы надеюсь вам понравился
Они пропадают после 5-10 секунд
Пастерам пойдет
Пожалуйста, авторизуйтесь для просмотра ссылки.


Trails.java:
package im.expensive.functions.impl.render;

import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.systems.RenderSystem;

import im.expensive.events.WorldEvent;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import lombok.Getter;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;

@FunctionRegister(name = "Trails", type = Category.Render)
public class Trails extends Function {

    public Trails() {
        // Конструктор для инициализации функции
    }

    // Карта для хранения точек пути каждого игрока
    private final Map<PlayerEntity, List<Point>> playerTrails = new ConcurrentHashMap<>();
    private final int maxPoints = 1000; // Максимальное количество точек

    @Subscribe
    public void onRender(WorldEvent event) {
        // Перебираем всех игроков в мире
        for (PlayerEntity entity : mc.world.getPlayers()) {
            // Инициализируем список точек для нового игрока
            playerTrails.putIfAbsent(entity, new CopyOnWriteArrayList<>());

            // Если количество точек превышает максимальное значение, удаляем старые точки
            if (playerTrails.get(entity).size() > maxPoints) {
                playerTrails.get(entity).remove(0);
            }

            // Пропускаем отрисовку для первого лица текущего игрока
            if (entity == mc.player && mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
                continue;
            }

            // Интерполируем текущую позицию игрока
            Vector3d playerPos = new Vector3d(
                    interpolate(entity.getPosX(), entity.lastTickPosX, event.getPartialTicks()),
                    interpolate(entity.getPosY(), entity.lastTickPosY, event.getPartialTicks()),
                    interpolate(entity.getPosZ(), entity.lastTickPosZ, event.getPartialTicks())
            );

            // Добавляем новую точку в список
            playerTrails.get(entity).add(new Point(playerPos));
        }

        // Настройки OpenGL для отрисовки линии
        RenderSystem.pushMatrix();
        Vector3d projection = mc.getRenderManager().info.getProjectedView();
        RenderSystem.translated(-projection.x, -projection.y, -projection.z);
        RenderSystem.enableBlend();
        RenderSystem.disableCull();
        RenderSystem.disableTexture();
        RenderSystem.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        RenderSystem.shadeModel(GL11.GL_SMOOTH);
        RenderSystem.lineWidth(2);

        GL11.glEnable(GL11.GL_LINE_SMOOTH);
        GL11.glHint(GL11.GL_LINE_SMOOTH_HINT, GL11.GL_NICEST);

        // Отрисовка линий для всех игроков
        for (PlayerEntity entity : mc.world.getPlayers()) {
            List<Point> points = playerTrails.get(entity);

            if (!points.isEmpty()) {
                // Получаем время жизни последней точки
                long lastPointTime = points.get(points.size() - 1).time.elapsedTime();

                // Рассчитываем прозрачность линии
                float alpha = 1.0f - Math.min(1.0f, lastPointTime / 5000.0f); // Прозрачность уменьшается со временем

                // Начинаем рисование линии
                GL11.glBegin(GL11.GL_LINE_STRIP);
                GL11.glColor4f(1.0F, 1.0F, 1.0F, alpha); // Белый цвет линии с учетом прозрачности

                // Прокладываем точки линии
                for (Point point : points) {
                    GL11.glVertex3d(point.getPosition().x, point.getPosition().y, point.getPosition().z);
                }
                GL11.glEnd();
            }
        }

        // Завершаем настройки OpenGL
        GL11.glHint(GL11.GL_LINE_SMOOTH_HINT, GL11.GL_DONT_CARE);
        GL11.glDisable(GL11.GL_LINE_SMOOTH);

        RenderSystem.enableTexture();
        RenderSystem.disableBlend();
        RenderSystem.enableCull();
        RenderSystem.shadeModel(GL11.GL_FLAT);
        RenderSystem.popMatrix();
    }

    // Метод для интерполяции позиций
    private double interpolate(double now, double then, float partialTicks) {
        return then + (now - then) * partialTicks;
    }

    // Класс для хранения точек пути игрока
    [USER=270918]@Getter[/USER]
    public static class Point {
        private final Vector3d position;
        private final StopWatch time = new StopWatch();

        public Point(Vector3d position) {
            this.position = position;
        }
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
31 Авг 2023
Сообщения
18
Реакции[?]
0
Поинты[?]
0
С нн софта сделал трeйлсы надеюсь вам понравился
Они пропадают после 5-10 секунд
Пастерам пойдет
Пожалуйста, авторизуйтесь для просмотра ссылки.


Trails.java:
package im.expensive.functions.impl.render;

import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.systems.RenderSystem;

import im.expensive.events.WorldEvent;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import lombok.Getter;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;

@FunctionRegister(name = "Trails", type = Category.Render)
public class Trails extends Function {

    public Trails() {
        // Конструктор для инициализации функции
    }

    // Карта для хранения точек пути каждого игрока
    private final Map<PlayerEntity, List<Point>> playerTrails = new ConcurrentHashMap<>();
    private final int maxPoints = 1000; // Максимальное количество точек

    @Subscribe
    public void onRender(WorldEvent event) {
        // Перебираем всех игроков в мире
        for (PlayerEntity entity : mc.world.getPlayers()) {
            // Инициализируем список точек для нового игрока
            playerTrails.putIfAbsent(entity, new CopyOnWriteArrayList<>());

            // Если количество точек превышает максимальное значение, удаляем старые точки
            if (playerTrails.get(entity).size() > maxPoints) {
                playerTrails.get(entity).remove(0);
            }

            // Пропускаем отрисовку для первого лица текущего игрока
            if (entity == mc.player && mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
                continue;
            }

            // Интерполируем текущую позицию игрока
            Vector3d playerPos = new Vector3d(
                    interpolate(entity.getPosX(), entity.lastTickPosX, event.getPartialTicks()),
                    interpolate(entity.getPosY(), entity.lastTickPosY, event.getPartialTicks()),
                    interpolate(entity.getPosZ(), entity.lastTickPosZ, event.getPartialTicks())
            );

            // Добавляем новую точку в список
            playerTrails.get(entity).add(new Point(playerPos));
        }

        // Настройки OpenGL для отрисовки линии
        RenderSystem.pushMatrix();
        Vector3d projection = mc.getRenderManager().info.getProjectedView();
        RenderSystem.translated(-projection.x, -projection.y, -projection.z);
        RenderSystem.enableBlend();
        RenderSystem.disableCull();
        RenderSystem.disableTexture();
        RenderSystem.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        RenderSystem.shadeModel(GL11.GL_SMOOTH);
        RenderSystem.lineWidth(2);

        GL11.glEnable(GL11.GL_LINE_SMOOTH);
        GL11.glHint(GL11.GL_LINE_SMOOTH_HINT, GL11.GL_NICEST);

        // Отрисовка линий для всех игроков
        for (PlayerEntity entity : mc.world.getPlayers()) {
            List<Point> points = playerTrails.get(entity);

            if (!points.isEmpty()) {
                // Получаем время жизни последней точки
                long lastPointTime = points.get(points.size() - 1).time.elapsedTime();

                // Рассчитываем прозрачность линии
                float alpha = 1.0f - Math.min(1.0f, lastPointTime / 5000.0f); // Прозрачность уменьшается со временем

                // Начинаем рисование линии
                GL11.glBegin(GL11.GL_LINE_STRIP);
                GL11.glColor4f(1.0F, 1.0F, 1.0F, alpha); // Белый цвет линии с учетом прозрачности

                // Прокладываем точки линии
                for (Point point : points) {
                    GL11.glVertex3d(point.getPosition().x, point.getPosition().y, point.getPosition().z);
                }
                GL11.glEnd();
            }
        }

        // Завершаем настройки OpenGL
        GL11.glHint(GL11.GL_LINE_SMOOTH_HINT, GL11.GL_DONT_CARE);
        GL11.glDisable(GL11.GL_LINE_SMOOTH);

        RenderSystem.enableTexture();
        RenderSystem.disableBlend();
        RenderSystem.enableCull();
        RenderSystem.shadeModel(GL11.GL_FLAT);
        RenderSystem.popMatrix();
    }

    // Метод для интерполяции позиций
    private double interpolate(double now, double then, float partialTicks) {
        return then + (now - then) * partialTicks;
    }

    // Класс для хранения точек пути игрока
    [USER=270918]@Getter[/USER]
    public static class Point {
        private final Vector3d position;
        private final StopWatch time = new StopWatch();

        public Point(Vector3d position) {
            this.position = position;
        }
    }
}
+rep Реально годный код, продолжай делать подобные =)
 
Начинающий
Статус
Оффлайн
Регистрация
30 Июн 2023
Сообщения
99
Реакции[?]
1
Поинты[?]
3K
С нн софта сделал трeйлсы надеюсь вам понравился
Они пропадают после 5-10 секунд
Пастерам пойдет
Пожалуйста, авторизуйтесь для просмотра ссылки.


Trails.java:
package im.expensive.functions.impl.render;

import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.systems.RenderSystem;

import im.expensive.events.WorldEvent;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import lombok.Getter;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;

@FunctionRegister(name = "Trails", type = Category.Render)
public class Trails extends Function {

    public Trails() {
        // Конструктор для инициализации функции
    }

    // Карта для хранения точек пути каждого игрока
    private final Map<PlayerEntity, List<Point>> playerTrails = new ConcurrentHashMap<>();
    private final int maxPoints = 1000; // Максимальное количество точек

    @Subscribe
    public void onRender(WorldEvent event) {
        // Перебираем всех игроков в мире
        for (PlayerEntity entity : mc.world.getPlayers()) {
            // Инициализируем список точек для нового игрока
            playerTrails.putIfAbsent(entity, new CopyOnWriteArrayList<>());

            // Если количество точек превышает максимальное значение, удаляем старые точки
            if (playerTrails.get(entity).size() > maxPoints) {
                playerTrails.get(entity).remove(0);
            }

            // Пропускаем отрисовку для первого лица текущего игрока
            if (entity == mc.player && mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
                continue;
            }

            // Интерполируем текущую позицию игрока
            Vector3d playerPos = new Vector3d(
                    interpolate(entity.getPosX(), entity.lastTickPosX, event.getPartialTicks()),
                    interpolate(entity.getPosY(), entity.lastTickPosY, event.getPartialTicks()),
                    interpolate(entity.getPosZ(), entity.lastTickPosZ, event.getPartialTicks())
            );

            // Добавляем новую точку в список
            playerTrails.get(entity).add(new Point(playerPos));
        }

        // Настройки OpenGL для отрисовки линии
        RenderSystem.pushMatrix();
        Vector3d projection = mc.getRenderManager().info.getProjectedView();
        RenderSystem.translated(-projection.x, -projection.y, -projection.z);
        RenderSystem.enableBlend();
        RenderSystem.disableCull();
        RenderSystem.disableTexture();
        RenderSystem.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        RenderSystem.shadeModel(GL11.GL_SMOOTH);
        RenderSystem.lineWidth(2);

        GL11.glEnable(GL11.GL_LINE_SMOOTH);
        GL11.glHint(GL11.GL_LINE_SMOOTH_HINT, GL11.GL_NICEST);

        // Отрисовка линий для всех игроков
        for (PlayerEntity entity : mc.world.getPlayers()) {
            List<Point> points = playerTrails.get(entity);

            if (!points.isEmpty()) {
                // Получаем время жизни последней точки
                long lastPointTime = points.get(points.size() - 1).time.elapsedTime();

                // Рассчитываем прозрачность линии
                float alpha = 1.0f - Math.min(1.0f, lastPointTime / 5000.0f); // Прозрачность уменьшается со временем

                // Начинаем рисование линии
                GL11.glBegin(GL11.GL_LINE_STRIP);
                GL11.glColor4f(1.0F, 1.0F, 1.0F, alpha); // Белый цвет линии с учетом прозрачности

                // Прокладываем точки линии
                for (Point point : points) {
                    GL11.glVertex3d(point.getPosition().x, point.getPosition().y, point.getPosition().z);
                }
                GL11.glEnd();
            }
        }

        // Завершаем настройки OpenGL
        GL11.glHint(GL11.GL_LINE_SMOOTH_HINT, GL11.GL_DONT_CARE);
        GL11.glDisable(GL11.GL_LINE_SMOOTH);

        RenderSystem.enableTexture();
        RenderSystem.disableBlend();
        RenderSystem.enableCull();
        RenderSystem.shadeModel(GL11.GL_FLAT);
        RenderSystem.popMatrix();
    }

    // Метод для интерполяции позиций
    private double interpolate(double now, double then, float partialTicks) {
        return then + (now - then) * partialTicks;
    }

    // Класс для хранения точек пути игрока
    [USER=270918]@Getter[/USER]
    public static class Point {
        private final Vector3d position;
        private final StopWatch time = new StopWatch();

        public Point(Vector3d position) {
            this.position = position;
        }
    }
}
Для первого раза норм
 
Начинающий
Статус
Оффлайн
Регистрация
13 Апр 2024
Сообщения
16
Реакции[?]
0
Поинты[?]
0
Какой гпт ты че
Для первого раза норм
Спасибо
+rep Реально годный код, продолжай делать подобные =)
=)
солью сегодня нормальные
Жду
Сам попробуй сделать
 
Начинающий
Статус
Оффлайн
Регистрация
23 Сен 2023
Сообщения
5
Реакции[?]
0
Поинты[?]
0
С нн софта сделал трeйлсы надеюсь вам понравился
Они пропадают после 5-10 секунд
Пастерам пойдет
Пожалуйста, авторизуйтесь для просмотра ссылки.


Trails.java:
package im.expensive.functions.impl.render;

import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.systems.RenderSystem;

import im.expensive.events.WorldEvent;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import lombok.Getter;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;

@FunctionRegister(name = "Trails", type = Category.Render)
public class Trails extends Function {

    public Trails() {
        // Конструктор для инициализации функции
    }

    // Карта для хранения точек пути каждого игрока
    private final Map<PlayerEntity, List<Point>> playerTrails = new ConcurrentHashMap<>();
    private final int maxPoints = 1000; // Максимальное количество точек

    @Subscribe
    public void onRender(WorldEvent event) {
        // Перебираем всех игроков в мире
        for (PlayerEntity entity : mc.world.getPlayers()) {
            // Инициализируем список точек для нового игрока
            playerTrails.putIfAbsent(entity, new CopyOnWriteArrayList<>());

            // Если количество точек превышает максимальное значение, удаляем старые точки
            if (playerTrails.get(entity).size() > maxPoints) {
                playerTrails.get(entity).remove(0);
            }

            // Пропускаем отрисовку для первого лица текущего игрока
            if (entity == mc.player && mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
                continue;
            }

            // Интерполируем текущую позицию игрока
            Vector3d playerPos = new Vector3d(
                    interpolate(entity.getPosX(), entity.lastTickPosX, event.getPartialTicks()),
                    interpolate(entity.getPosY(), entity.lastTickPosY, event.getPartialTicks()),
                    interpolate(entity.getPosZ(), entity.lastTickPosZ, event.getPartialTicks())
            );

            // Добавляем новую точку в список
            playerTrails.get(entity).add(new Point(playerPos));
        }

        // Настройки OpenGL для отрисовки линии
        RenderSystem.pushMatrix();
        Vector3d projection = mc.getRenderManager().info.getProjectedView();
        RenderSystem.translated(-projection.x, -projection.y, -projection.z);
        RenderSystem.enableBlend();
        RenderSystem.disableCull();
        RenderSystem.disableTexture();
        RenderSystem.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        RenderSystem.shadeModel(GL11.GL_SMOOTH);
        RenderSystem.lineWidth(2);

        GL11.glEnable(GL11.GL_LINE_SMOOTH);
        GL11.glHint(GL11.GL_LINE_SMOOTH_HINT, GL11.GL_NICEST);

        // Отрисовка линий для всех игроков
        for (PlayerEntity entity : mc.world.getPlayers()) {
            List<Point> points = playerTrails.get(entity);

            if (!points.isEmpty()) {
                // Получаем время жизни последней точки
                long lastPointTime = points.get(points.size() - 1).time.elapsedTime();

                // Рассчитываем прозрачность линии
                float alpha = 1.0f - Math.min(1.0f, lastPointTime / 5000.0f); // Прозрачность уменьшается со временем

                // Начинаем рисование линии
                GL11.glBegin(GL11.GL_LINE_STRIP);
                GL11.glColor4f(1.0F, 1.0F, 1.0F, alpha); // Белый цвет линии с учетом прозрачности

                // Прокладываем точки линии
                for (Point point : points) {
                    GL11.glVertex3d(point.getPosition().x, point.getPosition().y, point.getPosition().z);
                }
                GL11.glEnd();
            }
        }

        // Завершаем настройки OpenGL
        GL11.glHint(GL11.GL_LINE_SMOOTH_HINT, GL11.GL_DONT_CARE);
        GL11.glDisable(GL11.GL_LINE_SMOOTH);

        RenderSystem.enableTexture();
        RenderSystem.disableBlend();
        RenderSystem.enableCull();
        RenderSystem.shadeModel(GL11.GL_FLAT);
        RenderSystem.popMatrix();
    }

    // Метод для интерполяции позиций
    private double interpolate(double now, double then, float partialTicks) {
        return then + (now - then) * partialTicks;
    }

    // Класс для хранения точек пути игрока
    [USER=270918]@Getter[/USER]
    public static class Point {
        private final Vector3d position;
        private final StopWatch time = new StopWatch();

        public Point(Vector3d position) {
            this.position = position;
        }
    }
}
этот броу скиднул мои трейлсы и еще так криво ( И ЭТО НЕ ТРЕЙЛСЫ ЭСКАРЛЕЙТА ЭТО ГЛИСТ
 
Начинающий
Статус
Оффлайн
Регистрация
14 Июн 2023
Сообщения
80
Реакции[?]
0
Поинты[?]
0
С нн софта сделал трeйлсы надеюсь вам понравился
Они пропадают после 5-10 секунд
Пастерам пойдет
Пожалуйста, авторизуйтесь для просмотра ссылки.


Trails.java:
package im.expensive.functions.impl.render;

import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.systems.RenderSystem;

import im.expensive.events.WorldEvent;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import lombok.Getter;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;

@FunctionRegister(name = "Trails", type = Category.Render)
public class Trails extends Function {

    public Trails() {
        // Конструктор для инициализации функции
    }

    // Карта для хранения точек пути каждого игрока
    private final Map<PlayerEntity, List<Point>> playerTrails = new ConcurrentHashMap<>();
    private final int maxPoints = 1000; // Максимальное количество точек

    @Subscribe
    public void onRender(WorldEvent event) {
        // Перебираем всех игроков в мире
        for (PlayerEntity entity : mc.world.getPlayers()) {
            // Инициализируем список точек для нового игрока
            playerTrails.putIfAbsent(entity, new CopyOnWriteArrayList<>());

            // Если количество точек превышает максимальное значение, удаляем старые точки
            if (playerTrails.get(entity).size() > maxPoints) {
                playerTrails.get(entity).remove(0);
            }

            // Пропускаем отрисовку для первого лица текущего игрока
            if (entity == mc.player && mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
                continue;
            }

            // Интерполируем текущую позицию игрока
            Vector3d playerPos = new Vector3d(
                    interpolate(entity.getPosX(), entity.lastTickPosX, event.getPartialTicks()),
                    interpolate(entity.getPosY(), entity.lastTickPosY, event.getPartialTicks()),
                    interpolate(entity.getPosZ(), entity.lastTickPosZ, event.getPartialTicks())
            );

            // Добавляем новую точку в список
            playerTrails.get(entity).add(new Point(playerPos));
        }

        // Настройки OpenGL для отрисовки линии
        RenderSystem.pushMatrix();
        Vector3d projection = mc.getRenderManager().info.getProjectedView();
        RenderSystem.translated(-projection.x, -projection.y, -projection.z);
        RenderSystem.enableBlend();
        RenderSystem.disableCull();
        RenderSystem.disableTexture();
        RenderSystem.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        RenderSystem.shadeModel(GL11.GL_SMOOTH);
        RenderSystem.lineWidth(2);

        GL11.glEnable(GL11.GL_LINE_SMOOTH);
        GL11.glHint(GL11.GL_LINE_SMOOTH_HINT, GL11.GL_NICEST);

        // Отрисовка линий для всех игроков
        for (PlayerEntity entity : mc.world.getPlayers()) {
            List<Point> points = playerTrails.get(entity);

            if (!points.isEmpty()) {
                // Получаем время жизни последней точки
                long lastPointTime = points.get(points.size() - 1).time.elapsedTime();

                // Рассчитываем прозрачность линии
                float alpha = 1.0f - Math.min(1.0f, lastPointTime / 5000.0f); // Прозрачность уменьшается со временем

                // Начинаем рисование линии
                GL11.glBegin(GL11.GL_LINE_STRIP);
                GL11.glColor4f(1.0F, 1.0F, 1.0F, alpha); // Белый цвет линии с учетом прозрачности

                // Прокладываем точки линии
                for (Point point : points) {
                    GL11.glVertex3d(point.getPosition().x, point.getPosition().y, point.getPosition().z);
                }
                GL11.glEnd();
            }
        }

        // Завершаем настройки OpenGL
        GL11.glHint(GL11.GL_LINE_SMOOTH_HINT, GL11.GL_DONT_CARE);
        GL11.glDisable(GL11.GL_LINE_SMOOTH);

        RenderSystem.enableTexture();
        RenderSystem.disableBlend();
        RenderSystem.enableCull();
        RenderSystem.shadeModel(GL11.GL_FLAT);
        RenderSystem.popMatrix();
    }

    // Метод для интерполяции позиций
    private double interpolate(double now, double then, float partialTicks) {
        return then + (now - then) * partialTicks;
    }

    // Класс для хранения точек пути игрока
    [USER=270918]@Getter[/USER]
    public static class Point {
        private final Vector3d position;
        private final StopWatch time = new StopWatch();

        public Point(Vector3d position) {
            this.position = position;
        }
    }
}
изменить код нормальных треилов с експы - ✖
попросить чатгпт сделать какой то белый глист - ✓
 
Начинающий
Статус
Оффлайн
Регистрация
19 Фев 2024
Сообщения
261
Реакции[?]
1
Поинты[?]
1K
Какой гпт ты че

Спасибо

=)

Жду

Сам попробуй сделать
// Перебираем всех игроков в мире

// Инициализируем список точек для нового игрока


// Если количество точек превышает максимальное значение, удаляем старые точки


// Пропускаем отрисовку для первого лица текущего игрока


// Интерполируем текущую позицию игрока


// Добавляем новую точку в список
 
Забаненный
Статус
Оффлайн
Регистрация
27 Май 2024
Сообщения
261
Реакции[?]
10
Поинты[?]
10K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
этот броу скиднул мои трейлсы и еще так криво ( И ЭТО НЕ ТРЕЙЛСЫ ЭСКАРЛЕЙТА ЭТО ГЛИСТ
прям твои? Никто в жизни не делал похожего до тебя, еще в 2020 году же их ни у кого не было.
 
Сверху Снизу