Часть функционала HWSpammer - exp 3.1

Начинающий
Статус
Онлайн
Регистрация
6 Фев 2025
Сообщения
4
Реакции[?]
0
Поинты[?]
0
Выберите загрузчик игры
Vanilla

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

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

Спасибо!

Вот вам спамер под хв который ходит по анкам.

Вот вам ебаные ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.


Вот вам мой говнокод:
Java:
package im.sunclient.functions.impl.misc;

import com.google.common.eventbus.Subscribe;
import com.hakan.jdw.Webhook;
import im.sunclient.SunClient;
import im.sunclient.events.EventUpdate;
import im.sunclient.functions.api.Category;
import im.sunclient.functions.api.Function;
import im.sunclient.functions.api.FunctionRegister;
import im.sunclient.functions.settings.impl.BooleanSetting;
import im.sunclient.functions.settings.impl.SliderSetting;
import im.sunclient.functions.settings.impl.StringSetting;
import im.sunclient.ui.display.impl.StaffListRenderer;
import im.sunclient.utils.PingUtil;
import im.sunclient.utils.TimerUtil;
import im.sunclient.utils.player.PlayerUtils;
import net.minecraft.client.entity.player.AbstractClientPlayerEntity;
import net.minecraft.client.gui.screen.inventory.ChestScreen;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;

import java.awt.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@FunctionRegister(name = "HWSpamer", type = Category.Misc)
public class HWSpammer extends Function {
    private static final String MODE_SELECTION_TITLE = "выберите режим";
    private static final String ANARCHY_SELECTION_TITLE = "выбор лайт анархии";
    private static final String SOLO_LIGHT = "СолоЛайт";
    private static final String DUO_LIGHT = "ДуоЛайт";
    private static final String TRIO_LIGHT = "ТриоЛайт";
    private static final String CLAN_LIGHT = "КланЛайт";

    private final TimerUtil timerUtil = new TimerUtil();
    private final TimerUtil messagesUtil = new TimerUtil();
    private final Map<Integer, Integer> slots = new HashMap<>();
    private final BooleanSetting privateMessageMode = new BooleanSetting("Private msg", false);
    private final BooleanSetting reconnectMode = new BooleanSetting("Multi-Server", true);
    private final BooleanSetting antiAFKMode = new BooleanSetting("AntiAFK", true);
    private final SliderSetting privateInterval = new SliderSetting("Private Interval", 20, 0, 310, 1);
    private final SliderSetting forInterval = new SliderSetting("Интервал цикла (мс)", 500, 50, 5000, 10);
    private final SliderSetting leaveInterval = new SliderSetting("Интервал для выхода (мс)", 500, 50, 5000, 10);
    private final SliderSetting messagesInterval = new SliderSetting("Кд меж сообщениями (мс)", 500, 50, 10000, 10);
    private final SliderSetting messagesCount = new SliderSetting("Кол-во сообщений", 1, 1, 10, 1);

    private final SliderSetting startAnarchy = new SliderSetting("Начальная анархия", 1, 1, 60, 1);
    private final SliderSetting stopAnarchy = new SliderSetting("Конечная анархия", 1, 1, 60, 1);
    private final StringSetting spamMessage = new StringSetting(
            "Сообщение",
            "spam by SunClient",
            "Укажите текст для отправки сообщений в чат"
    );

    private String lastMessage = ".";
    private int ticksSinceLastMessage = 0;
    private int currentPlayerIndex = 0;
    private int currentServer = 1;
    private int currentMessages = 0;
    private int step = 0;

    public HWSpammer() {
        addSettings(spamMessage,
                privateMessageMode,
                antiAFKMode,
                reconnectMode,
                privateInterval,
                startAnarchy,
                stopAnarchy,
                forInterval,
                leaveInterval,
                messagesInterval,
                messagesCount);
        initializeSlots();
    }

    private void initializeSlots() {
        slots.clear();
        int start = 18;
        for (int i = 1; i <= 14; i++) {
            slots.put(i, start);
            start++;
        }
        start = 18;
        for (int i = 15; i <= 30; i++) {
            slots.put(i, start);
            start++;
        }
        start = 18;
        for (int i = 31; i <= 43; i++) {
            slots.put(i, start);
            start++;
        }
        start = 18;
        for (int i = 44; i <= 60; i++) {
            slots.put(i, start);
            start++;
        }
    }

    @Subscribe
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;

        if (antiAFKMode.get() && mc.player.isOnGround()) {
            mc.player.jump();
        }

        if (reconnectMode.get()) {
            runReconnectMode();
        } else if (privateMessageMode.get()) {
            runPrivateMessageMode();
        }
    }

    private void runPrivateMessageMode() {
        ticksSinceLastMessage++;
        if (ticksSinceLastMessage >= privateInterval.get()) {
            List<AbstractClientPlayerEntity> players = mc.world.getPlayers();

            if (players.isEmpty()) {
                print("Нет игроков для отправки сообщения.");
                resetPrivateMessageMode();
                return;
            }

            AbstractClientPlayerEntity targetPlayer = findNextPlayer(players);
            if (targetPlayer == null) {
                resetPrivateMessageMode();
                return;
            }

            sendPrivateMessage(targetPlayer);
            ticksSinceLastMessage = 0;
        }
    }

    private AbstractClientPlayerEntity findNextPlayer(List<AbstractClientPlayerEntity> players) {
        for (int i = 0; i < players.size(); i++) {
            AbstractClientPlayerEntity player = players.get(currentPlayerIndex);
            currentPlayerIndex = (currentPlayerIndex + 1) % players.size();

            if (!isModerator(player) && player != mc.player) {
                return player;
            }
        }
        return null;
    }

    private void sendPrivateMessage(AbstractClientPlayerEntity targetPlayer) {
        String playerName = targetPlayer.getName().getString();
        String fullCommand = "/msg " + playerName + " " + spamMessage.get();
        mc.player.sendChatMessage(fullCommand);
    }

    private void resetPrivateMessageMode() {
        currentPlayerIndex = 0;
        step = 6;
    }

    private boolean isModerator(PlayerEntity player) {
        return StaffListRenderer.staffPlayers.contains(player.getName().getString());
    }

    private void runReconnectMode() {
        switch (step) {
            case 0 -> handleHubCommand();
            case 1 -> handleMenuCommand();
            case 2 -> handleModeSelection();
            case 3 -> handleAnarchySelection();
            case 4 -> handleSlotClick();
            case 5 -> handleSpamMessage();
            case 6 -> handleServerSwitch();
        }
    }

    private void handleHubCommand() {
        if (timerUtil.hasTimeElapsed(leaveInterval.get().intValue())) {
            timerUtil.reset();
            mc.player.sendChatMessage("/hub");
            step = 1;
        }
    }

    private void handleMenuCommand() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            mc.player.sendChatMessage("/menu");
            step = 2;
        }
    }

    private void handleModeSelection() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            if (!hasChange(MODE_SELECTION_TITLE)) {
                step = 1;
                return;
            }
            mc.playerController.windowClick(mc.player.openContainer.windowId, 12, 0, ClickType.PICKUP, mc.player);
            step = 3;
        }
    }

    private void handleAnarchySelection() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            if (!hasChange(ANARCHY_SELECTION_TITLE)) {
                step = 1;
                return;
            }
            String mode = getModeForServer(currentServer);
            if (mode == null) {
                currentServer = startAnarchy.get().intValue();
                step = 1;
                return;
            }
            mc.playerController.windowClick(mc.player.openContainer.windowId, findSlotByName(mode), 0, ClickType.PICKUP, mc.player);
            step = 4;
        }
    }

    private void handleSlotClick() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            if (!hasChange(ANARCHY_SELECTION_TITLE)) {
                step = 1;
                return;
            }
            if (slots.containsKey(currentServer)) {
                mc.playerController.windowClick(mc.player.openContainer.windowId, slots.get(currentServer), 0, ClickType.PICKUP, mc.player);
            }
            step = 5;
        }
    }

    private void handleSpamMessage() {
        if (privateMessageMode.get()) {
            runPrivateMessageMode();
            return;
        }
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            if (isModerator()) {
                timerUtil.reset();
                print("Блять тут админы, я ливаю нахуй");
                mc.player.sendChatMessage("/hub");
                currentServer++;
                currentMessages = 0;
                if (currentServer > stopAnarchy.get().intValue()) {
                    currentServer = startAnarchy.get().intValue();
                }
                step = 1;
                return;
            }
            if (messagesUtil.hasTimeElapsedAndReset(messagesInterval.get().intValue())) {
                if (currentMessages < messagesCount.get().intValue()) {
                    currentMessages++;
                    sendMessage();
                    if (currentMessages >= messagesCount.get().intValue()) {
                        timerUtil.reset();
                        currentMessages = 0;
                        step = 6;
                    }
                } else {
                    timerUtil.reset();
                    currentMessages = 0;
                    step = 6;
                }
            }
        }
    }

    private void sendMessage() {
        String msg = spamMessage.get();
        if (!msg.startsWith("!")) msg = "!" + msg;
        mc.player.sendChatMessage(msg);
    }

    private void handleServerSwitch() {
        if (timerUtil.hasTimeElapsed(leaveInterval.get().intValue())) {
            timerUtil.reset();
            currentServer++;
            if (currentServer > stopAnarchy.get().intValue()) {
                currentServer = startAnarchy.get().intValue();
                spamMessage.set("Заходите в тгк @byloper там проводят топовыми раздачами");
            }
            step = 0;
        }
    }

    private String getModeForServer(int server) {
        if (server >= 1 && server <= 14) return SOLO_LIGHT;
        if (server >= 15 && server <= 30) return DUO_LIGHT;
        if (server >= 31 && server <= 43) return TRIO_LIGHT;
        if (server >= 44 && server <= 60) return CLAN_LIGHT;
        return null;
    }

    private boolean hasChange(String title) {
        if (mc.currentScreen instanceof ChestScreen chestScreen) {
            return chestScreen.getTitle().getString().toLowerCase().contains(title);
        }
        return false;
    }

    private int findSlotByName(String name) {
        for (int i = 0; i < mc.player.openContainer.getInventory().size(); i++) {
            ItemStack stack = mc.player.openContainer.getInventory().get(i);
            if (stack != null && stack.getDisplayName().getString().contains(name)) {
                return i;
            }
        }
        return -1;
    }

    private boolean isModerator() {
        if (StaffListRenderer.staffPlayers.isEmpty()) {
            return false;
        } else {
            System.out.println("Staff detected: " + StaffListRenderer.staffPlayers);
            return true;
        }
    }

    @Override
    public void onEnable() {
        super.onEnable();
        currentServer = startAnarchy.get().intValue();
    }
}
 
Последнее редактирование модератором:
minced client
Пользователь
Статус
Оффлайн
Регистрация
8 Май 2022
Сообщения
617
Реакции[?]
62
Поинты[?]
2K
Вот вам спамер под хв который ходит по анкам.

Вот вам ебаные ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.


Вот вам мой говнокод:
Java:
package im.sunclient.functions.impl.misc;

import com.google.common.eventbus.Subscribe;
import com.hakan.jdw.Webhook;
import im.sunclient.SunClient;
import im.sunclient.events.EventUpdate;
import im.sunclient.functions.api.Category;
import im.sunclient.functions.api.Function;
import im.sunclient.functions.api.FunctionRegister;
import im.sunclient.functions.settings.impl.BooleanSetting;
import im.sunclient.functions.settings.impl.SliderSetting;
import im.sunclient.functions.settings.impl.StringSetting;
import im.sunclient.ui.display.impl.StaffListRenderer;
import im.sunclient.utils.PingUtil;
import im.sunclient.utils.TimerUtil;
import im.sunclient.utils.player.PlayerUtils;
import net.minecraft.client.entity.player.AbstractClientPlayerEntity;
import net.minecraft.client.gui.screen.inventory.ChestScreen;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;

import java.awt.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@FunctionRegister(name = "HWSpamer", type = Category.Misc)
public class HWSpammer extends Function {
    private static final String MODE_SELECTION_TITLE = "выберите режим";
    private static final String ANARCHY_SELECTION_TITLE = "выбор лайт анархии";
    private static final String SOLO_LIGHT = "СолоЛайт";
    private static final String DUO_LIGHT = "ДуоЛайт";
    private static final String TRIO_LIGHT = "ТриоЛайт";
    private static final String CLAN_LIGHT = "КланЛайт";

    private final TimerUtil timerUtil = new TimerUtil();
    private final TimerUtil messagesUtil = new TimerUtil();
    private final Map<Integer, Integer> slots = new HashMap<>();
    private final BooleanSetting privateMessageMode = new BooleanSetting("Private msg", false);
    private final BooleanSetting reconnectMode = new BooleanSetting("Multi-Server", true);
    private final BooleanSetting antiAFKMode = new BooleanSetting("AntiAFK", true);
    private final SliderSetting privateInterval = new SliderSetting("Private Interval", 20, 0, 310, 1);
    private final SliderSetting forInterval = new SliderSetting("Интервал цикла (мс)", 500, 50, 5000, 10);
    private final SliderSetting leaveInterval = new SliderSetting("Интервал для выхода (мс)", 500, 50, 5000, 10);
    private final SliderSetting messagesInterval = new SliderSetting("Кд меж сообщениями (мс)", 500, 50, 10000, 10);
    private final SliderSetting messagesCount = new SliderSetting("Кол-во сообщений", 1, 1, 10, 1);

    private final SliderSetting startAnarchy = new SliderSetting("Начальная анархия", 1, 1, 60, 1);
    private final SliderSetting stopAnarchy = new SliderSetting("Конечная анархия", 1, 1, 60, 1);
    private final StringSetting spamMessage = new StringSetting(
            "Сообщение",
            "spam by SunClient",
            "Укажите текст для отправки сообщений в чат"
    );

    private String lastMessage = ".";
    private int ticksSinceLastMessage = 0;
    private int currentPlayerIndex = 0;
    private int currentServer = 1;
    private int currentMessages = 0;
    private int step = 0;

    public HWSpammer() {
        addSettings(spamMessage,
                privateMessageMode,
                antiAFKMode,
                reconnectMode,
                privateInterval,
                startAnarchy,
                stopAnarchy,
                forInterval,
                leaveInterval,
                messagesInterval,
                messagesCount);
        initializeSlots();
    }

    private void initializeSlots() {
        slots.clear();
        int start = 18;
        for (int i = 1; i <= 14; i++) {
            slots.put(i, start);
            start++;
        }
        start = 18;
        for (int i = 15; i <= 30; i++) {
            slots.put(i, start);
            start++;
        }
        start = 18;
        for (int i = 31; i <= 43; i++) {
            slots.put(i, start);
            start++;
        }
        start = 18;
        for (int i = 44; i <= 60; i++) {
            slots.put(i, start);
            start++;
        }
    }

    @Subscribe
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;

        if (antiAFKMode.get() && mc.player.isOnGround()) {
            mc.player.jump();
        }

        if (reconnectMode.get()) {
            runReconnectMode();
        } else if (privateMessageMode.get()) {
            runPrivateMessageMode();
        }
    }

    private void runPrivateMessageMode() {
        ticksSinceLastMessage++;
        if (ticksSinceLastMessage >= privateInterval.get()) {
            List<AbstractClientPlayerEntity> players = mc.world.getPlayers();

            if (players.isEmpty()) {
                print("Нет игроков для отправки сообщения.");
                resetPrivateMessageMode();
                return;
            }

            AbstractClientPlayerEntity targetPlayer = findNextPlayer(players);
            if (targetPlayer == null) {
                resetPrivateMessageMode();
                return;
            }

            sendPrivateMessage(targetPlayer);
            ticksSinceLastMessage = 0;
        }
    }

    private AbstractClientPlayerEntity findNextPlayer(List<AbstractClientPlayerEntity> players) {
        for (int i = 0; i < players.size(); i++) {
            AbstractClientPlayerEntity player = players.get(currentPlayerIndex);
            currentPlayerIndex = (currentPlayerIndex + 1) % players.size();

            if (!isModerator(player) && player != mc.player) {
                return player;
            }
        }
        return null;
    }

    private void sendPrivateMessage(AbstractClientPlayerEntity targetPlayer) {
        String playerName = targetPlayer.getName().getString();
        String fullCommand = "/msg " + playerName + " " + spamMessage.get();
        mc.player.sendChatMessage(fullCommand);
    }

    private void resetPrivateMessageMode() {
        currentPlayerIndex = 0;
        step = 6;
    }

    private boolean isModerator(PlayerEntity player) {
        return StaffListRenderer.staffPlayers.contains(player.getName().getString());
    }

    private void runReconnectMode() {
        switch (step) {
            case 0 -> handleHubCommand();
            case 1 -> handleMenuCommand();
            case 2 -> handleModeSelection();
            case 3 -> handleAnarchySelection();
            case 4 -> handleSlotClick();
            case 5 -> handleSpamMessage();
            case 6 -> handleServerSwitch();
        }
    }

    private void handleHubCommand() {
        if (timerUtil.hasTimeElapsed(leaveInterval.get().intValue())) {
            timerUtil.reset();
            mc.player.sendChatMessage("/hub");
            step = 1;
        }
    }

    private void handleMenuCommand() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            mc.player.sendChatMessage("/menu");
            step = 2;
        }
    }

    private void handleModeSelection() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            if (!hasChange(MODE_SELECTION_TITLE)) {
                step = 1;
                return;
            }
            mc.playerController.windowClick(mc.player.openContainer.windowId, 12, 0, ClickType.PICKUP, mc.player);
            step = 3;
        }
    }

    private void handleAnarchySelection() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            if (!hasChange(ANARCHY_SELECTION_TITLE)) {
                step = 1;
                return;
            }
            String mode = getModeForServer(currentServer);
            if (mode == null) {
                currentServer = startAnarchy.get().intValue();
                step = 1;
                return;
            }
            mc.playerController.windowClick(mc.player.openContainer.windowId, findSlotByName(mode), 0, ClickType.PICKUP, mc.player);
            step = 4;
        }
    }

    private void handleSlotClick() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            if (!hasChange(ANARCHY_SELECTION_TITLE)) {
                step = 1;
                return;
            }
            if (slots.containsKey(currentServer)) {
                mc.playerController.windowClick(mc.player.openContainer.windowId, slots.get(currentServer), 0, ClickType.PICKUP, mc.player);
            }
            step = 5;
        }
    }

    private void handleSpamMessage() {
        if (privateMessageMode.get()) {
            runPrivateMessageMode();
            return;
        }
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            if (isModerator()) {
                timerUtil.reset();
                print("Блять тут админы, я ливаю нахуй");
                mc.player.sendChatMessage("/hub");
                currentServer++;
                currentMessages = 0;
                if (currentServer > stopAnarchy.get().intValue()) {
                    currentServer = startAnarchy.get().intValue();
                }
                step = 1;
                return;
            }
            if (messagesUtil.hasTimeElapsedAndReset(messagesInterval.get().intValue())) {
                if (currentMessages < messagesCount.get().intValue()) {
                    currentMessages++;
                    sendMessage();
                    if (currentMessages >= messagesCount.get().intValue()) {
                        timerUtil.reset();
                        currentMessages = 0;
                        step = 6;
                    }
                } else {
                    timerUtil.reset();
                    currentMessages = 0;
                    step = 6;
                }
            }
        }
    }

    private void sendMessage() {
        String msg = spamMessage.get();
        if (!msg.startsWith("!")) msg = "!" + msg;
        mc.player.sendChatMessage(msg);
    }

    private void handleServerSwitch() {
        if (timerUtil.hasTimeElapsed(leaveInterval.get().intValue())) {
            timerUtil.reset();
            currentServer++;
            if (currentServer > stopAnarchy.get().intValue()) {
                currentServer = startAnarchy.get().intValue();
                spamMessage.set("Заходите в тгк @byloper там проводят топовыми раздачами");
            }
            step = 0;
        }
    }

    private String getModeForServer(int server) {
        if (server >= 1 && server <= 14) return SOLO_LIGHT;
        if (server >= 15 && server <= 30) return DUO_LIGHT;
        if (server >= 31 && server <= 43) return TRIO_LIGHT;
        if (server >= 44 && server <= 60) return CLAN_LIGHT;
        return null;
    }

    private boolean hasChange(String title) {
        if (mc.currentScreen instanceof ChestScreen chestScreen) {
            return chestScreen.getTitle().getString().toLowerCase().contains(title);
        }
        return false;
    }

    private int findSlotByName(String name) {
        for (int i = 0; i < mc.player.openContainer.getInventory().size(); i++) {
            ItemStack stack = mc.player.openContainer.getInventory().get(i);
            if (stack != null && stack.getDisplayName().getString().contains(name)) {
                return i;
            }
        }
        return -1;
    }

    private boolean isModerator() {
        if (StaffListRenderer.staffPlayers.isEmpty()) {
            return false;
        } else {
            System.out.println("Staff detected: " + StaffListRenderer.staffPlayers);
            return true;
        }
    }

    @Override
    public void onEnable() {
        super.onEnable();
        currentServer = startAnarchy.get().intValue();
    }
}
Самая бесполезная функция на форуме, и с самым ужасным кодом, тут даже чат гпт не помог
 
Начинающий
Статус
Оффлайн
Регистрация
26 Июл 2020
Сообщения
3
Реакции[?]
0
Поинты[?]
0
Последнее редактирование:
Начинающий
Статус
Онлайн
Регистрация
6 Июл 2024
Сообщения
14
Реакции[?]
0
Поинты[?]
0
Вот вам спамер под хв который ходит по анкам.

Вот вам ебаные ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.


Вот вам мой говнокод:
Java:
package im.sunclient.functions.impl.misc;

import com.google.common.eventbus.Subscribe;
import com.hakan.jdw.Webhook;
import im.sunclient.SunClient;
import im.sunclient.events.EventUpdate;
import im.sunclient.functions.api.Category;
import im.sunclient.functions.api.Function;
import im.sunclient.functions.api.FunctionRegister;
import im.sunclient.functions.settings.impl.BooleanSetting;
import im.sunclient.functions.settings.impl.SliderSetting;
import im.sunclient.functions.settings.impl.StringSetting;
import im.sunclient.ui.display.impl.StaffListRenderer;
import im.sunclient.utils.PingUtil;
import im.sunclient.utils.TimerUtil;
import im.sunclient.utils.player.PlayerUtils;
import net.minecraft.client.entity.player.AbstractClientPlayerEntity;
import net.minecraft.client.gui.screen.inventory.ChestScreen;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;

import java.awt.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@FunctionRegister(name = "HWSpamer", type = Category.Misc)
public class HWSpammer extends Function {
    private static final String MODE_SELECTION_TITLE = "выберите режим";
    private static final String ANARCHY_SELECTION_TITLE = "выбор лайт анархии";
    private static final String SOLO_LIGHT = "СолоЛайт";
    private static final String DUO_LIGHT = "ДуоЛайт";
    private static final String TRIO_LIGHT = "ТриоЛайт";
    private static final String CLAN_LIGHT = "КланЛайт";

    private final TimerUtil timerUtil = new TimerUtil();
    private final TimerUtil messagesUtil = new TimerUtil();
    private final Map<Integer, Integer> slots = new HashMap<>();
    private final BooleanSetting privateMessageMode = new BooleanSetting("Private msg", false);
    private final BooleanSetting reconnectMode = new BooleanSetting("Multi-Server", true);
    private final BooleanSetting antiAFKMode = new BooleanSetting("AntiAFK", true);
    private final SliderSetting privateInterval = new SliderSetting("Private Interval", 20, 0, 310, 1);
    private final SliderSetting forInterval = new SliderSetting("Интервал цикла (мс)", 500, 50, 5000, 10);
    private final SliderSetting leaveInterval = new SliderSetting("Интервал для выхода (мс)", 500, 50, 5000, 10);
    private final SliderSetting messagesInterval = new SliderSetting("Кд меж сообщениями (мс)", 500, 50, 10000, 10);
    private final SliderSetting messagesCount = new SliderSetting("Кол-во сообщений", 1, 1, 10, 1);

    private final SliderSetting startAnarchy = new SliderSetting("Начальная анархия", 1, 1, 60, 1);
    private final SliderSetting stopAnarchy = new SliderSetting("Конечная анархия", 1, 1, 60, 1);
    private final StringSetting spamMessage = new StringSetting(
            "Сообщение",
            "spam by SunClient",
            "Укажите текст для отправки сообщений в чат"
    );

    private String lastMessage = ".";
    private int ticksSinceLastMessage = 0;
    private int currentPlayerIndex = 0;
    private int currentServer = 1;
    private int currentMessages = 0;
    private int step = 0;

    public HWSpammer() {
        addSettings(spamMessage,
                privateMessageMode,
                antiAFKMode,
                reconnectMode,
                privateInterval,
                startAnarchy,
                stopAnarchy,
                forInterval,
                leaveInterval,
                messagesInterval,
                messagesCount);
        initializeSlots();
    }

    private void initializeSlots() {
        slots.clear();
        int start = 18;
        for (int i = 1; i <= 14; i++) {
            slots.put(i, start);
            start++;
        }
        start = 18;
        for (int i = 15; i <= 30; i++) {
            slots.put(i, start);
            start++;
        }
        start = 18;
        for (int i = 31; i <= 43; i++) {
            slots.put(i, start);
            start++;
        }
        start = 18;
        for (int i = 44; i <= 60; i++) {
            slots.put(i, start);
            start++;
        }
    }

    @Subscribe
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;

        if (antiAFKMode.get() && mc.player.isOnGround()) {
            mc.player.jump();
        }

        if (reconnectMode.get()) {
            runReconnectMode();
        } else if (privateMessageMode.get()) {
            runPrivateMessageMode();
        }
    }

    private void runPrivateMessageMode() {
        ticksSinceLastMessage++;
        if (ticksSinceLastMessage >= privateInterval.get()) {
            List<AbstractClientPlayerEntity> players = mc.world.getPlayers();

            if (players.isEmpty()) {
                print("Нет игроков для отправки сообщения.");
                resetPrivateMessageMode();
                return;
            }

            AbstractClientPlayerEntity targetPlayer = findNextPlayer(players);
            if (targetPlayer == null) {
                resetPrivateMessageMode();
                return;
            }

            sendPrivateMessage(targetPlayer);
            ticksSinceLastMessage = 0;
        }
    }

    private AbstractClientPlayerEntity findNextPlayer(List<AbstractClientPlayerEntity> players) {
        for (int i = 0; i < players.size(); i++) {
            AbstractClientPlayerEntity player = players.get(currentPlayerIndex);
            currentPlayerIndex = (currentPlayerIndex + 1) % players.size();

            if (!isModerator(player) && player != mc.player) {
                return player;
            }
        }
        return null;
    }

    private void sendPrivateMessage(AbstractClientPlayerEntity targetPlayer) {
        String playerName = targetPlayer.getName().getString();
        String fullCommand = "/msg " + playerName + " " + spamMessage.get();
        mc.player.sendChatMessage(fullCommand);
    }

    private void resetPrivateMessageMode() {
        currentPlayerIndex = 0;
        step = 6;
    }

    private boolean isModerator(PlayerEntity player) {
        return StaffListRenderer.staffPlayers.contains(player.getName().getString());
    }

    private void runReconnectMode() {
        switch (step) {
            case 0 -> handleHubCommand();
            case 1 -> handleMenuCommand();
            case 2 -> handleModeSelection();
            case 3 -> handleAnarchySelection();
            case 4 -> handleSlotClick();
            case 5 -> handleSpamMessage();
            case 6 -> handleServerSwitch();
        }
    }

    private void handleHubCommand() {
        if (timerUtil.hasTimeElapsed(leaveInterval.get().intValue())) {
            timerUtil.reset();
            mc.player.sendChatMessage("/hub");
            step = 1;
        }
    }

    private void handleMenuCommand() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            mc.player.sendChatMessage("/menu");
            step = 2;
        }
    }

    private void handleModeSelection() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            if (!hasChange(MODE_SELECTION_TITLE)) {
                step = 1;
                return;
            }
            mc.playerController.windowClick(mc.player.openContainer.windowId, 12, 0, ClickType.PICKUP, mc.player);
            step = 3;
        }
    }

    private void handleAnarchySelection() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            if (!hasChange(ANARCHY_SELECTION_TITLE)) {
                step = 1;
                return;
            }
            String mode = getModeForServer(currentServer);
            if (mode == null) {
                currentServer = startAnarchy.get().intValue();
                step = 1;
                return;
            }
            mc.playerController.windowClick(mc.player.openContainer.windowId, findSlotByName(mode), 0, ClickType.PICKUP, mc.player);
            step = 4;
        }
    }

    private void handleSlotClick() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            if (!hasChange(ANARCHY_SELECTION_TITLE)) {
                step = 1;
                return;
            }
            if (slots.containsKey(currentServer)) {
                mc.playerController.windowClick(mc.player.openContainer.windowId, slots.get(currentServer), 0, ClickType.PICKUP, mc.player);
            }
            step = 5;
        }
    }

    private void handleSpamMessage() {
        if (privateMessageMode.get()) {
            runPrivateMessageMode();
            return;
        }
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            if (isModerator()) {
                timerUtil.reset();
                print("Блять тут админы, я ливаю нахуй");
                mc.player.sendChatMessage("/hub");
                currentServer++;
                currentMessages = 0;
                if (currentServer > stopAnarchy.get().intValue()) {
                    currentServer = startAnarchy.get().intValue();
                }
                step = 1;
                return;
            }
            if (messagesUtil.hasTimeElapsedAndReset(messagesInterval.get().intValue())) {
                if (currentMessages < messagesCount.get().intValue()) {
                    currentMessages++;
                    sendMessage();
                    if (currentMessages >= messagesCount.get().intValue()) {
                        timerUtil.reset();
                        currentMessages = 0;
                        step = 6;
                    }
                } else {
                    timerUtil.reset();
                    currentMessages = 0;
                    step = 6;
                }
            }
        }
    }

    private void sendMessage() {
        String msg = spamMessage.get();
        if (!msg.startsWith("!")) msg = "!" + msg;
        mc.player.sendChatMessage(msg);
    }

    private void handleServerSwitch() {
        if (timerUtil.hasTimeElapsed(leaveInterval.get().intValue())) {
            timerUtil.reset();
            currentServer++;
            if (currentServer > stopAnarchy.get().intValue()) {
                currentServer = startAnarchy.get().intValue();
                spamMessage.set("Заходите в тгк @byloper там проводят топовыми раздачами");
            }
            step = 0;
        }
    }

    private String getModeForServer(int server) {
        if (server >= 1 && server <= 14) return SOLO_LIGHT;
        if (server >= 15 && server <= 30) return DUO_LIGHT;
        if (server >= 31 && server <= 43) return TRIO_LIGHT;
        if (server >= 44 && server <= 60) return CLAN_LIGHT;
        return null;
    }

    private boolean hasChange(String title) {
        if (mc.currentScreen instanceof ChestScreen chestScreen) {
            return chestScreen.getTitle().getString().toLowerCase().contains(title);
        }
        return false;
    }

    private int findSlotByName(String name) {
        for (int i = 0; i < mc.player.openContainer.getInventory().size(); i++) {
            ItemStack stack = mc.player.openContainer.getInventory().get(i);
            if (stack != null && stack.getDisplayName().getString().contains(name)) {
                return i;
            }
        }
        return -1;
    }

    private boolean isModerator() {
        if (StaffListRenderer.staffPlayers.isEmpty()) {
            return false;
        } else {
            System.out.println("Staff detected: " + StaffListRenderer.staffPlayers);
            return true;
        }
    }

    @Override
    public void onEnable() {
        super.onEnable();
        currentServer = startAnarchy.get().intValue();
    }
}
1 вопрос нахуй, 2 вопрос че с кодом блять
 
Начинающий
Статус
Онлайн
Регистрация
6 Фев 2025
Сообщения
4
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Онлайн
Регистрация
6 Июл 2024
Сообщения
14
Реакции[?]
0
Поинты[?]
0
1 - У Frame dev есть такой спамер и они его продают
2 - А что не так блять ?
1 конечно я на понимаю нахуй под холик спам 2 я заебался писать цифры ведь я не умею печатать больше 3 цифр не ток потому что клава залилась но всем похуй 3. ну блять много не нужных хуень в коде
 
Начинающий
Статус
Оффлайн
Регистрация
27 Дек 2024
Сообщения
48
Реакции[?]
0
Поинты[?]
0
Вот вам спамер под хв который ходит по анкам.

Вот вам ебаные ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.


Вот вам мой говнокод:
Java:
package im.sunclient.functions.impl.misc;

import com.google.common.eventbus.Subscribe;
import com.hakan.jdw.Webhook;
import im.sunclient.SunClient;
import im.sunclient.events.EventUpdate;
import im.sunclient.functions.api.Category;
import im.sunclient.functions.api.Function;
import im.sunclient.functions.api.FunctionRegister;
import im.sunclient.functions.settings.impl.BooleanSetting;
import im.sunclient.functions.settings.impl.SliderSetting;
import im.sunclient.functions.settings.impl.StringSetting;
import im.sunclient.ui.display.impl.StaffListRenderer;
import im.sunclient.utils.PingUtil;
import im.sunclient.utils.TimerUtil;
import im.sunclient.utils.player.PlayerUtils;
import net.minecraft.client.entity.player.AbstractClientPlayerEntity;
import net.minecraft.client.gui.screen.inventory.ChestScreen;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;

import java.awt.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@FunctionRegister(name = "HWSpamer", type = Category.Misc)
public class HWSpammer extends Function {
    private static final String MODE_SELECTION_TITLE = "выберите режим";
    private static final String ANARCHY_SELECTION_TITLE = "выбор лайт анархии";
    private static final String SOLO_LIGHT = "СолоЛайт";
    private static final String DUO_LIGHT = "ДуоЛайт";
    private static final String TRIO_LIGHT = "ТриоЛайт";
    private static final String CLAN_LIGHT = "КланЛайт";

    private final TimerUtil timerUtil = new TimerUtil();
    private final TimerUtil messagesUtil = new TimerUtil();
    private final Map<Integer, Integer> slots = new HashMap<>();
    private final BooleanSetting privateMessageMode = new BooleanSetting("Private msg", false);
    private final BooleanSetting reconnectMode = new BooleanSetting("Multi-Server", true);
    private final BooleanSetting antiAFKMode = new BooleanSetting("AntiAFK", true);
    private final SliderSetting privateInterval = new SliderSetting("Private Interval", 20, 0, 310, 1);
    private final SliderSetting forInterval = new SliderSetting("Интервал цикла (мс)", 500, 50, 5000, 10);
    private final SliderSetting leaveInterval = new SliderSetting("Интервал для выхода (мс)", 500, 50, 5000, 10);
    private final SliderSetting messagesInterval = new SliderSetting("Кд меж сообщениями (мс)", 500, 50, 10000, 10);
    private final SliderSetting messagesCount = new SliderSetting("Кол-во сообщений", 1, 1, 10, 1);

    private final SliderSetting startAnarchy = new SliderSetting("Начальная анархия", 1, 1, 60, 1);
    private final SliderSetting stopAnarchy = new SliderSetting("Конечная анархия", 1, 1, 60, 1);
    private final StringSetting spamMessage = new StringSetting(
            "Сообщение",
            "spam by SunClient",
            "Укажите текст для отправки сообщений в чат"
    );

    private String lastMessage = ".";
    private int ticksSinceLastMessage = 0;
    private int currentPlayerIndex = 0;
    private int currentServer = 1;
    private int currentMessages = 0;
    private int step = 0;

    public HWSpammer() {
        addSettings(spamMessage,
                privateMessageMode,
                antiAFKMode,
                reconnectMode,
                privateInterval,
                startAnarchy,
                stopAnarchy,
                forInterval,
                leaveInterval,
                messagesInterval,
                messagesCount);
        initializeSlots();
    }

    private void initializeSlots() {
        slots.clear();
        int start = 18;
        for (int i = 1; i <= 14; i++) {
            slots.put(i, start);
            start++;
        }
        start = 18;
        for (int i = 15; i <= 30; i++) {
            slots.put(i, start);
            start++;
        }
        start = 18;
        for (int i = 31; i <= 43; i++) {
            slots.put(i, start);
            start++;
        }
        start = 18;
        for (int i = 44; i <= 60; i++) {
            slots.put(i, start);
            start++;
        }
    }

    @Subscribe
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;

        if (antiAFKMode.get() && mc.player.isOnGround()) {
            mc.player.jump();
        }

        if (reconnectMode.get()) {
            runReconnectMode();
        } else if (privateMessageMode.get()) {
            runPrivateMessageMode();
        }
    }

    private void runPrivateMessageMode() {
        ticksSinceLastMessage++;
        if (ticksSinceLastMessage >= privateInterval.get()) {
            List<AbstractClientPlayerEntity> players = mc.world.getPlayers();

            if (players.isEmpty()) {
                print("Нет игроков для отправки сообщения.");
                resetPrivateMessageMode();
                return;
            }

            AbstractClientPlayerEntity targetPlayer = findNextPlayer(players);
            if (targetPlayer == null) {
                resetPrivateMessageMode();
                return;
            }

            sendPrivateMessage(targetPlayer);
            ticksSinceLastMessage = 0;
        }
    }

    private AbstractClientPlayerEntity findNextPlayer(List<AbstractClientPlayerEntity> players) {
        for (int i = 0; i < players.size(); i++) {
            AbstractClientPlayerEntity player = players.get(currentPlayerIndex);
            currentPlayerIndex = (currentPlayerIndex + 1) % players.size();

            if (!isModerator(player) && player != mc.player) {
                return player;
            }
        }
        return null;
    }

    private void sendPrivateMessage(AbstractClientPlayerEntity targetPlayer) {
        String playerName = targetPlayer.getName().getString();
        String fullCommand = "/msg " + playerName + " " + spamMessage.get();
        mc.player.sendChatMessage(fullCommand);
    }

    private void resetPrivateMessageMode() {
        currentPlayerIndex = 0;
        step = 6;
    }

    private boolean isModerator(PlayerEntity player) {
        return StaffListRenderer.staffPlayers.contains(player.getName().getString());
    }

    private void runReconnectMode() {
        switch (step) {
            case 0 -> handleHubCommand();
            case 1 -> handleMenuCommand();
            case 2 -> handleModeSelection();
            case 3 -> handleAnarchySelection();
            case 4 -> handleSlotClick();
            case 5 -> handleSpamMessage();
            case 6 -> handleServerSwitch();
        }
    }

    private void handleHubCommand() {
        if (timerUtil.hasTimeElapsed(leaveInterval.get().intValue())) {
            timerUtil.reset();
            mc.player.sendChatMessage("/hub");
            step = 1;
        }
    }

    private void handleMenuCommand() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            mc.player.sendChatMessage("/menu");
            step = 2;
        }
    }

    private void handleModeSelection() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            if (!hasChange(MODE_SELECTION_TITLE)) {
                step = 1;
                return;
            }
            mc.playerController.windowClick(mc.player.openContainer.windowId, 12, 0, ClickType.PICKUP, mc.player);
            step = 3;
        }
    }

    private void handleAnarchySelection() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            if (!hasChange(ANARCHY_SELECTION_TITLE)) {
                step = 1;
                return;
            }
            String mode = getModeForServer(currentServer);
            if (mode == null) {
                currentServer = startAnarchy.get().intValue();
                step = 1;
                return;
            }
            mc.playerController.windowClick(mc.player.openContainer.windowId, findSlotByName(mode), 0, ClickType.PICKUP, mc.player);
            step = 4;
        }
    }

    private void handleSlotClick() {
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            timerUtil.reset();
            if (!hasChange(ANARCHY_SELECTION_TITLE)) {
                step = 1;
                return;
            }
            if (slots.containsKey(currentServer)) {
                mc.playerController.windowClick(mc.player.openContainer.windowId, slots.get(currentServer), 0, ClickType.PICKUP, mc.player);
            }
            step = 5;
        }
    }

    private void handleSpamMessage() {
        if (privateMessageMode.get()) {
            runPrivateMessageMode();
            return;
        }
        if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
            if (isModerator()) {
                timerUtil.reset();
                print("Блять тут админы, я ливаю нахуй");
                mc.player.sendChatMessage("/hub");
                currentServer++;
                currentMessages = 0;
                if (currentServer > stopAnarchy.get().intValue()) {
                    currentServer = startAnarchy.get().intValue();
                }
                step = 1;
                return;
            }
            if (messagesUtil.hasTimeElapsedAndReset(messagesInterval.get().intValue())) {
                if (currentMessages < messagesCount.get().intValue()) {
                    currentMessages++;
                    sendMessage();
                    if (currentMessages >= messagesCount.get().intValue()) {
                        timerUtil.reset();
                        currentMessages = 0;
                        step = 6;
                    }
                } else {
                    timerUtil.reset();
                    currentMessages = 0;
                    step = 6;
                }
            }
        }
    }

    private void sendMessage() {
        String msg = spamMessage.get();
        if (!msg.startsWith("!")) msg = "!" + msg;
        mc.player.sendChatMessage(msg);
    }

    private void handleServerSwitch() {
        if (timerUtil.hasTimeElapsed(leaveInterval.get().intValue())) {
            timerUtil.reset();
            currentServer++;
            if (currentServer > stopAnarchy.get().intValue()) {
                currentServer = startAnarchy.get().intValue();
                spamMessage.set("Заходите в тгк @byloper там проводят топовыми раздачами");
            }
            step = 0;
        }
    }

    private String getModeForServer(int server) {
        if (server >= 1 && server <= 14) return SOLO_LIGHT;
        if (server >= 15 && server <= 30) return DUO_LIGHT;
        if (server >= 31 && server <= 43) return TRIO_LIGHT;
        if (server >= 44 && server <= 60) return CLAN_LIGHT;
        return null;
    }

    private boolean hasChange(String title) {
        if (mc.currentScreen instanceof ChestScreen chestScreen) {
            return chestScreen.getTitle().getString().toLowerCase().contains(title);
        }
        return false;
    }

    private int findSlotByName(String name) {
        for (int i = 0; i < mc.player.openContainer.getInventory().size(); i++) {
            ItemStack stack = mc.player.openContainer.getInventory().get(i);
            if (stack != null && stack.getDisplayName().getString().contains(name)) {
                return i;
            }
        }
        return -1;
    }

    private boolean isModerator() {
        if (StaffListRenderer.staffPlayers.isEmpty()) {
            return false;
        } else {
            System.out.println("Staff detected: " + StaffListRenderer.staffPlayers);
            return true;
        }
    }

    @Override
    public void onEnable() {
        super.onEnable();
        currentServer = startAnarchy.get().intValue();
    }
}
скинь пинг утил
 
Начинающий
Статус
Онлайн
Регистрация
6 Фев 2025
Сообщения
4
Реакции[?]
0
Поинты[?]
0
скинь пинг утил
В этом коде вроде нет проверок на пинг, просто убери импорт
Самая бесполезная функция на форуме, и с самым ужасным кодом, тут даже чат гпт не помог
Что с кодом не так ? Я блять не понимаю на него можно посмотреть и понять для чего он - можно, разбито на методы - разбито, что блять не так ?
 
Начинающий
Статус
Онлайн
Регистрация
6 Фев 2025
Сообщения
4
Реакции[?]
0
Поинты[?]
0
1 конечно я на понимаю нахуй под холик спам 2 я заебался писать цифры ведь я не умею печатать больше 3 цифр не ток потому что клава залилась но всем похуй 3. ну блять много не нужных хуень в коде
Они там сборку холика выпустили
 
Начинающий
Статус
Оффлайн
Регистрация
31 Июл 2023
Сообщения
8
Реакции[?]
0
Поинты[?]
3K
Самая бесполезная функция на форуме, и с самым ужасным кодом, тут даже чат гпт не помог
великий мишаня селфкодер тускич больше не в рид онли трепещите пасторы мишаня идет сливать TapeMouse recode!!!!!!
 
Сверху Снизу