- Выберите загрузчик игры
- Vanilla
- Forge
Код:
package fun.roker.functions.impl.movement;
import com.google.common.eventbus.Subscribe;
import fun.roker.events.NoSlowEvent;
import fun.roker.events.TickEvent;
import fun.roker.functions.api.Category;
import fun.roker.functions.api.Function;
import fun.roker.functions.api.FunctionRegister;
import fun.roker.functions.settings.impl.BooleanSetting;
import fun.roker.functions.settings.impl.ModeSetting;
import net.minecraft.potion.Effects;
import net.minecraft.util.Hand;
@FunctionRegister(name = "NoSlow", type = Category.Movement)
public class NoSlow extends Function {
private final ModeSetting mode = new ModeSetting("Режим", "Grim old", "Grim old", "Grim New");
private final BooleanSetting sprint = new BooleanSetting("Спринт", true);
private int ticks = 0;
@Subscribe
public void onTick(TickEvent event) {
if (mc.player == null || mc.player.isElytraFlying()) return;
if (mc.player.isHandActive()) {
ticks++;
} else {
ticks = 0;
}
}
public NoSlow(){
addSettings(mode, sprint);
}
@Subscribe
public void onSlowWalk(NoSlowEvent e) {
if (mc.player == null || mc.player.isElytraFlying()) return;
switch (mode.get()) {
case "Grim New" -> {
if (mc.player.getItemInUseCount() % 2 == 0) {
e.cancel();
}
}
case "Grim old" -> {
Hand hand = mc.player.getActiveHand();
if (sprint.get()) {
boolean canSprint =
mc.player.moveForward > 0 &&
!mc.player.isInWater() &&
!mc.player.isPotionActive(Effects.BLINDNESS) &&
mc.player.getFoodStats().getFoodLevel() > 6 &&
!mc.player.isSneaking();
if (canSprint) {
mc.player.setSprinting(true);
}
}
mc.playerController.processRightClick(
mc.player,
mc.world,
hand == Hand.MAIN_HAND ? Hand.OFF_HAND : Hand.MAIN_HAND
);
e.cancel();
}
}
}
}
Пожалуйста, авторизуйтесь для просмотра ссылки.