Исходник AutoBuy Shalker | exp 3.1

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

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

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

Спасибо!

Сливаю вам авто бай на шалкера написанный очень быстро!
Пожалуйста, авторизуйтесь для просмотра ссылки.

Java:
package im.nukem.ui.ab.logic;

import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import im.nukem.ui.ab.model.IItem;
import im.nukem.utils.client.IMinecraft;
import im.nukem.utils.math.StopWatch;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.inventory.ChestScreen;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.network.play.client.CClickWindowPacket;

import java.util.List;
import java.util.Map;

public class AuctionLogic implements IMinecraft {
    private final ActivationLogic parent;
    private final Minecraft mc;
    final StopWatch refreshStopWatch = new StopWatch();
    final StopWatch buyStopWatch = new StopWatch();
    final StopWatch leaveAuctionStopWatch = new StopWatch();
    final StopWatch returnAuctionStopWatch = new StopWatch();
    private int itemsBoughtCount = 0;

    boolean leave, returnAuc;

    public AuctionLogic(ActivationLogic parent) {
        this.parent = parent;
        this.mc = Minecraft.getInstance();
    }

    public void processActive() {
        if (mc.currentScreen instanceof ChestScreen chestScreen) {
            processBuy(chestScreen);
            returnToAuction();
        }
    }


    public void processBuy(ChestScreen chestScreen) {
        Container container = chestScreen.getContainer();

        if (chestScreen.getTitle().getString().toLowerCase().contains("подозрительная цена!")) {
            mc.playerController.windowClick(container.windowId, 10, 0, ClickType.PICKUP, mc.player);
        }
        if (chestScreen.getTitle().getString().contains("Аукцион") || chestScreen.getTitle().getString().contains("Поиск:") ||  chestScreen.getTitle().getString().contains("Хра")) {
            auctionBotLogic(container, chestScreen);
        }
    }

    public void auctionBotLogic(Container container, ChestScreen chestScreen) {
        for (Slot slot : container.inventorySlots) {
            processAuctionSlot(chestScreen, slot);
        }
    }

    public void processAuctionSlot(ChestScreen chestScreen, Slot slot) {
        Container container = chestScreen.getContainer();
        if (parent.itemStorage == null) return;
        long currentTime = System.currentTimeMillis();

        List<IItem> items = parent.itemStorage.getItems();
        for (IItem item : items) {
            int targetPrice = item.getPrice();
            int currentPrice = extractPriceFromStack(slot.getStack());

            boolean itemIsFound = currentPrice != -1 && currentPrice <= targetPrice && isItemWasFound(item, slot);

            if (parent.itemList.contains(slot.getStack()) || slot.slotNumber > 48) {
                continue;
            }

            if (itemIsFound) {
                refreshStopWatch.reset();
                if (!checkItem(item, slot.getStack())) {
                    continue;
                }

                String sellerName = extractPidorFromStack(slot.getStack());

                if (!sellerName.isEmpty()) {
                    buyItem(container, slot, currentTime);
                }
            }
        }
        if (refreshStopWatch.isReached(50)) {
            refreshAuction(container, currentTime);
            refreshStopWatch.reset();
        }
    }

    protected void refreshAuction(Container container, long currentTime) {
        if (refreshStopWatch.isReached(50)){
            silentClick(container, 46, ClickType.QUICK_MOVE);
            lastClickTime = currentTime;
            refreshStopWatch.reset();
        }
    }

    private long lastClickTime = System.currentTimeMillis();

    protected void buyItem(Container container, Slot slot, long currentTime) {

            mc.playerController.windowClick(container.windowId, slot.slotNumber, 1, ClickType.THROW, mc.player);
            lastClickTime = currentTime;
        }
    protected void returnToAuction() {
        if (returnAuctionStopWatch.isReached(350)) {
            if (!(mc.currentScreen instanceof ChestScreen)) {
            } else {
                mc.player.sendChatMessage("/ah");
            }
            returnAuctionStopWatch.reset();
        }
    }

    protected boolean checkItem(IItem item, ItemStack stack) {
        boolean don = stack.getTag() != null && stack.getTag().contains("don-item");

        if (stack.getCount() < item.getQuantity()) {
            return false;
        }

        if (!item.getEnchantments().isEmpty()) {
            for (Map.Entry<Enchantment, Integer> enchantmentEntry : EnchantmentHelper.getEnchantments(stack).entrySet()) {
                Enchantment enchantment = enchantmentEntry.getKey();
                Integer enchantmentValue = enchantmentEntry.getValue();
                if (enchantmentValue == null || item.getEnchantments().get(enchantment) == null) {
                    return false;
                }
                if (item.getEnchantments().get(enchantment) <= enchantmentValue) {
                    return true;
                }
            }
            return false;
        }
        return true;
    }


    private void silentClick(Container container, int slot, ClickType clickType) {
        short short1 = container.getNextTransactionID(mc.player.inventory);
        ItemStack itemstack = mc.player.inventory.getStackInSlot(slot);

        mc.player.connection.sendPacket(new CClickWindowPacket(mc.player.openContainer.windowId, slot, 0, clickType, itemstack, short1));
    }

    private boolean isItemWasFound(IItem item, Slot slot) {
        return item.getItem() == slot.getStack().getItem();
    }

    protected int extractPriceFromStack(ItemStack stack) {
        CompoundNBT tag = stack.getTag();

        if (tag != null && tag.contains("display", 10)) {
            CompoundNBT display = tag.getCompound("display");

            if (display.contains("Lore", 9)) {
                ListNBT lore = display.getList("Lore", 8);

                for (int j = 0; j < lore.size(); ++j) {
                    JsonObject object = JsonParser.parseString(lore.getString(j)).getAsJsonObject();

                    if (object.has("extra")) {
                        JsonArray array = object.getAsJsonArray("extra");

                        if (array.size() > 2) {
                            JsonObject title = array.get(1).getAsJsonObject();

                            if (title.get("text").getAsString().trim().toLowerCase().contains("ценa")) {
                                String line = array.get(2).getAsJsonObject().get("text").getAsString().trim().substring(1).replaceAll(" ", "");

                                return Integer.parseInt(line);
                            }
                        }
                    }
                }
            }
        }

        return -1;
    }

    protected String extractPidorFromStack(ItemStack stack) {
        CompoundNBT tag = stack.getTag();

        if (tag != null && tag.contains("display", 10)) {
            CompoundNBT display = tag.getCompound("display");

            if (display.contains("Lore", 9)) {
                ListNBT lore = display.getList("Lore", 8);

                for (int j = 0; j < lore.size(); ++j) {
                    JsonObject object = JsonParser.parseString(lore.getString(j)).getAsJsonObject();

                    if (object.has("extra")) {
                        JsonArray array = object.getAsJsonArray("extra");

                        if (array.size() > 2) {
                            JsonObject title = array.get(1).getAsJsonObject();

                            if (title.get("text").getAsString().trim().toLowerCase().startsWith("прoдaвeц")) {
                                return array.get(2).getAsJsonObject().get("text").getAsString().trim().replaceAll(" ", "");
                            }
                        }
                    }
                }
            }
        }

        return "";
    }

}
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
5 Июл 2024
Сообщения
124
Реакции[?]
0
Поинты[?]
0
Сливаю вам авто бай на шалкера написанный очень быстро!
Java:
package im.nukem.ui.ab.logic;

import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import im.nukem.ui.ab.model.IItem;
import im.nukem.utils.client.IMinecraft;
import im.nukem.utils.math.StopWatch;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.inventory.ChestScreen;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.network.play.client.CClickWindowPacket;

import java.util.List;
import java.util.Map;

public class AuctionLogic implements IMinecraft {
    private final ActivationLogic parent;
    private final Minecraft mc;
    final StopWatch refreshStopWatch = new StopWatch();
    final StopWatch buyStopWatch = new StopWatch();
    final StopWatch leaveAuctionStopWatch = new StopWatch();
    final StopWatch returnAuctionStopWatch = new StopWatch();
    private int itemsBoughtCount = 0;

    boolean leave, returnAuc;

    public AuctionLogic(ActivationLogic parent) {
        this.parent = parent;
        this.mc = Minecraft.getInstance();
    }

    public void processActive() {
        if (mc.currentScreen instanceof ChestScreen chestScreen) {
            processBuy(chestScreen);
            returnToAuction();
        }
    }


    public void processBuy(ChestScreen chestScreen) {
        Container container = chestScreen.getContainer();

        if (chestScreen.getTitle().getString().toLowerCase().contains("подозрительная цена!")) {
            mc.playerController.windowClick(container.windowId, 10, 0, ClickType.PICKUP, mc.player);
        }
        if (chestScreen.getTitle().getString().contains("Аукцион") || chestScreen.getTitle().getString().contains("Поиск:") ||  chestScreen.getTitle().getString().contains("Хра")) {
            auctionBotLogic(container, chestScreen);
        }
    }

    public void auctionBotLogic(Container container, ChestScreen chestScreen) {
        for (Slot slot : container.inventorySlots) {
            processAuctionSlot(chestScreen, slot);
        }
    }

    public void processAuctionSlot(ChestScreen chestScreen, Slot slot) {
        Container container = chestScreen.getContainer();
        if (parent.itemStorage == null) return;
        long currentTime = System.currentTimeMillis();

        List<IItem> items = parent.itemStorage.getItems();
        for (IItem item : items) {
            int targetPrice = item.getPrice();
            int currentPrice = extractPriceFromStack(slot.getStack());

            boolean itemIsFound = currentPrice != -1 && currentPrice <= targetPrice && isItemWasFound(item, slot);

            if (parent.itemList.contains(slot.getStack()) || slot.slotNumber > 48) {
                continue;
            }

            if (itemIsFound) {
                refreshStopWatch.reset();
                if (!checkItem(item, slot.getStack())) {
                    continue;
                }

                String sellerName = extractPidorFromStack(slot.getStack());

                if (!sellerName.isEmpty()) {
                    buyItem(container, slot, currentTime);
                }
            }
        }
        if (refreshStopWatch.isReached(50)) {
            refreshAuction(container, currentTime);
            refreshStopWatch.reset();
        }
    }

    protected void refreshAuction(Container container, long currentTime) {
        if (refreshStopWatch.isReached(50)){
            silentClick(container, 46, ClickType.QUICK_MOVE);
            lastClickTime = currentTime;
            refreshStopWatch.reset();
        }
    }

    private long lastClickTime = System.currentTimeMillis();

    protected void buyItem(Container container, Slot slot, long currentTime) {

            mc.playerController.windowClick(container.windowId, slot.slotNumber, 1, ClickType.THROW, mc.player);
            lastClickTime = currentTime;
        }
    protected void returnToAuction() {
        if (returnAuctionStopWatch.isReached(350)) {
            if (!(mc.currentScreen instanceof ChestScreen)) {
            } else {
                mc.player.sendChatMessage("/ah");
            }
            returnAuctionStopWatch.reset();
        }
    }

    protected boolean checkItem(IItem item, ItemStack stack) {
        boolean don = stack.getTag() != null && stack.getTag().contains("don-item");

        if (stack.getCount() < item.getQuantity()) {
            return false;
        }

        if (!item.getEnchantments().isEmpty()) {
            for (Map.Entry<Enchantment, Integer> enchantmentEntry : EnchantmentHelper.getEnchantments(stack).entrySet()) {
                Enchantment enchantment = enchantmentEntry.getKey();
                Integer enchantmentValue = enchantmentEntry.getValue();
                if (enchantmentValue == null || item.getEnchantments().get(enchantment) == null) {
                    return false;
                }
                if (item.getEnchantments().get(enchantment) <= enchantmentValue) {
                    return true;
                }
            }
            return false;
        }
        return true;
    }


    private void silentClick(Container container, int slot, ClickType clickType) {
        short short1 = container.getNextTransactionID(mc.player.inventory);
        ItemStack itemstack = mc.player.inventory.getStackInSlot(slot);

        mc.player.connection.sendPacket(new CClickWindowPacket(mc.player.openContainer.windowId, slot, 0, clickType, itemstack, short1));
    }

    private boolean isItemWasFound(IItem item, Slot slot) {
        return item.getItem() == slot.getStack().getItem();
    }

    protected int extractPriceFromStack(ItemStack stack) {
        CompoundNBT tag = stack.getTag();

        if (tag != null && tag.contains("display", 10)) {
            CompoundNBT display = tag.getCompound("display");

            if (display.contains("Lore", 9)) {
                ListNBT lore = display.getList("Lore", 8);

                for (int j = 0; j < lore.size(); ++j) {
                    JsonObject object = JsonParser.parseString(lore.getString(j)).getAsJsonObject();

                    if (object.has("extra")) {
                        JsonArray array = object.getAsJsonArray("extra");

                        if (array.size() > 2) {
                            JsonObject title = array.get(1).getAsJsonObject();

                            if (title.get("text").getAsString().trim().toLowerCase().contains("ценa")) {
                                String line = array.get(2).getAsJsonObject().get("text").getAsString().trim().substring(1).replaceAll(" ", "");

                                return Integer.parseInt(line);
                            }
                        }
                    }
                }
            }
        }

        return -1;
    }

    protected String extractPidorFromStack(ItemStack stack) {
        CompoundNBT tag = stack.getTag();

        if (tag != null && tag.contains("display", 10)) {
            CompoundNBT display = tag.getCompound("display");

            if (display.contains("Lore", 9)) {
                ListNBT lore = display.getList("Lore", 8);

                for (int j = 0; j < lore.size(); ++j) {
                    JsonObject object = JsonParser.parseString(lore.getString(j)).getAsJsonObject();

                    if (object.has("extra")) {
                        JsonArray array = object.getAsJsonArray("extra");

                        if (array.size() > 2) {
                            JsonObject title = array.get(1).getAsJsonObject();

                            if (title.get("text").getAsString().trim().toLowerCase().startsWith("прoдaвeц")) {
                                return array.get(2).getAsJsonObject().get("text").getAsString().trim().replaceAll(" ", "");
                            }
                        }
                    }
                }
            }
        }

        return "";
    }

}
хуйня
Сливаю вам авто бай на шалкера написанный очень быстро!
Java:
package im.nukem.ui.ab.logic;

import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import im.nukem.ui.ab.model.IItem;
import im.nukem.utils.client.IMinecraft;
import im.nukem.utils.math.StopWatch;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.inventory.ChestScreen;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.network.play.client.CClickWindowPacket;

import java.util.List;
import java.util.Map;

public class AuctionLogic implements IMinecraft {
    private final ActivationLogic parent;
    private final Minecraft mc;
    final StopWatch refreshStopWatch = new StopWatch();
    final StopWatch buyStopWatch = new StopWatch();
    final StopWatch leaveAuctionStopWatch = new StopWatch();
    final StopWatch returnAuctionStopWatch = new StopWatch();
    private int itemsBoughtCount = 0;

    boolean leave, returnAuc;

    public AuctionLogic(ActivationLogic parent) {
        this.parent = parent;
        this.mc = Minecraft.getInstance();
    }

    public void processActive() {
        if (mc.currentScreen instanceof ChestScreen chestScreen) {
            processBuy(chestScreen);
            returnToAuction();
        }
    }


    public void processBuy(ChestScreen chestScreen) {
        Container container = chestScreen.getContainer();

        if (chestScreen.getTitle().getString().toLowerCase().contains("подозрительная цена!")) {
            mc.playerController.windowClick(container.windowId, 10, 0, ClickType.PICKUP, mc.player);
        }
        if (chestScreen.getTitle().getString().contains("Аукцион") || chestScreen.getTitle().getString().contains("Поиск:") ||  chestScreen.getTitle().getString().contains("Хра")) {
            auctionBotLogic(container, chestScreen);
        }
    }

    public void auctionBotLogic(Container container, ChestScreen chestScreen) {
        for (Slot slot : container.inventorySlots) {
            processAuctionSlot(chestScreen, slot);
        }
    }

    public void processAuctionSlot(ChestScreen chestScreen, Slot slot) {
        Container container = chestScreen.getContainer();
        if (parent.itemStorage == null) return;
        long currentTime = System.currentTimeMillis();

        List<IItem> items = parent.itemStorage.getItems();
        for (IItem item : items) {
            int targetPrice = item.getPrice();
            int currentPrice = extractPriceFromStack(slot.getStack());

            boolean itemIsFound = currentPrice != -1 && currentPrice <= targetPrice && isItemWasFound(item, slot);

            if (parent.itemList.contains(slot.getStack()) || slot.slotNumber > 48) {
                continue;
            }

            if (itemIsFound) {
                refreshStopWatch.reset();
                if (!checkItem(item, slot.getStack())) {
                    continue;
                }

                String sellerName = extractPidorFromStack(slot.getStack());

                if (!sellerName.isEmpty()) {
                    buyItem(container, slot, currentTime);
                }
            }
        }
        if (refreshStopWatch.isReached(50)) {
            refreshAuction(container, currentTime);
            refreshStopWatch.reset();
        }
    }

    protected void refreshAuction(Container container, long currentTime) {
        if (refreshStopWatch.isReached(50)){
            silentClick(container, 46, ClickType.QUICK_MOVE);
            lastClickTime = currentTime;
            refreshStopWatch.reset();
        }
    }

    private long lastClickTime = System.currentTimeMillis();

    protected void buyItem(Container container, Slot slot, long currentTime) {

            mc.playerController.windowClick(container.windowId, slot.slotNumber, 1, ClickType.THROW, mc.player);
            lastClickTime = currentTime;
        }
    protected void returnToAuction() {
        if (returnAuctionStopWatch.isReached(350)) {
            if (!(mc.currentScreen instanceof ChestScreen)) {
            } else {
                mc.player.sendChatMessage("/ah");
            }
            returnAuctionStopWatch.reset();
        }
    }

    protected boolean checkItem(IItem item, ItemStack stack) {
        boolean don = stack.getTag() != null && stack.getTag().contains("don-item");

        if (stack.getCount() < item.getQuantity()) {
            return false;
        }

        if (!item.getEnchantments().isEmpty()) {
            for (Map.Entry<Enchantment, Integer> enchantmentEntry : EnchantmentHelper.getEnchantments(stack).entrySet()) {
                Enchantment enchantment = enchantmentEntry.getKey();
                Integer enchantmentValue = enchantmentEntry.getValue();
                if (enchantmentValue == null || item.getEnchantments().get(enchantment) == null) {
                    return false;
                }
                if (item.getEnchantments().get(enchantment) <= enchantmentValue) {
                    return true;
                }
            }
            return false;
        }
        return true;
    }


    private void silentClick(Container container, int slot, ClickType clickType) {
        short short1 = container.getNextTransactionID(mc.player.inventory);
        ItemStack itemstack = mc.player.inventory.getStackInSlot(slot);

        mc.player.connection.sendPacket(new CClickWindowPacket(mc.player.openContainer.windowId, slot, 0, clickType, itemstack, short1));
    }

    private boolean isItemWasFound(IItem item, Slot slot) {
        return item.getItem() == slot.getStack().getItem();
    }

    protected int extractPriceFromStack(ItemStack stack) {
        CompoundNBT tag = stack.getTag();

        if (tag != null && tag.contains("display", 10)) {
            CompoundNBT display = tag.getCompound("display");

            if (display.contains("Lore", 9)) {
                ListNBT lore = display.getList("Lore", 8);

                for (int j = 0; j < lore.size(); ++j) {
                    JsonObject object = JsonParser.parseString(lore.getString(j)).getAsJsonObject();

                    if (object.has("extra")) {
                        JsonArray array = object.getAsJsonArray("extra");

                        if (array.size() > 2) {
                            JsonObject title = array.get(1).getAsJsonObject();

                            if (title.get("text").getAsString().trim().toLowerCase().contains("ценa")) {
                                String line = array.get(2).getAsJsonObject().get("text").getAsString().trim().substring(1).replaceAll(" ", "");

                                return Integer.parseInt(line);
                            }
                        }
                    }
                }
            }
        }

        return -1;
    }

    protected String extractPidorFromStack(ItemStack stack) {
        CompoundNBT tag = stack.getTag();

        if (tag != null && tag.contains("display", 10)) {
            CompoundNBT display = tag.getCompound("display");

            if (display.contains("Lore", 9)) {
                ListNBT lore = display.getList("Lore", 8);

                for (int j = 0; j < lore.size(); ++j) {
                    JsonObject object = JsonParser.parseString(lore.getString(j)).getAsJsonObject();

                    if (object.has("extra")) {
                        JsonArray array = object.getAsJsonArray("extra");

                        if (array.size() > 2) {
                            JsonObject title = array.get(1).getAsJsonObject();

                            if (title.get("text").getAsString().trim().toLowerCase().startsWith("прoдaвeц")) {
                                return array.get(2).getAsJsonObject().get("text").getAsString().trim().replaceAll(" ", "");
                            }
                        }
                    }
                }
            }
        }

        return "";
    }

}
цифорки поменял и всё
 
Начинающий
Статус
Оффлайн
Регистрация
7 Мар 2024
Сообщения
294
Реакции[?]
6
Поинты[?]
4K
Сливаю вам авто бай на шалкера написанный очень быстро!
Java:
package im.nukem.ui.ab.logic;

import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import im.nukem.ui.ab.model.IItem;
import im.nukem.utils.client.IMinecraft;
import im.nukem.utils.math.StopWatch;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.inventory.ChestScreen;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.network.play.client.CClickWindowPacket;

import java.util.List;
import java.util.Map;

public class AuctionLogic implements IMinecraft {
    private final ActivationLogic parent;
    private final Minecraft mc;
    final StopWatch refreshStopWatch = new StopWatch();
    final StopWatch buyStopWatch = new StopWatch();
    final StopWatch leaveAuctionStopWatch = new StopWatch();
    final StopWatch returnAuctionStopWatch = new StopWatch();
    private int itemsBoughtCount = 0;

    boolean leave, returnAuc;

    public AuctionLogic(ActivationLogic parent) {
        this.parent = parent;
        this.mc = Minecraft.getInstance();
    }

    public void processActive() {
        if (mc.currentScreen instanceof ChestScreen chestScreen) {
            processBuy(chestScreen);
            returnToAuction();
        }
    }


    public void processBuy(ChestScreen chestScreen) {
        Container container = chestScreen.getContainer();

        if (chestScreen.getTitle().getString().toLowerCase().contains("подозрительная цена!")) {
            mc.playerController.windowClick(container.windowId, 10, 0, ClickType.PICKUP, mc.player);
        }
        if (chestScreen.getTitle().getString().contains("Аукцион") || chestScreen.getTitle().getString().contains("Поиск:") ||  chestScreen.getTitle().getString().contains("Хра")) {
            auctionBotLogic(container, chestScreen);
        }
    }

    public void auctionBotLogic(Container container, ChestScreen chestScreen) {
        for (Slot slot : container.inventorySlots) {
            processAuctionSlot(chestScreen, slot);
        }
    }

    public void processAuctionSlot(ChestScreen chestScreen, Slot slot) {
        Container container = chestScreen.getContainer();
        if (parent.itemStorage == null) return;
        long currentTime = System.currentTimeMillis();

        List<IItem> items = parent.itemStorage.getItems();
        for (IItem item : items) {
            int targetPrice = item.getPrice();
            int currentPrice = extractPriceFromStack(slot.getStack());

            boolean itemIsFound = currentPrice != -1 && currentPrice <= targetPrice && isItemWasFound(item, slot);

            if (parent.itemList.contains(slot.getStack()) || slot.slotNumber > 48) {
                continue;
            }

            if (itemIsFound) {
                refreshStopWatch.reset();
                if (!checkItem(item, slot.getStack())) {
                    continue;
                }

                String sellerName = extractPidorFromStack(slot.getStack());

                if (!sellerName.isEmpty()) {
                    buyItem(container, slot, currentTime);
                }
            }
        }
        if (refreshStopWatch.isReached(50)) {
            refreshAuction(container, currentTime);
            refreshStopWatch.reset();
        }
    }

    protected void refreshAuction(Container container, long currentTime) {
        if (refreshStopWatch.isReached(50)){
            silentClick(container, 46, ClickType.QUICK_MOVE);
            lastClickTime = currentTime;
            refreshStopWatch.reset();
        }
    }

    private long lastClickTime = System.currentTimeMillis();

    protected void buyItem(Container container, Slot slot, long currentTime) {

            mc.playerController.windowClick(container.windowId, slot.slotNumber, 1, ClickType.THROW, mc.player);
            lastClickTime = currentTime;
        }
    protected void returnToAuction() {
        if (returnAuctionStopWatch.isReached(350)) {
            if (!(mc.currentScreen instanceof ChestScreen)) {
            } else {
                mc.player.sendChatMessage("/ah");
            }
            returnAuctionStopWatch.reset();
        }
    }

    protected boolean checkItem(IItem item, ItemStack stack) {
        boolean don = stack.getTag() != null && stack.getTag().contains("don-item");

        if (stack.getCount() < item.getQuantity()) {
            return false;
        }

        if (!item.getEnchantments().isEmpty()) {
            for (Map.Entry<Enchantment, Integer> enchantmentEntry : EnchantmentHelper.getEnchantments(stack).entrySet()) {
                Enchantment enchantment = enchantmentEntry.getKey();
                Integer enchantmentValue = enchantmentEntry.getValue();
                if (enchantmentValue == null || item.getEnchantments().get(enchantment) == null) {
                    return false;
                }
                if (item.getEnchantments().get(enchantment) <= enchantmentValue) {
                    return true;
                }
            }
            return false;
        }
        return true;
    }


    private void silentClick(Container container, int slot, ClickType clickType) {
        short short1 = container.getNextTransactionID(mc.player.inventory);
        ItemStack itemstack = mc.player.inventory.getStackInSlot(slot);

        mc.player.connection.sendPacket(new CClickWindowPacket(mc.player.openContainer.windowId, slot, 0, clickType, itemstack, short1));
    }

    private boolean isItemWasFound(IItem item, Slot slot) {
        return item.getItem() == slot.getStack().getItem();
    }

    protected int extractPriceFromStack(ItemStack stack) {
        CompoundNBT tag = stack.getTag();

        if (tag != null && tag.contains("display", 10)) {
            CompoundNBT display = tag.getCompound("display");

            if (display.contains("Lore", 9)) {
                ListNBT lore = display.getList("Lore", 8);

                for (int j = 0; j < lore.size(); ++j) {
                    JsonObject object = JsonParser.parseString(lore.getString(j)).getAsJsonObject();

                    if (object.has("extra")) {
                        JsonArray array = object.getAsJsonArray("extra");

                        if (array.size() > 2) {
                            JsonObject title = array.get(1).getAsJsonObject();

                            if (title.get("text").getAsString().trim().toLowerCase().contains("ценa")) {
                                String line = array.get(2).getAsJsonObject().get("text").getAsString().trim().substring(1).replaceAll(" ", "");

                                return Integer.parseInt(line);
                            }
                        }
                    }
                }
            }
        }

        return -1;
    }

    protected String extractPidorFromStack(ItemStack stack) {
        CompoundNBT tag = stack.getTag();

        if (tag != null && tag.contains("display", 10)) {
            CompoundNBT display = tag.getCompound("display");

            if (display.contains("Lore", 9)) {
                ListNBT lore = display.getList("Lore", 8);

                for (int j = 0; j < lore.size(); ++j) {
                    JsonObject object = JsonParser.parseString(lore.getString(j)).getAsJsonObject();

                    if (object.has("extra")) {
                        JsonArray array = object.getAsJsonArray("extra");

                        if (array.size() > 2) {
                            JsonObject title = array.get(1).getAsJsonObject();

                            if (title.get("text").getAsString().trim().toLowerCase().startsWith("прoдaвeц")) {
                                return array.get(2).getAsJsonObject().get("text").getAsString().trim().replaceAll(" ", "");
                            }
                        }
                    }
                }
            }
        }

        return "";
    }

}
Эта хуйня не будет актуальна на фантайм, через 2 минуты обновление аукциона просто замедлится и ты нихуя не словишь
 
Начинающий
Статус
Оффлайн
Регистрация
5 Июл 2024
Сообщения
124
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
17 Июн 2024
Сообщения
151
Реакции[?]
0
Поинты[?]
0
ура наконецто чтото спастили с моей с крашером пасты
 
Начинающий
Статус
Оффлайн
Регистрация
1 Фев 2024
Сообщения
39
Реакции[?]
0
Поинты[?]
0
Хахахахах ебать я этот аб за минуту сделал Я уже новый сделал есть пруфы что он мой Я его сам делал кстати он ща хуйня не пробуйте
 
Начинающий
Статус
Оффлайн
Регистрация
5 Июл 2024
Сообщения
124
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Онлайн
Регистрация
20 Ноя 2023
Сообщения
82
Реакции[?]
1
Поинты[?]
1K
Хахахахах ебать я этот аб за минуту сделал Я уже новый сделал есть пруфы что он мой Я его сам делал кстати он ща хуйня не пробуйте
Этот аб делал последние лето, он пытался его втюхать за 300 рублей КАРЛ! Я кароче нашел его у типа этот аб и слил!
 
Начинающий
Статус
Оффлайн
Регистрация
21 Окт 2022
Сообщения
243
Реакции[?]
1
Поинты[?]
2K
ебать ты конечно кодить не умеешь только покупать и можешь я уже аб переписал ахахах
Ты блять диваный критик чо у тебя голос прорезался переписал ты весь аб ты даже гуишку деадона спастить не смог и не знал куда какой код вставлять, ты теперь "Никас v2 1iq"
 
Начинающий
Статус
Онлайн
Регистрация
20 Ноя 2023
Сообщения
82
Реакции[?]
1
Поинты[?]
1K
Ты блять диваный критик чо у тебя голос прорезался переписал ты весь аб ты даже гуишку деадона спастить не смог и не знал куда какой код вставлять, ты теперь "Никас v2 1iq"
:CoolCat:
ебать ты конечно кодить не умеешь только покупать и можешь я уже аб переписал ахахах
Ты даже спастить хуйню не можешь какую ту, и ещё мне что то говоришь
 
Read Only
Статус
Оффлайн
Регистрация
31 Июл 2023
Сообщения
227
Реакции[?]
1
Поинты[?]
1K
так это дерьмо даже не покупает шалкера он делает попытку но не покупает + замедляет за 4 секунды /del
 
Начинающий
Статус
Оффлайн
Регистрация
1 Фев 2024
Сообщения
39
Реакции[?]
0
Поинты[?]
0
:CoolCat:

Ты даже спастить хуйню не можешь какую ту, и ещё мне что то говоришь
брат последниму лету продал мой друг асик асик уже не играет за 400 рублей вроде продал в итоге он продает этот говно код хотя я его делал лол ну ладно повтоврярюсь он замедлялется и я уже как месец написал новый кстати вот мой дс @craser_ebanko_12786
 
Начинающий
Статус
Онлайн
Регистрация
20 Ноя 2023
Сообщения
82
Реакции[?]
1
Поинты[?]
1K
Специально для всех я добавил сс смотрите работу автобая
 
Сверху Снизу