- Статус
- Оффлайн
- Регистрация
- 6 Апр 2025
- Сообщения
- 378
- Реакции
- 5
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
короче взялся за написание нослоуа, но ничего не вышло, думаю, выход есть - спастить с экселлента рекода, все перенес, но даже он не убирает замедление в локалке (на сервере тоже)
Код:
package ru.drain.main.modules.impl.movement;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.network.protocol.game.ServerboundPlayerActionPacket;
import net.minecraft.network.protocol.game.ServerboundUseItemPacket;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.item.UseAnim;
import net.minecraft.world.level.block.CarpetBlock;
import net.minecraft.world.level.block.SnowLayerBlock;
import net.minecraft.world.phys.AABB;
import org.apache.commons.lang3.time.StopWatch;
import ru.drain.main.event.EventHandler;
import ru.drain.main.event.events.impl.SlowWalkingEvent;
import ru.drain.main.event.events.impl.TickEvent;
import ru.drain.main.modules.ModuleApi.CategoryUtil;
import ru.drain.main.modules.ModuleApi.Module;
import ru.drain.main.modules.ModuleApi.ModuleAnnotation;
import ru.drain.main.modules.tools.imp.ModeTools;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
[USER=270918]@Getter[/USER]
@Accessors(fluent = true)
@FieldDefaults(level = AccessLevel.PRIVATE)
@ModuleAnnotation(name = "NoSlow", type = CategoryUtil.Movement)
public class NoSlow extends Module {
private final ModeTools mode = new ModeTools("Mode", "Grim", "ReallyWorld", "Funtime", "Grim New");
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
private final StopWatch stopWatch = new StopWatch();
public static int ticks = 0;
public NoSlow() {
addSettings(mode);
}
[USER=1489798]@EventHandler[/USER]
public void onTick(TickEvent event) {
if (mode.is("Grim New") && mc.player != null && !mc.player.isFallFlying()) {
if (mc.player.isUsingItem()) {
ticks++;
} else {
ticks = 0;
}
}
}
[USER=1489798]@EventHandler[/USER]
public void onSlowWalk( SlowWalkingEvent e) {
System.out.println("SlowWalkingEvent caught");
if (mc.player == null || mc.player.isFallFlying()) return;
switch (mode.get()) {
case "Grim" -> {
if (mc.player.getOffhandItem().getUseAnimation() == UseAnim.BLOCK && mc.player.getUsedItemHand() == InteractionHand.MAIN_HAND || mc.player.getOffhandItem().getUseAnimation() == UseAnim.EAT && mc.player.getUsedItemHand() == InteractionHand.MAIN_HAND) {
return;
}
mc.player.connection.send(new ServerboundUseItemPacket(mc.player.getUsedItemHand(), 0, mc.player.getXRot(), mc.player.getYRot()));
mc.player.connection.send(new ServerboundUseItemPacket(
mc.player.getUsedItemHand() == InteractionHand.MAIN_HAND ? InteractionHand.OFF_HAND : InteractionHand.MAIN_HAND,
0,
mc.player.getXRot(),
mc.player.getYRot()));
e.cancel();
}
case "ReallyWorld" -> {
mc.player.connection.send(new ServerboundPlayerActionPacket(ServerboundPlayerActionPacket.Action.ABORT_DESTROY_BLOCK,mc.player.blockPosition().above(), Direction.NORTH));
e.cancel();
}
case "Funtime" -> {
if (mc.player.onGround() && (mc.level.getBlockState(BlockPos.containing(mc.player.position())).getBlock() instanceof CarpetBlock
|| mc.level.getBlockState(BlockPos.containing(mc.player.position())).getBlock() instanceof SnowLayerBlock)) {
e.cancel();
}
}
case "Grim New" -> {
if (ticks >= 2) {
e.cancel();
ticks = 0;
}
}
}
}
public boolean isBlockUnderWithMotion() {
AABB aab = mc.player.getBoundingBox().move(mc.player.getMotionDirection().getStepX(), -0.1, mc.player.getMotionDirection().getStepZ());
return !mc.level.getBlockCollisions(mc.player, aab).iterator().hasNext();
}
}