Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Простой HWHelper | Expensive 3.1

  • Автор темы Автор темы aaaa111
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
29 Фев 2024
Сообщения
50
Реакции
0
Вот вам простой HolyHelper
HWHelper.java:
Expand Collapse Copy
//
//
//
//

package im.expensive.functions.impl.misc;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventKey;
import im.expensive.events.EventPacket;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BindSetting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.utils.player.InventoryUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.item.AirItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.network.play.client.CPlayerTryUseItemPacket;
import net.minecraft.util.Hand;
import net.minecraft.util.text.TextFormatting;

@FunctionRegister(
        name = "HWHelper",
        type = Category.Misc,
)
public class HWHelper extends Function {
    private final ModeListSetting mode = new ModeListSetting("Тип", new BooleanSetting[]{new BooleanSetting("Использование по бинду", true), new BooleanSetting("Закрывать меню", true)});
    private final BindSetting fireKey = (new BindSetting("Кнопка взрывной штучки", -1)).setVisible(() -> {
        return (Boolean)this.mode.getValueByName("Использование по бинду").get();
    });
    private final BindSetting stanKey = (new BindSetting("Кнопка стана", -1)).setVisible(() -> {
        return (Boolean)this.mode.getValueByName("Использование по бинду").get();
    });
    private final BindSetting trapKey = (new BindSetting("Кнопка взрывной трапки", -1)).setVisible(() -> {
        return (Boolean)this.mode.getValueByName("Использование по бинду").get();
    });
    InventoryUtil.Hand handUtil = new InventoryUtil.Hand();
    long delay;
    boolean FireThrow;
    boolean trapThrow;
    boolean StanThrow;

    public HWHelper() {
        this.addSettings(new Setting[]{this.fireKey, this.trapKey, this.stanKey});
    }

    @Subscribe
    private void onKey(EventKey e) {
        if (e.getKey() == (Integer)this.fireKey.get()) {
            this.FireThrow = true;
        }

        if (e.getKey() == (Integer)this.stanKey.get()) {
            this.StanThrow = true;
        }

        if (e.getKey() == (Integer)this.trapKey.get()) {
            this.trapThrow = true;
        }

    }

    @Subscribe
    private void onUpdate(EventUpdate e) {
        int old;
        int invSlot;
        int hbSlot;
        if (this.FireThrow) {
            this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
            hbSlot = this.getItemForName("взрывная штучка", true);
            invSlot = this.getItemForName("взрывная штучка", false);
            if (invSlot == -1 && hbSlot == -1) {
                this.print("Взрывная штучка не найдена!");
                this.FireThrow = false;
                return;
            }

            if (!Minecraft.player.getCooldownTracker().hasCooldown(Items.FIRE_CHARGE)) {
                this.print("Заюзал взрывную штучку!");
                old = this.findAndTrowItem(hbSlot, invSlot);
                if (old > 8) {
                    GriefHelper.mc.playerController.pickItem(old);
                }
            }

            this.FireThrow = false;
        }

        int slot;
        if (this.StanThrow) {
            hbSlot = this.getItemForName("стан", true);
            invSlot = this.getItemForName("стан", true);
            if (invSlot == -1 && hbSlot == -1) {
                this.print("Стан не найден!");
                this.StanThrow = false;
                return;
            }

            if (!Minecraft.player.getCooldownTracker().hasCooldown(Items.NETHER_STAR)) {
                this.print("Заюзал стан!");
                old = Minecraft.player.inventory.currentItem;
                slot = this.findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    GriefHelper.mc.playerController.pickItem(slot);
                }

                if (InventoryUtil.findEmptySlot(true) != -1 && Minecraft.player.inventory.currentItem != old) {
                    Minecraft.player.inventory.currentItem = old;
                }
            }

            this.StanThrow = false;
        }

        if (this.trapThrow) {
            hbSlot = this.getItemForName("взрывная трапка", true);
            invSlot = this.getItemForName("взрывная трапка", false);
            if (invSlot == -1 && hbSlot == -1) {
                this.print("Взрывная трапка не найдена!");
                this.trapThrow = false;
                return;
            }

            if (!Minecraft.player.getCooldownTracker().hasCooldown(Items.PRISMARINE_SHARD)) {
                this.print("Заюзал взрывную трапку!");
                old = Minecraft.player.inventory.currentItem;
                slot = this.findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    GriefHelper.mc.playerController.pickItem(slot);
                }

                if (InventoryUtil.findEmptySlot(true) != -1 && Minecraft.player.inventory.currentItem != old) {
                    Minecraft.player.inventory.currentItem = old;
                }
            }

            this.trapThrow = false;
        }

        this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
    }

    @Subscribe
    private void onPacket(EventPacket e) {
        this.handUtil.onEventPacket(e);
    }

    private int findAndTrowItem(int hbSlot, int invSlot) {
        if (hbSlot != -1) {
            this.handUtil.setOriginalSlot(Minecraft.player.inventory.currentItem);
            Minecraft.player.connection.sendPacket(new CHeldItemChangePacket(hbSlot));
            Minecraft.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
            Minecraft.player.swingArm(Hand.MAIN_HAND);
            this.delay = System.currentTimeMillis();
            return hbSlot;
        } else if (invSlot != -1) {
            this.handUtil.setOriginalSlot(Minecraft.player.inventory.currentItem);
            GriefHelper.mc.playerController.pickItem(invSlot);
            Minecraft.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
            Minecraft.player.swingArm(Hand.MAIN_HAND);
            this.delay = System.currentTimeMillis();
            return invSlot;
        } else {
            return -1;
        }
    }

    public void onDisable() {
        this.FireThrow = false;
        this.trapThrow = false;
        this.delay = 0L;
        super.onDisable();
    }

    private int getItemForName(String name, boolean inHotBar) {
        int firstSlot = inHotBar ? 0 : 9;
        int lastSlot = inHotBar ? 9 : 36;

        for(int i = firstSlot; i < lastSlot; ++i) {
            ItemStack itemStack = Minecraft.player.inventory.getStackInSlot(i);
            String displayName;
            if (!(itemStack.getItem() instanceof AirItem) && (displayName = TextFormatting.getTextWithoutFormattingCodes(itemStack.getDisplayName().getString())) != null && displayName.toLowerCase().contains(name)) {
                return i;
            }
        }

        return -1;
    }
}
 
В целом все круто, без говна, но это просто переделанный FTHelper, его любой мог сделать просто заменив предметы на нужные
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Имба Пошол Пастить
 
В целом все круто, без говна, но это просто переделанный FTHelper, его любой мог сделать просто заменив предметы на нужные
Так то да, но это мой первый пост на югейме в исходниках :roflanEbalo:
 
Вот вам простой HolyHelper
HWHelper.java:
Expand Collapse Copy
//
//
//
//

package im.expensive.functions.impl.misc;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventKey;
import im.expensive.events.EventPacket;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BindSetting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.utils.player.InventoryUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.item.AirItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.network.play.client.CPlayerTryUseItemPacket;
import net.minecraft.util.Hand;
import net.minecraft.util.text.TextFormatting;

@FunctionRegister(
        name = "HWHelper",
        type = Category.Misc,
)
public class HWHelper extends Function {
    private final ModeListSetting mode = new ModeListSetting("Тип", new BooleanSetting[]{new BooleanSetting("Использование по бинду", true), new BooleanSetting("Закрывать меню", true)});
    private final BindSetting fireKey = (new BindSetting("Кнопка взрывной штучки", -1)).setVisible(() -> {
        return (Boolean)this.mode.getValueByName("Использование по бинду").get();
    });
    private final BindSetting stanKey = (new BindSetting("Кнопка стана", -1)).setVisible(() -> {
        return (Boolean)this.mode.getValueByName("Использование по бинду").get();
    });
    private final BindSetting trapKey = (new BindSetting("Кнопка взрывной трапки", -1)).setVisible(() -> {
        return (Boolean)this.mode.getValueByName("Использование по бинду").get();
    });
    InventoryUtil.Hand handUtil = new InventoryUtil.Hand();
    long delay;
    boolean FireThrow;
    boolean trapThrow;
    boolean StanThrow;

    public HWHelper() {
        this.addSettings(new Setting[]{this.fireKey, this.trapKey, this.stanKey});
    }

    @Subscribe
    private void onKey(EventKey e) {
        if (e.getKey() == (Integer)this.fireKey.get()) {
            this.FireThrow = true;
        }

        if (e.getKey() == (Integer)this.stanKey.get()) {
            this.StanThrow = true;
        }

        if (e.getKey() == (Integer)this.trapKey.get()) {
            this.trapThrow = true;
        }

    }

    @Subscribe
    private void onUpdate(EventUpdate e) {
        int old;
        int invSlot;
        int hbSlot;
        if (this.FireThrow) {
            this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
            hbSlot = this.getItemForName("взрывная штучка", true);
            invSlot = this.getItemForName("взрывная штучка", false);
            if (invSlot == -1 && hbSlot == -1) {
                this.print("Взрывная штучка не найдена!");
                this.FireThrow = false;
                return;
            }

            if (!Minecraft.player.getCooldownTracker().hasCooldown(Items.FIRE_CHARGE)) {
                this.print("Заюзал взрывную штучку!");
                old = this.findAndTrowItem(hbSlot, invSlot);
                if (old > 8) {
                    GriefHelper.mc.playerController.pickItem(old);
                }
            }

            this.FireThrow = false;
        }

        int slot;
        if (this.StanThrow) {
            hbSlot = this.getItemForName("стан", true);
            invSlot = this.getItemForName("стан", true);
            if (invSlot == -1 && hbSlot == -1) {
                this.print("Стан не найден!");
                this.StanThrow = false;
                return;
            }

            if (!Minecraft.player.getCooldownTracker().hasCooldown(Items.NETHER_STAR)) {
                this.print("Заюзал стан!");
                old = Minecraft.player.inventory.currentItem;
                slot = this.findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    GriefHelper.mc.playerController.pickItem(slot);
                }

                if (InventoryUtil.findEmptySlot(true) != -1 && Minecraft.player.inventory.currentItem != old) {
                    Minecraft.player.inventory.currentItem = old;
                }
            }

            this.StanThrow = false;
        }

        if (this.trapThrow) {
            hbSlot = this.getItemForName("взрывная трапка", true);
            invSlot = this.getItemForName("взрывная трапка", false);
            if (invSlot == -1 && hbSlot == -1) {
                this.print("Взрывная трапка не найдена!");
                this.trapThrow = false;
                return;
            }

            if (!Minecraft.player.getCooldownTracker().hasCooldown(Items.PRISMARINE_SHARD)) {
                this.print("Заюзал взрывную трапку!");
                old = Minecraft.player.inventory.currentItem;
                slot = this.findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    GriefHelper.mc.playerController.pickItem(slot);
                }

                if (InventoryUtil.findEmptySlot(true) != -1 && Minecraft.player.inventory.currentItem != old) {
                    Minecraft.player.inventory.currentItem = old;
                }
            }

            this.trapThrow = false;
        }

        this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
    }

    @Subscribe
    private void onPacket(EventPacket e) {
        this.handUtil.onEventPacket(e);
    }

    private int findAndTrowItem(int hbSlot, int invSlot) {
        if (hbSlot != -1) {
            this.handUtil.setOriginalSlot(Minecraft.player.inventory.currentItem);
            Minecraft.player.connection.sendPacket(new CHeldItemChangePacket(hbSlot));
            Minecraft.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
            Minecraft.player.swingArm(Hand.MAIN_HAND);
            this.delay = System.currentTimeMillis();
            return hbSlot;
        } else if (invSlot != -1) {
            this.handUtil.setOriginalSlot(Minecraft.player.inventory.currentItem);
            GriefHelper.mc.playerController.pickItem(invSlot);
            Minecraft.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
            Minecraft.player.swingArm(Hand.MAIN_HAND);
            this.delay = System.currentTimeMillis();
            return invSlot;
        } else {
            return -1;
        }
    }

    public void onDisable() {
        this.FireThrow = false;
        this.trapThrow = false;
        this.delay = 0L;
        super.onDisable();
    }

    private int getItemForName(String name, boolean inHotBar) {
        int firstSlot = inHotBar ? 0 : 9;
        int lastSlot = inHotBar ? 9 : 36;

        for(int i = firstSlot; i < lastSlot; ++i) {
            ItemStack itemStack = Minecraft.player.inventory.getStackInSlot(i);
            String displayName;
            if (!(itemStack.getItem() instanceof AirItem) && (displayName = TextFormatting.getTextWithoutFormattingCodes(itemStack.getDisplayName().getString())) != null && displayName.toLowerCase().contains(name)) {
                return i;
            }
        }

        return -1;
    }
}
декомпилер забустил?)
 
Вот вам простой HolyHelper
HWHelper.java:
Expand Collapse Copy
//
//
//
//

package im.expensive.functions.impl.misc;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventKey;
import im.expensive.events.EventPacket;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BindSetting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.utils.player.InventoryUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.item.AirItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.network.play.client.CPlayerTryUseItemPacket;
import net.minecraft.util.Hand;
import net.minecraft.util.text.TextFormatting;

@FunctionRegister(
        name = "HWHelper",
        type = Category.Misc,
)
public class HWHelper extends Function {
    private final ModeListSetting mode = new ModeListSetting("Тип", new BooleanSetting[]{new BooleanSetting("Использование по бинду", true), new BooleanSetting("Закрывать меню", true)});
    private final BindSetting fireKey = (new BindSetting("Кнопка взрывной штучки", -1)).setVisible(() -> {
        return (Boolean)this.mode.getValueByName("Использование по бинду").get();
    });
    private final BindSetting stanKey = (new BindSetting("Кнопка стана", -1)).setVisible(() -> {
        return (Boolean)this.mode.getValueByName("Использование по бинду").get();
    });
    private final BindSetting trapKey = (new BindSetting("Кнопка взрывной трапки", -1)).setVisible(() -> {
        return (Boolean)this.mode.getValueByName("Использование по бинду").get();
    });
    InventoryUtil.Hand handUtil = new InventoryUtil.Hand();
    long delay;
    boolean FireThrow;
    boolean trapThrow;
    boolean StanThrow;

    public HWHelper() {
        this.addSettings(new Setting[]{this.fireKey, this.trapKey, this.stanKey});
    }

    @Subscribe
    private void onKey(EventKey e) {
        if (e.getKey() == (Integer)this.fireKey.get()) {
            this.FireThrow = true;
        }

        if (e.getKey() == (Integer)this.stanKey.get()) {
            this.StanThrow = true;
        }

        if (e.getKey() == (Integer)this.trapKey.get()) {
            this.trapThrow = true;
        }

    }

    @Subscribe
    private void onUpdate(EventUpdate e) {
        int old;
        int invSlot;
        int hbSlot;
        if (this.FireThrow) {
            this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
            hbSlot = this.getItemForName("взрывная штучка", true);
            invSlot = this.getItemForName("взрывная штучка", false);
            if (invSlot == -1 && hbSlot == -1) {
                this.print("Взрывная штучка не найдена!");
                this.FireThrow = false;
                return;
            }

            if (!Minecraft.player.getCooldownTracker().hasCooldown(Items.FIRE_CHARGE)) {
                this.print("Заюзал взрывную штучку!");
                old = this.findAndTrowItem(hbSlot, invSlot);
                if (old > 8) {
                    GriefHelper.mc.playerController.pickItem(old);
                }
            }

            this.FireThrow = false;
        }

        int slot;
        if (this.StanThrow) {
            hbSlot = this.getItemForName("стан", true);
            invSlot = this.getItemForName("стан", true);
            if (invSlot == -1 && hbSlot == -1) {
                this.print("Стан не найден!");
                this.StanThrow = false;
                return;
            }

            if (!Minecraft.player.getCooldownTracker().hasCooldown(Items.NETHER_STAR)) {
                this.print("Заюзал стан!");
                old = Minecraft.player.inventory.currentItem;
                slot = this.findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    GriefHelper.mc.playerController.pickItem(slot);
                }

                if (InventoryUtil.findEmptySlot(true) != -1 && Minecraft.player.inventory.currentItem != old) {
                    Minecraft.player.inventory.currentItem = old;
                }
            }

            this.StanThrow = false;
        }

        if (this.trapThrow) {
            hbSlot = this.getItemForName("взрывная трапка", true);
            invSlot = this.getItemForName("взрывная трапка", false);
            if (invSlot == -1 && hbSlot == -1) {
                this.print("Взрывная трапка не найдена!");
                this.trapThrow = false;
                return;
            }

            if (!Minecraft.player.getCooldownTracker().hasCooldown(Items.PRISMARINE_SHARD)) {
                this.print("Заюзал взрывную трапку!");
                old = Minecraft.player.inventory.currentItem;
                slot = this.findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    GriefHelper.mc.playerController.pickItem(slot);
                }

                if (InventoryUtil.findEmptySlot(true) != -1 && Minecraft.player.inventory.currentItem != old) {
                    Minecraft.player.inventory.currentItem = old;
                }
            }

            this.trapThrow = false;
        }

        this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
    }

    @Subscribe
    private void onPacket(EventPacket e) {
        this.handUtil.onEventPacket(e);
    }

    private int findAndTrowItem(int hbSlot, int invSlot) {
        if (hbSlot != -1) {
            this.handUtil.setOriginalSlot(Minecraft.player.inventory.currentItem);
            Minecraft.player.connection.sendPacket(new CHeldItemChangePacket(hbSlot));
            Minecraft.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
            Minecraft.player.swingArm(Hand.MAIN_HAND);
            this.delay = System.currentTimeMillis();
            return hbSlot;
        } else if (invSlot != -1) {
            this.handUtil.setOriginalSlot(Minecraft.player.inventory.currentItem);
            GriefHelper.mc.playerController.pickItem(invSlot);
            Minecraft.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
            Minecraft.player.swingArm(Hand.MAIN_HAND);
            this.delay = System.currentTimeMillis();
            return invSlot;
        } else {
            return -1;
        }
    }

    public void onDisable() {
        this.FireThrow = false;
        this.trapThrow = false;
        this.delay = 0L;
        super.onDisable();
    }

    private int getItemForName(String name, boolean inHotBar) {
        int firstSlot = inHotBar ? 0 : 9;
        int lastSlot = inHotBar ? 9 : 36;

        for(int i = firstSlot; i < lastSlot; ++i) {
            ItemStack itemStack = Minecraft.player.inventory.getStackInSlot(i);
            String displayName;
            if (!(itemStack.getItem() instanceof AirItem) && (displayName = TextFormatting.getTextWithoutFormattingCodes(itemStack.getDisplayName().getString())) != null && displayName.toLowerCase().contains(name)) {
                return i;
            }
        }

        return -1;
    }
}
Не ужели с netreex`а взял:coldsweat:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вот вам простой HolyHelper
HWHelper.java:
Expand Collapse Copy
//
//
//
//

package im.expensive.functions.impl.misc;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventKey;
import im.expensive.events.EventPacket;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BindSetting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.utils.player.InventoryUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.item.AirItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.network.play.client.CPlayerTryUseItemPacket;
import net.minecraft.util.Hand;
import net.minecraft.util.text.TextFormatting;

@FunctionRegister(
        name = "HWHelper",
        type = Category.Misc,
)
public class HWHelper extends Function {
    private final ModeListSetting mode = new ModeListSetting("Тип", new BooleanSetting[]{new BooleanSetting("Использование по бинду", true), new BooleanSetting("Закрывать меню", true)});
    private final BindSetting fireKey = (new BindSetting("Кнопка взрывной штучки", -1)).setVisible(() -> {
        return (Boolean)this.mode.getValueByName("Использование по бинду").get();
    });
    private final BindSetting stanKey = (new BindSetting("Кнопка стана", -1)).setVisible(() -> {
        return (Boolean)this.mode.getValueByName("Использование по бинду").get();
    });
    private final BindSetting trapKey = (new BindSetting("Кнопка взрывной трапки", -1)).setVisible(() -> {
        return (Boolean)this.mode.getValueByName("Использование по бинду").get();
    });
    InventoryUtil.Hand handUtil = new InventoryUtil.Hand();
    long delay;
    boolean FireThrow;
    boolean trapThrow;
    boolean StanThrow;

    public HWHelper() {
        this.addSettings(new Setting[]{this.fireKey, this.trapKey, this.stanKey});
    }

    @Subscribe
    private void onKey(EventKey e) {
        if (e.getKey() == (Integer)this.fireKey.get()) {
            this.FireThrow = true;
        }

        if (e.getKey() == (Integer)this.stanKey.get()) {
            this.StanThrow = true;
        }

        if (e.getKey() == (Integer)this.trapKey.get()) {
            this.trapThrow = true;
        }

    }

    @Subscribe
    private void onUpdate(EventUpdate e) {
        int old;
        int invSlot;
        int hbSlot;
        if (this.FireThrow) {
            this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
            hbSlot = this.getItemForName("взрывная штучка", true);
            invSlot = this.getItemForName("взрывная штучка", false);
            if (invSlot == -1 && hbSlot == -1) {
                this.print("Взрывная штучка не найдена!");
                this.FireThrow = false;
                return;
            }

            if (!Minecraft.player.getCooldownTracker().hasCooldown(Items.FIRE_CHARGE)) {
                this.print("Заюзал взрывную штучку!");
                old = this.findAndTrowItem(hbSlot, invSlot);
                if (old > 8) {
                    GriefHelper.mc.playerController.pickItem(old);
                }
            }

            this.FireThrow = false;
        }

        int slot;
        if (this.StanThrow) {
            hbSlot = this.getItemForName("стан", true);
            invSlot = this.getItemForName("стан", true);
            if (invSlot == -1 && hbSlot == -1) {
                this.print("Стан не найден!");
                this.StanThrow = false;
                return;
            }

            if (!Minecraft.player.getCooldownTracker().hasCooldown(Items.NETHER_STAR)) {
                this.print("Заюзал стан!");
                old = Minecraft.player.inventory.currentItem;
                slot = this.findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    GriefHelper.mc.playerController.pickItem(slot);
                }

                if (InventoryUtil.findEmptySlot(true) != -1 && Minecraft.player.inventory.currentItem != old) {
                    Minecraft.player.inventory.currentItem = old;
                }
            }

            this.StanThrow = false;
        }

        if (this.trapThrow) {
            hbSlot = this.getItemForName("взрывная трапка", true);
            invSlot = this.getItemForName("взрывная трапка", false);
            if (invSlot == -1 && hbSlot == -1) {
                this.print("Взрывная трапка не найдена!");
                this.trapThrow = false;
                return;
            }

            if (!Minecraft.player.getCooldownTracker().hasCooldown(Items.PRISMARINE_SHARD)) {
                this.print("Заюзал взрывную трапку!");
                old = Minecraft.player.inventory.currentItem;
                slot = this.findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    GriefHelper.mc.playerController.pickItem(slot);
                }

                if (InventoryUtil.findEmptySlot(true) != -1 && Minecraft.player.inventory.currentItem != old) {
                    Minecraft.player.inventory.currentItem = old;
                }
            }

            this.trapThrow = false;
        }

        this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
    }

    @Subscribe
    private void onPacket(EventPacket e) {
        this.handUtil.onEventPacket(e);
    }

    private int findAndTrowItem(int hbSlot, int invSlot) {
        if (hbSlot != -1) {
            this.handUtil.setOriginalSlot(Minecraft.player.inventory.currentItem);
            Minecraft.player.connection.sendPacket(new CHeldItemChangePacket(hbSlot));
            Minecraft.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
            Minecraft.player.swingArm(Hand.MAIN_HAND);
            this.delay = System.currentTimeMillis();
            return hbSlot;
        } else if (invSlot != -1) {
            this.handUtil.setOriginalSlot(Minecraft.player.inventory.currentItem);
            GriefHelper.mc.playerController.pickItem(invSlot);
            Minecraft.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
            Minecraft.player.swingArm(Hand.MAIN_HAND);
            this.delay = System.currentTimeMillis();
            return invSlot;
        } else {
            return -1;
        }
    }

    public void onDisable() {
        this.FireThrow = false;
        this.trapThrow = false;
        this.delay = 0L;
        super.onDisable();
    }

    private int getItemForName(String name, boolean inHotBar) {
        int firstSlot = inHotBar ? 0 : 9;
        int lastSlot = inHotBar ? 9 : 36;

        for(int i = firstSlot; i < lastSlot; ++i) {
            ItemStack itemStack = Minecraft.player.inventory.getStackInSlot(i);
            String displayName;
            if (!(itemStack.getItem() instanceof AirItem) && (displayName = TextFormatting.getTextWithoutFormattingCodes(itemStack.getDisplayName().getString())) != null && displayName.toLowerCase().contains(name)) {
                return i;
            }
        }

        return -1;
    }
}
Тоже самое что и grief helper только с другими названиями предметов :roflanPominki:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вот вам простой HolyHelper
HWHelper.java:
Expand Collapse Copy
//
//
//
//

package im.expensive.functions.impl.misc;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventKey;
import im.expensive.events.EventPacket;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BindSetting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.utils.player.InventoryUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.item.AirItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.network.play.client.CPlayerTryUseItemPacket;
import net.minecraft.util.Hand;
import net.minecraft.util.text.TextFormatting;

@FunctionRegister(
        name = "HWHelper",
        type = Category.Misc,
)
public class HWHelper extends Function {
    private final ModeListSetting mode = new ModeListSetting("Тип", new BooleanSetting[]{new BooleanSetting("Использование по бинду", true), new BooleanSetting("Закрывать меню", true)});
    private final BindSetting fireKey = (new BindSetting("Кнопка взрывной штучки", -1)).setVisible(() -> {
        return (Boolean)this.mode.getValueByName("Использование по бинду").get();
    });
    private final BindSetting stanKey = (new BindSetting("Кнопка стана", -1)).setVisible(() -> {
        return (Boolean)this.mode.getValueByName("Использование по бинду").get();
    });
    private final BindSetting trapKey = (new BindSetting("Кнопка взрывной трапки", -1)).setVisible(() -> {
        return (Boolean)this.mode.getValueByName("Использование по бинду").get();
    });
    InventoryUtil.Hand handUtil = new InventoryUtil.Hand();
    long delay;
    boolean FireThrow;
    boolean trapThrow;
    boolean StanThrow;

    public HWHelper() {
        this.addSettings(new Setting[]{this.fireKey, this.trapKey, this.stanKey});
    }

    @Subscribe
    private void onKey(EventKey e) {
        if (e.getKey() == (Integer)this.fireKey.get()) {
            this.FireThrow = true;
        }

        if (e.getKey() == (Integer)this.stanKey.get()) {
            this.StanThrow = true;
        }

        if (e.getKey() == (Integer)this.trapKey.get()) {
            this.trapThrow = true;
        }

    }

    @Subscribe
    private void onUpdate(EventUpdate e) {
        int old;
        int invSlot;
        int hbSlot;
        if (this.FireThrow) {
            this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
            hbSlot = this.getItemForName("взрывная штучка", true);
            invSlot = this.getItemForName("взрывная штучка", false);
            if (invSlot == -1 && hbSlot == -1) {
                this.print("Взрывная штучка не найдена!");
                this.FireThrow = false;
                return;
            }

            if (!Minecraft.player.getCooldownTracker().hasCooldown(Items.FIRE_CHARGE)) {
                this.print("Заюзал взрывную штучку!");
                old = this.findAndTrowItem(hbSlot, invSlot);
                if (old > 8) {
                    GriefHelper.mc.playerController.pickItem(old);
                }
            }

            this.FireThrow = false;
        }

        int slot;
        if (this.StanThrow) {
            hbSlot = this.getItemForName("стан", true);
            invSlot = this.getItemForName("стан", true);
            if (invSlot == -1 && hbSlot == -1) {
                this.print("Стан не найден!");
                this.StanThrow = false;
                return;
            }

            if (!Minecraft.player.getCooldownTracker().hasCooldown(Items.NETHER_STAR)) {
                this.print("Заюзал стан!");
                old = Minecraft.player.inventory.currentItem;
                slot = this.findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    GriefHelper.mc.playerController.pickItem(slot);
                }

                if (InventoryUtil.findEmptySlot(true) != -1 && Minecraft.player.inventory.currentItem != old) {
                    Minecraft.player.inventory.currentItem = old;
                }
            }

            this.StanThrow = false;
        }

        if (this.trapThrow) {
            hbSlot = this.getItemForName("взрывная трапка", true);
            invSlot = this.getItemForName("взрывная трапка", false);
            if (invSlot == -1 && hbSlot == -1) {
                this.print("Взрывная трапка не найдена!");
                this.trapThrow = false;
                return;
            }

            if (!Minecraft.player.getCooldownTracker().hasCooldown(Items.PRISMARINE_SHARD)) {
                this.print("Заюзал взрывную трапку!");
                old = Minecraft.player.inventory.currentItem;
                slot = this.findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    GriefHelper.mc.playerController.pickItem(slot);
                }

                if (InventoryUtil.findEmptySlot(true) != -1 && Minecraft.player.inventory.currentItem != old) {
                    Minecraft.player.inventory.currentItem = old;
                }
            }

            this.trapThrow = false;
        }

        this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
    }

    @Subscribe
    private void onPacket(EventPacket e) {
        this.handUtil.onEventPacket(e);
    }

    private int findAndTrowItem(int hbSlot, int invSlot) {
        if (hbSlot != -1) {
            this.handUtil.setOriginalSlot(Minecraft.player.inventory.currentItem);
            Minecraft.player.connection.sendPacket(new CHeldItemChangePacket(hbSlot));
            Minecraft.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
            Minecraft.player.swingArm(Hand.MAIN_HAND);
            this.delay = System.currentTimeMillis();
            return hbSlot;
        } else if (invSlot != -1) {
            this.handUtil.setOriginalSlot(Minecraft.player.inventory.currentItem);
            GriefHelper.mc.playerController.pickItem(invSlot);
            Minecraft.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
            Minecraft.player.swingArm(Hand.MAIN_HAND);
            this.delay = System.currentTimeMillis();
            return invSlot;
        } else {
            return -1;
        }
    }

    public void onDisable() {
        this.FireThrow = false;
        this.trapThrow = false;
        this.delay = 0L;
        super.onDisable();
    }

    private int getItemForName(String name, boolean inHotBar) {
        int firstSlot = inHotBar ? 0 : 9;
        int lastSlot = inHotBar ? 9 : 36;

        for(int i = firstSlot; i < lastSlot; ++i) {
            ItemStack itemStack = Minecraft.player.inventory.getStackInSlot(i);
            String displayName;
            if (!(itemStack.getItem() instanceof AirItem) && (displayName = TextFormatting.getTextWithoutFormattingCodes(itemStack.getDisplayName().getString())) != null && displayName.toLowerCase().contains(name)) {
                return i;
            }
        }

        return -1;
    }
}
Java:
Expand Collapse Copy
package fun.ellant.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import fun.ellant.events.EventKey;
import fun.ellant.events.EventPacket;
import fun.ellant.events.EventUpdate;
import fun.ellant.functions.api.Category;
import fun.ellant.functions.api.Function;
import fun.ellant.functions.api.FunctionRegister;
import fun.ellant.functions.settings.impl.BindSetting;
import fun.ellant.functions.settings.impl.BooleanSetting;
import fun.ellant.functions.settings.impl.ModeListSetting;
import fun.ellant.utils.math.StopWatch;
import fun.ellant.utils.player.InventoryUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.item.AirItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.network.play.client.CPlayerTryUseItemPacket;
import net.minecraft.network.play.server.SChatPacket;
import net.minecraft.util.Hand;
import net.minecraft.util.text.TextFormatting;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

@FunctionRegister(name = "HWHelper", type = Category.PLAYER, desc = "Юзает по нажатию кнопки предмет")
public class GriefHelper2 extends Function {

    private final ModeListSetting mode = new ModeListSetting("Тип",
            new BooleanSetting("Использование по бинду", true));

    private final BindSetting stanKey = new BindSetting("Кнопка стана", -1)
            .setVisible(() -> mode.getValueByName("Использование по бинду").get());
    private final BindSetting opitKey = new BindSetting("Кнопка пузыря опыта", -1)
            .setVisible(() -> mode.getValueByName("Использование по бинду").get());
    private final BindSetting vzrivtrapKey = new BindSetting("Кнопка взрывной трапки", -1)
            .setVisible(() -> mode.getValueByName("Использование по бинду").get());
    private final BindSetting flamepalkaKey = new BindSetting("Кнопка взрывной палочки", -1)
            .setVisible(() -> mode.getValueByName("Использование по бинду").get());
    private final BindSetting serkaKey = new BindSetting("Кнопка молочного зелья", -1)
            .setVisible(() -> mode.getValueByName("Использование по бинду").get());

    final StopWatch stopWatch = new StopWatch();
    InventoryUtil.Hand handUtil = new InventoryUtil.Hand();
    long delay;
    boolean stanThrow, opitThrow, vzrivtrapkaThrow, flamepalkaThrow, serkaThrow;

    public GriefHelper2() {
        addSettings(mode, stanKey, opitKey, vzrivtrapKey, flamepalkaKey, serkaKey);
    }

    @Subscribe
    private void onKey(EventKey e) {
        if (e.getKey() == stanKey.get()) {
            stanThrow = true;
        }
        if (e.getKey() == opitKey.get()) {
            opitThrow = true;
        }
        if (e.getKey() == vzrivtrapKey.get()) {
            vzrivtrapkaThrow = true;
        }
        if (e.getKey() == flamepalkaKey.get()) {
            flamepalkaThrow = true;
        }
        if (e.getKey() == serkaKey.get()) {
            serkaThrow = true;
        }
    }

    @Subscribe
    private void onUpdate(EventUpdate e) {
        if (stanThrow) {
            this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
            int hbSlot = getItemForName("оглушение", true);
            int invSlot = getItemForName("оглушение", false);

            if (invSlot == -1 && hbSlot == -1) {
                print("Стан не найден!");
                stanThrow = false;
                return;
            }

            if (!mc.player.getCooldownTracker().hasCooldown(Items.NETHER_STAR)) {
                print("Использовал стан!");
                int slot = findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    mc.playerController.pickItem(slot);
                }
            }
            stanThrow = false;
        }
        if (opitThrow) {
            this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
            int hbSlot = getItemForName("пузырь опыта", true);
            int invSlot = getItemForName("пузырь опыта", false);

            if (invSlot == -1 && hbSlot == -1) {
                print("Пузырь опыта не найден!");
                opitThrow = false;
                return;
            }

            if (!mc.player.getCooldownTracker().hasCooldown(Items.EXPERIENCE_BOTTLE)) {
                print("Использовал пузырь с опытом!");
                int slot = findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    mc.playerController.pickItem(slot);
                }
            }
            opitThrow = false;
        }
        if (vzrivtrapkaThrow) {
            this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
            int hbSlot = getItemForName("взрывная трапка", true);
            int invSlot = getItemForName("взрывная трапка", false);

            if (invSlot == -1 && hbSlot == -1) {
                print("Взрывная трапка не найдена!");
                vzrivtrapkaThrow = false;
                return;
            }

            if (!mc.player.getCooldownTracker().hasCooldown(Items.PRISMARINE_SHARD)) {
                print("Заюзал взрывную трапку!");
                int slot = findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    mc.playerController.pickItem(slot);
                }
            }
            vzrivtrapkaThrow = false;
        }
        if (flamepalkaThrow) {
            // САЛАТ СПАСАЙ
            int hbSlot = getItemForName("взрывная палочка", true); // мега поиск ящика
            int invSlot = getItemForName("взрывная палочка", false); // мега поиск ящика


            if (invSlot == -1 && hbSlot == -1) {
                print("Взрыв. палка не найдена!");
                flamepalkaThrow = false;
                return;
            }

            if (!mc.player.getCooldownTracker().hasCooldown(Items.BLAZE_ROD)) {
                print("Использовал взрывную палочку!");
                int old = mc.player.inventory.currentItem;

                int slot = findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    mc.playerController.pickItem(slot);
                }
                if (InventoryUtil.findEmptySlot(true) != -1 && mc.player.inventory.currentItem != old) {
                    mc.player.inventory.currentItem = old;
                }
            }
            flamepalkaThrow = false;
        }
        if (serkaThrow) {
            int hbSlot = getItemForName("молочно", true);
            int invSlot = getItemForName("молочно", false);

            if (invSlot == -1 && hbSlot == -1) {
                print("Молочное зелье не найдено");
                serkaThrow = false;
                return;
            }


            if (!mc.player.getCooldownTracker().hasCooldown(Items.SPLASH_POTION)) {
                print("Использовал молочное зелье!");
                int old = mc.player.inventory.currentItem;

                int slot = findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    mc.playerController.pickItem(slot);
                }
                if (InventoryUtil.findEmptySlot(true) != -1 && mc.player.inventory.currentItem != old) {
                    mc.player.inventory.currentItem = old;
                }
            }
            serkaThrow = false;
        }
        this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
    }


    private int findAndTrowItem(int hbSlot, int invSlot) {
        if (hbSlot != -1) {
            this.handUtil.setOriginalSlot(mc.player.inventory.currentItem);
            mc.player.connection.sendPacket(new CHeldItemChangePacket(hbSlot));
            mc.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
            mc.player.swingArm(Hand.MAIN_HAND);
            this.delay = System.currentTimeMillis();
            return hbSlot;
        }
        if (invSlot != -1) {
            handUtil.setOriginalSlot(mc.player.inventory.currentItem);
            mc.playerController.pickItem(invSlot);
            mc.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
            mc.player.swingArm(Hand.MAIN_HAND);
            this.delay = System.currentTimeMillis();
            return invSlot;
        }
        return -1;
    }

    @Override
    public void onDisable() {
        flamepalkaThrow = false;
        vzrivtrapkaThrow = false;
        opitThrow = false;
        stanThrow = false;
        serkaThrow = false;
        delay = 0;
        super.onDisable();
    }

    private int getItemForName(String name, boolean inHotBar) {
        int firstSlot = inHotBar ? 0 : 9;
        int lastSlot = inHotBar ? 9 : 36;
        for (int i = firstSlot; i < lastSlot; i++) {
            ItemStack itemStack = mc.player.inventory.getStackInSlot(i);

            if (itemStack.getItem() instanceof AirItem) {
                continue;
            }

            String displayName = TextFormatting.getTextWithoutFormattingCodes(itemStack.getDisplayName().getString());
            if (displayName != null && displayName.toLowerCase().contains(name)) {
                return i;
            }
        }
        return -1;
    }
}

Эхх, так сложно добавить пару предметов..
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
лол, а зачем вообще тут нужен onUpdate? Что мешало сделать все в ивенте нажатия клавиши?
 
Java:
Expand Collapse Copy
package fun.ellant.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import fun.ellant.events.EventKey;
import fun.ellant.events.EventPacket;
import fun.ellant.events.EventUpdate;
import fun.ellant.functions.api.Category;
import fun.ellant.functions.api.Function;
import fun.ellant.functions.api.FunctionRegister;
import fun.ellant.functions.settings.impl.BindSetting;
import fun.ellant.functions.settings.impl.BooleanSetting;
import fun.ellant.functions.settings.impl.ModeListSetting;
import fun.ellant.utils.math.StopWatch;
import fun.ellant.utils.player.InventoryUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.item.AirItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.network.play.client.CPlayerTryUseItemPacket;
import net.minecraft.network.play.server.SChatPacket;
import net.minecraft.util.Hand;
import net.minecraft.util.text.TextFormatting;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

@FunctionRegister(name = "HWHelper", type = Category.PLAYER, desc = "Юзает по нажатию кнопки предмет")
public class GriefHelper2 extends Function {

    private final ModeListSetting mode = new ModeListSetting("Тип",
            new BooleanSetting("Использование по бинду", true));

    private final BindSetting stanKey = new BindSetting("Кнопка стана", -1)
            .setVisible(() -> mode.getValueByName("Использование по бинду").get());
    private final BindSetting opitKey = new BindSetting("Кнопка пузыря опыта", -1)
            .setVisible(() -> mode.getValueByName("Использование по бинду").get());
    private final BindSetting vzrivtrapKey = new BindSetting("Кнопка взрывной трапки", -1)
            .setVisible(() -> mode.getValueByName("Использование по бинду").get());
    private final BindSetting flamepalkaKey = new BindSetting("Кнопка взрывной палочки", -1)
            .setVisible(() -> mode.getValueByName("Использование по бинду").get());
    private final BindSetting serkaKey = new BindSetting("Кнопка молочного зелья", -1)
            .setVisible(() -> mode.getValueByName("Использование по бинду").get());

    final StopWatch stopWatch = new StopWatch();
    InventoryUtil.Hand handUtil = new InventoryUtil.Hand();
    long delay;
    boolean stanThrow, opitThrow, vzrivtrapkaThrow, flamepalkaThrow, serkaThrow;

    public GriefHelper2() {
        addSettings(mode, stanKey, opitKey, vzrivtrapKey, flamepalkaKey, serkaKey);
    }

    @Subscribe
    private void onKey(EventKey e) {
        if (e.getKey() == stanKey.get()) {
            stanThrow = true;
        }
        if (e.getKey() == opitKey.get()) {
            opitThrow = true;
        }
        if (e.getKey() == vzrivtrapKey.get()) {
            vzrivtrapkaThrow = true;
        }
        if (e.getKey() == flamepalkaKey.get()) {
            flamepalkaThrow = true;
        }
        if (e.getKey() == serkaKey.get()) {
            serkaThrow = true;
        }
    }

    @Subscribe
    private void onUpdate(EventUpdate e) {
        if (stanThrow) {
            this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
            int hbSlot = getItemForName("оглушение", true);
            int invSlot = getItemForName("оглушение", false);

            if (invSlot == -1 && hbSlot == -1) {
                print("Стан не найден!");
                stanThrow = false;
                return;
            }

            if (!mc.player.getCooldownTracker().hasCooldown(Items.NETHER_STAR)) {
                print("Использовал стан!");
                int slot = findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    mc.playerController.pickItem(slot);
                }
            }
            stanThrow = false;
        }
        if (opitThrow) {
            this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
            int hbSlot = getItemForName("пузырь опыта", true);
            int invSlot = getItemForName("пузырь опыта", false);

            if (invSlot == -1 && hbSlot == -1) {
                print("Пузырь опыта не найден!");
                opitThrow = false;
                return;
            }

            if (!mc.player.getCooldownTracker().hasCooldown(Items.EXPERIENCE_BOTTLE)) {
                print("Использовал пузырь с опытом!");
                int slot = findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    mc.playerController.pickItem(slot);
                }
            }
            opitThrow = false;
        }
        if (vzrivtrapkaThrow) {
            this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
            int hbSlot = getItemForName("взрывная трапка", true);
            int invSlot = getItemForName("взрывная трапка", false);

            if (invSlot == -1 && hbSlot == -1) {
                print("Взрывная трапка не найдена!");
                vzrivtrapkaThrow = false;
                return;
            }

            if (!mc.player.getCooldownTracker().hasCooldown(Items.PRISMARINE_SHARD)) {
                print("Заюзал взрывную трапку!");
                int slot = findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    mc.playerController.pickItem(slot);
                }
            }
            vzrivtrapkaThrow = false;
        }
        if (flamepalkaThrow) {
            // САЛАТ СПАСАЙ
            int hbSlot = getItemForName("взрывная палочка", true); // мега поиск ящика
            int invSlot = getItemForName("взрывная палочка", false); // мега поиск ящика


            if (invSlot == -1 && hbSlot == -1) {
                print("Взрыв. палка не найдена!");
                flamepalkaThrow = false;
                return;
            }

            if (!mc.player.getCooldownTracker().hasCooldown(Items.BLAZE_ROD)) {
                print("Использовал взрывную палочку!");
                int old = mc.player.inventory.currentItem;

                int slot = findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    mc.playerController.pickItem(slot);
                }
                if (InventoryUtil.findEmptySlot(true) != -1 && mc.player.inventory.currentItem != old) {
                    mc.player.inventory.currentItem = old;
                }
            }
            flamepalkaThrow = false;
        }
        if (serkaThrow) {
            int hbSlot = getItemForName("молочно", true);
            int invSlot = getItemForName("молочно", false);

            if (invSlot == -1 && hbSlot == -1) {
                print("Молочное зелье не найдено");
                serkaThrow = false;
                return;
            }


            if (!mc.player.getCooldownTracker().hasCooldown(Items.SPLASH_POTION)) {
                print("Использовал молочное зелье!");
                int old = mc.player.inventory.currentItem;

                int slot = findAndTrowItem(hbSlot, invSlot);
                if (slot > 8) {
                    mc.playerController.pickItem(slot);
                }
                if (InventoryUtil.findEmptySlot(true) != -1 && mc.player.inventory.currentItem != old) {
                    mc.player.inventory.currentItem = old;
                }
            }
            serkaThrow = false;
        }
        this.handUtil.handleItemChange(System.currentTimeMillis() - this.delay > 200L);
    }


    private int findAndTrowItem(int hbSlot, int invSlot) {
        if (hbSlot != -1) {
            this.handUtil.setOriginalSlot(mc.player.inventory.currentItem);
            mc.player.connection.sendPacket(new CHeldItemChangePacket(hbSlot));
            mc.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
            mc.player.swingArm(Hand.MAIN_HAND);
            this.delay = System.currentTimeMillis();
            return hbSlot;
        }
        if (invSlot != -1) {
            handUtil.setOriginalSlot(mc.player.inventory.currentItem);
            mc.playerController.pickItem(invSlot);
            mc.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
            mc.player.swingArm(Hand.MAIN_HAND);
            this.delay = System.currentTimeMillis();
            return invSlot;
        }
        return -1;
    }

    @Override
    public void onDisable() {
        flamepalkaThrow = false;
        vzrivtrapkaThrow = false;
        opitThrow = false;
        stanThrow = false;
        serkaThrow = false;
        delay = 0;
        super.onDisable();
    }

    private int getItemForName(String name, boolean inHotBar) {
        int firstSlot = inHotBar ? 0 : 9;
        int lastSlot = inHotBar ? 9 : 36;
        for (int i = firstSlot; i < lastSlot; i++) {
            ItemStack itemStack = mc.player.inventory.getStackInSlot(i);

            if (itemStack.getItem() instanceof AirItem) {
                continue;
            }

            String displayName = TextFormatting.getTextWithoutFormattingCodes(itemStack.getDisplayName().getString());
            if (displayName != null && displayName.toLowerCase().contains(name)) {
                return i;
            }
        }
        return -1;
    }
}

Эхх, так сложно добавить пару предметов..
Я самое нужное добавил только
 
Назад
Сверху Снизу