Исходник GodMode RW - Expensive 3.1

Начинающий
Статус
Оффлайн
Регистрация
2 Ноя 2024
Сообщения
24
Реакции[?]
0
Поинты[?]
0

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Уже 3 тема с MegaGodMod(om), половину кидает какую то zalupku, сливаю нормальный код под 3.1

Так же, код работает, просто не засоряйте 9 слот, у вас в нем багается итем.
Если что то попало в 9 слот то годмод просто перестает работать

Код:
package im.expensive.functions.impl.misc;

import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.ClientBossInfo;
import net.minecraft.client.gui.overlay.BossOverlayGui;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.util.text.TextFormatting;
import im.expensive.events.Event;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegistry;
import im.expensive.utils.client.ClientUtil;
import im.expensive.utils.TimerUtil;

import java.lang.reflect.Field;
import java.util.Map;

@FunctionRegister(name = "GodModeRw", type = Category.Misc)
public class GodModeRw extends Function implements Runnable {

    private final TimerUtil stopWatch = new TimerUtil();
    private final TimerUtil warpDelay = new TimerUtil();
    private boolean clickingSlot13 = false;
    private boolean slot21Clicked = false;
    private boolean menuClosed = false;
    private Thread updateThread;


    public boolean onEnable() {
        resetState();
        sendWarpCommand();
        warpDelay.reset();

        updateThread = new Thread(this);
        updateThread.start();
        super.onEnable();
        return false;
    }


    public void onEvent(Event event) {

    }


    public void onDisable() {
        resetState();
        if (updateThread != null && updateThread.isAlive()) {
            updateThread.interrupt();
        }
        super.onDisable();
    }

    private void sendWarpCommand() {
        sendMessage("/warp");
        mc.mouseHelper.grabMouse();
        menuClosed = false;
    }

    private void clickSlot(int slotIndex) {
        Minecraft mc = Minecraft.getInstance();
        if (mc.player.openContainer != null && mc.player.openContainer.getSlot(slotIndex) != null) {
            mc.playerController.windowClick(mc.player.openContainer.windowId, slotIndex, 0, ClickType.QUICK_MOVE, mc.player);


        } else {

        }
    }

    private void forceCloseMenu() {
        Minecraft mc = Minecraft.getInstance();
        mc.displayGuiScreen(null);
        mc.mouseHelper.ungrabMouse();
        menuClosed = true;

        try {
            Thread.sleep(10);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
        }


        ClientUtil.sendMesage(TextFormatting.WHITE + "GodMod активирован!");
    }



    private void startClickingSlot13() {
        clickingSlot13 = true;

    }

    private void stopClickingSlot13() {
        clickingSlot13 = false;

    }

    private void resetState() {
        clickingSlot13 = false;
        slot21Clicked = false;
        menuClosed = false;
        stopWatch.reset();
        warpDelay.reset();

    }

    private BossOverlayGui getBossOverlayGui() {
        try {
            Minecraft mc = Minecraft.getInstance();
            return mc.ingameGUI.getBossOverlay();
        } catch (Exception e) {

            return null;
        }
    }

    private boolean isPvpBossBarActive() {
        BossOverlayGui bossOverlayGui = getBossOverlayGui();
        if (bossOverlayGui == null) {

            return false;
        }

        Map<?, ClientBossInfo> bossBars;

        try {

            Field bossInfosField = BossOverlayGui.class.getDeclaredField("mapBossInfos");
            bossInfosField.setAccessible(true);
            bossBars = (Map<?, ClientBossInfo>) bossInfosField.get(bossOverlayGui);

            for (ClientBossInfo bossInfo : bossBars.values()) {
                String bossName = bossInfo.getName().getString();

                if (bossName.contains("Режим ПВП") || bossName.contains("PVP")) {

                    return true;
                }
            }
        } catch (Exception e) {

        }


        return false;
    }




    public void run() {
        while (!Thread.currentThread().isInterrupted()) {
            try {
                Thread.sleep(50);

                if (!menuClosed && warpDelay.hasTimeElapsed(1000)) {
                    forceCloseMenu();
                }

                if (warpDelay.hasTimeElapsed(500) && !slot21Clicked) {
                    clickSlot(21);
                    slot21Clicked = true;
                }

                if (isPvpBossBarActive()) {
                    if (!clickingSlot13) {
                        startClickingSlot13();
                    }
                } else {
                    if (clickingSlot13) {
                        stopClickingSlot13();
                    }
                }

                if (clickingSlot13 && stopWatch.hasTimeElapsed(5)) {
                    clickSlot(13);
                    stopWatch.reset();
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            }
        }
    }

    private void sendMessage(String message) {
        Minecraft mc = Minecraft.getInstance();
        if (mc.player != null) {
            mc.player.sendChatMessage(message);
            System.out.println("Сообщение отправлено в чат: " + message);
        } else {
            System.out.println("Не удалось отправить сообщение в чат: игрок не найден.");
        }
    }

}
Мне дали код на 2.0, я переделал под 3.1
Если будут нужны утилки скажите.
(Discord : criminalfame)
 
Сверху Снизу