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

Вопрос Почему не работает noslow?

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
22 Май 2025
Сообщения
61
Реакции
0
почему оно не работать как раб?????

Код:
Expand Collapse Copy
package zenith.zov.client.modules.impl.movement;

import com.darkmagician6.eventapi.EventTarget;

import net.minecraft.util.Hand;
import zenith.zov.base.events.impl.player.EventMoveInput;
import zenith.zov.base.events.impl.player.EventSlowWalking;
import zenith.zov.base.events.impl.player.EventUpdate;
import zenith.zov.client.modules.api.Category;
import zenith.zov.client.modules.api.Module;
import zenith.zov.client.modules.api.ModuleAnnotation;
import zenith.zov.client.modules.api.setting.impl.BooleanSetting;
import zenith.zov.client.modules.api.setting.impl.ModeSetting;
import zenith.zov.utility.game.player.PlayerIntersectionUtil;

@ModuleAnnotation(name = "NoSlow", category = Category.MOVEMENT, description = "Убирает замедление во время еды")
public final class NoSlow extends Module {
    public static final NoSlow INSTANCE = new NoSlow();

    private NoSlow() {
    }

    private final ModeSetting mode = new ModeSetting("Мод");
    private final ModeSetting.Value vanilla = new ModeSetting.Value(mode, "Vanilla");
    private final ModeSetting.Value grimNew = new ModeSetting.Value(mode, "Grim New");
    private final ModeSetting.Value grimLatest = new ModeSetting.Value(mode, "Grim Latest");
    private final ModeSetting.Value hw = new ModeSetting.Value(mode, "Grim old").select();

    private final BooleanSetting sprint = new BooleanSetting("Спринт", true, hw::isSelected);

    private int ticks = 0;

    @EventTarget
    public void onItemUse(EventSlowWalking e) {
        if (mc.player == null || mc.player.isGliding()) return;

        if (vanilla.isSelected()) {
            e.setCancelled(true);
        }

        if (grimNew.isSelected()) {
            if (mc.player.getItemUseTime() % 2 == 0) {
                e.setCancelled(true);
            }
        }

        if (grimLatest.isSelected()) {
            if (ticks >= 2) {
                e.setCancelled(true);
                ticks = 0;
            }
        }

        if (hw.isSelected()) {
            Hand hand = mc.player.getActiveHand();

            if (sprint.isEnabled()) {
                mc.player.setSprinting(mc.player.canSprint()
                        && mc.player.input.getMovementInput().lengthSquared() > 0
                        && !mc.player.isBlind()
                        && !mc.player.isGliding()
                        && (!mc.player.shouldSlowDown() || mc.player.isSubmergedInWater()));
            }

            PlayerIntersectionUtil.useItem(hand.equals(Hand.MAIN_HAND) ? Hand.OFF_HAND : Hand.MAIN_HAND);
            e.setCancelled(true);
        }
    }

   
    @EventTarget
    public void onMoveInput(EventMoveInput e) {
        if (mc.player == null || !mc.player.isUsingItem() || mc.player.isGliding()) return;

        boolean shouldCancel = false;

        if (vanilla.isSelected()) {
            shouldCancel = true;
        } else if (grimNew.isSelected()) {
            shouldCancel = mc.player.getItemUseTime() % 2 == 0;
        } else if (grimLatest.isSelected()) {
            shouldCancel = false; // Обрабатывается через ticks
        } else if (hw.isSelected()) {
            shouldCancel = true;
        }

        if (shouldCancel) {
            // Восстанавливаем скорость до полной
            float forward = e.getForward();
            float strafe = e.getStrafe();

            
            if (forward != 0) {
                e.setForward(forward > 0 ? 1.0f : -1.0f);
            }
            if (strafe != 0) {
                e.setStrafe(strafe > 0 ? 1.0f : -1.0f);
            }
        }
    }

    @EventTarget
    public void update(EventUpdate tickEvent) {
        if (mc.player == null) return;

        if (grimLatest.isSelected() && !mc.player.isGliding()) {
            if (mc.player.isUsingItem()) {
                ticks++;
            } else {
                ticks = 0;
            }
        }
    }

    @Override
    public void onDisable() {
        super.onDisable();
        ticks = 0;
    }
}
 
Назад
Сверху Снизу