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

  • Автор темы Автор темы Relly2
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
16 Янв 2025
Сообщения
693
Реакции
0

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

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

Спасибо!

Ну хз хз вроде не было такого
ss -
Вот вопрос еще слить топовый FThelper?
Код:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.client.IMinecraft;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.projections.ProjectionUtil;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import org.lwjgl.system.CallbackI;

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

import static net.minecraft.client.renderer.WorldRenderer.frustum;

@FunctionRegister(name = "World Particles", type = Category.Render)
public class Snow extends Function {
    private final ModeSetting setting = new ModeSetting("Вид", "Орбизы", "Орбизы", "Звездачки");
    private final SliderSetting speed = new SliderSetting("Скорость", 20.0f, 1.0f, 50.0f, 1.0f);
    private final SliderSetting count = new SliderSetting("Количество", 10.0f, 1.0f, 100.0f, 1.0f);
    private final ResourceLocation starTexture = new ResourceLocation("expensive/images/star.png");
    private final ResourceLocation dollar = new ResourceLocation("expensive/images/dollar.png");


    private final CopyOnWriteArrayList<Particle> particles = new CopyOnWriteArrayList<>();

    public Snow() {
        addSettings(setting, speed, count);
    }

    private boolean isInView(Vector3d pos) {
        frustum.setCameraPosition(IMinecraft.mc.getRenderManager().info.getProjectedView().x,
                IMinecraft.mc.getRenderManager().info.getProjectedView().y,
                IMinecraft.mc.getRenderManager().info.getProjectedView().z);
        return frustum.isBoundingBoxInFrustum(new AxisAlignedBB(pos.add(-0.2, -0.2, -0.2), pos.add(0.2, 0.2, 0.2)));
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (mc.player == null || mc.world == null || e.getType() != EventDisplay.Type.PRE) {
            return;
        }

        for (int i = 0; i < count.get(); i++) {
            particles.add(new Particle());
        }

        for (Particle p : particles) {
            if (System.currentTimeMillis() - p.time > 5000) {
                particles.remove(p);
            }
            if (mc.player.getPositionVec().distanceTo(p.pos) > 30) {
                particles.remove(p);
            }
            if (isInView(p.pos)) {
                if (!mc.player.canEntityBeSeen(p.pos)) {
                    particles.remove(p);
                }
                p.update();
                Vector2f pos = ProjectionUtil.project(p.pos.x, p.pos.y, p.pos.z);

                float size = 1 - ((System.currentTimeMillis() - p.time) / 5000f);

                switch (setting.get()) {
                    case "Орбизы" -> {
                        DisplayUtils.drawCircle(pos.x, pos.y, 5 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                    case "dollar" -> {
                        DisplayUtils.drawImage(starTexture, pos.x, pos.y, 18 * size, 18 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                    case "Звездачки" -> {
                        DisplayUtils.drawImage(starTexture, pos.x, pos.y, 18 * size, 18 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                }
            } else {
                particles.remove(p);
            }
        }
    }

    private class Particle {
        private Vector3d pos;
        private final Vector3d end;
        private final long time;
        private float alpha;

        public Particle() {
            pos = mc.player.getPositionVec().add(-ThreadLocalRandom.current().nextFloat(-20, 20),
                    ThreadLocalRandom.current().nextFloat(-5, 20),
                    -ThreadLocalRandom.current().nextFloat(-20, 20));
            end = pos.add(-ThreadLocalRandom.current().nextFloat(-3, 3),
                    -ThreadLocalRandom.current().nextFloat(-3, 3),
                    -ThreadLocalRandom.current().nextFloat(-3, 3));
            time = System.currentTimeMillis();
        }

        public void update() {
            alpha = MathUtil.fast(alpha, 1, 10);
            pos = MathUtil.fast(pos, end, speed.get() / 100f); // Используем скорость из настройки
        }
    }

    @Override
    public void onDisable() {
        particles.clear();
        super.onDisable();
    }
}
 
наконец-то одобрили
 
Ну хз хз вроде не было такого
ss -
Вот вопрос еще слить топовый FThelper?
Код:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.client.IMinecraft;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.projections.ProjectionUtil;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import org.lwjgl.system.CallbackI;

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

import static net.minecraft.client.renderer.WorldRenderer.frustum;

@FunctionRegister(name = "World Particles", type = Category.Render)
public class Snow extends Function {
    private final ModeSetting setting = new ModeSetting("Вид", "Орбизы", "Орбизы", "Звездачки");
    private final SliderSetting speed = new SliderSetting("Скорость", 20.0f, 1.0f, 50.0f, 1.0f);
    private final SliderSetting count = new SliderSetting("Количество", 10.0f, 1.0f, 100.0f, 1.0f);
    private final ResourceLocation starTexture = new ResourceLocation("expensive/images/star.png");
    private final ResourceLocation dollar = new ResourceLocation("expensive/images/dollar.png");


    private final CopyOnWriteArrayList<Particle> particles = new CopyOnWriteArrayList<>();

    public Snow() {
        addSettings(setting, speed, count);
    }

    private boolean isInView(Vector3d pos) {
        frustum.setCameraPosition(IMinecraft.mc.getRenderManager().info.getProjectedView().x,
                IMinecraft.mc.getRenderManager().info.getProjectedView().y,
                IMinecraft.mc.getRenderManager().info.getProjectedView().z);
        return frustum.isBoundingBoxInFrustum(new AxisAlignedBB(pos.add(-0.2, -0.2, -0.2), pos.add(0.2, 0.2, 0.2)));
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (mc.player == null || mc.world == null || e.getType() != EventDisplay.Type.PRE) {
            return;
        }

        for (int i = 0; i < count.get(); i++) {
            particles.add(new Particle());
        }

        for (Particle p : particles) {
            if (System.currentTimeMillis() - p.time > 5000) {
                particles.remove(p);
            }
            if (mc.player.getPositionVec().distanceTo(p.pos) > 30) {
                particles.remove(p);
            }
            if (isInView(p.pos)) {
                if (!mc.player.canEntityBeSeen(p.pos)) {
                    particles.remove(p);
                }
                p.update();
                Vector2f pos = ProjectionUtil.project(p.pos.x, p.pos.y, p.pos.z);

                float size = 1 - ((System.currentTimeMillis() - p.time) / 5000f);

                switch (setting.get()) {
                    case "Орбизы" -> {
                        DisplayUtils.drawCircle(pos.x, pos.y, 5 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                    case "dollar" -> {
                        DisplayUtils.drawImage(starTexture, pos.x, pos.y, 18 * size, 18 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                    case "Звездачки" -> {
                        DisplayUtils.drawImage(starTexture, pos.x, pos.y, 18 * size, 18 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                }
            } else {
                particles.remove(p);
            }
        }
    }

    private class Particle {
        private Vector3d pos;
        private final Vector3d end;
        private final long time;
        private float alpha;

        public Particle() {
            pos = mc.player.getPositionVec().add(-ThreadLocalRandom.current().nextFloat(-20, 20),
                    ThreadLocalRandom.current().nextFloat(-5, 20),
                    -ThreadLocalRandom.current().nextFloat(-20, 20));
            end = pos.add(-ThreadLocalRandom.current().nextFloat(-3, 3),
                    -ThreadLocalRandom.current().nextFloat(-3, 3),
                    -ThreadLocalRandom.current().nextFloat(-3, 3));
            time = System.currentTimeMillis();
        }

        public void update() {
            alpha = MathUtil.fast(alpha, 1, 10);
            pos = MathUtil.fast(pos, end, speed.get() / 100f); // Используем скорость из настройки
        }
    }

    @Override
    public void onDisable() {
        particles.clear();
        super.onDisable();
    }
}
просто взял функ из говно паста манлокса...
/del/del/del
 
Ну хз хз вроде не было такого
ss -
Вот вопрос еще слить топовый FThelper?
Код:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.client.IMinecraft;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.projections.ProjectionUtil;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import org.lwjgl.system.CallbackI;

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

import static net.minecraft.client.renderer.WorldRenderer.frustum;

@FunctionRegister(name = "World Particles", type = Category.Render)
public class Snow extends Function {
    private final ModeSetting setting = new ModeSetting("Вид", "Орбизы", "Орбизы", "Звездачки");
    private final SliderSetting speed = new SliderSetting("Скорость", 20.0f, 1.0f, 50.0f, 1.0f);
    private final SliderSetting count = new SliderSetting("Количество", 10.0f, 1.0f, 100.0f, 1.0f);
    private final ResourceLocation starTexture = new ResourceLocation("expensive/images/star.png");
    private final ResourceLocation dollar = new ResourceLocation("expensive/images/dollar.png");


    private final CopyOnWriteArrayList<Particle> particles = new CopyOnWriteArrayList<>();

    public Snow() {
        addSettings(setting, speed, count);
    }

    private boolean isInView(Vector3d pos) {
        frustum.setCameraPosition(IMinecraft.mc.getRenderManager().info.getProjectedView().x,
                IMinecraft.mc.getRenderManager().info.getProjectedView().y,
                IMinecraft.mc.getRenderManager().info.getProjectedView().z);
        return frustum.isBoundingBoxInFrustum(new AxisAlignedBB(pos.add(-0.2, -0.2, -0.2), pos.add(0.2, 0.2, 0.2)));
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (mc.player == null || mc.world == null || e.getType() != EventDisplay.Type.PRE) {
            return;
        }

        for (int i = 0; i < count.get(); i++) {
            particles.add(new Particle());
        }

        for (Particle p : particles) {
            if (System.currentTimeMillis() - p.time > 5000) {
                particles.remove(p);
            }
            if (mc.player.getPositionVec().distanceTo(p.pos) > 30) {
                particles.remove(p);
            }
            if (isInView(p.pos)) {
                if (!mc.player.canEntityBeSeen(p.pos)) {
                    particles.remove(p);
                }
                p.update();
                Vector2f pos = ProjectionUtil.project(p.pos.x, p.pos.y, p.pos.z);

                float size = 1 - ((System.currentTimeMillis() - p.time) / 5000f);

                switch (setting.get()) {
                    case "Орбизы" -> {
                        DisplayUtils.drawCircle(pos.x, pos.y, 5 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                    case "dollar" -> {
                        DisplayUtils.drawImage(starTexture, pos.x, pos.y, 18 * size, 18 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                    case "Звездачки" -> {
                        DisplayUtils.drawImage(starTexture, pos.x, pos.y, 18 * size, 18 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                }
            } else {
                particles.remove(p);
            }
        }
    }

    private class Particle {
        private Vector3d pos;
        private final Vector3d end;
        private final long time;
        private float alpha;

        public Particle() {
            pos = mc.player.getPositionVec().add(-ThreadLocalRandom.current().nextFloat(-20, 20),
                    ThreadLocalRandom.current().nextFloat(-5, 20),
                    -ThreadLocalRandom.current().nextFloat(-20, 20));
            end = pos.add(-ThreadLocalRandom.current().nextFloat(-3, 3),
                    -ThreadLocalRandom.current().nextFloat(-3, 3),
                    -ThreadLocalRandom.current().nextFloat(-3, 3));
            time = System.currentTimeMillis();
        }

        public void update() {
            alpha = MathUtil.fast(alpha, 1, 10);
            pos = MathUtil.fast(pos, end, speed.get() / 100f); // Используем скорость из настройки
        }
    }

    @Override
    public void onDisable() {
        particles.clear();
        super.onDisable();
    }
}
Так это же обычные партиклы как в еве, разве нет?
 
Ну хз хз вроде не было такого
ss -
Вот вопрос еще слить топовый FThelper?
Код:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.client.IMinecraft;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.projections.ProjectionUtil;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import org.lwjgl.system.CallbackI;

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

import static net.minecraft.client.renderer.WorldRenderer.frustum;

@FunctionRegister(name = "World Particles", type = Category.Render)
public class Snow extends Function {
    private final ModeSetting setting = new ModeSetting("Вид", "Орбизы", "Орбизы", "Звездачки");
    private final SliderSetting speed = new SliderSetting("Скорость", 20.0f, 1.0f, 50.0f, 1.0f);
    private final SliderSetting count = new SliderSetting("Количество", 10.0f, 1.0f, 100.0f, 1.0f);
    private final ResourceLocation starTexture = new ResourceLocation("expensive/images/star.png");
    private final ResourceLocation dollar = new ResourceLocation("expensive/images/dollar.png");


    private final CopyOnWriteArrayList<Particle> particles = new CopyOnWriteArrayList<>();

    public Snow() {
        addSettings(setting, speed, count);
    }

    private boolean isInView(Vector3d pos) {
        frustum.setCameraPosition(IMinecraft.mc.getRenderManager().info.getProjectedView().x,
                IMinecraft.mc.getRenderManager().info.getProjectedView().y,
                IMinecraft.mc.getRenderManager().info.getProjectedView().z);
        return frustum.isBoundingBoxInFrustum(new AxisAlignedBB(pos.add(-0.2, -0.2, -0.2), pos.add(0.2, 0.2, 0.2)));
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (mc.player == null || mc.world == null || e.getType() != EventDisplay.Type.PRE) {
            return;
        }

        for (int i = 0; i < count.get(); i++) {
            particles.add(new Particle());
        }

        for (Particle p : particles) {
            if (System.currentTimeMillis() - p.time > 5000) {
                particles.remove(p);
            }
            if (mc.player.getPositionVec().distanceTo(p.pos) > 30) {
                particles.remove(p);
            }
            if (isInView(p.pos)) {
                if (!mc.player.canEntityBeSeen(p.pos)) {
                    particles.remove(p);
                }
                p.update();
                Vector2f pos = ProjectionUtil.project(p.pos.x, p.pos.y, p.pos.z);

                float size = 1 - ((System.currentTimeMillis() - p.time) / 5000f);

                switch (setting.get()) {
                    case "Орбизы" -> {
                        DisplayUtils.drawCircle(pos.x, pos.y, 5 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                    case "dollar" -> {
                        DisplayUtils.drawImage(starTexture, pos.x, pos.y, 18 * size, 18 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                    case "Звездачки" -> {
                        DisplayUtils.drawImage(starTexture, pos.x, pos.y, 18 * size, 18 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                }
            } else {
                particles.remove(p);
            }
        }
    }

    private class Particle {
        private Vector3d pos;
        private final Vector3d end;
        private final long time;
        private float alpha;

        public Particle() {
            pos = mc.player.getPositionVec().add(-ThreadLocalRandom.current().nextFloat(-20, 20),
                    ThreadLocalRandom.current().nextFloat(-5, 20),
                    -ThreadLocalRandom.current().nextFloat(-20, 20));
            end = pos.add(-ThreadLocalRandom.current().nextFloat(-3, 3),
                    -ThreadLocalRandom.current().nextFloat(-3, 3),
                    -ThreadLocalRandom.current().nextFloat(-3, 3));
            time = System.currentTimeMillis();
        }

        public void update() {
            alpha = MathUtil.fast(alpha, 1, 10);
            pos = MathUtil.fast(pos, end, speed.get() / 100f); // Используем скорость из настройки
        }
    }

    @Override
    public void onDisable() {
        particles.clear();
        super.onDisable();
    }
}
/del нахуя? Оно и так есть в обычной експе , так сложно добавить несколько строчек кода ?
 
/del нахуя? Оно и так есть в обычной експе , так сложно добавить несколько строчек кода ?
это может пригодится людям которые не умеют даже 2 строчки написать
 
Ну хз хз вроде не было такого
ss -
Вот вопрос еще слить топовый FThelper?
Код:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.client.IMinecraft;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.projections.ProjectionUtil;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import org.lwjgl.system.CallbackI;

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

import static net.minecraft.client.renderer.WorldRenderer.frustum;

@FunctionRegister(name = "World Particles", type = Category.Render)
public class Snow extends Function {
    private final ModeSetting setting = new ModeSetting("Вид", "Орбизы", "Орбизы", "Звездачки");
    private final SliderSetting speed = new SliderSetting("Скорость", 20.0f, 1.0f, 50.0f, 1.0f);
    private final SliderSetting count = new SliderSetting("Количество", 10.0f, 1.0f, 100.0f, 1.0f);
    private final ResourceLocation starTexture = new ResourceLocation("expensive/images/star.png");
    private final ResourceLocation dollar = new ResourceLocation("expensive/images/dollar.png");


    private final CopyOnWriteArrayList<Particle> particles = new CopyOnWriteArrayList<>();

    public Snow() {
        addSettings(setting, speed, count);
    }

    private boolean isInView(Vector3d pos) {
        frustum.setCameraPosition(IMinecraft.mc.getRenderManager().info.getProjectedView().x,
                IMinecraft.mc.getRenderManager().info.getProjectedView().y,
                IMinecraft.mc.getRenderManager().info.getProjectedView().z);
        return frustum.isBoundingBoxInFrustum(new AxisAlignedBB(pos.add(-0.2, -0.2, -0.2), pos.add(0.2, 0.2, 0.2)));
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (mc.player == null || mc.world == null || e.getType() != EventDisplay.Type.PRE) {
            return;
        }

        for (int i = 0; i < count.get(); i++) {
            particles.add(new Particle());
        }

        for (Particle p : particles) {
            if (System.currentTimeMillis() - p.time > 5000) {
                particles.remove(p);
            }
            if (mc.player.getPositionVec().distanceTo(p.pos) > 30) {
                particles.remove(p);
            }
            if (isInView(p.pos)) {
                if (!mc.player.canEntityBeSeen(p.pos)) {
                    particles.remove(p);
                }
                p.update();
                Vector2f pos = ProjectionUtil.project(p.pos.x, p.pos.y, p.pos.z);

                float size = 1 - ((System.currentTimeMillis() - p.time) / 5000f);

                switch (setting.get()) {
                    case "Орбизы" -> {
                        DisplayUtils.drawCircle(pos.x, pos.y, 5 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                    case "dollar" -> {
                        DisplayUtils.drawImage(starTexture, pos.x, pos.y, 18 * size, 18 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                    case "Звездачки" -> {
                        DisplayUtils.drawImage(starTexture, pos.x, pos.y, 18 * size, 18 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                }
            } else {
                particles.remove(p);
            }
        }
    }

    private class Particle {
        private Vector3d pos;
        private final Vector3d end;
        private final long time;
        private float alpha;

        public Particle() {
            pos = mc.player.getPositionVec().add(-ThreadLocalRandom.current().nextFloat(-20, 20),
                    ThreadLocalRandom.current().nextFloat(-5, 20),
                    -ThreadLocalRandom.current().nextFloat(-20, 20));
            end = pos.add(-ThreadLocalRandom.current().nextFloat(-3, 3),
                    -ThreadLocalRandom.current().nextFloat(-3, 3),
                    -ThreadLocalRandom.current().nextFloat(-3, 3));
            time = System.currentTimeMillis();
        }

        public void update() {
            alpha = MathUtil.fast(alpha, 1, 10);
            pos = MathUtil.fast(pos, end, speed.get() / 100f); // Используем скорость из настройки
        }
    }

    @Override
    public void onDisable() {
        particles.clear();
        super.onDisable();
    }
}
корм в 2 строчки кода для детей пастеров
 
Ну хз хз вроде не было такого
ss -
Вот вопрос еще слить топовый FThelper?
Код:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.client.IMinecraft;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.projections.ProjectionUtil;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import org.lwjgl.system.CallbackI;

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

import static net.minecraft.client.renderer.WorldRenderer.frustum;

@FunctionRegister(name = "World Particles", type = Category.Render)
public class Snow extends Function {
    private final ModeSetting setting = new ModeSetting("Вид", "Орбизы", "Орбизы", "Звездачки");
    private final SliderSetting speed = new SliderSetting("Скорость", 20.0f, 1.0f, 50.0f, 1.0f);
    private final SliderSetting count = new SliderSetting("Количество", 10.0f, 1.0f, 100.0f, 1.0f);
    private final ResourceLocation starTexture = new ResourceLocation("expensive/images/star.png");
    private final ResourceLocation dollar = new ResourceLocation("expensive/images/dollar.png");


    private final CopyOnWriteArrayList<Particle> particles = new CopyOnWriteArrayList<>();

    public Snow() {
        addSettings(setting, speed, count);
    }

    private boolean isInView(Vector3d pos) {
        frustum.setCameraPosition(IMinecraft.mc.getRenderManager().info.getProjectedView().x,
                IMinecraft.mc.getRenderManager().info.getProjectedView().y,
                IMinecraft.mc.getRenderManager().info.getProjectedView().z);
        return frustum.isBoundingBoxInFrustum(new AxisAlignedBB(pos.add(-0.2, -0.2, -0.2), pos.add(0.2, 0.2, 0.2)));
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (mc.player == null || mc.world == null || e.getType() != EventDisplay.Type.PRE) {
            return;
        }

        for (int i = 0; i < count.get(); i++) {
            particles.add(new Particle());
        }

        for (Particle p : particles) {
            if (System.currentTimeMillis() - p.time > 5000) {
                particles.remove(p);
            }
            if (mc.player.getPositionVec().distanceTo(p.pos) > 30) {
                particles.remove(p);
            }
            if (isInView(p.pos)) {
                if (!mc.player.canEntityBeSeen(p.pos)) {
                    particles.remove(p);
                }
                p.update();
                Vector2f pos = ProjectionUtil.project(p.pos.x, p.pos.y, p.pos.z);

                float size = 1 - ((System.currentTimeMillis() - p.time) / 5000f);

                switch (setting.get()) {
                    case "Орбизы" -> {
                        DisplayUtils.drawCircle(pos.x, pos.y, 5 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                    case "dollar" -> {
                        DisplayUtils.drawImage(starTexture, pos.x, pos.y, 18 * size, 18 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                    case "Звездачки" -> {
                        DisplayUtils.drawImage(starTexture, pos.x, pos.y, 18 * size, 18 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                }
            } else {
                particles.remove(p);
            }
        }
    }

    private class Particle {
        private Vector3d pos;
        private final Vector3d end;
        private final long time;
        private float alpha;

        public Particle() {
            pos = mc.player.getPositionVec().add(-ThreadLocalRandom.current().nextFloat(-20, 20),
                    ThreadLocalRandom.current().nextFloat(-5, 20),
                    -ThreadLocalRandom.current().nextFloat(-20, 20));
            end = pos.add(-ThreadLocalRandom.current().nextFloat(-3, 3),
                    -ThreadLocalRandom.current().nextFloat(-3, 3),
                    -ThreadLocalRandom.current().nextFloat(-3, 3));
            time = System.currentTimeMillis();
        }

        public void update() {
            alpha = MathUtil.fast(alpha, 1, 10);
            pos = MathUtil.fast(pos, end, speed.get() / 100f); // Используем скорость из настройки
        }
    }

    @Override
    public void onDisable() {
        particles.clear();
        super.onDisable();
    }
}
вау партиклворлд, ахуеть ебать нихуя себе пиздец вау реально бах мозг
 
Ну хз хз вроде не было такого
ss -
Вот вопрос еще слить топовый FThelper?
Код:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.client.IMinecraft;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.projections.ProjectionUtil;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import org.lwjgl.system.CallbackI;

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

import static net.minecraft.client.renderer.WorldRenderer.frustum;

@FunctionRegister(name = "World Particles", type = Category.Render)
public class Snow extends Function {
    private final ModeSetting setting = new ModeSetting("Вид", "Орбизы", "Орбизы", "Звездачки");
    private final SliderSetting speed = new SliderSetting("Скорость", 20.0f, 1.0f, 50.0f, 1.0f);
    private final SliderSetting count = new SliderSetting("Количество", 10.0f, 1.0f, 100.0f, 1.0f);
    private final ResourceLocation starTexture = new ResourceLocation("expensive/images/star.png");
    private final ResourceLocation dollar = new ResourceLocation("expensive/images/dollar.png");


    private final CopyOnWriteArrayList<Particle> particles = new CopyOnWriteArrayList<>();

    public Snow() {
        addSettings(setting, speed, count);
    }

    private boolean isInView(Vector3d pos) {
        frustum.setCameraPosition(IMinecraft.mc.getRenderManager().info.getProjectedView().x,
                IMinecraft.mc.getRenderManager().info.getProjectedView().y,
                IMinecraft.mc.getRenderManager().info.getProjectedView().z);
        return frustum.isBoundingBoxInFrustum(new AxisAlignedBB(pos.add(-0.2, -0.2, -0.2), pos.add(0.2, 0.2, 0.2)));
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (mc.player == null || mc.world == null || e.getType() != EventDisplay.Type.PRE) {
            return;
        }

        for (int i = 0; i < count.get(); i++) {
            particles.add(new Particle());
        }

        for (Particle p : particles) {
            if (System.currentTimeMillis() - p.time > 5000) {
                particles.remove(p);
            }
            if (mc.player.getPositionVec().distanceTo(p.pos) > 30) {
                particles.remove(p);
            }
            if (isInView(p.pos)) {
                if (!mc.player.canEntityBeSeen(p.pos)) {
                    particles.remove(p);
                }
                p.update();
                Vector2f pos = ProjectionUtil.project(p.pos.x, p.pos.y, p.pos.z);

                float size = 1 - ((System.currentTimeMillis() - p.time) / 5000f);

                switch (setting.get()) {
                    case "Орбизы" -> {
                        DisplayUtils.drawCircle(pos.x, pos.y, 5 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                    case "dollar" -> {
                        DisplayUtils.drawImage(starTexture, pos.x, pos.y, 18 * size, 18 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                    case "Звездачки" -> {
                        DisplayUtils.drawImage(starTexture, pos.x, pos.y, 18 * size, 18 * size, ColorUtils.setAlpha(HUD.getColor(particles.indexOf(p), 1), (int) ((155 * p.alpha) * size)));
                    }
                }
            } else {
                particles.remove(p);
            }
        }
    }

    private class Particle {
        private Vector3d pos;
        private final Vector3d end;
        private final long time;
        private float alpha;

        public Particle() {
            pos = mc.player.getPositionVec().add(-ThreadLocalRandom.current().nextFloat(-20, 20),
                    ThreadLocalRandom.current().nextFloat(-5, 20),
                    -ThreadLocalRandom.current().nextFloat(-20, 20));
            end = pos.add(-ThreadLocalRandom.current().nextFloat(-3, 3),
                    -ThreadLocalRandom.current().nextFloat(-3, 3),
                    -ThreadLocalRandom.current().nextFloat(-3, 3));
            time = System.currentTimeMillis();
        }

        public void update() {
            alpha = MathUtil.fast(alpha, 1, 10);
            pos = MathUtil.fast(pos, end, speed.get() / 100f); // Используем скорость из настройки
        }
    }

    @Override
    public void onDisable() {
        particles.clear();
        super.onDisable();
    }
}
Капец гомно
 

Похожие темы

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