-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Акб , обычный и под рилик(грим), конечно не самый хопоший но лучше чем без него
Java:
package wtf.chatgpt.client.modules.impl.combat;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.network.play.server.SConfirmTransactionPacket;
import net.minecraft.network.play.server.SEntityVelocityPacket;
import net.minecraft.network.play.server.SExplosionPacket;
import org.lwjgl.glfw.GLFW;
import wtf.chatgpt.client.event.Event;
import wtf.chatgpt.client.event.impl.network.EventPacket;
import wtf.chatgpt.client.event.impl.player.EventUpdate;
import wtf.chatgpt.client.modules.Module;
import wtf.chatgpt.client.modules.ModuleInfo;
import wtf.chatgpt.client.modules.Type;
import wtf.chatgpt.client.modules.settings.imp.ModeSetting;
@ModuleInfo(name = "Velocity", type = Type.COMBAT)
public class Velocity extends Module {
private ModeSetting mode = new ModeSetting("Mode", "Cancel", "Cancel", "Rw");
private int cancelPacket = 6;
private int resetPersec = 8;
private int grimTCancel = 0;
private int updates = 0;
public Velocity() {
add(mode);
this.bind = GLFW.GLFW_KEY_B;
}
@Override
public void onEvent(final Event event) {
setSuffix(mode.get());
if (mode.get().equals("Rw")) {
handleRwMode(event);
} else {
handleCancelMode(event);
}
}
private void handleRwMode(final Event event) {
if (event instanceof EventPacket) {
handleEventPacket((EventPacket) event);
}
if (event instanceof EventUpdate) {
handleEventUpdate();
}
}
private void handleEventPacket(EventPacket packetEvent) {
Object packet = packetEvent.getPacket();
if (packet instanceof SEntityVelocityPacket && isVelocityPacketForPlayer((SEntityVelocityPacket) packet)) {
packetEvent.setCancel(true);
grimTCancel = cancelPacket;
}
if (packet instanceof SConfirmTransactionPacket && grimTCancel > 0) {
packetEvent.setCancel(true);
grimTCancel--;
}
}
private boolean isVelocityPacketForPlayer(SEntityVelocityPacket packet) {
return packet.getEntityID() == Minecraft.getInstance().player.getEntityId();
}
private void handleEventUpdate() {
updates++;
if (resetPersec > 0 && (updates >= 0 || updates >= resetPersec)) {
updates = 0;
if (grimTCancel > 0) {
grimTCancel--;
}
}
}
private void handleCancelMode(final Event event) {
if (event instanceof EventPacket) {
EventPacket packetEvent = (EventPacket) event;
if (packetEvent.isReceivePacket() && cancelVelocityPacket(packetEvent)) {
cancelVelocity(packetEvent);
}
}
}
private void cancelVelocity(EventPacket packetEvent) {
packetEvent.setCancel(true);
Entity playerEntity = Minecraft.getInstance().player;
playerEntity.setMotion(playerEntity.getMotion().getX(), 0, playerEntity.getMotion().getZ());
}
private boolean cancelVelocityPacket(EventPacket eventPacket) {
Object packet = eventPacket.getPacket();
if (packet instanceof SEntityVelocityPacket && isVelocityPacketForPlayer((SEntityVelocityPacket) packet)) {
return true;
}
if (packet instanceof SExplosionPacket) {
return true;
}
return false;
}
}