Исходник Trails 2 (expensive 2.0 ready)

Забаненный
Статус
Оффлайн
Регистрация
29 Дек 2023
Сообщения
138
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

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

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

Спасибо!

Я решил повторить что-то по типу вилда, но сделал по своему. Тут звезды появляются за игроком только во время движения. Ток не оскорбляйте я ж пытался))
Пожалуйста, авторизуйтесь для просмотра ссылки.

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



Java:
package dev.rarchik.modules.impl.render;

import net.minecraft.util.Direction;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import dev.rarchik.modules.Function;
import dev.rarchik.modules.FunctionAnnotation;
import dev.rarchik.modules.settings.imp.SliderSetting;
import dev.rarchik.util.IMinecraft;
import dev.rarchik.util.math.MathUtil;
import dev.rarchik.render.ProjectionUtils;
import dev.rarchik.render.RenderUtil;
import dev.rarchik.world.WorldUtil;
import org.joml.Vector2d;
import wtf.build.events.Event;
import dev.rarchik.events.impl.player.EventMotion;
import dev.rarchik.events.impl.render.EventRender;
import dev.rarchik.modules.Type;
import dev.rarchik.util.render.ColorUtil;
import dev.rarchik.util.render.animation.AnimationMath;

import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ThreadLocalRandom;

@FunctionAnnotation(name = "Trails 2", type = Type.Render)
public class Snow extends Function {

    private SliderSetting maxPoints = new SliderSetting("Сила", 200, 100, 200, 50);

    public Snow() {
        this.addSettings(maxPoints);
    }

    CopyOnWriteArrayList<Snow.Point> points = new CopyOnWriteArrayList<>();

    @Override
    public void onEvent(final Event event) {
        if (IMinecraft.mc.world == null || IMinecraft.mc.player == null) return;

        if (event instanceof EventMotion e) {
            Vector3d previousPos = new Vector3d(IMinecraft.mc.player.prevPosX, IMinecraft.mc.player.prevPosY, IMinecraft.mc.player.prevPosZ);
            Vector3d currentPos = new Vector3d(IMinecraft.mc.player.getPosX(), IMinecraft.mc.player.getPosY(), IMinecraft.mc.player.getPosZ());

            if (!previousPos.equals(currentPos)) {
                if (IMinecraft.mc.player.ticksExisted % 6 == 0) {
                    createPoints(currentPos);
                }
            }
        }
        if (event instanceof EventRender e) {
            if (points.size() > maxPoints.getValue().floatValue()) {
                points.remove(0);
            }
            for (Snow.Point point : points) {
                long alive = (System.currentTimeMillis() - point.createdTime);
                if (alive > point.aliveTime || !IMinecraft.mc.player.canVectorBeSeenFixed(point.position)) {
                    points.remove(point);
                    continue;
                }

                Vector2d pos = ProjectionUtils.project(point.position.x, point.position.y, point.position.z);

                if (pos != null) {

                    point.update();

                    RenderUtil.Render2D.drawImage(new ResourceLocation("tense/images/star.png"), (float) pos.x, (float) pos.y, 20, 20, ColorUtil.getColorStyle(points.indexOf(point)));
                }
            }
        }
    }
    private void createPoints(Vector3d position) {
        int numberOfStars = 40; // колва

        for (int i = 0; i < numberOfStars; i++) {
        
            Vector3d randomizedPosition = new Vector3d(
                    position.x + MathUtil.randomizeFloat(-0.5f, 0.5f),
                    position.y + MathUtil.randomizeFloat(0.0f, 2.0f), 
                    position.z + MathUtil.randomizeFloat(-0.5f, 0.5f)
            );
            points.add(new Point(randomizedPosition));
        }
    }

    public final class Point {
        public Vector3d position;
        public Vector3d motion;
        public Vector3d animatedMotion;

        public long aliveTime;
        public float size;

        public long createdTime = System.currentTimeMillis();

        public Point(Vector3d position) {
            this.position = new Vector3d(position.x, position.y, position.z);
            this.motion = new Vector3d(MathUtil.randomizeFloat(0.0f, 0.0f), 0, MathUtil.randomizeFloat(0.0f, 0.0f));
            this.animatedMotion = new Vector3d(0, 0, 0);
            size = MathUtil.randomizeFloat(3, 7);
            aliveTime = ThreadLocalRandom.current().nextLong(1000, 3000);
        }


        public void update() {
            if (isGround()) {
                points.remove(points);
            } else {
                motion.y = MathUtil.randomizeFloat(-0.01f, 0.01f);
                motion.y *= 1;
                motion.x *= 1.001;
                motion.z *= 1.001;
            }


            animatedMotion.x = AnimationMath.fast((float) animatedMotion.x, (float) (motion.x), 1);
            animatedMotion.y = AnimationMath.fast((float) animatedMotion.y, (float) (motion.y), 1);
            animatedMotion.z = AnimationMath.fast((float) animatedMotion.z, (float) (motion.z), 1);

            position = position.add(animatedMotion);
        }
        boolean isGround() {
            Vector3d position = this.position.add(animatedMotion);
            AxisAlignedBB bb = new AxisAlignedBB(position.x - 0.1, position.y - 0.3, position.z - 0.1, position.x + 0.1, position.y + 0.3, position.z + 0.1);
            return WorldUtil.TotemUtil.getSphere(new BlockPos(position), 1, 2, false, true, 0)
                    .stream()
                    .anyMatch(blockPos -> !IMinecraft.mc.world.getBlockState(blockPos).isAir() &&
                            bb.intersects(new AxisAlignedBB(blockPos)) &&
                            AxisAlignedBB.calcSideHit(new AxisAlignedBB(blockPos.add(0, 0, 0)), position, new double[]{
                                    2D
                            }, null, 0.1f, 0.1f, 0.1f) == Direction.UP);
        }
    }
}
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
17 Апр 2023
Сообщения
201
Реакции[?]
2
Поинты[?]
0
Я решил повторить что-то по типу вилда, но сделал по своему. Тут звезды появляются за игроком только во время движения. Ток не оскорбляйте я ж пытался))
Пожалуйста, авторизуйтесь для просмотра ссылки.

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



Java:
package dev.rarchik.modules.impl.render;

import net.minecraft.util.Direction;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import dev.rarchik.modules.Function;
import dev.rarchik.modules.FunctionAnnotation;
import dev.rarchik.modules.settings.imp.SliderSetting;
import dev.rarchik.util.IMinecraft;
import dev.rarchik.util.math.MathUtil;
import dev.rarchik.render.ProjectionUtils;
import dev.rarchik.render.RenderUtil;
import dev.rarchik.world.WorldUtil;
import org.joml.Vector2d;
import wtf.build.events.Event;
import dev.rarchik.events.impl.player.EventMotion;
import dev.rarchik.events.impl.render.EventRender;
import dev.rarchik.modules.Type;
import dev.rarchik.util.render.ColorUtil;
import dev.rarchik.util.render.animation.AnimationMath;

import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ThreadLocalRandom;

@FunctionAnnotation(name = "Trails 2", type = Type.Render)
public class Snow extends Function {

    private SliderSetting maxPoints = new SliderSetting("Сила", 200, 100, 200, 50);

    public Snow() {
        this.addSettings(maxPoints);
    }

    CopyOnWriteArrayList<Snow.Point> points = new CopyOnWriteArrayList<>();

    @Override
    public void onEvent(final Event event) {
        if (IMinecraft.mc.world == null || IMinecraft.mc.player == null) return;

        if (event instanceof EventMotion e) {
            Vector3d previousPos = new Vector3d(IMinecraft.mc.player.prevPosX, IMinecraft.mc.player.prevPosY, IMinecraft.mc.player.prevPosZ);
            Vector3d currentPos = new Vector3d(IMinecraft.mc.player.getPosX(), IMinecraft.mc.player.getPosY(), IMinecraft.mc.player.getPosZ());

            if (!previousPos.equals(currentPos)) {
                if (IMinecraft.mc.player.ticksExisted % 6 == 0) {
                    createPoints(currentPos);
                }
            }
        }
        if (event instanceof EventRender e) {
            if (points.size() > maxPoints.getValue().floatValue()) {
                points.remove(0);
            }
            for (Snow.Point point : points) {
                long alive = (System.currentTimeMillis() - point.createdTime);
                if (alive > point.aliveTime || !IMinecraft.mc.player.canVectorBeSeenFixed(point.position)) {
                    points.remove(point);
                    continue;
                }

                Vector2d pos = ProjectionUtils.project(point.position.x, point.position.y, point.position.z);

                if (pos != null) {

                    point.update();

                    RenderUtil.Render2D.drawImage(new ResourceLocation("tense/images/star.png"), (float) pos.x, (float) pos.y, 20, 20, ColorUtil.getColorStyle(points.indexOf(point)));
                }
            }
        }
    }
    private void createPoints(Vector3d position) {
        int numberOfStars = 40; // колва

        for (int i = 0; i < numberOfStars; i++) {
       
            Vector3d randomizedPosition = new Vector3d(
                    position.x + MathUtil.randomizeFloat(-0.5f, 0.5f),
                    position.y + MathUtil.randomizeFloat(0.0f, 2.0f),
                    position.z + MathUtil.randomizeFloat(-0.5f, 0.5f)
            );
            points.add(new Point(randomizedPosition));
        }
    }

    public final class Point {
        public Vector3d position;
        public Vector3d motion;
        public Vector3d animatedMotion;

        public long aliveTime;
        public float size;

        public long createdTime = System.currentTimeMillis();

        public Point(Vector3d position) {
            this.position = new Vector3d(position.x, position.y, position.z);
            this.motion = new Vector3d(MathUtil.randomizeFloat(0.0f, 0.0f), 0, MathUtil.randomizeFloat(0.0f, 0.0f));
            this.animatedMotion = new Vector3d(0, 0, 0);
            size = MathUtil.randomizeFloat(3, 7);
            aliveTime = ThreadLocalRandom.current().nextLong(1000, 3000);
        }


        public void update() {
            if (isGround()) {
                points.remove(points);
            } else {
                motion.y = MathUtil.randomizeFloat(-0.01f, 0.01f);
                motion.y *= 1;
                motion.x *= 1.001;
                motion.z *= 1.001;
            }


            animatedMotion.x = AnimationMath.fast((float) animatedMotion.x, (float) (motion.x), 1);
            animatedMotion.y = AnimationMath.fast((float) animatedMotion.y, (float) (motion.y), 1);
            animatedMotion.z = AnimationMath.fast((float) animatedMotion.z, (float) (motion.z), 1);

            position = position.add(animatedMotion);
        }
        boolean isGround() {
            Vector3d position = this.position.add(animatedMotion);
            AxisAlignedBB bb = new AxisAlignedBB(position.x - 0.1, position.y - 0.3, position.z - 0.1, position.x + 0.1, position.y + 0.3, position.z + 0.1);
            return WorldUtil.TotemUtil.getSphere(new BlockPos(position), 1, 2, false, true, 0)
                    .stream()
                    .anyMatch(blockPos -> !IMinecraft.mc.world.getBlockState(blockPos).isAir() &&
                            bb.intersects(new AxisAlignedBB(blockPos)) &&
                            AxisAlignedBB.calcSideHit(new AxisAlignedBB(blockPos.add(0, 0, 0)), position, new double[]{
                                    2D
                            }, null, 0.1f, 0.1f, 0.1f) == Direction.UP);
        }
    }
}
уже все кому надо было спастили с экскеллента
 
Начинающий
Статус
Оффлайн
Регистрация
24 Авг 2022
Сообщения
165
Реакции[?]
0
Поинты[?]
0
Пиздец значит мне тему удалили с ними а ему одобрили
 
Начинающий
Статус
Оффлайн
Регистрация
20 Дек 2023
Сообщения
126
Реакции[?]
0
Поинты[?]
0
Я решил повторить что-то по типу вилда, но сделал по своему. Тут звезды появляются за игроком только во время движения. Ток не оскорбляйте я ж пытался))
Пожалуйста, авторизуйтесь для просмотра ссылки.

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



Java:
package dev.rarchik.modules.impl.render;

import net.minecraft.util.Direction;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import dev.rarchik.modules.Function;
import dev.rarchik.modules.FunctionAnnotation;
import dev.rarchik.modules.settings.imp.SliderSetting;
import dev.rarchik.util.IMinecraft;
import dev.rarchik.util.math.MathUtil;
import dev.rarchik.render.ProjectionUtils;
import dev.rarchik.render.RenderUtil;
import dev.rarchik.world.WorldUtil;
import org.joml.Vector2d;
import wtf.build.events.Event;
import dev.rarchik.events.impl.player.EventMotion;
import dev.rarchik.events.impl.render.EventRender;
import dev.rarchik.modules.Type;
import dev.rarchik.util.render.ColorUtil;
import dev.rarchik.util.render.animation.AnimationMath;

import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ThreadLocalRandom;

@FunctionAnnotation(name = "Trails 2", type = Type.Render)
public class Snow extends Function {

    private SliderSetting maxPoints = new SliderSetting("Сила", 200, 100, 200, 50);

    public Snow() {
        this.addSettings(maxPoints);
    }

    CopyOnWriteArrayList<Snow.Point> points = new CopyOnWriteArrayList<>();

    @Override
    public void onEvent(final Event event) {
        if (IMinecraft.mc.world == null || IMinecraft.mc.player == null) return;

        if (event instanceof EventMotion e) {
            Vector3d previousPos = new Vector3d(IMinecraft.mc.player.prevPosX, IMinecraft.mc.player.prevPosY, IMinecraft.mc.player.prevPosZ);
            Vector3d currentPos = new Vector3d(IMinecraft.mc.player.getPosX(), IMinecraft.mc.player.getPosY(), IMinecraft.mc.player.getPosZ());

            if (!previousPos.equals(currentPos)) {
                if (IMinecraft.mc.player.ticksExisted % 6 == 0) {
                    createPoints(currentPos);
                }
            }
        }
        if (event instanceof EventRender e) {
            if (points.size() > maxPoints.getValue().floatValue()) {
                points.remove(0);
            }
            for (Snow.Point point : points) {
                long alive = (System.currentTimeMillis() - point.createdTime);
                if (alive > point.aliveTime || !IMinecraft.mc.player.canVectorBeSeenFixed(point.position)) {
                    points.remove(point);
                    continue;
                }

                Vector2d pos = ProjectionUtils.project(point.position.x, point.position.y, point.position.z);

                if (pos != null) {

                    point.update();

                    RenderUtil.Render2D.drawImage(new ResourceLocation("tense/images/star.png"), (float) pos.x, (float) pos.y, 20, 20, ColorUtil.getColorStyle(points.indexOf(point)));
                }
            }
        }
    }
    private void createPoints(Vector3d position) {
        int numberOfStars = 40; // колва

        for (int i = 0; i < numberOfStars; i++) {
       
            Vector3d randomizedPosition = new Vector3d(
                    position.x + MathUtil.randomizeFloat(-0.5f, 0.5f),
                    position.y + MathUtil.randomizeFloat(0.0f, 2.0f),
                    position.z + MathUtil.randomizeFloat(-0.5f, 0.5f)
            );
            points.add(new Point(randomizedPosition));
        }
    }

    public final class Point {
        public Vector3d position;
        public Vector3d motion;
        public Vector3d animatedMotion;

        public long aliveTime;
        public float size;

        public long createdTime = System.currentTimeMillis();

        public Point(Vector3d position) {
            this.position = new Vector3d(position.x, position.y, position.z);
            this.motion = new Vector3d(MathUtil.randomizeFloat(0.0f, 0.0f), 0, MathUtil.randomizeFloat(0.0f, 0.0f));
            this.animatedMotion = new Vector3d(0, 0, 0);
            size = MathUtil.randomizeFloat(3, 7);
            aliveTime = ThreadLocalRandom.current().nextLong(1000, 3000);
        }


        public void update() {
            if (isGround()) {
                points.remove(points);
            } else {
                motion.y = MathUtil.randomizeFloat(-0.01f, 0.01f);
                motion.y *= 1;
                motion.x *= 1.001;
                motion.z *= 1.001;
            }


            animatedMotion.x = AnimationMath.fast((float) animatedMotion.x, (float) (motion.x), 1);
            animatedMotion.y = AnimationMath.fast((float) animatedMotion.y, (float) (motion.y), 1);
            animatedMotion.z = AnimationMath.fast((float) animatedMotion.z, (float) (motion.z), 1);

            position = position.add(animatedMotion);
        }
        boolean isGround() {
            Vector3d position = this.position.add(animatedMotion);
            AxisAlignedBB bb = new AxisAlignedBB(position.x - 0.1, position.y - 0.3, position.z - 0.1, position.x + 0.1, position.y + 0.3, position.z + 0.1);
            return WorldUtil.TotemUtil.getSphere(new BlockPos(position), 1, 2, false, true, 0)
                    .stream()
                    .anyMatch(blockPos -> !IMinecraft.mc.world.getBlockState(blockPos).isAir() &&
                            bb.intersects(new AxisAlignedBB(blockPos)) &&
                            AxisAlignedBB.calcSideHit(new AxisAlignedBB(blockPos.add(0, 0, 0)), position, new double[]{
                                    2D
                            }, null, 0.1f, 0.1f, 0.1f) == Direction.UP);
        }
    }
}
Имбища
 
Забаненный
Статус
Оффлайн
Регистрация
29 Дек 2023
Сообщения
138
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
10 Июн 2022
Сообщения
51
Реакции[?]
1
Поинты[?]
1K
Я решил повторить что-то по типу вилда, но сделал по своему. Тут звезды появляются за игроком только во время движения. Ток не оскорбляйте я ж пытался))
Пожалуйста, авторизуйтесь для просмотра ссылки.

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



Java:
package dev.rarchik.modules.impl.render;

import net.minecraft.util.Direction;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import dev.rarchik.modules.Function;
import dev.rarchik.modules.FunctionAnnotation;
import dev.rarchik.modules.settings.imp.SliderSetting;
import dev.rarchik.util.IMinecraft;
import dev.rarchik.util.math.MathUtil;
import dev.rarchik.render.ProjectionUtils;
import dev.rarchik.render.RenderUtil;
import dev.rarchik.world.WorldUtil;
import org.joml.Vector2d;
import wtf.build.events.Event;
import dev.rarchik.events.impl.player.EventMotion;
import dev.rarchik.events.impl.render.EventRender;
import dev.rarchik.modules.Type;
import dev.rarchik.util.render.ColorUtil;
import dev.rarchik.util.render.animation.AnimationMath;

import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ThreadLocalRandom;

@FunctionAnnotation(name = "Trails 2", type = Type.Render)
public class Snow extends Function {

    private SliderSetting maxPoints = new SliderSetting("Сила", 200, 100, 200, 50);

    public Snow() {
        this.addSettings(maxPoints);
    }

    CopyOnWriteArrayList<Snow.Point> points = new CopyOnWriteArrayList<>();

    @Override
    public void onEvent(final Event event) {
        if (IMinecraft.mc.world == null || IMinecraft.mc.player == null) return;

        if (event instanceof EventMotion e) {
            Vector3d previousPos = new Vector3d(IMinecraft.mc.player.prevPosX, IMinecraft.mc.player.prevPosY, IMinecraft.mc.player.prevPosZ);
            Vector3d currentPos = new Vector3d(IMinecraft.mc.player.getPosX(), IMinecraft.mc.player.getPosY(), IMinecraft.mc.player.getPosZ());

            if (!previousPos.equals(currentPos)) {
                if (IMinecraft.mc.player.ticksExisted % 6 == 0) {
                    createPoints(currentPos);
                }
            }
        }
        if (event instanceof EventRender e) {
            if (points.size() > maxPoints.getValue().floatValue()) {
                points.remove(0);
            }
            for (Snow.Point point : points) {
                long alive = (System.currentTimeMillis() - point.createdTime);
                if (alive > point.aliveTime || !IMinecraft.mc.player.canVectorBeSeenFixed(point.position)) {
                    points.remove(point);
                    continue;
                }

                Vector2d pos = ProjectionUtils.project(point.position.x, point.position.y, point.position.z);

                if (pos != null) {

                    point.update();

                    RenderUtil.Render2D.drawImage(new ResourceLocation("tense/images/star.png"), (float) pos.x, (float) pos.y, 20, 20, ColorUtil.getColorStyle(points.indexOf(point)));
                }
            }
        }
    }
    private void createPoints(Vector3d position) {
        int numberOfStars = 40; // колва

        for (int i = 0; i < numberOfStars; i++) {
       
            Vector3d randomizedPosition = new Vector3d(
                    position.x + MathUtil.randomizeFloat(-0.5f, 0.5f),
                    position.y + MathUtil.randomizeFloat(0.0f, 2.0f),
                    position.z + MathUtil.randomizeFloat(-0.5f, 0.5f)
            );
            points.add(new Point(randomizedPosition));
        }
    }

    public final class Point {
        public Vector3d position;
        public Vector3d motion;
        public Vector3d animatedMotion;

        public long aliveTime;
        public float size;

        public long createdTime = System.currentTimeMillis();

        public Point(Vector3d position) {
            this.position = new Vector3d(position.x, position.y, position.z);
            this.motion = new Vector3d(MathUtil.randomizeFloat(0.0f, 0.0f), 0, MathUtil.randomizeFloat(0.0f, 0.0f));
            this.animatedMotion = new Vector3d(0, 0, 0);
            size = MathUtil.randomizeFloat(3, 7);
            aliveTime = ThreadLocalRandom.current().nextLong(1000, 3000);
        }


        public void update() {
            if (isGround()) {
                points.remove(points);
            } else {
                motion.y = MathUtil.randomizeFloat(-0.01f, 0.01f);
                motion.y *= 1;
                motion.x *= 1.001;
                motion.z *= 1.001;
            }


            animatedMotion.x = AnimationMath.fast((float) animatedMotion.x, (float) (motion.x), 1);
            animatedMotion.y = AnimationMath.fast((float) animatedMotion.y, (float) (motion.y), 1);
            animatedMotion.z = AnimationMath.fast((float) animatedMotion.z, (float) (motion.z), 1);

            position = position.add(animatedMotion);
        }
        boolean isGround() {
            Vector3d position = this.position.add(animatedMotion);
            AxisAlignedBB bb = new AxisAlignedBB(position.x - 0.1, position.y - 0.3, position.z - 0.1, position.x + 0.1, position.y + 0.3, position.z + 0.1);
            return WorldUtil.TotemUtil.getSphere(new BlockPos(position), 1, 2, false, true, 0)
                    .stream()
                    .anyMatch(blockPos -> !IMinecraft.mc.world.getBlockState(blockPos).isAir() &&
                            bb.intersects(new AxisAlignedBB(blockPos)) &&
                            AxisAlignedBB.calcSideHit(new AxisAlignedBB(blockPos.add(0, 0, 0)), position, new double[]{
                                    2D
                            }, null, 0.1f, 0.1f, 0.1f) == Direction.UP);
        }
    }
}
дай randomizeFloat в MathUtil
 
Забаненный
Статус
Оффлайн
Регистрация
29 Дек 2023
Сообщения
138
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
соси
ты выкладываешь свое никому ненужное дерьмо на форум, и ты внатуре думаешь чтоэто кто-то всунет кроме тебя СВОю "мега-пасту"
дай randomizeFloat в MathUtil
Java:
public static float randomizeFloat(float min, float max) {
        return (float) (min + Math.random() * (max - min));
    }
 
Забаненный
Статус
Оффлайн
Регистрация
5 Мар 2024
Сообщения
43
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
8 Ноя 2023
Сообщения
163
Реакции[?]
5
Поинты[?]
14K
Я решил повторить что-то по типу вилда, но сделал по своему. Тут звезды появляются за игроком только во время движения. Ток не оскорбляйте я ж пытался))
Пожалуйста, авторизуйтесь для просмотра ссылки.

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



Java:
package dev.rarchik.modules.impl.render;

import net.minecraft.util.Direction;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import dev.rarchik.modules.Function;
import dev.rarchik.modules.FunctionAnnotation;
import dev.rarchik.modules.settings.imp.SliderSetting;
import dev.rarchik.util.IMinecraft;
import dev.rarchik.util.math.MathUtil;
import dev.rarchik.render.ProjectionUtils;
import dev.rarchik.render.RenderUtil;
import dev.rarchik.world.WorldUtil;
import org.joml.Vector2d;
import wtf.build.events.Event;
import dev.rarchik.events.impl.player.EventMotion;
import dev.rarchik.events.impl.render.EventRender;
import dev.rarchik.modules.Type;
import dev.rarchik.util.render.ColorUtil;
import dev.rarchik.util.render.animation.AnimationMath;

import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ThreadLocalRandom;

@FunctionAnnotation(name = "Trails 2", type = Type.Render)
public class Snow extends Function {

    private SliderSetting maxPoints = new SliderSetting("Сила", 200, 100, 200, 50);

    public Snow() {
        this.addSettings(maxPoints);
    }

    CopyOnWriteArrayList<Snow.Point> points = new CopyOnWriteArrayList<>();

    @Override
    public void onEvent(final Event event) {
        if (IMinecraft.mc.world == null || IMinecraft.mc.player == null) return;

        if (event instanceof EventMotion e) {
            Vector3d previousPos = new Vector3d(IMinecraft.mc.player.prevPosX, IMinecraft.mc.player.prevPosY, IMinecraft.mc.player.prevPosZ);
            Vector3d currentPos = new Vector3d(IMinecraft.mc.player.getPosX(), IMinecraft.mc.player.getPosY(), IMinecraft.mc.player.getPosZ());

            if (!previousPos.equals(currentPos)) {
                if (IMinecraft.mc.player.ticksExisted % 6 == 0) {
                    createPoints(currentPos);
                }
            }
        }
        if (event instanceof EventRender e) {
            if (points.size() > maxPoints.getValue().floatValue()) {
                points.remove(0);
            }
            for (Snow.Point point : points) {
                long alive = (System.currentTimeMillis() - point.createdTime);
                if (alive > point.aliveTime || !IMinecraft.mc.player.canVectorBeSeenFixed(point.position)) {
                    points.remove(point);
                    continue;
                }

                Vector2d pos = ProjectionUtils.project(point.position.x, point.position.y, point.position.z);

                if (pos != null) {

                    point.update();

                    RenderUtil.Render2D.drawImage(new ResourceLocation("tense/images/star.png"), (float) pos.x, (float) pos.y, 20, 20, ColorUtil.getColorStyle(points.indexOf(point)));
                }
            }
        }
    }
    private void createPoints(Vector3d position) {
        int numberOfStars = 40; // колва

        for (int i = 0; i < numberOfStars; i++) {
       
            Vector3d randomizedPosition = new Vector3d(
                    position.x + MathUtil.randomizeFloat(-0.5f, 0.5f),
                    position.y + MathUtil.randomizeFloat(0.0f, 2.0f),
                    position.z + MathUtil.randomizeFloat(-0.5f, 0.5f)
            );
            points.add(new Point(randomizedPosition));
        }
    }

    public final class Point {
        public Vector3d position;
        public Vector3d motion;
        public Vector3d animatedMotion;

        public long aliveTime;
        public float size;

        public long createdTime = System.currentTimeMillis();

        public Point(Vector3d position) {
            this.position = new Vector3d(position.x, position.y, position.z);
            this.motion = new Vector3d(MathUtil.randomizeFloat(0.0f, 0.0f), 0, MathUtil.randomizeFloat(0.0f, 0.0f));
            this.animatedMotion = new Vector3d(0, 0, 0);
            size = MathUtil.randomizeFloat(3, 7);
            aliveTime = ThreadLocalRandom.current().nextLong(1000, 3000);
        }


        public void update() {
            if (isGround()) {
                points.remove(points);
            } else {
                motion.y = MathUtil.randomizeFloat(-0.01f, 0.01f);
                motion.y *= 1;
                motion.x *= 1.001;
                motion.z *= 1.001;
            }


            animatedMotion.x = AnimationMath.fast((float) animatedMotion.x, (float) (motion.x), 1);
            animatedMotion.y = AnimationMath.fast((float) animatedMotion.y, (float) (motion.y), 1);
            animatedMotion.z = AnimationMath.fast((float) animatedMotion.z, (float) (motion.z), 1);

            position = position.add(animatedMotion);
        }
        boolean isGround() {
            Vector3d position = this.position.add(animatedMotion);
            AxisAlignedBB bb = new AxisAlignedBB(position.x - 0.1, position.y - 0.3, position.z - 0.1, position.x + 0.1, position.y + 0.3, position.z + 0.1);
            return WorldUtil.TotemUtil.getSphere(new BlockPos(position), 1, 2, false, true, 0)
                    .stream()
                    .anyMatch(blockPos -> !IMinecraft.mc.world.getBlockState(blockPos).isAir() &&
                            bb.intersects(new AxisAlignedBB(blockPos)) &&
                            AxisAlignedBB.calcSideHit(new AxisAlignedBB(blockPos.add(0, 0, 0)), position, new double[]{
                                    2D
                            }, null, 0.1f, 0.1f, 0.1f) == Direction.UP);
        }
    }
}
не ссыте на меня я ж пытался
 
Забаненный
Статус
Оффлайн
Регистрация
5 Мар 2024
Сообщения
43
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
29 Дек 2023
Сообщения
138
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
21 Июл 2023
Сообщения
450
Реакции[?]
9
Поинты[?]
11K
:forsenGun: люди очнитесь, ради чего вам этот отвратный мусор?
ты посмотри на кейбинды это просто ужас ебаный как с этим играть вообще можно
хз я бы блеванул на ебло автору
 
Забаненный
Статус
Оффлайн
Регистрация
5 Мар 2024
Сообщения
43
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу