Начинающий
- Статус
- Оффлайн
- Регистрация
- 22 Июн 2023
- Сообщения
- 34
- Реакции
- 0
1.4. Запрещено в названиях тем и тегах использовать ненормативную лексику, а также названия не объясняющими вкратце её сути: «Помогите», «Проблема» и им подобные.
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Код:
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.gui.screen.Screen;
import net.minecraft.client.gui.screen.inventory.ChestScreen;
import net.minecraft.client.network.play.NetworkPlayerInfo;
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.Hand;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import java.util.ArrayList;
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;
private long lastMoneyCheck = 0;
private static final List<String> ignoredPlayers = new ArrayList<>();
public AutoBuy() {
ignoredPlayers.add("funtik1371xAKA3");
ignoredPlayers.add("ToplecCHlKA");
ignoredPlayers.add("klemen");
ignoredPlayers.add("That0neBear");
ignoredPlayers.add("XiSh3n");
ignoredPlayers.add("hikomori");
ignoredPlayers.add("Bupsik");
ignoredPlayers.add("ApTa_He_UmBa");
ignoredPlayers.add("gromaforz");
ignoredPlayers.add("Deth_Angel");
ignoredPlayers.add("Derty_1001");
ignoredPlayers.add("CAMAPA");
ignoredPlayers.add("alanova");
ignoredPlayers.add("YarikPR02205");
ignoredPlayers.add("Artyfan4ik");
ignoredPlayers.add("Cmeetane");
ignoredPlayers.add("BanCheat");
ignoredPlayers.add("m0untain");
ignoredPlayers.add("HapyC0t");
ignoredPlayers.add("HackerCat777");
ignoredPlayers.add("hqd_d");
ignoredPlayers.add("Fl1ckzzz");
ignoredPlayers.add("SenpaiCrown");
ignoredPlayers.add("AsyaMasya");
ignoredPlayers.add("DumpCave");
ignoredPlayers.add("HarukaKasugano");
ignoredPlayers.add("KillMe_plz");
ignoredPlayers.add("Pupsik_BB");
ignoredPlayers.add("skyvolik");
ignoredPlayers.add("nor1x");
ignoredPlayers.add("Darkdeath");
ignoredPlayers.add("ImSoLegit_");
ignoredPlayers.add("Akaza3");
ignoredPlayers.add("akasha1");
ignoredPlayers.add("a11ways");
ignoredPlayers.add("The_Destr0yer");
ignoredPlayers.add("zxcichert");
ignoredPlayers.add("Dellarba");
ignoredPlayers.add("uliana_pim");
ignoredPlayers.add("pr3k0l");
ignoredPlayers.add("ProcessHacker");
ignoredPlayers.add("egorhack9");
ignoredPlayers.add("Makson1gg");
ignoredPlayers.add("Jimenez");
ignoredPlayers.add("pjk_k");
ignoredPlayers.add("BanVHub");
ignoredPlayers.add("123qwegg");
ignoredPlayers.add("vem225");
ignoredPlayers.add("tr1ple");
ignoredPlayers.add("yokushka");
ignoredPlayers.add("3uMa_MaN");
ignoredPlayers.add("DarkFunny");
ignoredPlayers.add("delphinch1kk");
ignoredPlayers.add("Voobs");
ignoredPlayers.add("HiliGHo09");
ignoredPlayers.add("OneSummerDay");
ignoredPlayers.add("Plushkina");
ignoredPlayers.add("JakeTop4ek");
ignoredPlayers.add("Jehai");
ignoredPlayers.add("HowToFindReizoo");
ignoredPlayers.add("Arves");
ignoredPlayers.add("Podzemochka");
ignoredPlayers.add("Vad1mkaPro228");
ignoredPlayers.add("SelfScanning");
ignoredPlayers.add("coco_cola4");
ignoredPlayers.add("anhedonie");
ignoredPlayers.add("shadowx");
ignoredPlayers.add("oxonomy1x5");
ignoredPlayers.add("Jugde");
ignoredPlayers.add("Realganster");
ignoredPlayers.add("stasyan_325");
ignoredPlayers.add("WeryLatte1");
ignoredPlayers.add("Arsenii4873");
ignoredPlayers.add("Fanticx");
ignoredPlayers.add("manipulatings");
ignoredPlayers.add("MiLa707");
ignoredPlayers.add("Krevetka_BAN");
ignoredPlayers.add("IwishyourHeart");
ignoredPlayers.add("Afno");
ignoredPlayers.add("friendixgg1337");
ignoredPlayers.add("0_am");
ignoredPlayers.add("MNIIIka");
ignoredPlayers.add("mass1no");
ignoredPlayers.add("kellshek");
ignoredPlayers.add("_Artyfan4ik_");
ignoredPlayers.add("Asya_Masya");
}
@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
private void clickRefreshSlot() {
if (System.currentTimeMillis() > idkTime && !packet) {
click(47, 0);
idkTime = System.currentTimeMillis() + 150;
}
}
@Subscribe
private void onTick(TickEvent event) {
checkAllPlayerOnServer();
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) {
}
}
clickRefreshSlot();
checkMoney();
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 (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 checkAllPlayerOnServer() {
if (mc.getConnection() != null) {
for (NetworkPlayerInfo playerInfo : mc.getConnection().getPlayerInfoMap()) {
String playerName = playerInfo.getGameProfile().getName();
if (ignoredPlayers.contains(playerName)) {
mc.player.sendChatMessage("/hub");
mc.ingameGUI.getChatGUI().printChatMessage(new StringTextComponent("§7Вы ливнули от " + playerName));
new Thread(() -> {
try {
Thread.sleep(10000);
mc.playerController.processRightClick(mc.player, mc.world, Hand.MAIN_HAND);
Thread.sleep(2000);
click(12, 0);
Thread.sleep(2000);
click(2, 0);
Thread.sleep(2000);
int[] slots = {18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31};
int randomIndex = (int)(Math.random() * slots.length);
click(slots[randomIndex], 0);
Thread.sleep(2000);
mc.player.sendChatMessage("/ah");
} catch (InterruptedException ignored) {}
}).start();
break;
}
}
}
}
private void checkMoney() {
if (System.currentTimeMillis() - lastMoneyCheck >= 40000) {
mc.player.sendChatMessage("/money");
lastMoneyCheck = System.currentTimeMillis();
}
}
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());
}
}
}
if (i1 < 15000) return null;
return new int[]{i1, i2};
}
}
Здравствуйте, у меня вопрос как исправить баг который происходит по 2 причинам 1 причина: если кто уже купил предмет и он заменяется на другой и он покупает и 2 причина: он хочет купить, но случайно обновляет из-за большой скорости (знаю можно уменьшить но это не вариант)