Начинающий
- Статус
- Оффлайн
- Регистрация
- 23 Июн 2025
- Сообщения
- 13
- Реакции
- 0
- Выберите загрузчик игры
- Vanilla
JavaScript:
package im.expensive.functions.impl.movement;
import com.google.common.eventbus.Subscribe;
import im.expensive.Expensive;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.utils.player.MoveUtils;
@FunctionRegister(name = "Sprint", type = Category.Movement)
public class Sprint extends Function {
public static BooleanSetting strafesprint = new BooleanSetting("Во все стороны", false);
public static BooleanSetting autoswim = new BooleanSetting("Авто-плавание", false);
private long sprintDisabledUntil = 0;
public Sprint() {
this.addSettings(new Setting[]{strafesprint, autoswim});
}
@Subscribe
private void onUpdate(EventUpdate e) {
boolean sprintAllowed = isSprintAllowed();
if (!sprintAllowed) {
mc.gameSettings.keyBindSprint.setPressed(false);
return;
}
if (!mc.player.isSwimming()) {
boolean shouldSprint = !mc.player.isSprinting() &&
mc.player.movementInput.isMovingForward() &&
(mc.gameSettings.keyBindForward.isKeyDown() || mc.gameSettings.keyBindSprint.isKeyDown()) &&
mc.player.getFoodStats().getFoodLevel() > 6 &&
mc.player.getRidingEntity() == null ||
strafesprint.get();
if (sprintAllowed) {
mc.gameSettings.keyBindSprint.setPressed(shouldSprint || mc.gameSettings.keyBindSprint.isKeyDown());
}
if (MoveUtils.isMoving() && mc.player.isInWater() && autoswim.get() && mc.player.getFoodStats().getFoodLevel() > 6) {
mc.player.setSprinting(true);
mc.player.setSwimming(true);
}
}
}
public boolean isSprintAllowed() {
return System.currentTimeMillis() > sprintDisabledUntil;
}
public void disableSprintForMs(long ms) {
sprintDisabledUntil = System.currentTimeMillis() + ms;
mc.gameSettings.keyBindSprint.setPressed(false);
mc.player.setSprinting(false);
}
public long getRemainingCooldown() {
long remaining = sprintDisabledUntil - System.currentTimeMillis();
return Math.max(0, remaining);
}
}