Исходник AutoTotem 1.16.5

Начинающий
Статус
Оффлайн
Регистрация
30 Июн 2023
Сообщения
98
Реакции[?]
1
Поинты[?]
3K

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

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

Спасибо!

Код:
@ModuleInfo(
        name = "AutoTotem",
        category = Category.Combat
)
@Getter
@Setter
public class AutoTotem extends Module {
    private final NumberSetting health;
    private final BooleanSetting countTotem;
    private final BooleanSetting checkCrystal;
    private final NumberSetting radiusCrystal;
    private final NumberSetting swapBackDelay;
    private final NumberSetting fallDistance;
    public static Minecraft mc = Minecraft.getInstance();

    private final BooleanSetting switchBack = new BooleanSetting("Swap Back", true, () -> true);
    private final BooleanSetting checkFall;

    private final List<Integer> lastItem = new ArrayList<>();
    private final TimerHelper timerHelper = new TimerHelper();
    private boolean swap = false;
    public AutoTotem() {
        health = new NumberSetting("Health Amount", 3.5f, 1.f, 20.f, 0.5F, () -> true);
        swapBackDelay = new NumberSetting("Swap back delay", 100, 10, 500, 5, switchBack::getBoolValue);
        countTotem = new BooleanSetting("Count Totem", true, () -> true);
        checkFall = new BooleanSetting("Check Fall", true, () -> true);
        fallDistance = new NumberSetting("Fall Distance", 15.0f, 5.0f, 125.0f, 5.0f, checkFall::getBoolValue);
        checkCrystal = new BooleanSetting("Check Crystal", true, () -> true);
        radiusCrystal = new NumberSetting("Distance to Crystal", 6, 1, 8, 1, checkCrystal::getBoolValue);
        addSettings(switchBack, swapBackDelay, health, countTotem, checkFall, fallDistance, checkCrystal, radiusCrystal);
    }

    private int fountTotemCount() {
        int count = 0;
        for (int i = 0; i < mc.player.inventory.getSizeInventory(); i++) {
            ItemStack stack = mc.player.inventory.getStackInSlot(i);
            if (stack.getItem() == Items.TOTEM_OF_UNDYING) {
                count++;
            }
        }
        return count;
    }


    @EventTarget
    public void onRender2D(EventRender2D event) {
        if (fountTotemCount() > 0 && countTotem.getBoolValue()) {
            Fonts.MANROPE_BOLD.get(17).drawCenteredStringWithShadow(fountTotemCount() + "", (event.getResolution().getScaledWidth() / 2f + 19), (event.getResolution().getScaledHeight() / 2f), -1);
            for (int i = 0; i < mc.player.inventory.getSizeInventory(); i++) {
                ItemStack stack = mc.player.inventory.getStackInSlot(i);
                if (stack.getItem() == Items.TOTEM_OF_UNDYING) {
                    GlStateManager.pushMatrix();
                    GlStateManager.disableBlend();
                    mc.getItemRenderer().renderItemAndEffectIntoGUI(stack, event.getResolution().getScaledWidth() / 2 + 4, event.getResolution().getScaledHeight() / 2 - 7);
                    GlStateManager.popMatrix();
                }
            }
        }
    }

    @EventTarget
    public void onUpdate(EventUpdate event) {
        int tIndex = -1;
        int totemCount = 0;

        for (int i = 0; i < 45; i++) {
            if (mc.player.inventory.getStackInSlot(i).getItem() == Items.TOTEM_OF_UNDYING && tIndex == -1) {
                tIndex = i;
            }
            if (mc.player.inventory.getStackInSlot(i).getItem() == Items.TOTEM_OF_UNDYING) {
                totemCount++;
            }
        }

        if ((mc.player.getHealth() < health.getNumberValue() || checkCrystal() || checkFall(fallDistance.getNumberValue())) && totemCount != 0 && tIndex != -1) {
            if (mc.player.getHeldItemOffhand().getItem() != Items.TOTEM_OF_UNDYING) {
                mc.playerController.windowClick(0, tIndex < 9 ? tIndex + 36 : tIndex, 1, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, 45, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, tIndex < 9 ? tIndex + 36 : tIndex, 0, ClickType.PICKUP, mc.player);
                swap = true;
                lastItem.add(tIndex);
            }
        } else if (switchBack.getBoolValue() && (swap || totemCount == 0) && lastItem.size() > 0) {
            if (!(mc.player.inventory.getStackInSlot(lastItem.get(0)).getItem() instanceof AirItem)) {
                if (timerHelper.hasReached(swapBackDelay.getNumberValue())) {

                    mc.playerController.windowClick(0, lastItem.get(0) < 9 ? lastItem.get(0) + 36 : lastItem.get(0), 0, ClickType.PICKUP, mc.player);

                    mc.playerController.windowClick(0, 45, 0, ClickType.PICKUP, mc.player);
                    mc.playerController.windowClick(0, lastItem.get(0) < 9 ? lastItem.get(0) + 36 : lastItem.get(0), 0, ClickType.PICKUP, mc.player);
                    timerHelper.reset();

                }
            }
            swap = false;
            lastItem.clear();
        }
    }

    private boolean checkFall(float fallDist) {
        if (!checkFall.getBoolValue()) {
            return false;
        }
        return mc.player.fallDistance > fallDist;
    }

    private boolean checkCrystal() {
        if (!checkCrystal.getBoolValue()) {
            return false;
        }
        for (Entity entity : AutoTotem.mc.world.loadedEntityList) {
            if (!(entity instanceof EnderCrystalEntity) || !(AutoTotem.mc.player.getDistance(entity) <= radiusCrystal.getNumberValue()))
                continue;
            return true;
        }
        return false;
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
9 Июл 2023
Сообщения
76
Реакции[?]
0
Поинты[?]
0
Код:
@ModuleInfo(
        name = "AutoTotem",
        category = Category.Combat
)
@Getter
@Setter
public class AutoTotem extends Module {
    private final NumberSetting health;
    private final BooleanSetting countTotem;
    private final BooleanSetting checkCrystal;
    private final NumberSetting radiusCrystal;
    private final NumberSetting swapBackDelay;
    private final NumberSetting fallDistance;
    public static Minecraft mc = Minecraft.getInstance();

    private final BooleanSetting switchBack = new BooleanSetting("Swap Back", true, () -> true);
    private final BooleanSetting checkFall;

    private final List<Integer> lastItem = new ArrayList<>();
    private final TimerHelper timerHelper = new TimerHelper();
    private boolean swap = false;
    public AutoTotem() {
        health = new NumberSetting("Health Amount", 3.5f, 1.f, 20.f, 0.5F, () -> true);
        swapBackDelay = new NumberSetting("Swap back delay", 100, 10, 500, 5, switchBack::getBoolValue);
        countTotem = new BooleanSetting("Count Totem", true, () -> true);
        checkFall = new BooleanSetting("Check Fall", true, () -> true);
        fallDistance = new NumberSetting("Fall Distance", 15.0f, 5.0f, 125.0f, 5.0f, checkFall::getBoolValue);
        checkCrystal = new BooleanSetting("Check Crystal", true, () -> true);
        radiusCrystal = new NumberSetting("Distance to Crystal", 6, 1, 8, 1, checkCrystal::getBoolValue);
        addSettings(switchBack, swapBackDelay, health, countTotem, checkFall, fallDistance, checkCrystal, radiusCrystal);
    }

    private int fountTotemCount() {
        int count = 0;
        for (int i = 0; i < mc.player.inventory.getSizeInventory(); i++) {
            ItemStack stack = mc.player.inventory.getStackInSlot(i);
            if (stack.getItem() == Items.TOTEM_OF_UNDYING) {
                count++;
            }
        }
        return count;
    }


    @EventTarget
    public void onRender2D(EventRender2D event) {
        if (fountTotemCount() > 0 && countTotem.getBoolValue()) {
            Fonts.MANROPE_BOLD.get(17).drawCenteredStringWithShadow(fountTotemCount() + "", (event.getResolution().getScaledWidth() / 2f + 19), (event.getResolution().getScaledHeight() / 2f), -1);
            for (int i = 0; i < mc.player.inventory.getSizeInventory(); i++) {
                ItemStack stack = mc.player.inventory.getStackInSlot(i);
                if (stack.getItem() == Items.TOTEM_OF_UNDYING) {
                    GlStateManager.pushMatrix();
                    GlStateManager.disableBlend();
                    mc.getItemRenderer().renderItemAndEffectIntoGUI(stack, event.getResolution().getScaledWidth() / 2 + 4, event.getResolution().getScaledHeight() / 2 - 7);
                    GlStateManager.popMatrix();
                }
            }
        }
    }

    @EventTarget
    public void onUpdate(EventUpdate event) {
        int tIndex = -1;
        int totemCount = 0;

        for (int i = 0; i < 45; i++) {
            if (mc.player.inventory.getStackInSlot(i).getItem() == Items.TOTEM_OF_UNDYING && tIndex == -1) {
                tIndex = i;
            }
            if (mc.player.inventory.getStackInSlot(i).getItem() == Items.TOTEM_OF_UNDYING) {
                totemCount++;
            }
        }

        if ((mc.player.getHealth() < health.getNumberValue() || checkCrystal() || checkFall(fallDistance.getNumberValue())) && totemCount != 0 && tIndex != -1) {
            if (mc.player.getHeldItemOffhand().getItem() != Items.TOTEM_OF_UNDYING) {
                mc.playerController.windowClick(0, tIndex < 9 ? tIndex + 36 : tIndex, 1, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, 45, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, tIndex < 9 ? tIndex + 36 : tIndex, 0, ClickType.PICKUP, mc.player);
                swap = true;
                lastItem.add(tIndex);
            }
        } else if (switchBack.getBoolValue() && (swap || totemCount == 0) && lastItem.size() > 0) {
            if (!(mc.player.inventory.getStackInSlot(lastItem.get(0)).getItem() instanceof AirItem)) {
                if (timerHelper.hasReached(swapBackDelay.getNumberValue())) {

                    mc.playerController.windowClick(0, lastItem.get(0) < 9 ? lastItem.get(0) + 36 : lastItem.get(0), 0, ClickType.PICKUP, mc.player);

                    mc.playerController.windowClick(0, 45, 0, ClickType.PICKUP, mc.player);
                    mc.playerController.windowClick(0, lastItem.get(0) < 9 ? lastItem.get(0) + 36 : lastItem.get(0), 0, ClickType.PICKUP, mc.player);
                    timerHelper.reset();

                }
            }
            swap = false;
            lastItem.clear();
        }
    }

    private boolean checkFall(float fallDist) {
        if (!checkFall.getBoolValue()) {
            return false;
        }
        return mc.player.fallDistance > fallDist;
    }

    private boolean checkCrystal() {
        if (!checkCrystal.getBoolValue()) {
            return false;
        }
        for (Entity entity : AutoTotem.mc.world.loadedEntityList) {
            if (!(entity instanceof EnderCrystalEntity) || !(AutoTotem.mc.player.getDistance(entity) <= radiusCrystal.getNumberValue()))
                continue;
            return true;
        }
        return false;
    }
}
зачем слить из слитых сурсов
 
Сверху Снизу