-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Java:
package dev.ezh.wild.module.impl.combat;
import dev.ezh.api.event.impl.player.UpdateEvent;
import dev.ezh.api.event.impl.server.PacketEvent;
import dev.ezh.api.interfaces.event.Listener;
import dev.ezh.impl.value.impl.BooleanValue;
import dev.ezh.impl.value.impl.ModeValue;
import dev.ezh.impl.value.mode.SubMode;
import dev.ezh.wild.module.api.Category;
import dev.ezh.wild.module.api.Module;
import dev.ezh.wild.module.api.ModuleInfo;
import net.minecraft.network.IPacket;
import net.minecraft.network.play.client.CPlayerDiggingPacket;
import net.minecraft.network.play.server.SConfirmTransactionPacket;
import net.minecraft.network.play.server.SEntityVelocityPacket;
import net.minecraft.network.play.server.SPlayerPositionLookPacket;
import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
@ModuleInfo(name = "Velocity", description = "", category = Category.COMBAT)
public class Velocity extends Module {
private final ModeValue velocityMode = new ModeValue("Mode", this)
.add(
new SubMode("Cancel"),
new SubMode("Grim"),
new SubMode("Grim New")
).setDefault("Cancel");
private int toSkip;
private int await;
BlockPos blockPos;
boolean damaged;
private final Listener<PacketEvent> onPacket = event -> {
IPacket<?> packet = event.getPacket();
if (mc.player == null || mc.world == null) return;
var mode = velocityMode.getValue().getName();
if (packet instanceof SEntityVelocityPacket wrapper) {
if (mode.equals("Cancel")) {
if (wrapper.getEntityID() == mc.player.getEntityId()) {
event.cancel();
}
}
}
if (mode.equals("Grim")) {
if (packet instanceof SEntityVelocityPacket p) {
if (p.getEntityID() != mc.player.getEntityId() || toSkip < 0) return;
toSkip = 44;
event.cancel();
}
if (packet instanceof SConfirmTransactionPacket) {
if (toSkip < 0) toSkip++;
else if (toSkip > 1) {
toSkip--;
event.cancel();
}
}
if (packet instanceof SPlayerPositionLookPacket) toSkip = -8;
}
if (mode.equals("Grim New")) {
if (packet instanceof SEntityVelocityPacket p) {
if (p.getEntityID() != mc.player.getEntityId() || await > -5) {
return;
}
await = 2;
damaged = true;
event.cancel();
}
}
};
private final Listener<UpdateEvent> onUpdate = event -> {
if (velocityMode.is("Grim New")) {
await--;
if (damaged) {
blockPos = new BlockPos(mc.player.getPositionVec());
mc.player.isOnGround();
mc.player.connection.sendPacket(new CPlayerDiggingPacket(CPlayerDiggingPacket.Action.STOP_DESTROY_BLOCK, blockPos, Direction.UP));
mc.player.connection.sendPacket(new CPlayerDiggingPacket(CPlayerDiggingPacket.Action.START_DESTROY_BLOCK, blockPos, Direction.UP));
damaged = false;
}
}
};
}
}
@Override
protected void onEnable() {
super.onEnable();
reset();
}
@Override
protected void onDisable() {
super.onDisable();
reset();
}
private void reset() {
toSkip = 0;
await = 0;
}
}
Последнее редактирование: