Начинающий
- Статус
- Оффлайн
- Регистрация
- 12 Июн 2025
- Сообщения
- 73
- Реакции
- 0
Java:
package requiem.zaza.module.modules.movement;
import requiem.zaza.event.Event;
import requiem.zaza.event.events.EventTick;
import requiem.zaza.module.Category;
import requiem.zaza.module.Module;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.network.play.client.CPlayerTryUseItemPacket;
import net.minecraft.util.Hand;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.item.Food;
import static requiem.zaza.utils.Wrapper.mc;
public class NoSlow extends Module {
private long lastPacketTime = 0;
public NoSlow() {
super("NoSlow", Category.MOVEMENT, "Bypasses Grim", -1, 1);
}
@Override
public void event(Event e) {
if (mc.player == null || mc.player.isElytraFlying()) {
return;
}
if (e instanceof EventTick) {
handleEventTick();
}
}
private void handleEventTick() {
if (mc.player.isHandActive()) {
ItemStack offhandStack = mc.player.getHeldItemOffhand();
if (isShield(offhandStack) && mc.player.getActiveHand() == Hand.MAIN_HAND ||
isFood(offhandStack) && mc.player.getActiveHand() == Hand.MAIN_HAND) {;
return;
}
if (mc.player.getActiveHand() == Hand.MAIN_HAND) {
mc.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.OFF_HAND));
;
} else if (System.currentTimeMillis() - lastPacketTime > 100) {
sendItemChangePacket();
lastPacketTime = System.currentTimeMillis();
;
}
}
}
private boolean isShield(ItemStack stack) {
return stack.getItem() == Items.SHIELD;
}
private boolean isFood(ItemStack stack) {
return stack.getItem().getFood() != null;
}
private void sendItemChangePacket() {
if (Math.abs(mc.player.getMotion().x) > 0.01 || Math.abs(mc.player.getMotion().z) > 0.01) {
mc.player.connection.sendPacket(new CHeldItemChangePacket((mc.player.inventory.currentItem % 8 + 1)));
mc.player.connection.sendPacket(new CHeldItemChangePacket(mc.player.inventory.currentItem));
}
}
@Override
public void onDisable() {
if (mc.player != null) {
mc.player.setMotion(mc.player.getMotion().x, mc.player.getMotion().y, mc.player.getMotion().z);
}
}
}