Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Часть функционала Strafe zenith no recode | strafe 1.21.4

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
8 Авг 2024
Сообщения
509
Реакции
2
Выберите загрузчик игры
  1. Fabric
  2. Прочие моды
всем ку, обитатели югейма!
и вот, я снова в строю, и снова сливаю вам свойговнокод
сегодня я солью стрейфы на зенит
код:

strafe.java:
Expand Collapse Copy
package wtf.tokyoware.implement.features.modules.movement;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.option.KeyBinding;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.util.math.Vec3d;
import wtf.tokyoware.api.event.EventHandler;
import wtf.tokyoware.api.feature.module.Module;
import wtf.tokyoware.api.feature.module.ModuleCategory;
import wtf.tokyoware.api.feature.module.setting.implement.BooleanSetting;
import wtf.tokyoware.api.feature.module.setting.implement.SelectSetting;
import wtf.tokyoware.api.feature.module.setting.implement.ValueSetting;
import wtf.tokyoware.implement.events.player.MoveEvent;
import wtf.tokyoware.common.util.other.StopWatch;
import wtf.tokyoware.common.util.other.Instance;

@Getter
@FieldDefaults(level = AccessLevel.PRIVATE)
public class Strafe extends Module {

    public static Strafe get() {
        return Instance.get(Strafe.class);
    }

    // настройки ( перенес почти фулл стрейфы с exc recode ( моя старая тема ), переписал
    final SelectSetting mode = new SelectSetting("Mode", "Что байпасим?")
            .value("Default", "Matrix", "MetaHVH");

    final BooleanSetting dmgBoost = new BooleanSetting("Damage Boost", "Буст при уроне (ХВХ)")
            .setValue(false);

    final ValueSetting koefBoosta = new ValueSetting("Boost Speed", "Скорость буста при уроне")
            .setValue(0.7f).range(0.1f, 5.0f).step(0.1f)
            .visible(dmgBoost::isValue);

    final StopWatch timer = new StopWatch();
    double prevSpeed = 0.0;

    public Strafe() {
        super("Strafe", "Strafe", ModuleCategory.MOVEMENT);
        setup(mode, dmgBoost, koefBoosta);
    }
// сами стрефы собственно говоря
    @EventHandler
    public void onMove(MoveEvent e) {
        if (mc.player == null) return;

        String m = mode.getSelected();
        if (!isMove()) {
            prevSpeed = 0;
            return;
        }

        double spd = ckopoctb();
        if (dmgBoost.isValue() && timer.finished(700L)) {
            spd += koefBoosta.getValue();
            timer.reset();
        }

        if (m.equals("Matrix")) {
            matrix(e);
            return;
        }

        if (m.equals("MetaHVH")) {
            spd *= 1.2;
        }

        move(e, spd);
        prevSpeed = spd;
    }
    // по идее небольшой обход под матрикс ( допустим скорость 5 бпс , а так будет +- 0.001 )
    private void matrix(MoveEvent e) {
        double spd = 0.25 - Math.random() * 0.001;
        move(e, spd);
        prevSpeed = spd;
    }
    // gpt solutions, вродь ворк
    private double ckopoctb() {
        double spd = 0.2873;
        StatusEffectInstance eff = mc.player.getStatusEffect(StatusEffects.SPEED);
        if (eff != null) spd *= 1.0 + 0.2 * (eff.getAmplifier() + 1);
        return spd;
    }
    // движение по z, x лево-право
    private void move(MoveEvent e, double spd) {
        float yaw = mc.player.getYaw(1.0f);
        float fwd = getFwd();
        float str = getStr();
        if (fwd == 0 && str == 0) return;
        double radik = Math.toRadians(yaw);
        double x = (str * Math.cos(radik) - fwd * Math.sin(radik)) * spd;
        double z = (str * Math.sin(radik) + fwd * Math.cos(radik)) * spd;

        e.setMovement(new Vec3d(x, e.getMovement().y, z));
    }
    //проверка на движение для предовтращения ошибок
    private boolean isMove() {
        return mc.options.forwardKey.isPressed() || mc.options.backKey.isPressed() || mc.options.leftKey.isPressed() || mc.options.rightKey.isPressed();
    }
    // движение вперед - назад ( гетаем клавишу, если w преобразуем в 1, s в -1 )
    private float getFwd() {
        KeyBinding w = mc.options.forwardKey;
        KeyBinding s = mc.options.backKey;
        return (w.isPressed() ? 1 : 0) - (s.isPressed() ? 1 : 0);
    }
    // так же само только лево - право, при этом все гетаем в +1 чтобы при нажатии налево не шло вправо или наоборот
    private float getStr() {
        KeyBinding a = mc.options.leftKey;
        KeyBinding d = mc.options.rightKey;
        return (a.isPressed() ? 1 : 0) - (d.isPressed() ? 1 : 0);
    }
}
//p.s код писался в 5 утра, и getStr getFwd move можно было обьеденить, но мне ща лень

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


пацаны только после публикации заметил, что забыл сделать проверку на сникинг
кому надо доделают) :pepe14:
 
всем ку, обитатели югейма!
и вот, я снова в строю, и снова сливаю вам свойговнокод
сегодня я солью стрейфы на зенит
код:

strafe.java:
Expand Collapse Copy
package wtf.tokyoware.implement.features.modules.movement;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.option.KeyBinding;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.util.math.Vec3d;
import wtf.tokyoware.api.event.EventHandler;
import wtf.tokyoware.api.feature.module.Module;
import wtf.tokyoware.api.feature.module.ModuleCategory;
import wtf.tokyoware.api.feature.module.setting.implement.BooleanSetting;
import wtf.tokyoware.api.feature.module.setting.implement.SelectSetting;
import wtf.tokyoware.api.feature.module.setting.implement.ValueSetting;
import wtf.tokyoware.implement.events.player.MoveEvent;
import wtf.tokyoware.common.util.other.StopWatch;
import wtf.tokyoware.common.util.other.Instance;

@Getter
@FieldDefaults(level = AccessLevel.PRIVATE)
public class Strafe extends Module {

    public static Strafe get() {
        return Instance.get(Strafe.class);
    }

    // настройки ( перенес почти фулл стрейфы с exc recode ( моя старая тема ), переписал
    final SelectSetting mode = new SelectSetting("Mode", "Что байпасим?")
            .value("Default", "Matrix", "MetaHVH");

    final BooleanSetting dmgBoost = new BooleanSetting("Damage Boost", "Буст при уроне (ХВХ)")
            .setValue(false);

    final ValueSetting koefBoosta = new ValueSetting("Boost Speed", "Скорость буста при уроне")
            .setValue(0.7f).range(0.1f, 5.0f).step(0.1f)
            .visible(dmgBoost::isValue);

    final StopWatch timer = new StopWatch();
    double prevSpeed = 0.0;

    public Strafe() {
        super("Strafe", "Strafe", ModuleCategory.MOVEMENT);
        setup(mode, dmgBoost, koefBoosta);
    }
// сами стрефы собственно говоря
    @EventHandler
    public void onMove(MoveEvent e) {
        if (mc.player == null) return;

        String m = mode.getSelected();
        if (!isMove()) {
            prevSpeed = 0;
            return;
        }

        double spd = ckopoctb();
        if (dmgBoost.isValue() && timer.finished(700L)) {
            spd += koefBoosta.getValue();
            timer.reset();
        }

        if (m.equals("Matrix")) {
            matrix(e);
            return;
        }

        if (m.equals("MetaHVH")) {
            spd *= 1.2;
        }

        move(e, spd);
        prevSpeed = spd;
    }
    // по идее небольшой обход под матрикс ( допустим скорость 5 бпс , а так будет +- 0.001 )
    private void matrix(MoveEvent e) {
        double spd = 0.25 - Math.random() * 0.001;
        move(e, spd);
        prevSpeed = spd;
    }
    // gpt solutions, вродь ворк
    private double ckopoctb() {
        double spd = 0.2873;
        StatusEffectInstance eff = mc.player.getStatusEffect(StatusEffects.SPEED);
        if (eff != null) spd *= 1.0 + 0.2 * (eff.getAmplifier() + 1);
        return spd;
    }
    // движение по z, x лево-право
    private void move(MoveEvent e, double spd) {
        float yaw = mc.player.getYaw(1.0f);
        float fwd = getFwd();
        float str = getStr();
        if (fwd == 0 && str == 0) return;
        double radik = Math.toRadians(yaw);
        double x = (str * Math.cos(radik) - fwd * Math.sin(radik)) * spd;
        double z = (str * Math.sin(radik) + fwd * Math.cos(radik)) * spd;

        e.setMovement(new Vec3d(x, e.getMovement().y, z));
    }
    //проверка на движение для предовтращения ошибок
    private boolean isMove() {
        return mc.options.forwardKey.isPressed() || mc.options.backKey.isPressed() || mc.options.leftKey.isPressed() || mc.options.rightKey.isPressed();
    }
    // движение вперед - назад ( гетаем клавишу, если w преобразуем в 1, s в -1 )
    private float getFwd() {
        KeyBinding w = mc.options.forwardKey;
        KeyBinding s = mc.options.backKey;
        return (w.isPressed() ? 1 : 0) - (s.isPressed() ? 1 : 0);
    }
    // так же само только лево - право, при этом все гетаем в +1 чтобы при нажатии налево не шло вправо или наоборот
    private float getStr() {
        KeyBinding a = mc.options.leftKey;
        KeyBinding d = mc.options.rightKey;
        return (a.isPressed() ? 1 : 0) - (d.isPressed() ? 1 : 0);
    }
}
//p.s код писался в 5 утра, и getStr getFwd move можно было обьеденить, но мне ща лень

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


пацаны только после публикации заметил, что забыл сделать проверку на сникинг
кому надо доделают) :pepe14:
хуета, необходит ничего
 
всем ку, обитатели югейма!
и вот, я снова в строю, и снова сливаю вам свойговнокод
сегодня я солью стрейфы на зенит
код:

strafe.java:
Expand Collapse Copy
package wtf.tokyoware.implement.features.modules.movement;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.option.KeyBinding;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.util.math.Vec3d;
import wtf.tokyoware.api.event.EventHandler;
import wtf.tokyoware.api.feature.module.Module;
import wtf.tokyoware.api.feature.module.ModuleCategory;
import wtf.tokyoware.api.feature.module.setting.implement.BooleanSetting;
import wtf.tokyoware.api.feature.module.setting.implement.SelectSetting;
import wtf.tokyoware.api.feature.module.setting.implement.ValueSetting;
import wtf.tokyoware.implement.events.player.MoveEvent;
import wtf.tokyoware.common.util.other.StopWatch;
import wtf.tokyoware.common.util.other.Instance;

@Getter
@FieldDefaults(level = AccessLevel.PRIVATE)
public class Strafe extends Module {

    public static Strafe get() {
        return Instance.get(Strafe.class);
    }

    // настройки ( перенес почти фулл стрейфы с exc recode ( моя старая тема ), переписал
    final SelectSetting mode = new SelectSetting("Mode", "Что байпасим?")
            .value("Default", "Matrix", "MetaHVH");

    final BooleanSetting dmgBoost = new BooleanSetting("Damage Boost", "Буст при уроне (ХВХ)")
            .setValue(false);

    final ValueSetting koefBoosta = new ValueSetting("Boost Speed", "Скорость буста при уроне")
            .setValue(0.7f).range(0.1f, 5.0f).step(0.1f)
            .visible(dmgBoost::isValue);

    final StopWatch timer = new StopWatch();
    double prevSpeed = 0.0;

    public Strafe() {
        super("Strafe", "Strafe", ModuleCategory.MOVEMENT);
        setup(mode, dmgBoost, koefBoosta);
    }
// сами стрефы собственно говоря
    @EventHandler
    public void onMove(MoveEvent e) {
        if (mc.player == null) return;

        String m = mode.getSelected();
        if (!isMove()) {
            prevSpeed = 0;
            return;
        }

        double spd = ckopoctb();
        if (dmgBoost.isValue() && timer.finished(700L)) {
            spd += koefBoosta.getValue();
            timer.reset();
        }

        if (m.equals("Matrix")) {
            matrix(e);
            return;
        }

        if (m.equals("MetaHVH")) {
            spd *= 1.2;
        }

        move(e, spd);
        prevSpeed = spd;
    }
    // по идее небольшой обход под матрикс ( допустим скорость 5 бпс , а так будет +- 0.001 )
    private void matrix(MoveEvent e) {
        double spd = 0.25 - Math.random() * 0.001;
        move(e, spd);
        prevSpeed = spd;
    }
    // gpt solutions, вродь ворк
    private double ckopoctb() {
        double spd = 0.2873;
        StatusEffectInstance eff = mc.player.getStatusEffect(StatusEffects.SPEED);
        if (eff != null) spd *= 1.0 + 0.2 * (eff.getAmplifier() + 1);
        return spd;
    }
    // движение по z, x лево-право
    private void move(MoveEvent e, double spd) {
        float yaw = mc.player.getYaw(1.0f);
        float fwd = getFwd();
        float str = getStr();
        if (fwd == 0 && str == 0) return;
        double radik = Math.toRadians(yaw);
        double x = (str * Math.cos(radik) - fwd * Math.sin(radik)) * spd;
        double z = (str * Math.sin(radik) + fwd * Math.cos(radik)) * spd;

        e.setMovement(new Vec3d(x, e.getMovement().y, z));
    }
    //проверка на движение для предовтращения ошибок
    private boolean isMove() {
        return mc.options.forwardKey.isPressed() || mc.options.backKey.isPressed() || mc.options.leftKey.isPressed() || mc.options.rightKey.isPressed();
    }
    // движение вперед - назад ( гетаем клавишу, если w преобразуем в 1, s в -1 )
    private float getFwd() {
        KeyBinding w = mc.options.forwardKey;
        KeyBinding s = mc.options.backKey;
        return (w.isPressed() ? 1 : 0) - (s.isPressed() ? 1 : 0);
    }
    // так же само только лево - право, при этом все гетаем в +1 чтобы при нажатии налево не шло вправо или наоборот
    private float getStr() {
        KeyBinding a = mc.options.leftKey;
        KeyBinding d = mc.options.rightKey;
        return (a.isPressed() ? 1 : 0) - (d.isPressed() ? 1 : 0);
    }
}
//p.s код писался в 5 утра, и getStr getFwd move можно было обьеденить, но мне ща лень

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


пацаны только после публикации заметил, что забыл сделать проверку на сникинг
кому надо доделают) :pepe14:
eee zachem moi firefly spastil ia obidelsia (
 
Назад
Сверху Снизу