Исходник AutoSwap for Expensive 2.0

Начинающий
Статус
Оффлайн
Регистрация
10 Фев 2022
Сообщения
14
Реакции[?]
0
Поинты[?]
0

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

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

Спасибо!

Java:
package wtf.expensive.modules.impl.util;

import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.text.TextFormatting;
import wtf.expensive.events.Event;
import wtf.expensive.events.impl.game.EventKey;
import wtf.expensive.events.impl.player.EventUpdate;
import wtf.expensive.modules.Function;
import wtf.expensive.modules.FunctionAnnotation;
import wtf.expensive.modules.Type;
import wtf.expensive.modules.settings.imp.BindSetting;
import wtf.expensive.modules.settings.imp.BooleanOption;
import wtf.expensive.modules.settings.imp.ModeSetting;
import wtf.expensive.modules.settings.imp.SliderSetting;
import wtf.expensive.util.ClientUtil;
import wtf.expensive.util.world.InventoryUtil;

@FunctionAnnotation(name = "AutoSwap", type = Type.Util)
public class AutoSwap extends Function {

    private final ModeSetting swapMode = new ModeSetting("Режим", "Умный", "По бинду", "Умный");

    private final SliderSetting healthThreshold = new SliderSetting("Здоровье", 13.0F, 3.0F, 20.0F, 0.05f).setVisible(() -> swapMode.is("Умный"));

    private final BooleanOption withAbsorption = new BooleanOption("+Золотые сердечки", true).setVisible(() -> swapMode.is("Умный"));

    private BindSetting swapKey = new BindSetting("Кнопка", 0).setVisible(() -> swapMode.is("По бинду"));

    private final ModeSetting swapItems = new ModeSetting("Свапать", "Яблоки и щит", "Шар и щит", "Щит и тотем", "Яблоки и щит", "Яблоки и шар", "Яблоки и тотем", "Шар и тотем");

    private ItemStack oldStack = null;

    private boolean swapBack = false;

    public AutoSwap() {
        addSettings(swapMode, healthThreshold, withAbsorption, swapKey, swapItems);
    }

    @Override
    public void onEvent(Event event) {

        if(event instanceof EventUpdate && swapBack && swapMode.is("Умный") && oldStack != null) {

            float health = mc.player.getHealth();
            if (withAbsorption.get()) {
                health += mc.player.getAbsorptionAmount();
            }

            if(!mc.player.getShouldBeDead() && health >= healthThreshold.getValue().floatValue()) {
                swapItem(oldStack.getItem());
                swapBack = false;
            } else {
                return;
            }

        }

        if(canSwap(event)) {

            ItemStack itemStack = mc.player.getItemStackFromSlot(EquipmentSlotType.OFFHAND);
            Item item = itemStack.getItem();

            switch (swapItems.get()) {
                case "Яблоки и щит":
                    if (item == Items.GOLDEN_APPLE) {
                        swapItem(Items.SHIELD);
                    }
                    else if(item == Items.SHIELD) {
                        swapItem(Items.GOLDEN_APPLE);
                    }
                    break;
                case "Щит и тотем":
                    if (item == Items.SHIELD) {
                        swapItem(Items.TOTEM_OF_UNDYING);
                    }
                    else if(item == Items.TOTEM_OF_UNDYING) {
                        swapItem(Items.SHIELD);
                    }
                    break;
                case "Яблоки и тотем":
                    if (item == Items.GOLDEN_APPLE) {
                        swapItem(Items.TOTEM_OF_UNDYING);
                    }
                    else if(item == Items.TOTEM_OF_UNDYING) {
                        swapItem(Items.GOLDEN_APPLE);
                    }
                    break;
                case "Яблоки и шар":
                    if (item == Items.GOLDEN_APPLE) {
                        swapItem(Items.PLAYER_HEAD);
                    }
                    else if(item == Items.PLAYER_HEAD) {
                        swapItem(Items.GOLDEN_APPLE);
                    }
                    break;
                case "Шар и щит":
                    if (item == Items.PLAYER_HEAD) {
                        swapItem(Items.SHIELD);
                    }
                    else if(item == Items.SHIELD) {
                        swapItem(Items.PLAYER_HEAD);
                    }
                    break;
                case "Шар и тотем":
                    if (item == Items.PLAYER_HEAD) {
                        swapItem(Items.TOTEM_OF_UNDYING);
                    }
                    else if(item == Items.TOTEM_OF_UNDYING) {
                        swapItem(Items.PLAYER_HEAD);
                    }
                    break;
            }
        }
    }

    private void swapItem(Item desiredItem) {
        int itemSlot = InventoryUtil.getItemSlot(desiredItem);

        if (itemSlot == -1) {
            return;
        }

        if (mc.player.getHeldItemOffhand().getItem() != desiredItem) {
            oldStack = mc.player.getHeldItemOffhand().copy();
            InventoryUtil.moveItem(itemSlot, 45, true);
        }

    }

    private boolean canSwap(Event event) {

        if(event instanceof EventUpdate && swapMode.is("Умный")) {
            float health = mc.player.getHealth();
            if (withAbsorption.get()) {
                health += mc.player.getAbsorptionAmount();
            }
            swapBack = (!mc.player.getShouldBeDead() && health <= healthThreshold.getValue().floatValue());

            return swapBack;
        }

        if(event instanceof EventKey && swapMode.is("По бинду") && ((EventKey) event).key == swapKey.getKey()) {
            return true;
        }

        return false;
    }

    public void onDisable() {
        swapBack = false;
    }

}
 
Последнее редактирование:
Новичок
Статус
Оффлайн
Регистрация
27 Дек 2023
Сообщения
1
Реакции[?]
0
Поинты[?]
0
а как сделать что б в разделе UTIL отоборажалось я ток начал во всем разбираться хелпаните пж я новичок
 
Начинающий
Статус
Оффлайн
Регистрация
23 Июн 2023
Сообщения
297
Реакции[?]
2
Поинты[?]
0
а как сделать что б в разделе UTIL отоборажалось я ток начал во всем разбираться хелпаните пж я новичок
Module list найди. Увидел там new... Добавишь New CordDroper;
 
Сверху Снизу