Начинающий
- Статус
- Онлайн
- Регистрация
- 28 Дек 2024
- Сообщения
- 17
- Реакции
- 0
- Выберите загрузчик игры
- Vanilla
- OptiFine
На спукитайме зафиксили многие гуи мувы, вот вам дарю мой, вроде норм работает, при желании можно довести до идеала.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Java:
public class GuiMove extends Module {
public int tick = 0;
private final List<CClickWindowPacket> pendingPackets = new ArrayList<>();
@Subscribe
public void onUpdate(EventUpdate e) {
final KeyBinding[] pressedKeys = {
mc.gameSettings.keyBindForward, mc.gameSettings.keyBindBack, mc.gameSettings.keyBindLeft, mc.gameSettings.keyBindRight, mc.gameSettings.keyBindJump, mc.gameSettings.keyBindSprint
};
if (tick != 0) {
for (KeyBinding keyBinding : pressedKeys) {
keyBinding.setPressed(false);
}
tick--;
return;
}
if (mc.currentScreen instanceof ChatScreen || mc.currentScreen instanceof EditSignScreen) {
return;
}
if (mc.currentScreen instanceof client.display.dropdown.DropDown) {
client.display.dropdown.DropDown dropDown = (client.display.dropdown.DropDown) mc.currentScreen;
if (dropDown.getSearchBar().isFocused()) {
return;
}
}
updateKeyBindingState(pressedKeys);
}
@Subscribe
public void onPacket(EventPacket e) {
if (e.getPacket() instanceof CClickWindowPacket p && MoveUtils.isMoving()) {
if (mc.currentScreen instanceof InventoryScreen) {
pendingPackets.add(p);
e.cancel();
}
}
}
@Subscribe
public void onClose(InventoryCloseEvent e) {
if (mc.currentScreen instanceof InventoryScreen && !pendingPackets.isEmpty() && MoveUtils.isMoving()) {
new Thread(() -> {
tick = 5;
try {
Thread.sleep(90);
} catch (InterruptedException ex) {
throw new RuntimeException(ex);
}
for (CClickWindowPacket p : pendingPackets) {
mc.player.connection.sendPacketWithoutEvent(p);
}
pendingPackets.clear();
}).start();
e.cancel();
} else {
pendingPackets.clear();
}
}
private void updateKeyBindingState(KeyBinding[] keyBindings) {
for (KeyBinding keyBinding : keyBindings) {
boolean isKeyPressed = InputMappings.isKeyDown(mc.getMainWindow().getHandle(), keyBinding.getDefault().getKeyCode());
keyBinding.setPressed(isKeyPressed);
}
}
}