Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Часть функционала TriggerBot v2 ( no gpt code )

Начинающий
Начинающий
Статус
Онлайн
Регистрация
30 Янв 2025
Сообщения
8
Реакции
1
Выберите загрузчик игры
  1. Fabric
Всем привет второй раз, публикую доделанный TriggerBot на 1.21.4 без гпт кода.
Надеюсь зайдёт. Спасибо Flowon, что помог код вделать на сайте.

TriggerBotv2:
Expand Collapse Copy
package ru.cat.modules.combat;

import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.decoration.ArmorStandEntity;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.entity.mob.MobEntity;
import net.minecraft.entity.mob.Monster;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.passive.VillagerEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Items;
import net.minecraft.util.Hand;
import net.minecraft.util.hit.EntityHitResult;
import net.minecraft.util.math.Vec3d;
import ru.cat.events.Event;
import ru.cat.events.impl.EventUpdate;
import ru.cat.manager.Manager;
import ru.cat.modules.Function;
import ru.cat.modules.FunctionAnnotation;
import ru.cat.modules.Type;
import ru.cat.modules.setting.BooleanSetting;
import ru.cat.modules.setting.MultiSetting;

import java.util.Arrays;

@FunctionAnnotation(name = "TriggerBot", keywords = {"Триггер", "Триггербот"}, desc = "Автоудар по цели под прицелом", type = Type.Combat)
public class TriggerBot extends Function {

    private final MultiSetting targets = new MultiSetting(
            "Цели",
            Arrays.asList("Игроки", "Мобы", "Монстры"),
            new String[]{"Игроки", "Друзья", "Мобы", "Монстры", "Жители"}
    );

    private final BooleanSetting attackWhileEating = new BooleanSetting("Бить когда ешь", false);
    private final BooleanSetting throughShield = new BooleanSetting("Бить сквозь щит", true);

    private boolean attackedThisJump = false;
    private double lastVelocityY = 0;
    private boolean peakReached = false;
    private int postPeakTicks = 0;
    private static final int ATTACK_DELAY_TICKS = 2;
    private static final double REACH = 3.0;

    public TriggerBot() {
        addSettings(targets, attackWhileEating, throughShield);
    }

    @Override
    public void onEvent(Event event) {
        if (!(event instanceof EventUpdate)) return;
        if (mc == null || mc.player == null || mc.world == null || mc.interactionManager == null) return;

        if (mc.player.isOnGround()) {
            attackedThisJump = false;
            lastVelocityY = 0;
            peakReached = false;
            postPeakTicks = 0;
        }

        LivingEntity target = null;
        Lock lock = Manager.FUNCTION_MANAGER.lock;
        if (lock != null && lock.state && isValidLockedTarget(lock.lockedTarget)) {
            target = lock.lockedTarget;
        } else {
            if (!(mc.crosshairTarget instanceof EntityHitResult ehr)) return;
            Entity e = ehr.getEntity();
            if (!(e instanceof LivingEntity living)) return;
            if (!isValidTarget(living)) return;
            target = living;
        }

        if (target == null) return;

        if (!attackWhileEating.get() && mc.player.isUsingItem() && !mc.player.getActiveItem().isOf(Items.SHIELD)) {
            return;
        }

        float cooldown = mc.player.getAttackCooldownProgress(mc.getRenderTickCounter().getTickDelta(true));
        if (cooldown < 0.9F) return;

        if (throughShield.get() && mc.player.isUsingItem() && mc.player.getActiveItem().isOf(Items.SHIELD)) {
            mc.interactionManager.stopUsingItem(mc.player);
        }

        boolean canCrit = !mc.player.isOnGround() &&
                          !mc.player.isTouchingWater() &&
                          !mc.player.isClimbing();
        if (!canCrit) {
            lastVelocityY = 0;
            peakReached = false;
            postPeakTicks = 0;
            return;
        }

        if (attackedThisJump) return;

        double distanceSq = mc.player.squaredDistanceTo(target);
        if (distanceSq > REACH * REACH) return;

        double currentVelY = mc.player.getVelocity().y;
        boolean isPeak = lastVelocityY > 0 && currentVelY <= 0;

        if (isPeak) {
            peakReached = true;
            postPeakTicks = 0;
        }

        if (peakReached) {
            postPeakTicks++;
        }

        lastVelocityY = currentVelY;

        if (!peakReached || postPeakTicks < ATTACK_DELAY_TICKS) return;

        mc.interactionManager.attackEntity(mc.player, target);
        mc.player.swingHand(Hand.MAIN_HAND);
        attackedThisJump = true;
        peakReached = false;
        postPeakTicks = 0;
    }

    private boolean isValidTarget(LivingEntity entity) {
        if (entity == null || entity.isDead() || !entity.isAlive() || entity == mc.player) return false;

        if (entity instanceof ArmorStandEntity) return false;
        if (Manager.FUNCTION_MANAGER.antiBot.check(entity)) return false;

        if (entity instanceof PlayerEntity) {
            if (!targets.get("Игроки")) return false;
            if (!targets.get("Друзья") && Manager.FRIEND_MANAGER.isFriend(entity.getName().getString())) return false;
        } else if (entity instanceof VillagerEntity && !targets.get("Жители")) return false;
        else if (entity instanceof MobEntity || entity instanceof AnimalEntity) {
            if (!targets.get("Мобы")) return false;
        } else if (entity instanceof Monster && !targets.get("Монстры")) return false;

        return !entity.hasStatusEffect(StatusEffects.INVISIBILITY) || mc.player.canSee(entity);
    }

    private boolean isValidLockedTarget(LivingEntity entity) {
        if (entity == null || entity.isDead() || !entity.isAlive() || entity == mc.player) return false;
        if (entity instanceof ArmorStandEntity) return false;
        return !Manager.FUNCTION_MANAGER.antiBot.check(entity);
    }
}
 
Всем привет второй раз, публикую доделанный TriggerBot на 1.21.4 без гпт кода.
Надеюсь зайдёт. Спасибо Flowon, что помог код вделать на сайте.

TriggerBotv2:
Expand Collapse Copy
package ru.cat.modules.combat;

import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.decoration.ArmorStandEntity;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.entity.mob.MobEntity;
import net.minecraft.entity.mob.Monster;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.passive.VillagerEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Items;
import net.minecraft.util.Hand;
import net.minecraft.util.hit.EntityHitResult;
import net.minecraft.util.math.Vec3d;
import ru.cat.events.Event;
import ru.cat.events.impl.EventUpdate;
import ru.cat.manager.Manager;
import ru.cat.modules.Function;
import ru.cat.modules.FunctionAnnotation;
import ru.cat.modules.Type;
import ru.cat.modules.setting.BooleanSetting;
import ru.cat.modules.setting.MultiSetting;

import java.util.Arrays;

@FunctionAnnotation(name = "TriggerBot", keywords = {"Триггер", "Триггербот"}, desc = "Автоудар по цели под прицелом", type = Type.Combat)
public class TriggerBot extends Function {

    private final MultiSetting targets = new MultiSetting(
            "Цели",
            Arrays.asList("Игроки", "Мобы", "Монстры"),
            new String[]{"Игроки", "Друзья", "Мобы", "Монстры", "Жители"}
    );

    private final BooleanSetting attackWhileEating = new BooleanSetting("Бить когда ешь", false);
    private final BooleanSetting throughShield = new BooleanSetting("Бить сквозь щит", true);

    private boolean attackedThisJump = false;
    private double lastVelocityY = 0;
    private boolean peakReached = false;
    private int postPeakTicks = 0;
    private static final int ATTACK_DELAY_TICKS = 2;
    private static final double REACH = 3.0;

    public TriggerBot() {
        addSettings(targets, attackWhileEating, throughShield);
    }

    @Override
    public void onEvent(Event event) {
        if (!(event instanceof EventUpdate)) return;
        if (mc == null || mc.player == null || mc.world == null || mc.interactionManager == null) return;

        if (mc.player.isOnGround()) {
            attackedThisJump = false;
            lastVelocityY = 0;
            peakReached = false;
            postPeakTicks = 0;
        }

        LivingEntity target = null;
        Lock lock = Manager.FUNCTION_MANAGER.lock;
        if (lock != null && lock.state && isValidLockedTarget(lock.lockedTarget)) {
            target = lock.lockedTarget;
        } else {
            if (!(mc.crosshairTarget instanceof EntityHitResult ehr)) return;
            Entity e = ehr.getEntity();
            if (!(e instanceof LivingEntity living)) return;
            if (!isValidTarget(living)) return;
            target = living;
        }

        if (target == null) return;

        if (!attackWhileEating.get() && mc.player.isUsingItem() && !mc.player.getActiveItem().isOf(Items.SHIELD)) {
            return;
        }

        float cooldown = mc.player.getAttackCooldownProgress(mc.getRenderTickCounter().getTickDelta(true));
        if (cooldown < 0.9F) return;

        if (throughShield.get() && mc.player.isUsingItem() && mc.player.getActiveItem().isOf(Items.SHIELD)) {
            mc.interactionManager.stopUsingItem(mc.player);
        }

        boolean canCrit = !mc.player.isOnGround() &&
                          !mc.player.isTouchingWater() &&
                          !mc.player.isClimbing();
        if (!canCrit) {
            lastVelocityY = 0;
            peakReached = false;
            postPeakTicks = 0;
            return;
        }

        if (attackedThisJump) return;

        double distanceSq = mc.player.squaredDistanceTo(target);
        if (distanceSq > REACH * REACH) return;

        double currentVelY = mc.player.getVelocity().y;
        boolean isPeak = lastVelocityY > 0 && currentVelY <= 0;

        if (isPeak) {
            peakReached = true;
            postPeakTicks = 0;
        }

        if (peakReached) {
            postPeakTicks++;
        }

        lastVelocityY = currentVelY;

        if (!peakReached || postPeakTicks < ATTACK_DELAY_TICKS) return;

        mc.interactionManager.attackEntity(mc.player, target);
        mc.player.swingHand(Hand.MAIN_HAND);
        attackedThisJump = true;
        peakReached = false;
        postPeakTicks = 0;
    }

    private boolean isValidTarget(LivingEntity entity) {
        if (entity == null || entity.isDead() || !entity.isAlive() || entity == mc.player) return false;

        if (entity instanceof ArmorStandEntity) return false;
        if (Manager.FUNCTION_MANAGER.antiBot.check(entity)) return false;

        if (entity instanceof PlayerEntity) {
            if (!targets.get("Игроки")) return false;
            if (!targets.get("Друзья") && Manager.FRIEND_MANAGER.isFriend(entity.getName().getString())) return false;
        } else if (entity instanceof VillagerEntity && !targets.get("Жители")) return false;
        else if (entity instanceof MobEntity || entity instanceof AnimalEntity) {
            if (!targets.get("Мобы")) return false;
        } else if (entity instanceof Monster && !targets.get("Монстры")) return false;

        return !entity.hasStatusEffect(StatusEffects.INVISIBILITY) || mc.player.canSee(entity);
    }

    private boolean isValidLockedTarget(LivingEntity entity) {
        if (entity == null || entity.isDead() || !entity.isAlive() || entity == mc.player) return false;
        if (entity instanceof ArmorStandEntity) return false;
        return !Manager.FUNCTION_MANAGER.antiBot.check(entity);
    }
}
ss?
 
Всем привет второй раз, публикую доделанный TriggerBot на 1.21.4 без гпт кода.
Надеюсь зайдёт. Спасибо Flowon, что помог код вделать на сайте.

TriggerBotv2:
Expand Collapse Copy
package ru.cat.modules.combat;

import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.decoration.ArmorStandEntity;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.entity.mob.MobEntity;
import net.minecraft.entity.mob.Monster;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.passive.VillagerEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Items;
import net.minecraft.util.Hand;
import net.minecraft.util.hit.EntityHitResult;
import net.minecraft.util.math.Vec3d;
import ru.cat.events.Event;
import ru.cat.events.impl.EventUpdate;
import ru.cat.manager.Manager;
import ru.cat.modules.Function;
import ru.cat.modules.FunctionAnnotation;
import ru.cat.modules.Type;
import ru.cat.modules.setting.BooleanSetting;
import ru.cat.modules.setting.MultiSetting;

import java.util.Arrays;

@FunctionAnnotation(name = "TriggerBot", keywords = {"Триггер", "Триггербот"}, desc = "Автоудар по цели под прицелом", type = Type.Combat)
public class TriggerBot extends Function {

    private final MultiSetting targets = new MultiSetting(
            "Цели",
            Arrays.asList("Игроки", "Мобы", "Монстры"),
            new String[]{"Игроки", "Друзья", "Мобы", "Монстры", "Жители"}
    );

    private final BooleanSetting attackWhileEating = new BooleanSetting("Бить когда ешь", false);
    private final BooleanSetting throughShield = new BooleanSetting("Бить сквозь щит", true);

    private boolean attackedThisJump = false;
    private double lastVelocityY = 0;
    private boolean peakReached = false;
    private int postPeakTicks = 0;
    private static final int ATTACK_DELAY_TICKS = 2;
    private static final double REACH = 3.0;

    public TriggerBot() {
        addSettings(targets, attackWhileEating, throughShield);
    }

    @Override
    public void onEvent(Event event) {
        if (!(event instanceof EventUpdate)) return;
        if (mc == null || mc.player == null || mc.world == null || mc.interactionManager == null) return;

        if (mc.player.isOnGround()) {
            attackedThisJump = false;
            lastVelocityY = 0;
            peakReached = false;
            postPeakTicks = 0;
        }

        LivingEntity target = null;
        Lock lock = Manager.FUNCTION_MANAGER.lock;
        if (lock != null && lock.state && isValidLockedTarget(lock.lockedTarget)) {
            target = lock.lockedTarget;
        } else {
            if (!(mc.crosshairTarget instanceof EntityHitResult ehr)) return;
            Entity e = ehr.getEntity();
            if (!(e instanceof LivingEntity living)) return;
            if (!isValidTarget(living)) return;
            target = living;
        }

        if (target == null) return;

        if (!attackWhileEating.get() && mc.player.isUsingItem() && !mc.player.getActiveItem().isOf(Items.SHIELD)) {
            return;
        }

        float cooldown = mc.player.getAttackCooldownProgress(mc.getRenderTickCounter().getTickDelta(true));
        if (cooldown < 0.9F) return;

        if (throughShield.get() && mc.player.isUsingItem() && mc.player.getActiveItem().isOf(Items.SHIELD)) {
            mc.interactionManager.stopUsingItem(mc.player);
        }

        boolean canCrit = !mc.player.isOnGround() &&
                          !mc.player.isTouchingWater() &&
                          !mc.player.isClimbing();
        if (!canCrit) {
            lastVelocityY = 0;
            peakReached = false;
            postPeakTicks = 0;
            return;
        }

        if (attackedThisJump) return;

        double distanceSq = mc.player.squaredDistanceTo(target);
        if (distanceSq > REACH * REACH) return;

        double currentVelY = mc.player.getVelocity().y;
        boolean isPeak = lastVelocityY > 0 && currentVelY <= 0;

        if (isPeak) {
            peakReached = true;
            postPeakTicks = 0;
        }

        if (peakReached) {
            postPeakTicks++;
        }

        lastVelocityY = currentVelY;

        if (!peakReached || postPeakTicks < ATTACK_DELAY_TICKS) return;

        mc.interactionManager.attackEntity(mc.player, target);
        mc.player.swingHand(Hand.MAIN_HAND);
        attackedThisJump = true;
        peakReached = false;
        postPeakTicks = 0;
    }

    private boolean isValidTarget(LivingEntity entity) {
        if (entity == null || entity.isDead() || !entity.isAlive() || entity == mc.player) return false;

        if (entity instanceof ArmorStandEntity) return false;
        if (Manager.FUNCTION_MANAGER.antiBot.check(entity)) return false;

        if (entity instanceof PlayerEntity) {
            if (!targets.get("Игроки")) return false;
            if (!targets.get("Друзья") && Manager.FRIEND_MANAGER.isFriend(entity.getName().getString())) return false;
        } else if (entity instanceof VillagerEntity && !targets.get("Жители")) return false;
        else if (entity instanceof MobEntity || entity instanceof AnimalEntity) {
            if (!targets.get("Мобы")) return false;
        } else if (entity instanceof Monster && !targets.get("Монстры")) return false;

        return !entity.hasStatusEffect(StatusEffects.INVISIBILITY) || mc.player.canSee(entity);
    }

    private boolean isValidLockedTarget(LivingEntity entity) {
        if (entity == null || entity.isDead() || !entity.isAlive() || entity == mc.player) return false;
        if (entity instanceof ArmorStandEntity) return false;
        return !Manager.FUNCTION_MANAGER.antiBot.check(entity);
    }
}
Где тут сброс спринта и т.д т.п
 
Назад
Сверху Снизу