Вопрос Ошибка

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

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

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

Спасибо!

Здравствуйте, вот у меня есть 1 проблема и её не как получается исправить. Суть в том что порой когда он обновляет аук он перестает это делать и пишет ошибки

Ошибка:


PM com.google.common.eventbus.EventBus$LoggingHandler handleException SEVERE: Exception thrown by subscriber method onTick(ab.eclipse.event.TickEvent) on subscriber ab.eclipse.autobuy.AutoBuy@6e9d60e1 when dispatching event: ab.eclipse.event.TickEvent@1ca263f4 java.lang.NullPointerException

Код:


Код:
package ab.eclipse.autobuy;

import ab.eclipse.autobuy.manager.*;
import ab.eclipse.event.ReceiveMessageEvent;
import ab.eclipse.event.SendPacketEvent;
import ab.eclipse.event.TickEvent;
import com.google.common.eventbus.Subscribe;

import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.inventory.ChestScreen;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CClickWindowPacket;
import net.minecraft.util.text.ITextComponent;

import java.util.List;
import java.util.stream.Collectors;

import static ab.eclipse.EclipseFuntime.mc;


public class AutoBuy {
    public static long update;
    private long clickUptime;
    private boolean click;
    public static boolean send;

    public static boolean enabled = false;
    private boolean packet, packetSend;
    public long idkTime;

    private HistoryItem lastItem;
    public static String autoPayCom = "";
    public static int balance;

    @Subscribe
    private void onPacketEvent(SendPacketEvent event) {
        if (idkTime > System.currentTimeMillis() && event.packet instanceof CClickWindowPacket clickWindowPacket && clickWindowPacket.id != 1337) {
            event.cancel();
        }

        if (event.packet instanceof CClickWindowPacket clickSlotC2SPacket) {
            if (packet && lastItem != null) {
                lastItem.stack = clickSlotC2SPacket.getClickedItem();
                packet = false;
                packetSend = true;
            }
        }
    }

    @Subscribe
    private void onReceiveMessageEvent(ReceiveMessageEvent event) {
        if (lastItem != null && packetSend) {
            if (event.message.equals("Не так быстро!")) {
                lastItem = null;
                packetSend = false;
                return;
            }
            lastItem.purchased = !event.message.contains("Этот предмет нельзя купить, т.к он больше не продается.");
           HistoryManager.add(lastItem);
            lastItem = null;
            packetSend = false;
        }
    }

    //hms-damage
    //hms-armor
    //hms-speed
    //hms-health

    @Subscribe
    private void onTick(TickEvent event) {
        // for (EquipmentSlotType equipmentslottype : EquipmentSlotType.values()) {
            //     Multimap<Attribute, AttributeModifier> multimap = mc.player.getHeldItemMainhand().getAttributeModifiers(equipmentslottype);
            //     if (!multimap.isEmpty()) {
                //         for (Map.Entry<Attribute, AttributeModifier> entry : multimap.entries()) {
                    //             System.out.println(entry.getKey().getAttributeName() + " " + entry.getValue().getAmount());
                    //         }
                //     }
            // }

        // if (!mc.player.getHeldItemMainhand().isEmpty()) {
            //     for (String s : mc.player.getHeldItemMainhand().getTag().keySet()) {
                //         System.out.println(s + " " + mc.player.getHeldItemMainhand().getTag().get(s).getString());
                //     }
            // }

        //for (AutoBuyItem item : AutoBuyManager.getItems()) {
            //        if (item instanceof CustomAutoBuyItem customAutoBuyItem) {
                //                if (customAutoBuyItem.tryBuy(mc.player.getHeldItemMainhand(), 1) || customAutoBuyItem.tryBuy(mc.player.getHeldItemOffhand(), 1)) {
                    //                          if (mc.player.ticksExisted % 8 == 0) {
                        //                      mc.ingameGUI.getChatGUI().printChatMessage(ITextComponent.getTextComponentOrEmpty("щас купил"));
                        //                  }
                    //              }
                //          }
            //      }
//
        //  if (!mc.player.isOnGround() && !mc.player.getHeldItemMainhand().isEmpty()) {
        //      // StringBuilder s = new StringBuilder();
        //      // for (ITextComponent iTextComponent : mc.player.getHeldItemMainhand().getTooltip(mc.player, ITooltipFlag.TooltipFlags.NORMAL)) {
        //          //     s.append(iTextComponent.getString()).append("\n");
        //          // }
        //      // List<String> list = new ArrayList<>();
        //      // for (INBT enchantment : mc.player.getHeldItemMainhand().getEnchantmentTagList()) {
        //      //     String tag = enchantment.toString().replace("{", "").replace("}", "");
        //      //     StringBuilder lvl = new StringBuilder();
        //      //     for (char c : tag.split(",")[0].toCharArray()) {
        //      //         try {
        //      //             lvl.append(Integer.parseInt(String.valueOf(c)));
        //      //         } catch (Exception ignored) {
        //      //         }
        //      //     }
        //      //     StringBuilder enchantName = new StringBuilder();
        //      //     boolean targ = false;
        //      //     for (char c : tag.split(",")[1].toCharArray()) {
        //      //         if (c == '\"') {
        //      //             if (!targ) {
        //      //                 targ = true;
        //      //                 continue;
        //      //             } else {
        //      //                 break;
        //      //             }
        //      //         }
        //      //         if (targ) {
        //      //             enchantName.append(c);
        //      //         }
        //      //     }
        //      // s.append(enchantName.toString().split(":")[1]).append(":").append(lvl);
        //    //  mc.keyboardListener.setClipboardString(s.toString());
        //  }

        if (mc.currentScreen == null || !enabled) return;
        Screen screen = mc.currentScreen;

        boolean ah = screen.getTitle().getString().contains("Аукцион");
        boolean accept = screen.getTitle().getString().contains("Покупка предмета");

        if (ah || accept) {
            if (mc.currentScreen instanceof ChestScreen chestScreen) {
                if (ah) {
                    if (mc.player.ticksExisted % 20 == 0) {
                        try {
                            String name = autoPayCom.split(" ")[0];
                            int s = Integer.parseInt(autoPayCom.split(" ")[1]);
                            if (balance - s > 0) {
                                mc.player.sendChatMessage("/pay " + name + " " + (balance - s));
                            }
                        } catch (Exception ignore) {
                        }
                    }
                    for (int i = 0; i < chestScreen.getContainer().getInventory().size(); i++) {
                        ItemStack stack = chestScreen.getContainer().getInventory().get(i);

                        String name = stack.getDisplayName().getString();

                        if (name.equals("❏ Товары на продаже ❏") || name.equals("❏ Просроченные товары ❏") || name.equals("Следующая страница ▶")
                                || name.contains("Помощь по аукциону") || name.equals("Помощь по системе аукциона:") || name.equals("сортировка")
                                || name.equals("Категории предметорв") || name.equals("◀ Предыдущая страница"))
                            continue;

                        List<ITextComponent> info = screen.getTooltipFromItem(stack).stream().filter(text -> text.getString().contains("▍")).toList();
                        List<ITextComponent> sumList = info.stream().filter(text -> text.getString().contains("¤")).collect(Collectors.toList());

                        String author = "";
                        try {
                            author = info.stream().filter(text -> text.getString().contains("Продавец")).toList().get(0).getString().split(":")[1];
                        } catch (Exception ignore) {
                        }

                        if (IgnoreManager.getIgnore().contains(author.replace(" ", ""))) continue;

                        int[] sum = calcSum(sumList);

                        if (sum != null) {
                            int price = sum[0];
                            if (price <= 0) return;
                            for (AutoBuyItem item : AutoBuyManager.getItems()) {
                                if (item instanceof CustomAutoBuyItem) {
                                    if (((CustomAutoBuyItem) item).tryBuy(stack, price) && System.currentTimeMillis() > idkTime) {
                                        click(i, 1337);
                                        if (lastItem == null) {
                                            lastItem = new HistoryItem(price, stack);
                                        }
                                        packet = true;
                                        idkTime = System.currentTimeMillis() + 1000;
                                    }
                                }
                                if (item instanceof DefaultAutoBuyItem) {
                                    if (((DefaultAutoBuyItem) item).tryBuy(stack, price) && System.currentTimeMillis() > idkTime) {
                                        click(i, 1337);
                                        if (lastItem == null) {
                                            lastItem = new HistoryItem(price, stack);
                                        }
                                        packet = true;
                                        idkTime = System.currentTimeMillis() + 1000;
                                    }
                                }
                            }
                        }

                        if (stack.getItem().equals(Items.EMERALD) && i == 47 && System.currentTimeMillis() > update && !packet && System.currentTimeMillis() > idkTime) {
                            click(i, 0);
                            update = System.currentTimeMillis() + Minecraft.kd;
                        }
                    }
                }
                if (accept) {
                    if (click && System.currentTimeMillis() > clickUptime) {
                        click = false;
                    }
                    for (int i = 0; i < chestScreen.getContainer().getInventory().size(); i++) {
                        ItemStack stack = chestScreen.getContainer().getInventory().get(i);
                        String name = stack.getDisplayName().getString();
                        if (stack.getItem().equals(Items.LIME_STAINED_GLASS_PANE) && name.contains("▶ Купить") && !click) {
                            click(i, 0);
                            click = true;
                            clickUptime = System.currentTimeMillis() + 1000L;
                        }
                    }
                } else {
                    click = false;
                }
            }
        }
    }

    private void click(int slot, int id) {
        mc.playerController.windowClick(mc.player.openContainer.windowId, slot, 0, ClickType.PICKUP, mc.player, id);
    }

    private int[] calcSum(List<ITextComponent> s) {
        if (s == null || s.isEmpty()) return null;
        int i1 = -1;
        int i2 = -1;
        for (ITextComponent t : s) {
            String string = t.getString();
            StringBuilder stringBuilder = new StringBuilder();
            for (char c : string.toCharArray()) {
                try {
                    stringBuilder.append(Integer.parseInt(String.valueOf(c)));
                } catch (Exception ignore) {}
            }
            if (!stringBuilder.toString().isEmpty()) {
                if (i1 < 0) {
                    i1 = Integer.parseInt(stringBuilder.toString());
                } else {
                    i2 = Integer.parseInt(stringBuilder.toString());
                }
            }
        }
        return new int[]{i1, i2};
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
5 Янв 2024
Сообщения
301
Реакции[?]
4
Поинты[?]
1K
Здравствуйте, вот у меня есть 1 проблема и её не как получается исправить. Суть в том что порой когда он обновляет аук он перестает это делать и пишет ошибки

Ошибка:


PM com.google.common.eventbus.EventBus$LoggingHandler handleException SEVERE: Exception thrown by subscriber method onTick(ab.eclipse.event.TickEvent) on subscriber ab.eclipse.autobuy.AutoBuy@6e9d60e1 when dispatching event: ab.eclipse.event.TickEvent@1ca263f4 java.lang.NullPointerException

Код:


Код:
package ab.eclipse.autobuy;

import ab.eclipse.autobuy.manager.*;
import ab.eclipse.event.ReceiveMessageEvent;
import ab.eclipse.event.SendPacketEvent;
import ab.eclipse.event.TickEvent;
import com.google.common.eventbus.Subscribe;

import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.inventory.ChestScreen;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CClickWindowPacket;
import net.minecraft.util.text.ITextComponent;

import java.util.List;
import java.util.stream.Collectors;

import static ab.eclipse.EclipseFuntime.mc;


public class AutoBuy {
    public static long update;
    private long clickUptime;
    private boolean click;
    public static boolean send;

    public static boolean enabled = false;
    private boolean packet, packetSend;
    public long idkTime;

    private HistoryItem lastItem;
    public static String autoPayCom = "";
    public static int balance;

    @Subscribe
    private void onPacketEvent(SendPacketEvent event) {
        if (idkTime > System.currentTimeMillis() && event.packet instanceof CClickWindowPacket clickWindowPacket && clickWindowPacket.id != 1337) {
            event.cancel();
        }

        if (event.packet instanceof CClickWindowPacket clickSlotC2SPacket) {
            if (packet && lastItem != null) {
                lastItem.stack = clickSlotC2SPacket.getClickedItem();
                packet = false;
                packetSend = true;
            }
        }
    }

    @Subscribe
    private void onReceiveMessageEvent(ReceiveMessageEvent event) {
        if (lastItem != null && packetSend) {
            if (event.message.equals("Не так быстро!")) {
                lastItem = null;
                packetSend = false;
                return;
            }
            lastItem.purchased = !event.message.contains("Этот предмет нельзя купить, т.к он больше не продается.");
           HistoryManager.add(lastItem);
            lastItem = null;
            packetSend = false;
        }
    }

    //hms-damage
    //hms-armor
    //hms-speed
    //hms-health

    @Subscribe
    private void onTick(TickEvent event) {
        // for (EquipmentSlotType equipmentslottype : EquipmentSlotType.values()) {
            //     Multimap<Attribute, AttributeModifier> multimap = mc.player.getHeldItemMainhand().getAttributeModifiers(equipmentslottype);
            //     if (!multimap.isEmpty()) {
                //         for (Map.Entry<Attribute, AttributeModifier> entry : multimap.entries()) {
                    //             System.out.println(entry.getKey().getAttributeName() + " " + entry.getValue().getAmount());
                    //         }
                //     }
            // }

        // if (!mc.player.getHeldItemMainhand().isEmpty()) {
            //     for (String s : mc.player.getHeldItemMainhand().getTag().keySet()) {
                //         System.out.println(s + " " + mc.player.getHeldItemMainhand().getTag().get(s).getString());
                //     }
            // }

        //for (AutoBuyItem item : AutoBuyManager.getItems()) {
            //        if (item instanceof CustomAutoBuyItem customAutoBuyItem) {
                //                if (customAutoBuyItem.tryBuy(mc.player.getHeldItemMainhand(), 1) || customAutoBuyItem.tryBuy(mc.player.getHeldItemOffhand(), 1)) {
                    //                          if (mc.player.ticksExisted % 8 == 0) {
                        //                      mc.ingameGUI.getChatGUI().printChatMessage(ITextComponent.getTextComponentOrEmpty("щас купил"));
                        //                  }
                    //              }
                //          }
            //      }
//
        //  if (!mc.player.isOnGround() && !mc.player.getHeldItemMainhand().isEmpty()) {
        //      // StringBuilder s = new StringBuilder();
        //      // for (ITextComponent iTextComponent : mc.player.getHeldItemMainhand().getTooltip(mc.player, ITooltipFlag.TooltipFlags.NORMAL)) {
        //          //     s.append(iTextComponent.getString()).append("\n");
        //          // }
        //      // List<String> list = new ArrayList<>();
        //      // for (INBT enchantment : mc.player.getHeldItemMainhand().getEnchantmentTagList()) {
        //      //     String tag = enchantment.toString().replace("{", "").replace("}", "");
        //      //     StringBuilder lvl = new StringBuilder();
        //      //     for (char c : tag.split(",")[0].toCharArray()) {
        //      //         try {
        //      //             lvl.append(Integer.parseInt(String.valueOf(c)));
        //      //         } catch (Exception ignored) {
        //      //         }
        //      //     }
        //      //     StringBuilder enchantName = new StringBuilder();
        //      //     boolean targ = false;
        //      //     for (char c : tag.split(",")[1].toCharArray()) {
        //      //         if (c == '\"') {
        //      //             if (!targ) {
        //      //                 targ = true;
        //      //                 continue;
        //      //             } else {
        //      //                 break;
        //      //             }
        //      //         }
        //      //         if (targ) {
        //      //             enchantName.append(c);
        //      //         }
        //      //     }
        //      // s.append(enchantName.toString().split(":")[1]).append(":").append(lvl);
        //    //  mc.keyboardListener.setClipboardString(s.toString());
        //  }

        if (mc.currentScreen == null || !enabled) return;
        Screen screen = mc.currentScreen;

        boolean ah = screen.getTitle().getString().contains("Аукцион");
        boolean accept = screen.getTitle().getString().contains("Покупка предмета");

        if (ah || accept) {
            if (mc.currentScreen instanceof ChestScreen chestScreen) {
                if (ah) {
                    if (mc.player.ticksExisted % 20 == 0) {
                        try {
                            String name = autoPayCom.split(" ")[0];
                            int s = Integer.parseInt(autoPayCom.split(" ")[1]);
                            if (balance - s > 0) {
                                mc.player.sendChatMessage("/pay " + name + " " + (balance - s));
                            }
                        } catch (Exception ignore) {
                        }
                    }
                    for (int i = 0; i < chestScreen.getContainer().getInventory().size(); i++) {
                        ItemStack stack = chestScreen.getContainer().getInventory().get(i);

                        String name = stack.getDisplayName().getString();

                        if (name.equals("❏ Товары на продаже ❏") || name.equals("❏ Просроченные товары ❏") || name.equals("Следующая страница ▶")
                                || name.contains("Помощь по аукциону") || name.equals("Помощь по системе аукциона:") || name.equals("сортировка")
                                || name.equals("Категории предметорв") || name.equals("◀ Предыдущая страница"))
                            continue;

                        List<ITextComponent> info = screen.getTooltipFromItem(stack).stream().filter(text -> text.getString().contains("▍")).toList();
                        List<ITextComponent> sumList = info.stream().filter(text -> text.getString().contains("¤")).collect(Collectors.toList());

                        String author = "";
                        try {
                            author = info.stream().filter(text -> text.getString().contains("Продавец")).toList().get(0).getString().split(":")[1];
                        } catch (Exception ignore) {
                        }

                        if (IgnoreManager.getIgnore().contains(author.replace(" ", ""))) continue;

                        int[] sum = calcSum(sumList);

                        if (sum != null) {
                            int price = sum[0];
                            if (price <= 0) return;
                            for (AutoBuyItem item : AutoBuyManager.getItems()) {
                                if (item instanceof CustomAutoBuyItem) {
                                    if (((CustomAutoBuyItem) item).tryBuy(stack, price) && System.currentTimeMillis() > idkTime) {
                                        click(i, 1337);
                                        if (lastItem == null) {
                                            lastItem = new HistoryItem(price, stack);
                                        }
                                        packet = true;
                                        idkTime = System.currentTimeMillis() + 1000;
                                    }
                                }
                                if (item instanceof DefaultAutoBuyItem) {
                                    if (((DefaultAutoBuyItem) item).tryBuy(stack, price) && System.currentTimeMillis() > idkTime) {
                                        click(i, 1337);
                                        if (lastItem == null) {
                                            lastItem = new HistoryItem(price, stack);
                                        }
                                        packet = true;
                                        idkTime = System.currentTimeMillis() + 1000;
                                    }
                                }
                            }
                        }

                        if (stack.getItem().equals(Items.EMERALD) && i == 47 && System.currentTimeMillis() > update && !packet && System.currentTimeMillis() > idkTime) {
                            click(i, 0);
                            update = System.currentTimeMillis() + Minecraft.kd;
                        }
                    }
                }
                if (accept) {
                    if (click && System.currentTimeMillis() > clickUptime) {
                        click = false;
                    }
                    for (int i = 0; i < chestScreen.getContainer().getInventory().size(); i++) {
                        ItemStack stack = chestScreen.getContainer().getInventory().get(i);
                        String name = stack.getDisplayName().getString();
                        if (stack.getItem().equals(Items.LIME_STAINED_GLASS_PANE) && name.contains("▶ Купить") && !click) {
                            click(i, 0);
                            click = true;
                            clickUptime = System.currentTimeMillis() + 1000L;
                        }
                    }
                } else {
                    click = false;
                }
            }
        }
    }

    private void click(int slot, int id) {
        mc.playerController.windowClick(mc.player.openContainer.windowId, slot, 0, ClickType.PICKUP, mc.player, id);
    }

    private int[] calcSum(List<ITextComponent> s) {
        if (s == null || s.isEmpty()) return null;
        int i1 = -1;
        int i2 = -1;
        for (ITextComponent t : s) {
            String string = t.getString();
            StringBuilder stringBuilder = new StringBuilder();
            for (char c : string.toCharArray()) {
                try {
                    stringBuilder.append(Integer.parseInt(String.valueOf(c)));
                } catch (Exception ignore) {}
            }
            if (!stringBuilder.toString().isEmpty()) {
                if (i1 < 0) {
                    i1 = Integer.parseInt(stringBuilder.toString());
                } else {
                    i2 = Integer.parseInt(stringBuilder.toString());
                }
            }
        }
        return new int[]{i1, i2};
    }
}
Проверку на null сделай.
 
Начинающий
Статус
Оффлайн
Регистрация
14 Дек 2022
Сообщения
52
Реакции[?]
1
Поинты[?]
1K
Здравствуйте, вот у меня есть 1 проблема и её не как получается исправить. Суть в том что порой когда он обновляет аук он перестает это делать и пишет ошибки

Ошибка:


PM com.google.common.eventbus.EventBus$LoggingHandler handleException SEVERE: Exception thrown by subscriber method onTick(ab.eclipse.event.TickEvent) on subscriber ab.eclipse.autobuy.AutoBuy@6e9d60e1 when dispatching event: ab.eclipse.event.TickEvent@1ca263f4 java.lang.NullPointerException

Код:


Код:
package ab.eclipse.autobuy;

import ab.eclipse.autobuy.manager.*;
import ab.eclipse.event.ReceiveMessageEvent;
import ab.eclipse.event.SendPacketEvent;
import ab.eclipse.event.TickEvent;
import com.google.common.eventbus.Subscribe;

import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.inventory.ChestScreen;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CClickWindowPacket;
import net.minecraft.util.text.ITextComponent;

import java.util.List;
import java.util.stream.Collectors;

import static ab.eclipse.EclipseFuntime.mc;


public class AutoBuy {
    public static long update;
    private long clickUptime;
    private boolean click;
    public static boolean send;

    public static boolean enabled = false;
    private boolean packet, packetSend;
    public long idkTime;

    private HistoryItem lastItem;
    public static String autoPayCom = "";
    public static int balance;

    @Subscribe
    private void onPacketEvent(SendPacketEvent event) {
        if (idkTime > System.currentTimeMillis() && event.packet instanceof CClickWindowPacket clickWindowPacket && clickWindowPacket.id != 1337) {
            event.cancel();
        }

        if (event.packet instanceof CClickWindowPacket clickSlotC2SPacket) {
            if (packet && lastItem != null) {
                lastItem.stack = clickSlotC2SPacket.getClickedItem();
                packet = false;
                packetSend = true;
            }
        }
    }

    @Subscribe
    private void onReceiveMessageEvent(ReceiveMessageEvent event) {
        if (lastItem != null && packetSend) {
            if (event.message.equals("Не так быстро!")) {
                lastItem = null;
                packetSend = false;
                return;
            }
            lastItem.purchased = !event.message.contains("Этот предмет нельзя купить, т.к он больше не продается.");
           HistoryManager.add(lastItem);
            lastItem = null;
            packetSend = false;
        }
    }

    //hms-damage
    //hms-armor
    //hms-speed
    //hms-health

    @Subscribe
    private void onTick(TickEvent event) {
        // for (EquipmentSlotType equipmentslottype : EquipmentSlotType.values()) {
            //     Multimap<Attribute, AttributeModifier> multimap = mc.player.getHeldItemMainhand().getAttributeModifiers(equipmentslottype);
            //     if (!multimap.isEmpty()) {
                //         for (Map.Entry<Attribute, AttributeModifier> entry : multimap.entries()) {
                    //             System.out.println(entry.getKey().getAttributeName() + " " + entry.getValue().getAmount());
                    //         }
                //     }
            // }

        // if (!mc.player.getHeldItemMainhand().isEmpty()) {
            //     for (String s : mc.player.getHeldItemMainhand().getTag().keySet()) {
                //         System.out.println(s + " " + mc.player.getHeldItemMainhand().getTag().get(s).getString());
                //     }
            // }

        //for (AutoBuyItem item : AutoBuyManager.getItems()) {
            //        if (item instanceof CustomAutoBuyItem customAutoBuyItem) {
                //                if (customAutoBuyItem.tryBuy(mc.player.getHeldItemMainhand(), 1) || customAutoBuyItem.tryBuy(mc.player.getHeldItemOffhand(), 1)) {
                    //                          if (mc.player.ticksExisted % 8 == 0) {
                        //                      mc.ingameGUI.getChatGUI().printChatMessage(ITextComponent.getTextComponentOrEmpty("щас купил"));
                        //                  }
                    //              }
                //          }
            //      }
//
        //  if (!mc.player.isOnGround() && !mc.player.getHeldItemMainhand().isEmpty()) {
        //      // StringBuilder s = new StringBuilder();
        //      // for (ITextComponent iTextComponent : mc.player.getHeldItemMainhand().getTooltip(mc.player, ITooltipFlag.TooltipFlags.NORMAL)) {
        //          //     s.append(iTextComponent.getString()).append("\n");
        //          // }
        //      // List<String> list = new ArrayList<>();
        //      // for (INBT enchantment : mc.player.getHeldItemMainhand().getEnchantmentTagList()) {
        //      //     String tag = enchantment.toString().replace("{", "").replace("}", "");
        //      //     StringBuilder lvl = new StringBuilder();
        //      //     for (char c : tag.split(",")[0].toCharArray()) {
        //      //         try {
        //      //             lvl.append(Integer.parseInt(String.valueOf(c)));
        //      //         } catch (Exception ignored) {
        //      //         }
        //      //     }
        //      //     StringBuilder enchantName = new StringBuilder();
        //      //     boolean targ = false;
        //      //     for (char c : tag.split(",")[1].toCharArray()) {
        //      //         if (c == '\"') {
        //      //             if (!targ) {
        //      //                 targ = true;
        //      //                 continue;
        //      //             } else {
        //      //                 break;
        //      //             }
        //      //         }
        //      //         if (targ) {
        //      //             enchantName.append(c);
        //      //         }
        //      //     }
        //      // s.append(enchantName.toString().split(":")[1]).append(":").append(lvl);
        //    //  mc.keyboardListener.setClipboardString(s.toString());
        //  }

        if (mc.currentScreen == null || !enabled) return;
        Screen screen = mc.currentScreen;

        boolean ah = screen.getTitle().getString().contains("Аукцион");
        boolean accept = screen.getTitle().getString().contains("Покупка предмета");

        if (ah || accept) {
            if (mc.currentScreen instanceof ChestScreen chestScreen) {
                if (ah) {
                    if (mc.player.ticksExisted % 20 == 0) {
                        try {
                            String name = autoPayCom.split(" ")[0];
                            int s = Integer.parseInt(autoPayCom.split(" ")[1]);
                            if (balance - s > 0) {
                                mc.player.sendChatMessage("/pay " + name + " " + (balance - s));
                            }
                        } catch (Exception ignore) {
                        }
                    }
                    for (int i = 0; i < chestScreen.getContainer().getInventory().size(); i++) {
                        ItemStack stack = chestScreen.getContainer().getInventory().get(i);

                        String name = stack.getDisplayName().getString();

                        if (name.equals("❏ Товары на продаже ❏") || name.equals("❏ Просроченные товары ❏") || name.equals("Следующая страница ▶")
                                || name.contains("Помощь по аукциону") || name.equals("Помощь по системе аукциона:") || name.equals("сортировка")
                                || name.equals("Категории предметорв") || name.equals("◀ Предыдущая страница"))
                            continue;

                        List<ITextComponent> info = screen.getTooltipFromItem(stack).stream().filter(text -> text.getString().contains("▍")).toList();
                        List<ITextComponent> sumList = info.stream().filter(text -> text.getString().contains("¤")).collect(Collectors.toList());

                        String author = "";
                        try {
                            author = info.stream().filter(text -> text.getString().contains("Продавец")).toList().get(0).getString().split(":")[1];
                        } catch (Exception ignore) {
                        }

                        if (IgnoreManager.getIgnore().contains(author.replace(" ", ""))) continue;

                        int[] sum = calcSum(sumList);

                        if (sum != null) {
                            int price = sum[0];
                            if (price <= 0) return;
                            for (AutoBuyItem item : AutoBuyManager.getItems()) {
                                if (item instanceof CustomAutoBuyItem) {
                                    if (((CustomAutoBuyItem) item).tryBuy(stack, price) && System.currentTimeMillis() > idkTime) {
                                        click(i, 1337);
                                        if (lastItem == null) {
                                            lastItem = new HistoryItem(price, stack);
                                        }
                                        packet = true;
                                        idkTime = System.currentTimeMillis() + 1000;
                                    }
                                }
                                if (item instanceof DefaultAutoBuyItem) {
                                    if (((DefaultAutoBuyItem) item).tryBuy(stack, price) && System.currentTimeMillis() > idkTime) {
                                        click(i, 1337);
                                        if (lastItem == null) {
                                            lastItem = new HistoryItem(price, stack);
                                        }
                                        packet = true;
                                        idkTime = System.currentTimeMillis() + 1000;
                                    }
                                }
                            }
                        }

                        if (stack.getItem().equals(Items.EMERALD) && i == 47 && System.currentTimeMillis() > update && !packet && System.currentTimeMillis() > idkTime) {
                            click(i, 0);
                            update = System.currentTimeMillis() + Minecraft.kd;
                        }
                    }
                }
                if (accept) {
                    if (click && System.currentTimeMillis() > clickUptime) {
                        click = false;
                    }
                    for (int i = 0; i < chestScreen.getContainer().getInventory().size(); i++) {
                        ItemStack stack = chestScreen.getContainer().getInventory().get(i);
                        String name = stack.getDisplayName().getString();
                        if (stack.getItem().equals(Items.LIME_STAINED_GLASS_PANE) && name.contains("▶ Купить") && !click) {
                            click(i, 0);
                            click = true;
                            clickUptime = System.currentTimeMillis() + 1000L;
                        }
                    }
                } else {
                    click = false;
                }
            }
        }
    }

    private void click(int slot, int id) {
        mc.playerController.windowClick(mc.player.openContainer.windowId, slot, 0, ClickType.PICKUP, mc.player, id);
    }

    private int[] calcSum(List<ITextComponent> s) {
        if (s == null || s.isEmpty()) return null;
        int i1 = -1;
        int i2 = -1;
        for (ITextComponent t : s) {
            String string = t.getString();
            StringBuilder stringBuilder = new StringBuilder();
            for (char c : string.toCharArray()) {
                try {
                    stringBuilder.append(Integer.parseInt(String.valueOf(c)));
                } catch (Exception ignore) {}
            }
            if (!stringBuilder.toString().isEmpty()) {
                if (i1 < 0) {
                    i1 = Integer.parseInt(stringBuilder.toString());
                } else {
                    i2 = Integer.parseInt(stringBuilder.toString());
                }
            }
        }
        return new int[]{i1, i2};
    }
}
боже помилуй
 
Начинающий
Статус
Оффлайн
Регистрация
18 Фев 2023
Сообщения
29
Реакции[?]
0
Поинты[?]
0
попробуй поместить метод в try и решить NullPointerException
 
Начинающий
Статус
Оффлайн
Регистрация
22 Июн 2023
Сообщения
20
Реакции[?]
0
Поинты[?]
0
впрочем решил проблему. Сделал обновление аукциона отдельным методом который вызывается в ontick (понимаю костыльный способ но альтернатив я не нашёл)
 
Сверху Снизу