Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Часть функционала RegionExploit | Minced/MCP

Начинающий
Начинающий
Статус
Онлайн
Регистрация
12 Июн 2025
Сообщения
32
Реакции
0
Выберите загрузчик игры
  1. Прочие моды
Привествую югейм, сливаю рабочий regionexploit, отправка кординат + добавления друзей сразу после отправки, работает засчет связки портов и сокет подключением

Отлично работает на lonygrief(noad), ну и логично на серверах где не запрещена команда //pos, код простой удобный половина была адаптирована на 1.21.4 думаю разберетесь, ss лень снимать ну и думаю к чему она если тут и так все понятно, критика привествуется но только аргументированная.



шедеврокод:
Expand Collapse Copy
package ru.eliminate.module.impl.misc;

import net.minecraft.network.play.server.SChatPacket;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import ru.eliminate.api.systems.event.EventHandler;
import ru.eliminate.api.systems.event.events.impl.packet.EventPacket;
import ru.eliminate.api.systems.event.events.impl.player.EventUpdate;
import ru.eliminate.Minced;
import ru.eliminate.api.utilities.chat.ChatUtility;
import ru.eliminate.api.utilities.settings.impl.ModeSetting;
import ru.eliminate.api.utilities.settings.impl.SliderSetting;
import ru.eliminate.client.modules.Module;
import ru.eliminate.client.modules.api.Category;
import ru.eliminate.client.modules.api.ModuleInfo;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;

@ModuleInfo(name = "RegionExploit", description = "iба чотка приватит лохов", category = Category.MISC)
public class RegionExploit extends Module {
   
    public ModeSetting instanceMode = new ModeSetting("Режим подключения", this, "Основной", "Основной", "Вторичный");
    public SliderSetting boxWidth = new SliderSetting("Размер бокса", this, 4.0f, 2.0f, 100.0f, 1.0f, () -> instanceMode.is("Вторичный"));
   
    private static final int PORT = 25566;
    private ServerSocket serverSocket;
    private Socket clientSocket;
    private Socket responseSocket;
    private Thread serverThread;
    private Thread clientThread;
    private final AtomicBoolean running = new AtomicBoolean(false);
    private boolean coordinatesSent = false;
    private String lastRegionName = null;
    private AtomicLong regionCreationStartTime = new AtomicLong(0);
    private volatile boolean regionCreationInProgress = false;
    private volatile boolean regionCreationSuccess = false;
    private volatile boolean memberAdded = false;
    private BlockPos lastRegionCenter = null;
    private String lastRegionPlayerName = null;
    private String primaryPlayerName = null;
    private static final long REGION_CREATION_TIMEOUT = 8000;
    private long lastConnectionAttempt = 0;
   
    @Override
    public void onEnable() {
        super.onEnable();
        running.set(true);
        coordinatesSent = false;
        lastConnectionAttempt = 0;
       
        if (instanceMode.is("Основной")) {
            startPrimaryMode();
        } else {
            startSecondaryMode();
        }
    }
   
    @Override
    public void onDisable() {
        super.onDisable();
        running.set(false);
        coordinatesSent = false;
        closeConnections();
    }
   
    @EventHandler
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;
       
        if (instanceMode.is("Основной") && isEnabled() && !coordinatesSent) {
            coordinatesSent = true;
            new Thread(() -> {
                try {
                    Thread.sleep(100);
                    sendCoordinates();
                } catch (InterruptedException e) {
                    Thread.currentThread().interrupt();
                }
            }, "RegionExploit-SendCoords").start();
        }
    }
   
    private void startPrimaryMode() {
        clientThread = new Thread(() -> {
            while (running.get() && isEnabled()) {
                try {
                    if (clientSocket == null || clientSocket.isClosed()) {
                        Thread.sleep(2000);
                        try {
                            clientSocket = new Socket();
                            clientSocket.connect(new java.net.InetSocketAddress("localhost", PORT), 2000);
                            clientSocket.setSoTimeout(5000);
                            ChatUtility.addMessage("Подключено к вторичному клиенту");
                            startResponseListener();
                        } catch (java.net.SocketTimeoutException e) {
                            long currentTime = System.currentTimeMillis();
                            if (!coordinatesSent || (currentTime - lastConnectionAttempt > 10000)) {
                                ChatUtility.addErrorMessage("Второй клиент не найден. Убедитесь, что второй Minecraft запущен с включенным RegionExploit в режиме Вторичный");
                                lastConnectionAttempt = currentTime;
                            }
                        } catch (IOException e) {
                            long currentTime = System.currentTimeMillis();
                            if (!coordinatesSent || (currentTime - lastConnectionAttempt > 10000)) {
                                ChatUtility.addErrorMessage("Второй клиент не найден. Убедитесь, что второй Minecraft запущен с включенным RegionExploit в режиме Вторичный");
                                lastConnectionAttempt = currentTime;
                            }
                        }
                    } else {
                        Thread.sleep(5000);
                    }
                } catch (InterruptedException e) {
                    break;
                }
            }
        }, "RegionExploit-PrimaryClient");
        clientThread.setDaemon(true);
        clientThread.start();
    }
   
    private void startSecondaryMode() {
        serverThread = new Thread(() -> {
            try {
                serverSocket = new ServerSocket(PORT);
                serverSocket.setSoTimeout(1000);
               
                while (running.get() && isEnabled()) {
                    try {
                        Socket socket = serverSocket.accept();
                        socket.setSoTimeout(10000);
                        ChatUtility.addMessage("Подключено к основному клиенту");
                        handleIncomingConnection(socket);
                    } catch (java.net.SocketTimeoutException e) {
                        continue;
                    } catch (IOException e) {
                        if (running.get() && isEnabled()) {
                            try {
                                Thread.sleep(1000);
                                if (serverSocket != null && !serverSocket.isClosed()) {
                                    serverSocket.close();
                                }
                                serverSocket = new ServerSocket(PORT);
                                serverSocket.setSoTimeout(1000);
                            } catch (Exception ex) {
                                break;
                            }
                        } else {
                            break;
                        }
                    }
                }
            } catch (IOException e) {
            }
        }, "RegionExploit-SecondaryServer");
        serverThread.setDaemon(true);
        serverThread.start();
    }
   
    private void handleIncomingConnection(Socket socket) {
        synchronized (this) {
            responseSocket = socket;
        }
       
        Thread handlerThread = new Thread(() -> {
            try {
                socket.setSoTimeout(30000);
                BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                String line;
                while (running.get() && isEnabled() && !socket.isClosed()) {
                    try {
                        line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        if (line.startsWith("NICK:")) {
                            primaryPlayerName = line.substring(5);
                            continue;
                        }
                        final String coordinates = line;
                        new Thread(() -> {
                            processCoordinates(coordinates);
                        }, "RegionExploit-ProcessCoords").start();
                    } catch (java.net.SocketTimeoutException e) {
                        continue;
                    }
                }
            } catch (IOException e) {
            } finally {
                synchronized (this) {
                    if (responseSocket == socket) {
                        responseSocket = null;
                    }
                }
                try {
                    socket.close();
                } catch (IOException ignored) {}
            }
        }, "RegionExploit-HandleConnection");
        handlerThread.setDaemon(true);
        handlerThread.start();
    }
   
    private void sendCoordinates() {
        if (mc.player == null) {
            return;
        }
       
        if (clientSocket == null || clientSocket.isClosed()) {
            try {
                clientSocket = new Socket();
                clientSocket.connect(new java.net.InetSocketAddress("localhost", PORT), 2000);
                clientSocket.setSoTimeout(5000);
                ChatUtility.addMessage("Подключен к Вторичному Клиенту");
                startResponseListener();
            } catch (IOException e) {
                coordinatesSent = false;
                ChatUtility.addErrorMessage("Второй клиент не найден. Убедитесь, что второй Minecraft запущен с включенным RegionExploit в режиме Вторичный");
                return;
            }
        }
       
        try {
            if (clientSocket.isClosed() || !clientSocket.isConnected()) {
                clientSocket = null;
                coordinatesSent = false;
                return;
            }
           
            PrintWriter writer = new PrintWriter(clientSocket.getOutputStream(), true);
            String playerName = mc.player.getGameProfile().getName();
           
            writer.println("NICK:" + playerName);
            writer.flush();
           
            BlockPos pos = mc.player.getPosition();
            String data = pos.getX() + "," + pos.getY() + "," + pos.getZ() + "," + playerName;
            writer.println(data);
            writer.flush();
            ChatUtility.addMessage("Пакет отправлен..");
        } catch (IOException e) {
            try {
                if (clientSocket != null) {
                    clientSocket.close();
                }
            } catch (IOException ignored) {}
            clientSocket = null;
            coordinatesSent = false;
        }
    }
   
    private void processCoordinates(String data) {
        if (mc.player == null || mc.world == null) return;
       
        try {
            String[] parts = data.split(",");
            if (parts.length < 3) return;
           
            int x = Integer.parseInt(parts[0]);
            int y = Integer.parseInt(parts[1]);
            int z = Integer.parseInt(parts[2]);
           
            String playerName;
            if (parts.length >= 4) {
                playerName = parts[3];
            } else {
                playerName = mc.player.getGameProfile().getName();
            }
           
            int width = (int) boxWidth.getValue();
            int halfWidth = width / 2;
            int minX = x - halfWidth;
            int maxX = x + halfWidth - 1;
            int minZ = z - halfWidth;
            int maxZ = z + halfWidth - 1;
           
            String regionName = "region_" + Math.abs(minX) + "_" + Math.abs(minZ);
            lastRegionName = regionName;
            lastRegionCenter = new BlockPos(x, y, z);
            lastRegionPlayerName = playerName;
           
            regionCreationInProgress = true;
            regionCreationSuccess = false;
            memberAdded = false;
            regionCreationStartTime.set(System.currentTimeMillis());
           
            checkAndCreateRegion(regionName, minX, maxX, minZ, maxZ, y, width, playerName);
           
        } catch (Exception ex) {
        }
    }
   
    private void sendMessageToPrimary(String message) {
        if (!instanceMode.is("Вторичный")) return;
        Socket socket;
        synchronized (this) {
            socket = responseSocket;
        }
       
        if (socket != null && !socket.isClosed() && socket.isConnected()) {
            try {
                PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);
                writer.println("MSG:" + message);
                writer.flush();
            } catch (IOException ex) {
                synchronized (this) {
                    if (responseSocket == socket) {
                        responseSocket = null;
                    }
                }
                try {
                    socket.close();
                } catch (IOException ignored) {}
            }
        }
    }
   
    private void startResponseListener() {
        Thread responseThread = new Thread(() -> {
            try {
                if (clientSocket == null || clientSocket.isClosed()) {
                    return;
                }
                clientSocket.setSoTimeout(10000);
                BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
                String line;
                while (running.get() && isEnabled() && clientSocket != null && !clientSocket.isClosed()) {
                    try {
                        line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        if (line.startsWith("MSG:")) {
                            String message = line.substring(4);
                            ChatUtility.addMessage(message);
                        }
                    } catch (java.net.SocketTimeoutException e) {
                        continue;
                    }
                }
            } catch (IOException ex) {
            } finally {
                try {
                    if (clientSocket != null && !clientSocket.isClosed()) {
                        clientSocket.close();
                    }
                } catch (IOException ignored) {}
                clientSocket = null;
            }
        }, "RegionExploit-ResponseListener");
        responseThread.setDaemon(true);
        responseThread.start();
    }
   
    private void checkAndCreateRegion(String regionName, int minX, int maxX, int minZ, int maxZ, int y, int width, String playerName) {
        if (mc.player.connection != null) {
            new Thread(() -> {
                try {
                    BlockPos pos1 = new BlockPos(minX, y - width, minZ);
                    BlockPos pos2 = new BlockPos(maxX, y + 10, maxZ);
                   
                    String pos1Cmd = "//pos1 " + pos1.getX() + "," + pos1.getY() + "," + pos1.getZ();
                    String pos2Cmd = "//pos2 " + pos2.getX() + "," + pos2.getY() + "," + pos2.getZ();
                    String defineCmd = "/rg define " + regionName;
                    String privateCmd = "/rg claim " + regionName;
                    String checkCmd = "/rg info " + regionName;
                   
                    boolean isFriend = Minced.getInstance().getFriendManager().isFriend(playerName);
                    String myName = mc.player.getGameProfile().getName();
                   
                    mc.player.sendChatMessage(checkCmd);
                    Thread.sleep(500);
                    mc.player.sendChatMessage(pos1Cmd);
                    Thread.sleep(800);
                    mc.player.sendChatMessage(pos2Cmd);
                    Thread.sleep(800);
                    mc.player.sendChatMessage(defineCmd);
                    Thread.sleep(1000);
                    mc.player.sendChatMessage(privateCmd);
                    Thread.sleep(1000);
                   
                    if (isFriend && primaryPlayerName != null) {
                        String addMyNameCmd = "/rg addmember " + regionName + " " + myName;
                        String addFriendCmd = "/rg addmember " + regionName + " " + primaryPlayerName;
                        mc.player.sendChatMessage(addMyNameCmd);
                        Thread.sleep(500);
                        mc.player.sendChatMessage(addFriendCmd);
                        Thread.sleep(500);
                    } else {
                        String addCmd = "/rg addmember " + regionName + " " + playerName;
                        mc.player.sendChatMessage(addCmd);
                        Thread.sleep(500);
                    }
                   
                } catch (InterruptedException ex) {
                    Thread.currentThread().interrupt();
                } catch (Exception ex) {
                    sendMessageToPrimary("Ошибка при создании региона: " + ex.getMessage());
                }
            }).start();
        }
    }
   
    @EventHandler
    public void onPacket(EventPacket e) {
        if (!instanceMode.is("Вторичный")) return;
        if (!regionCreationInProgress || lastRegionName == null) return;
        if (mc.player == null || mc.world == null) return;
       
        if (e.getPacket() instanceof SChatPacket p && e.isReceive()) {
            String rawMessage = p.getChatComponent().getString();
            String message = rawMessage.toLowerCase();
           
            boolean isError = false;
            String errorMessage = null;
            boolean isSuccess = false;
           
            if (message.contains("region") || message.contains("регион")) {
                if (message.contains("already exists") || message.contains("уже существует") ||
                    message.contains("already defined") || message.contains("уже определён")) {
                    isError = true;
                    errorMessage = "Регион " + lastRegionName + " уже существует";
                } else if (message.contains("overlaps") || message.contains("пересекается") ||
                          message.contains("intersects") || message.contains("intersection")) {
                    isError = true;
                    errorMessage = "Регион " + lastRegionName + " пересекается с другим";
                } else if (message.contains("nearby") || message.contains("рядом") ||
                          message.contains("too close") || message.contains("слишком близко") ||
                          message.contains("conflict") || message.contains("конфликт")) {
                    isError = true;
                    errorMessage = "Регион " + lastRegionName + " слишком близко к другому";
                } else if (message.contains("permission") || message.contains("права") ||
                          message.contains("no permission") || message.contains("нет прав") ||
                          message.contains("cannot") || message.contains("не могу") ||
                          message.contains("denied") || message.contains("запрещено")) {
                    isError = true;
                    errorMessage = "Нет прав для создания региона " + lastRegionName;
                }
               
                if (!isError && (message.contains("created") || message.contains("created region") ||
                                message.contains("claimed") || message.contains("claimed region") ||
                                message.contains("success") || message.contains("успешно") ||
                                message.contains("создан") || message.contains("запривачен") ||
                                message.contains("defined") || message.contains("определён"))) {
                    isSuccess = true;
                }
            }
           
            if ((message.contains("added") && message.contains("member")) ||
                (message.contains("добавлен") && (message.contains("участник") || message.contains("игрок"))) ||
                (message.contains("addmember") && (message.contains("success") || message.contains("успешно"))) ||
                (message.contains("member") && (message.contains("added") || message.contains("добавлен")))) {
                if (lastRegionPlayerName != null && !memberAdded) {
                    memberAdded = true;
                }
            }
           
            if (isSuccess) {
                regionCreationSuccess = true;
                regionCreationInProgress = false;
                sendMessageToPrimary("Регион успешно создан");
                if (memberAdded && lastRegionPlayerName != null) {
                    sendMessageToPrimary("Добавлены друзья: " + lastRegionPlayerName);
                } else {
                    sendMessageToPrimary("Друзей не обнаружено");
                }
                lastRegionName = null;
                lastRegionCenter = null;
                lastRegionPlayerName = null;
                memberAdded = false;
                return;
            }
           
            if (isError) {
                regionCreationInProgress = false;
                regionCreationSuccess = false;
                memberAdded = false;
                lastRegionName = null;
                lastRegionCenter = null;
                lastRegionPlayerName = null;
            }
        }
    }
   
    private void closeConnections() {
        running.set(false);
       
        try {
            if (clientSocket != null && !clientSocket.isClosed()) {
                clientSocket.close();
            }
        } catch (IOException ignored) {}
        clientSocket = null;
       
        Socket socket;
        synchronized (this) {
            socket = responseSocket;
            responseSocket = null;
        }
        try {
            if (socket != null && !socket.isClosed()) {
                socket.close();
            }
        } catch (IOException ignored) {}
       
        try {
            if (serverSocket != null && !serverSocket.isClosed()) {
                serverSocket.close();
            }
        } catch (IOException ignored) {}
        serverSocket = null;
       
        try {
            if (clientThread != null && clientThread.isAlive()) {
                clientThread.interrupt();
                clientThread.join(1000);
            }
            if (serverThread != null && serverThread.isAlive()) {
                serverThread.interrupt();
                serverThread.join(1000);
            }
        } catch (InterruptedException ignored) {}
    }
}
 
Привествую югейм, сливаю рабочий regionexploit, отправка кординат + добавления друзей сразу после отправки, работает засчет связки портов и сокет подключением

Отлично работает на lonygrief(noad), ну и логично на серверах где не запрещена команда //pos, код простой удобный половина была адаптирована на 1.21.4 думаю разберетесь, ss лень снимать ну и думаю к чему она если тут и так все понятно, критика привествуется но только аргументированная.



шедеврокод:
Expand Collapse Copy
package ru.eliminate.module.impl.misc;

import net.minecraft.network.play.server.SChatPacket;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import ru.eliminate.api.systems.event.EventHandler;
import ru.eliminate.api.systems.event.events.impl.packet.EventPacket;
import ru.eliminate.api.systems.event.events.impl.player.EventUpdate;
import ru.eliminate.Minced;
import ru.eliminate.api.utilities.chat.ChatUtility;
import ru.eliminate.api.utilities.settings.impl.ModeSetting;
import ru.eliminate.api.utilities.settings.impl.SliderSetting;
import ru.eliminate.client.modules.Module;
import ru.eliminate.client.modules.api.Category;
import ru.eliminate.client.modules.api.ModuleInfo;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;

@ModuleInfo(name = "RegionExploit", description = "iба чотка приватит лохов", category = Category.MISC)
public class RegionExploit extends Module {
 
    public ModeSetting instanceMode = new ModeSetting("Режим подключения", this, "Основной", "Основной", "Вторичный");
    public SliderSetting boxWidth = new SliderSetting("Размер бокса", this, 4.0f, 2.0f, 100.0f, 1.0f, () -> instanceMode.is("Вторичный"));
 
    private static final int PORT = 25566;
    private ServerSocket serverSocket;
    private Socket clientSocket;
    private Socket responseSocket;
    private Thread serverThread;
    private Thread clientThread;
    private final AtomicBoolean running = new AtomicBoolean(false);
    private boolean coordinatesSent = false;
    private String lastRegionName = null;
    private AtomicLong regionCreationStartTime = new AtomicLong(0);
    private volatile boolean regionCreationInProgress = false;
    private volatile boolean regionCreationSuccess = false;
    private volatile boolean memberAdded = false;
    private BlockPos lastRegionCenter = null;
    private String lastRegionPlayerName = null;
    private String primaryPlayerName = null;
    private static final long REGION_CREATION_TIMEOUT = 8000;
    private long lastConnectionAttempt = 0;
 
    @Override
    public void onEnable() {
        super.onEnable();
        running.set(true);
        coordinatesSent = false;
        lastConnectionAttempt = 0;
     
        if (instanceMode.is("Основной")) {
            startPrimaryMode();
        } else {
            startSecondaryMode();
        }
    }
 
    @Override
    public void onDisable() {
        super.onDisable();
        running.set(false);
        coordinatesSent = false;
        closeConnections();
    }
 
    @EventHandler
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;
     
        if (instanceMode.is("Основной") && isEnabled() && !coordinatesSent) {
            coordinatesSent = true;
            new Thread(() -> {
                try {
                    Thread.sleep(100);
                    sendCoordinates();
                } catch (InterruptedException e) {
                    Thread.currentThread().interrupt();
                }
            }, "RegionExploit-SendCoords").start();
        }
    }
 
    private void startPrimaryMode() {
        clientThread = new Thread(() -> {
            while (running.get() && isEnabled()) {
                try {
                    if (clientSocket == null || clientSocket.isClosed()) {
                        Thread.sleep(2000);
                        try {
                            clientSocket = new Socket();
                            clientSocket.connect(new java.net.InetSocketAddress("localhost", PORT), 2000);
                            clientSocket.setSoTimeout(5000);
                            ChatUtility.addMessage("Подключено к вторичному клиенту");
                            startResponseListener();
                        } catch (java.net.SocketTimeoutException e) {
                            long currentTime = System.currentTimeMillis();
                            if (!coordinatesSent || (currentTime - lastConnectionAttempt > 10000)) {
                                ChatUtility.addErrorMessage("Второй клиент не найден. Убедитесь, что второй Minecraft запущен с включенным RegionExploit в режиме Вторичный");
                                lastConnectionAttempt = currentTime;
                            }
                        } catch (IOException e) {
                            long currentTime = System.currentTimeMillis();
                            if (!coordinatesSent || (currentTime - lastConnectionAttempt > 10000)) {
                                ChatUtility.addErrorMessage("Второй клиент не найден. Убедитесь, что второй Minecraft запущен с включенным RegionExploit в режиме Вторичный");
                                lastConnectionAttempt = currentTime;
                            }
                        }
                    } else {
                        Thread.sleep(5000);
                    }
                } catch (InterruptedException e) {
                    break;
                }
            }
        }, "RegionExploit-PrimaryClient");
        clientThread.setDaemon(true);
        clientThread.start();
    }
 
    private void startSecondaryMode() {
        serverThread = new Thread(() -> {
            try {
                serverSocket = new ServerSocket(PORT);
                serverSocket.setSoTimeout(1000);
             
                while (running.get() && isEnabled()) {
                    try {
                        Socket socket = serverSocket.accept();
                        socket.setSoTimeout(10000);
                        ChatUtility.addMessage("Подключено к основному клиенту");
                        handleIncomingConnection(socket);
                    } catch (java.net.SocketTimeoutException e) {
                        continue;
                    } catch (IOException e) {
                        if (running.get() && isEnabled()) {
                            try {
                                Thread.sleep(1000);
                                if (serverSocket != null && !serverSocket.isClosed()) {
                                    serverSocket.close();
                                }
                                serverSocket = new ServerSocket(PORT);
                                serverSocket.setSoTimeout(1000);
                            } catch (Exception ex) {
                                break;
                            }
                        } else {
                            break;
                        }
                    }
                }
            } catch (IOException e) {
            }
        }, "RegionExploit-SecondaryServer");
        serverThread.setDaemon(true);
        serverThread.start();
    }
 
    private void handleIncomingConnection(Socket socket) {
        synchronized (this) {
            responseSocket = socket;
        }
     
        Thread handlerThread = new Thread(() -> {
            try {
                socket.setSoTimeout(30000);
                BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                String line;
                while (running.get() && isEnabled() && !socket.isClosed()) {
                    try {
                        line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        if (line.startsWith("NICK:")) {
                            primaryPlayerName = line.substring(5);
                            continue;
                        }
                        final String coordinates = line;
                        new Thread(() -> {
                            processCoordinates(coordinates);
                        }, "RegionExploit-ProcessCoords").start();
                    } catch (java.net.SocketTimeoutException e) {
                        continue;
                    }
                }
            } catch (IOException e) {
            } finally {
                synchronized (this) {
                    if (responseSocket == socket) {
                        responseSocket = null;
                    }
                }
                try {
                    socket.close();
                } catch (IOException ignored) {}
            }
        }, "RegionExploit-HandleConnection");
        handlerThread.setDaemon(true);
        handlerThread.start();
    }
 
    private void sendCoordinates() {
        if (mc.player == null) {
            return;
        }
     
        if (clientSocket == null || clientSocket.isClosed()) {
            try {
                clientSocket = new Socket();
                clientSocket.connect(new java.net.InetSocketAddress("localhost", PORT), 2000);
                clientSocket.setSoTimeout(5000);
                ChatUtility.addMessage("Подключен к Вторичному Клиенту");
                startResponseListener();
            } catch (IOException e) {
                coordinatesSent = false;
                ChatUtility.addErrorMessage("Второй клиент не найден. Убедитесь, что второй Minecraft запущен с включенным RegionExploit в режиме Вторичный");
                return;
            }
        }
     
        try {
            if (clientSocket.isClosed() || !clientSocket.isConnected()) {
                clientSocket = null;
                coordinatesSent = false;
                return;
            }
         
            PrintWriter writer = new PrintWriter(clientSocket.getOutputStream(), true);
            String playerName = mc.player.getGameProfile().getName();
         
            writer.println("NICK:" + playerName);
            writer.flush();
         
            BlockPos pos = mc.player.getPosition();
            String data = pos.getX() + "," + pos.getY() + "," + pos.getZ() + "," + playerName;
            writer.println(data);
            writer.flush();
            ChatUtility.addMessage("Пакет отправлен..");
        } catch (IOException e) {
            try {
                if (clientSocket != null) {
                    clientSocket.close();
                }
            } catch (IOException ignored) {}
            clientSocket = null;
            coordinatesSent = false;
        }
    }
 
    private void processCoordinates(String data) {
        if (mc.player == null || mc.world == null) return;
     
        try {
            String[] parts = data.split(",");
            if (parts.length < 3) return;
         
            int x = Integer.parseInt(parts[0]);
            int y = Integer.parseInt(parts[1]);
            int z = Integer.parseInt(parts[2]);
         
            String playerName;
            if (parts.length >= 4) {
                playerName = parts[3];
            } else {
                playerName = mc.player.getGameProfile().getName();
            }
         
            int width = (int) boxWidth.getValue();
            int halfWidth = width / 2;
            int minX = x - halfWidth;
            int maxX = x + halfWidth - 1;
            int minZ = z - halfWidth;
            int maxZ = z + halfWidth - 1;
         
            String regionName = "region_" + Math.abs(minX) + "_" + Math.abs(minZ);
            lastRegionName = regionName;
            lastRegionCenter = new BlockPos(x, y, z);
            lastRegionPlayerName = playerName;
         
            regionCreationInProgress = true;
            regionCreationSuccess = false;
            memberAdded = false;
            regionCreationStartTime.set(System.currentTimeMillis());
         
            checkAndCreateRegion(regionName, minX, maxX, minZ, maxZ, y, width, playerName);
         
        } catch (Exception ex) {
        }
    }
 
    private void sendMessageToPrimary(String message) {
        if (!instanceMode.is("Вторичный")) return;
        Socket socket;
        synchronized (this) {
            socket = responseSocket;
        }
     
        if (socket != null && !socket.isClosed() && socket.isConnected()) {
            try {
                PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);
                writer.println("MSG:" + message);
                writer.flush();
            } catch (IOException ex) {
                synchronized (this) {
                    if (responseSocket == socket) {
                        responseSocket = null;
                    }
                }
                try {
                    socket.close();
                } catch (IOException ignored) {}
            }
        }
    }
 
    private void startResponseListener() {
        Thread responseThread = new Thread(() -> {
            try {
                if (clientSocket == null || clientSocket.isClosed()) {
                    return;
                }
                clientSocket.setSoTimeout(10000);
                BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
                String line;
                while (running.get() && isEnabled() && clientSocket != null && !clientSocket.isClosed()) {
                    try {
                        line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        if (line.startsWith("MSG:")) {
                            String message = line.substring(4);
                            ChatUtility.addMessage(message);
                        }
                    } catch (java.net.SocketTimeoutException e) {
                        continue;
                    }
                }
            } catch (IOException ex) {
            } finally {
                try {
                    if (clientSocket != null && !clientSocket.isClosed()) {
                        clientSocket.close();
                    }
                } catch (IOException ignored) {}
                clientSocket = null;
            }
        }, "RegionExploit-ResponseListener");
        responseThread.setDaemon(true);
        responseThread.start();
    }
 
    private void checkAndCreateRegion(String regionName, int minX, int maxX, int minZ, int maxZ, int y, int width, String playerName) {
        if (mc.player.connection != null) {
            new Thread(() -> {
                try {
                    BlockPos pos1 = new BlockPos(minX, y - width, minZ);
                    BlockPos pos2 = new BlockPos(maxX, y + 10, maxZ);
                 
                    String pos1Cmd = "//pos1 " + pos1.getX() + "," + pos1.getY() + "," + pos1.getZ();
                    String pos2Cmd = "//pos2 " + pos2.getX() + "," + pos2.getY() + "," + pos2.getZ();
                    String defineCmd = "/rg define " + regionName;
                    String privateCmd = "/rg claim " + regionName;
                    String checkCmd = "/rg info " + regionName;
                 
                    boolean isFriend = Minced.getInstance().getFriendManager().isFriend(playerName);
                    String myName = mc.player.getGameProfile().getName();
                 
                    mc.player.sendChatMessage(checkCmd);
                    Thread.sleep(500);
                    mc.player.sendChatMessage(pos1Cmd);
                    Thread.sleep(800);
                    mc.player.sendChatMessage(pos2Cmd);
                    Thread.sleep(800);
                    mc.player.sendChatMessage(defineCmd);
                    Thread.sleep(1000);
                    mc.player.sendChatMessage(privateCmd);
                    Thread.sleep(1000);
                 
                    if (isFriend && primaryPlayerName != null) {
                        String addMyNameCmd = "/rg addmember " + regionName + " " + myName;
                        String addFriendCmd = "/rg addmember " + regionName + " " + primaryPlayerName;
                        mc.player.sendChatMessage(addMyNameCmd);
                        Thread.sleep(500);
                        mc.player.sendChatMessage(addFriendCmd);
                        Thread.sleep(500);
                    } else {
                        String addCmd = "/rg addmember " + regionName + " " + playerName;
                        mc.player.sendChatMessage(addCmd);
                        Thread.sleep(500);
                    }
                 
                } catch (InterruptedException ex) {
                    Thread.currentThread().interrupt();
                } catch (Exception ex) {
                    sendMessageToPrimary("Ошибка при создании региона: " + ex.getMessage());
                }
            }).start();
        }
    }
 
    @EventHandler
    public void onPacket(EventPacket e) {
        if (!instanceMode.is("Вторичный")) return;
        if (!regionCreationInProgress || lastRegionName == null) return;
        if (mc.player == null || mc.world == null) return;
     
        if (e.getPacket() instanceof SChatPacket p && e.isReceive()) {
            String rawMessage = p.getChatComponent().getString();
            String message = rawMessage.toLowerCase();
         
            boolean isError = false;
            String errorMessage = null;
            boolean isSuccess = false;
         
            if (message.contains("region") || message.contains("регион")) {
                if (message.contains("already exists") || message.contains("уже существует") ||
                    message.contains("already defined") || message.contains("уже определён")) {
                    isError = true;
                    errorMessage = "Регион " + lastRegionName + " уже существует";
                } else if (message.contains("overlaps") || message.contains("пересекается") ||
                          message.contains("intersects") || message.contains("intersection")) {
                    isError = true;
                    errorMessage = "Регион " + lastRegionName + " пересекается с другим";
                } else if (message.contains("nearby") || message.contains("рядом") ||
                          message.contains("too close") || message.contains("слишком близко") ||
                          message.contains("conflict") || message.contains("конфликт")) {
                    isError = true;
                    errorMessage = "Регион " + lastRegionName + " слишком близко к другому";
                } else if (message.contains("permission") || message.contains("права") ||
                          message.contains("no permission") || message.contains("нет прав") ||
                          message.contains("cannot") || message.contains("не могу") ||
                          message.contains("denied") || message.contains("запрещено")) {
                    isError = true;
                    errorMessage = "Нет прав для создания региона " + lastRegionName;
                }
             
                if (!isError && (message.contains("created") || message.contains("created region") ||
                                message.contains("claimed") || message.contains("claimed region") ||
                                message.contains("success") || message.contains("успешно") ||
                                message.contains("создан") || message.contains("запривачен") ||
                                message.contains("defined") || message.contains("определён"))) {
                    isSuccess = true;
                }
            }
         
            if ((message.contains("added") && message.contains("member")) ||
                (message.contains("добавлен") && (message.contains("участник") || message.contains("игрок"))) ||
                (message.contains("addmember") && (message.contains("success") || message.contains("успешно"))) ||
                (message.contains("member") && (message.contains("added") || message.contains("добавлен")))) {
                if (lastRegionPlayerName != null && !memberAdded) {
                    memberAdded = true;
                }
            }
         
            if (isSuccess) {
                regionCreationSuccess = true;
                regionCreationInProgress = false;
                sendMessageToPrimary("Регион успешно создан");
                if (memberAdded && lastRegionPlayerName != null) {
                    sendMessageToPrimary("Добавлены друзья: " + lastRegionPlayerName);
                } else {
                    sendMessageToPrimary("Друзей не обнаружено");
                }
                lastRegionName = null;
                lastRegionCenter = null;
                lastRegionPlayerName = null;
                memberAdded = false;
                return;
            }
         
            if (isError) {
                regionCreationInProgress = false;
                regionCreationSuccess = false;
                memberAdded = false;
                lastRegionName = null;
                lastRegionCenter = null;
                lastRegionPlayerName = null;
            }
        }
    }
 
    private void closeConnections() {
        running.set(false);
     
        try {
            if (clientSocket != null && !clientSocket.isClosed()) {
                clientSocket.close();
            }
        } catch (IOException ignored) {}
        clientSocket = null;
     
        Socket socket;
        synchronized (this) {
            socket = responseSocket;
            responseSocket = null;
        }
        try {
            if (socket != null && !socket.isClosed()) {
                socket.close();
            }
        } catch (IOException ignored) {}
     
        try {
            if (serverSocket != null && !serverSocket.isClosed()) {
                serverSocket.close();
            }
        } catch (IOException ignored) {}
        serverSocket = null;
     
        try {
            if (clientThread != null && clientThread.isAlive()) {
                clientThread.interrupt();
                clientThread.join(1000);
            }
            if (serverThread != null && serverThread.isAlive()) {
                serverThread.interrupt();
                serverThread.join(1000);
            }
        } catch (InterruptedException ignored) {}
    }
}
причина слива: уход на 1.21.4 на своей базе
 
ХАВЫАХЫВАХЫВХАХЫВАХЫВА
ХАВЫАХЫВАХЫВХАХЫВАХЫВА
1763392243084.png
 
Привествую югейм, сливаю рабочий regionexploit, отправка кординат + добавления друзей сразу после отправки, работает засчет связки портов и сокет подключением

Отлично работает на lonygrief(noad), ну и логично на серверах где не запрещена команда //pos, код простой удобный половина была адаптирована на 1.21.4 думаю разберетесь, ss лень снимать ну и думаю к чему она если тут и так все понятно, критика привествуется но только аргументированная.



шедеврокод:
Expand Collapse Copy
package ru.eliminate.module.impl.misc;

import net.minecraft.network.play.server.SChatPacket;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import ru.eliminate.api.systems.event.EventHandler;
import ru.eliminate.api.systems.event.events.impl.packet.EventPacket;
import ru.eliminate.api.systems.event.events.impl.player.EventUpdate;
import ru.eliminate.Minced;
import ru.eliminate.api.utilities.chat.ChatUtility;
import ru.eliminate.api.utilities.settings.impl.ModeSetting;
import ru.eliminate.api.utilities.settings.impl.SliderSetting;
import ru.eliminate.client.modules.Module;
import ru.eliminate.client.modules.api.Category;
import ru.eliminate.client.modules.api.ModuleInfo;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;

@ModuleInfo(name = "RegionExploit", description = "iба чотка приватит лохов", category = Category.MISC)
public class RegionExploit extends Module {
  
    public ModeSetting instanceMode = new ModeSetting("Режим подключения", this, "Основной", "Основной", "Вторичный");
    public SliderSetting boxWidth = new SliderSetting("Размер бокса", this, 4.0f, 2.0f, 100.0f, 1.0f, () -> instanceMode.is("Вторичный"));
  
    private static final int PORT = 25566;
    private ServerSocket serverSocket;
    private Socket clientSocket;
    private Socket responseSocket;
    private Thread serverThread;
    private Thread clientThread;
    private final AtomicBoolean running = new AtomicBoolean(false);
    private boolean coordinatesSent = false;
    private String lastRegionName = null;
    private AtomicLong regionCreationStartTime = new AtomicLong(0);
    private volatile boolean regionCreationInProgress = false;
    private volatile boolean regionCreationSuccess = false;
    private volatile boolean memberAdded = false;
    private BlockPos lastRegionCenter = null;
    private String lastRegionPlayerName = null;
    private String primaryPlayerName = null;
    private static final long REGION_CREATION_TIMEOUT = 8000;
    private long lastConnectionAttempt = 0;
  
    @Override
    public void onEnable() {
        super.onEnable();
        running.set(true);
        coordinatesSent = false;
        lastConnectionAttempt = 0;
      
        if (instanceMode.is("Основной")) {
            startPrimaryMode();
        } else {
            startSecondaryMode();
        }
    }
  
    @Override
    public void onDisable() {
        super.onDisable();
        running.set(false);
        coordinatesSent = false;
        closeConnections();
    }
  
    @EventHandler
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;
      
        if (instanceMode.is("Основной") && isEnabled() && !coordinatesSent) {
            coordinatesSent = true;
            new Thread(() -> {
                try {
                    Thread.sleep(100);
                    sendCoordinates();
                } catch (InterruptedException e) {
                    Thread.currentThread().interrupt();
                }
            }, "RegionExploit-SendCoords").start();
        }
    }
  
    private void startPrimaryMode() {
        clientThread = new Thread(() -> {
            while (running.get() && isEnabled()) {
                try {
                    if (clientSocket == null || clientSocket.isClosed()) {
                        Thread.sleep(2000);
                        try {
                            clientSocket = new Socket();
                            clientSocket.connect(new java.net.InetSocketAddress("localhost", PORT), 2000);
                            clientSocket.setSoTimeout(5000);
                            ChatUtility.addMessage("Подключено к вторичному клиенту");
                            startResponseListener();
                        } catch (java.net.SocketTimeoutException e) {
                            long currentTime = System.currentTimeMillis();
                            if (!coordinatesSent || (currentTime - lastConnectionAttempt > 10000)) {
                                ChatUtility.addErrorMessage("Второй клиент не найден. Убедитесь, что второй Minecraft запущен с включенным RegionExploit в режиме Вторичный");
                                lastConnectionAttempt = currentTime;
                            }
                        } catch (IOException e) {
                            long currentTime = System.currentTimeMillis();
                            if (!coordinatesSent || (currentTime - lastConnectionAttempt > 10000)) {
                                ChatUtility.addErrorMessage("Второй клиент не найден. Убедитесь, что второй Minecraft запущен с включенным RegionExploit в режиме Вторичный");
                                lastConnectionAttempt = currentTime;
                            }
                        }
                    } else {
                        Thread.sleep(5000);
                    }
                } catch (InterruptedException e) {
                    break;
                }
            }
        }, "RegionExploit-PrimaryClient");
        clientThread.setDaemon(true);
        clientThread.start();
    }
  
    private void startSecondaryMode() {
        serverThread = new Thread(() -> {
            try {
                serverSocket = new ServerSocket(PORT);
                serverSocket.setSoTimeout(1000);
              
                while (running.get() && isEnabled()) {
                    try {
                        Socket socket = serverSocket.accept();
                        socket.setSoTimeout(10000);
                        ChatUtility.addMessage("Подключено к основному клиенту");
                        handleIncomingConnection(socket);
                    } catch (java.net.SocketTimeoutException e) {
                        continue;
                    } catch (IOException e) {
                        if (running.get() && isEnabled()) {
                            try {
                                Thread.sleep(1000);
                                if (serverSocket != null && !serverSocket.isClosed()) {
                                    serverSocket.close();
                                }
                                serverSocket = new ServerSocket(PORT);
                                serverSocket.setSoTimeout(1000);
                            } catch (Exception ex) {
                                break;
                            }
                        } else {
                            break;
                        }
                    }
                }
            } catch (IOException e) {
            }
        }, "RegionExploit-SecondaryServer");
        serverThread.setDaemon(true);
        serverThread.start();
    }
  
    private void handleIncomingConnection(Socket socket) {
        synchronized (this) {
            responseSocket = socket;
        }
      
        Thread handlerThread = new Thread(() -> {
            try {
                socket.setSoTimeout(30000);
                BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                String line;
                while (running.get() && isEnabled() && !socket.isClosed()) {
                    try {
                        line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        if (line.startsWith("NICK:")) {
                            primaryPlayerName = line.substring(5);
                            continue;
                        }
                        final String coordinates = line;
                        new Thread(() -> {
                            processCoordinates(coordinates);
                        }, "RegionExploit-ProcessCoords").start();
                    } catch (java.net.SocketTimeoutException e) {
                        continue;
                    }
                }
            } catch (IOException e) {
            } finally {
                synchronized (this) {
                    if (responseSocket == socket) {
                        responseSocket = null;
                    }
                }
                try {
                    socket.close();
                } catch (IOException ignored) {}
            }
        }, "RegionExploit-HandleConnection");
        handlerThread.setDaemon(true);
        handlerThread.start();
    }
  
    private void sendCoordinates() {
        if (mc.player == null) {
            return;
        }
      
        if (clientSocket == null || clientSocket.isClosed()) {
            try {
                clientSocket = new Socket();
                clientSocket.connect(new java.net.InetSocketAddress("localhost", PORT), 2000);
                clientSocket.setSoTimeout(5000);
                ChatUtility.addMessage("Подключен к Вторичному Клиенту");
                startResponseListener();
            } catch (IOException e) {
                coordinatesSent = false;
                ChatUtility.addErrorMessage("Второй клиент не найден. Убедитесь, что второй Minecraft запущен с включенным RegionExploit в режиме Вторичный");
                return;
            }
        }
      
        try {
            if (clientSocket.isClosed() || !clientSocket.isConnected()) {
                clientSocket = null;
                coordinatesSent = false;
                return;
            }
          
            PrintWriter writer = new PrintWriter(clientSocket.getOutputStream(), true);
            String playerName = mc.player.getGameProfile().getName();
          
            writer.println("NICK:" + playerName);
            writer.flush();
          
            BlockPos pos = mc.player.getPosition();
            String data = pos.getX() + "," + pos.getY() + "," + pos.getZ() + "," + playerName;
            writer.println(data);
            writer.flush();
            ChatUtility.addMessage("Пакет отправлен..");
        } catch (IOException e) {
            try {
                if (clientSocket != null) {
                    clientSocket.close();
                }
            } catch (IOException ignored) {}
            clientSocket = null;
            coordinatesSent = false;
        }
    }
  
    private void processCoordinates(String data) {
        if (mc.player == null || mc.world == null) return;
      
        try {
            String[] parts = data.split(",");
            if (parts.length < 3) return;
          
            int x = Integer.parseInt(parts[0]);
            int y = Integer.parseInt(parts[1]);
            int z = Integer.parseInt(parts[2]);
          
            String playerName;
            if (parts.length >= 4) {
                playerName = parts[3];
            } else {
                playerName = mc.player.getGameProfile().getName();
            }
          
            int width = (int) boxWidth.getValue();
            int halfWidth = width / 2;
            int minX = x - halfWidth;
            int maxX = x + halfWidth - 1;
            int minZ = z - halfWidth;
            int maxZ = z + halfWidth - 1;
          
            String regionName = "region_" + Math.abs(minX) + "_" + Math.abs(minZ);
            lastRegionName = regionName;
            lastRegionCenter = new BlockPos(x, y, z);
            lastRegionPlayerName = playerName;
          
            regionCreationInProgress = true;
            regionCreationSuccess = false;
            memberAdded = false;
            regionCreationStartTime.set(System.currentTimeMillis());
          
            checkAndCreateRegion(regionName, minX, maxX, minZ, maxZ, y, width, playerName);
          
        } catch (Exception ex) {
        }
    }
  
    private void sendMessageToPrimary(String message) {
        if (!instanceMode.is("Вторичный")) return;
        Socket socket;
        synchronized (this) {
            socket = responseSocket;
        }
      
        if (socket != null && !socket.isClosed() && socket.isConnected()) {
            try {
                PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);
                writer.println("MSG:" + message);
                writer.flush();
            } catch (IOException ex) {
                synchronized (this) {
                    if (responseSocket == socket) {
                        responseSocket = null;
                    }
                }
                try {
                    socket.close();
                } catch (IOException ignored) {}
            }
        }
    }
  
    private void startResponseListener() {
        Thread responseThread = new Thread(() -> {
            try {
                if (clientSocket == null || clientSocket.isClosed()) {
                    return;
                }
                clientSocket.setSoTimeout(10000);
                BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
                String line;
                while (running.get() && isEnabled() && clientSocket != null && !clientSocket.isClosed()) {
                    try {
                        line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        if (line.startsWith("MSG:")) {
                            String message = line.substring(4);
                            ChatUtility.addMessage(message);
                        }
                    } catch (java.net.SocketTimeoutException e) {
                        continue;
                    }
                }
            } catch (IOException ex) {
            } finally {
                try {
                    if (clientSocket != null && !clientSocket.isClosed()) {
                        clientSocket.close();
                    }
                } catch (IOException ignored) {}
                clientSocket = null;
            }
        }, "RegionExploit-ResponseListener");
        responseThread.setDaemon(true);
        responseThread.start();
    }
  
    private void checkAndCreateRegion(String regionName, int minX, int maxX, int minZ, int maxZ, int y, int width, String playerName) {
        if (mc.player.connection != null) {
            new Thread(() -> {
                try {
                    BlockPos pos1 = new BlockPos(minX, y - width, minZ);
                    BlockPos pos2 = new BlockPos(maxX, y + 10, maxZ);
                  
                    String pos1Cmd = "//pos1 " + pos1.getX() + "," + pos1.getY() + "," + pos1.getZ();
                    String pos2Cmd = "//pos2 " + pos2.getX() + "," + pos2.getY() + "," + pos2.getZ();
                    String defineCmd = "/rg define " + regionName;
                    String privateCmd = "/rg claim " + regionName;
                    String checkCmd = "/rg info " + regionName;
                  
                    boolean isFriend = Minced.getInstance().getFriendManager().isFriend(playerName);
                    String myName = mc.player.getGameProfile().getName();
                  
                    mc.player.sendChatMessage(checkCmd);
                    Thread.sleep(500);
                    mc.player.sendChatMessage(pos1Cmd);
                    Thread.sleep(800);
                    mc.player.sendChatMessage(pos2Cmd);
                    Thread.sleep(800);
                    mc.player.sendChatMessage(defineCmd);
                    Thread.sleep(1000);
                    mc.player.sendChatMessage(privateCmd);
                    Thread.sleep(1000);
                  
                    if (isFriend && primaryPlayerName != null) {
                        String addMyNameCmd = "/rg addmember " + regionName + " " + myName;
                        String addFriendCmd = "/rg addmember " + regionName + " " + primaryPlayerName;
                        mc.player.sendChatMessage(addMyNameCmd);
                        Thread.sleep(500);
                        mc.player.sendChatMessage(addFriendCmd);
                        Thread.sleep(500);
                    } else {
                        String addCmd = "/rg addmember " + regionName + " " + playerName;
                        mc.player.sendChatMessage(addCmd);
                        Thread.sleep(500);
                    }
                  
                } catch (InterruptedException ex) {
                    Thread.currentThread().interrupt();
                } catch (Exception ex) {
                    sendMessageToPrimary("Ошибка при создании региона: " + ex.getMessage());
                }
            }).start();
        }
    }
  
    @EventHandler
    public void onPacket(EventPacket e) {
        if (!instanceMode.is("Вторичный")) return;
        if (!regionCreationInProgress || lastRegionName == null) return;
        if (mc.player == null || mc.world == null) return;
      
        if (e.getPacket() instanceof SChatPacket p && e.isReceive()) {
            String rawMessage = p.getChatComponent().getString();
            String message = rawMessage.toLowerCase();
          
            boolean isError = false;
            String errorMessage = null;
            boolean isSuccess = false;
          
            if (message.contains("region") || message.contains("регион")) {
                if (message.contains("already exists") || message.contains("уже существует") ||
                    message.contains("already defined") || message.contains("уже определён")) {
                    isError = true;
                    errorMessage = "Регион " + lastRegionName + " уже существует";
                } else if (message.contains("overlaps") || message.contains("пересекается") ||
                          message.contains("intersects") || message.contains("intersection")) {
                    isError = true;
                    errorMessage = "Регион " + lastRegionName + " пересекается с другим";
                } else if (message.contains("nearby") || message.contains("рядом") ||
                          message.contains("too close") || message.contains("слишком близко") ||
                          message.contains("conflict") || message.contains("конфликт")) {
                    isError = true;
                    errorMessage = "Регион " + lastRegionName + " слишком близко к другому";
                } else if (message.contains("permission") || message.contains("права") ||
                          message.contains("no permission") || message.contains("нет прав") ||
                          message.contains("cannot") || message.contains("не могу") ||
                          message.contains("denied") || message.contains("запрещено")) {
                    isError = true;
                    errorMessage = "Нет прав для создания региона " + lastRegionName;
                }
              
                if (!isError && (message.contains("created") || message.contains("created region") ||
                                message.contains("claimed") || message.contains("claimed region") ||
                                message.contains("success") || message.contains("успешно") ||
                                message.contains("создан") || message.contains("запривачен") ||
                                message.contains("defined") || message.contains("определён"))) {
                    isSuccess = true;
                }
            }
          
            if ((message.contains("added") && message.contains("member")) ||
                (message.contains("добавлен") && (message.contains("участник") || message.contains("игрок"))) ||
                (message.contains("addmember") && (message.contains("success") || message.contains("успешно"))) ||
                (message.contains("member") && (message.contains("added") || message.contains("добавлен")))) {
                if (lastRegionPlayerName != null && !memberAdded) {
                    memberAdded = true;
                }
            }
          
            if (isSuccess) {
                regionCreationSuccess = true;
                regionCreationInProgress = false;
                sendMessageToPrimary("Регион успешно создан");
                if (memberAdded && lastRegionPlayerName != null) {
                    sendMessageToPrimary("Добавлены друзья: " + lastRegionPlayerName);
                } else {
                    sendMessageToPrimary("Друзей не обнаружено");
                }
                lastRegionName = null;
                lastRegionCenter = null;
                lastRegionPlayerName = null;
                memberAdded = false;
                return;
            }
          
            if (isError) {
                regionCreationInProgress = false;
                regionCreationSuccess = false;
                memberAdded = false;
                lastRegionName = null;
                lastRegionCenter = null;
                lastRegionPlayerName = null;
            }
        }
    }
  
    private void closeConnections() {
        running.set(false);
      
        try {
            if (clientSocket != null && !clientSocket.isClosed()) {
                clientSocket.close();
            }
        } catch (IOException ignored) {}
        clientSocket = null;
      
        Socket socket;
        synchronized (this) {
            socket = responseSocket;
            responseSocket = null;
        }
        try {
            if (socket != null && !socket.isClosed()) {
                socket.close();
            }
        } catch (IOException ignored) {}
      
        try {
            if (serverSocket != null && !serverSocket.isClosed()) {
                serverSocket.close();
            }
        } catch (IOException ignored) {}
        serverSocket = null;
      
        try {
            if (clientThread != null && clientThread.isAlive()) {
                clientThread.interrupt();
                clientThread.join(1000);
            }
            if (serverThread != null && serverThread.isAlive()) {
                serverThread.interrupt();
                serverThread.join(1000);
            }
        } catch (InterruptedException ignored) {}
    }
}
/del перезалив слитого говнеца
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привествую югейм, сливаю рабочий regionexploit, отправка кординат + добавления друзей сразу после отправки, работает засчет связки портов и сокет подключением

Отлично работает на lonygrief(noad), ну и логично на серверах где не запрещена команда //pos, код простой удобный половина была адаптирована на 1.21.4 думаю разберетесь, ss лень снимать ну и думаю к чему она если тут и так все понятно, критика привествуется но только аргументированная.



шедеврокод:
Expand Collapse Copy
package ru.eliminate.module.impl.misc;

import net.minecraft.network.play.server.SChatPacket;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import ru.eliminate.api.systems.event.EventHandler;
import ru.eliminate.api.systems.event.events.impl.packet.EventPacket;
import ru.eliminate.api.systems.event.events.impl.player.EventUpdate;
import ru.eliminate.Minced;
import ru.eliminate.api.utilities.chat.ChatUtility;
import ru.eliminate.api.utilities.settings.impl.ModeSetting;
import ru.eliminate.api.utilities.settings.impl.SliderSetting;
import ru.eliminate.client.modules.Module;
import ru.eliminate.client.modules.api.Category;
import ru.eliminate.client.modules.api.ModuleInfo;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;

@ModuleInfo(name = "RegionExploit", description = "iба чотка приватит лохов", category = Category.MISC)
public class RegionExploit extends Module {
 
    public ModeSetting instanceMode = new ModeSetting("Режим подключения", this, "Основной", "Основной", "Вторичный");
    public SliderSetting boxWidth = new SliderSetting("Размер бокса", this, 4.0f, 2.0f, 100.0f, 1.0f, () -> instanceMode.is("Вторичный"));
 
    private static final int PORT = 25566;
    private ServerSocket serverSocket;
    private Socket clientSocket;
    private Socket responseSocket;
    private Thread serverThread;
    private Thread clientThread;
    private final AtomicBoolean running = new AtomicBoolean(false);
    private boolean coordinatesSent = false;
    private String lastRegionName = null;
    private AtomicLong regionCreationStartTime = new AtomicLong(0);
    private volatile boolean regionCreationInProgress = false;
    private volatile boolean regionCreationSuccess = false;
    private volatile boolean memberAdded = false;
    private BlockPos lastRegionCenter = null;
    private String lastRegionPlayerName = null;
    private String primaryPlayerName = null;
    private static final long REGION_CREATION_TIMEOUT = 8000;
    private long lastConnectionAttempt = 0;
 
    @Override
    public void onEnable() {
        super.onEnable();
        running.set(true);
        coordinatesSent = false;
        lastConnectionAttempt = 0;
     
        if (instanceMode.is("Основной")) {
            startPrimaryMode();
        } else {
            startSecondaryMode();
        }
    }
 
    @Override
    public void onDisable() {
        super.onDisable();
        running.set(false);
        coordinatesSent = false;
        closeConnections();
    }
 
    @EventHandler
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;
     
        if (instanceMode.is("Основной") && isEnabled() && !coordinatesSent) {
            coordinatesSent = true;
            new Thread(() -> {
                try {
                    Thread.sleep(100);
                    sendCoordinates();
                } catch (InterruptedException e) {
                    Thread.currentThread().interrupt();
                }
            }, "RegionExploit-SendCoords").start();
        }
    }
 
    private void startPrimaryMode() {
        clientThread = new Thread(() -> {
            while (running.get() && isEnabled()) {
                try {
                    if (clientSocket == null || clientSocket.isClosed()) {
                        Thread.sleep(2000);
                        try {
                            clientSocket = new Socket();
                            clientSocket.connect(new java.net.InetSocketAddress("localhost", PORT), 2000);
                            clientSocket.setSoTimeout(5000);
                            ChatUtility.addMessage("Подключено к вторичному клиенту");
                            startResponseListener();
                        } catch (java.net.SocketTimeoutException e) {
                            long currentTime = System.currentTimeMillis();
                            if (!coordinatesSent || (currentTime - lastConnectionAttempt > 10000)) {
                                ChatUtility.addErrorMessage("Второй клиент не найден. Убедитесь, что второй Minecraft запущен с включенным RegionExploit в режиме Вторичный");
                                lastConnectionAttempt = currentTime;
                            }
                        } catch (IOException e) {
                            long currentTime = System.currentTimeMillis();
                            if (!coordinatesSent || (currentTime - lastConnectionAttempt > 10000)) {
                                ChatUtility.addErrorMessage("Второй клиент не найден. Убедитесь, что второй Minecraft запущен с включенным RegionExploit в режиме Вторичный");
                                lastConnectionAttempt = currentTime;
                            }
                        }
                    } else {
                        Thread.sleep(5000);
                    }
                } catch (InterruptedException e) {
                    break;
                }
            }
        }, "RegionExploit-PrimaryClient");
        clientThread.setDaemon(true);
        clientThread.start();
    }
 
    private void startSecondaryMode() {
        serverThread = new Thread(() -> {
            try {
                serverSocket = new ServerSocket(PORT);
                serverSocket.setSoTimeout(1000);
             
                while (running.get() && isEnabled()) {
                    try {
                        Socket socket = serverSocket.accept();
                        socket.setSoTimeout(10000);
                        ChatUtility.addMessage("Подключено к основному клиенту");
                        handleIncomingConnection(socket);
                    } catch (java.net.SocketTimeoutException e) {
                        continue;
                    } catch (IOException e) {
                        if (running.get() && isEnabled()) {
                            try {
                                Thread.sleep(1000);
                                if (serverSocket != null && !serverSocket.isClosed()) {
                                    serverSocket.close();
                                }
                                serverSocket = new ServerSocket(PORT);
                                serverSocket.setSoTimeout(1000);
                            } catch (Exception ex) {
                                break;
                            }
                        } else {
                            break;
                        }
                    }
                }
            } catch (IOException e) {
            }
        }, "RegionExploit-SecondaryServer");
        serverThread.setDaemon(true);
        serverThread.start();
    }
 
    private void handleIncomingConnection(Socket socket) {
        synchronized (this) {
            responseSocket = socket;
        }
     
        Thread handlerThread = new Thread(() -> {
            try {
                socket.setSoTimeout(30000);
                BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                String line;
                while (running.get() && isEnabled() && !socket.isClosed()) {
                    try {
                        line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        if (line.startsWith("NICK:")) {
                            primaryPlayerName = line.substring(5);
                            continue;
                        }
                        final String coordinates = line;
                        new Thread(() -> {
                            processCoordinates(coordinates);
                        }, "RegionExploit-ProcessCoords").start();
                    } catch (java.net.SocketTimeoutException e) {
                        continue;
                    }
                }
            } catch (IOException e) {
            } finally {
                synchronized (this) {
                    if (responseSocket == socket) {
                        responseSocket = null;
                    }
                }
                try {
                    socket.close();
                } catch (IOException ignored) {}
            }
        }, "RegionExploit-HandleConnection");
        handlerThread.setDaemon(true);
        handlerThread.start();
    }
 
    private void sendCoordinates() {
        if (mc.player == null) {
            return;
        }
     
        if (clientSocket == null || clientSocket.isClosed()) {
            try {
                clientSocket = new Socket();
                clientSocket.connect(new java.net.InetSocketAddress("localhost", PORT), 2000);
                clientSocket.setSoTimeout(5000);
                ChatUtility.addMessage("Подключен к Вторичному Клиенту");
                startResponseListener();
            } catch (IOException e) {
                coordinatesSent = false;
                ChatUtility.addErrorMessage("Второй клиент не найден. Убедитесь, что второй Minecraft запущен с включенным RegionExploit в режиме Вторичный");
                return;
            }
        }
     
        try {
            if (clientSocket.isClosed() || !clientSocket.isConnected()) {
                clientSocket = null;
                coordinatesSent = false;
                return;
            }
         
            PrintWriter writer = new PrintWriter(clientSocket.getOutputStream(), true);
            String playerName = mc.player.getGameProfile().getName();
         
            writer.println("NICK:" + playerName);
            writer.flush();
         
            BlockPos pos = mc.player.getPosition();
            String data = pos.getX() + "," + pos.getY() + "," + pos.getZ() + "," + playerName;
            writer.println(data);
            writer.flush();
            ChatUtility.addMessage("Пакет отправлен..");
        } catch (IOException e) {
            try {
                if (clientSocket != null) {
                    clientSocket.close();
                }
            } catch (IOException ignored) {}
            clientSocket = null;
            coordinatesSent = false;
        }
    }
 
    private void processCoordinates(String data) {
        if (mc.player == null || mc.world == null) return;
     
        try {
            String[] parts = data.split(",");
            if (parts.length < 3) return;
         
            int x = Integer.parseInt(parts[0]);
            int y = Integer.parseInt(parts[1]);
            int z = Integer.parseInt(parts[2]);
         
            String playerName;
            if (parts.length >= 4) {
                playerName = parts[3];
            } else {
                playerName = mc.player.getGameProfile().getName();
            }
         
            int width = (int) boxWidth.getValue();
            int halfWidth = width / 2;
            int minX = x - halfWidth;
            int maxX = x + halfWidth - 1;
            int minZ = z - halfWidth;
            int maxZ = z + halfWidth - 1;
         
            String regionName = "region_" + Math.abs(minX) + "_" + Math.abs(minZ);
            lastRegionName = regionName;
            lastRegionCenter = new BlockPos(x, y, z);
            lastRegionPlayerName = playerName;
         
            regionCreationInProgress = true;
            regionCreationSuccess = false;
            memberAdded = false;
            regionCreationStartTime.set(System.currentTimeMillis());
         
            checkAndCreateRegion(regionName, minX, maxX, minZ, maxZ, y, width, playerName);
         
        } catch (Exception ex) {
        }
    }
 
    private void sendMessageToPrimary(String message) {
        if (!instanceMode.is("Вторичный")) return;
        Socket socket;
        synchronized (this) {
            socket = responseSocket;
        }
     
        if (socket != null && !socket.isClosed() && socket.isConnected()) {
            try {
                PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);
                writer.println("MSG:" + message);
                writer.flush();
            } catch (IOException ex) {
                synchronized (this) {
                    if (responseSocket == socket) {
                        responseSocket = null;
                    }
                }
                try {
                    socket.close();
                } catch (IOException ignored) {}
            }
        }
    }
 
    private void startResponseListener() {
        Thread responseThread = new Thread(() -> {
            try {
                if (clientSocket == null || clientSocket.isClosed()) {
                    return;
                }
                clientSocket.setSoTimeout(10000);
                BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
                String line;
                while (running.get() && isEnabled() && clientSocket != null && !clientSocket.isClosed()) {
                    try {
                        line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        if (line.startsWith("MSG:")) {
                            String message = line.substring(4);
                            ChatUtility.addMessage(message);
                        }
                    } catch (java.net.SocketTimeoutException e) {
                        continue;
                    }
                }
            } catch (IOException ex) {
            } finally {
                try {
                    if (clientSocket != null && !clientSocket.isClosed()) {
                        clientSocket.close();
                    }
                } catch (IOException ignored) {}
                clientSocket = null;
            }
        }, "RegionExploit-ResponseListener");
        responseThread.setDaemon(true);
        responseThread.start();
    }
 
    private void checkAndCreateRegion(String regionName, int minX, int maxX, int minZ, int maxZ, int y, int width, String playerName) {
        if (mc.player.connection != null) {
            new Thread(() -> {
                try {
                    BlockPos pos1 = new BlockPos(minX, y - width, minZ);
                    BlockPos pos2 = new BlockPos(maxX, y + 10, maxZ);
                 
                    String pos1Cmd = "//pos1 " + pos1.getX() + "," + pos1.getY() + "," + pos1.getZ();
                    String pos2Cmd = "//pos2 " + pos2.getX() + "," + pos2.getY() + "," + pos2.getZ();
                    String defineCmd = "/rg define " + regionName;
                    String privateCmd = "/rg claim " + regionName;
                    String checkCmd = "/rg info " + regionName;
                 
                    boolean isFriend = Minced.getInstance().getFriendManager().isFriend(playerName);
                    String myName = mc.player.getGameProfile().getName();
                 
                    mc.player.sendChatMessage(checkCmd);
                    Thread.sleep(500);
                    mc.player.sendChatMessage(pos1Cmd);
                    Thread.sleep(800);
                    mc.player.sendChatMessage(pos2Cmd);
                    Thread.sleep(800);
                    mc.player.sendChatMessage(defineCmd);
                    Thread.sleep(1000);
                    mc.player.sendChatMessage(privateCmd);
                    Thread.sleep(1000);
                 
                    if (isFriend && primaryPlayerName != null) {
                        String addMyNameCmd = "/rg addmember " + regionName + " " + myName;
                        String addFriendCmd = "/rg addmember " + regionName + " " + primaryPlayerName;
                        mc.player.sendChatMessage(addMyNameCmd);
                        Thread.sleep(500);
                        mc.player.sendChatMessage(addFriendCmd);
                        Thread.sleep(500);
                    } else {
                        String addCmd = "/rg addmember " + regionName + " " + playerName;
                        mc.player.sendChatMessage(addCmd);
                        Thread.sleep(500);
                    }
                 
                } catch (InterruptedException ex) {
                    Thread.currentThread().interrupt();
                } catch (Exception ex) {
                    sendMessageToPrimary("Ошибка при создании региона: " + ex.getMessage());
                }
            }).start();
        }
    }
 
    @EventHandler
    public void onPacket(EventPacket e) {
        if (!instanceMode.is("Вторичный")) return;
        if (!regionCreationInProgress || lastRegionName == null) return;
        if (mc.player == null || mc.world == null) return;
     
        if (e.getPacket() instanceof SChatPacket p && e.isReceive()) {
            String rawMessage = p.getChatComponent().getString();
            String message = rawMessage.toLowerCase();
         
            boolean isError = false;
            String errorMessage = null;
            boolean isSuccess = false;
         
            if (message.contains("region") || message.contains("регион")) {
                if (message.contains("already exists") || message.contains("уже существует") ||
                    message.contains("already defined") || message.contains("уже определён")) {
                    isError = true;
                    errorMessage = "Регион " + lastRegionName + " уже существует";
                } else if (message.contains("overlaps") || message.contains("пересекается") ||
                          message.contains("intersects") || message.contains("intersection")) {
                    isError = true;
                    errorMessage = "Регион " + lastRegionName + " пересекается с другим";
                } else if (message.contains("nearby") || message.contains("рядом") ||
                          message.contains("too close") || message.contains("слишком близко") ||
                          message.contains("conflict") || message.contains("конфликт")) {
                    isError = true;
                    errorMessage = "Регион " + lastRegionName + " слишком близко к другому";
                } else if (message.contains("permission") || message.contains("права") ||
                          message.contains("no permission") || message.contains("нет прав") ||
                          message.contains("cannot") || message.contains("не могу") ||
                          message.contains("denied") || message.contains("запрещено")) {
                    isError = true;
                    errorMessage = "Нет прав для создания региона " + lastRegionName;
                }
             
                if (!isError && (message.contains("created") || message.contains("created region") ||
                                message.contains("claimed") || message.contains("claimed region") ||
                                message.contains("success") || message.contains("успешно") ||
                                message.contains("создан") || message.contains("запривачен") ||
                                message.contains("defined") || message.contains("определён"))) {
                    isSuccess = true;
                }
            }
         
            if ((message.contains("added") && message.contains("member")) ||
                (message.contains("добавлен") && (message.contains("участник") || message.contains("игрок"))) ||
                (message.contains("addmember") && (message.contains("success") || message.contains("успешно"))) ||
                (message.contains("member") && (message.contains("added") || message.contains("добавлен")))) {
                if (lastRegionPlayerName != null && !memberAdded) {
                    memberAdded = true;
                }
            }
         
            if (isSuccess) {
                regionCreationSuccess = true;
                regionCreationInProgress = false;
                sendMessageToPrimary("Регион успешно создан");
                if (memberAdded && lastRegionPlayerName != null) {
                    sendMessageToPrimary("Добавлены друзья: " + lastRegionPlayerName);
                } else {
                    sendMessageToPrimary("Друзей не обнаружено");
                }
                lastRegionName = null;
                lastRegionCenter = null;
                lastRegionPlayerName = null;
                memberAdded = false;
                return;
            }
         
            if (isError) {
                regionCreationInProgress = false;
                regionCreationSuccess = false;
                memberAdded = false;
                lastRegionName = null;
                lastRegionCenter = null;
                lastRegionPlayerName = null;
            }
        }
    }
 
    private void closeConnections() {
        running.set(false);
     
        try {
            if (clientSocket != null && !clientSocket.isClosed()) {
                clientSocket.close();
            }
        } catch (IOException ignored) {}
        clientSocket = null;
     
        Socket socket;
        synchronized (this) {
            socket = responseSocket;
            responseSocket = null;
        }
        try {
            if (socket != null && !socket.isClosed()) {
                socket.close();
            }
        } catch (IOException ignored) {}
     
        try {
            if (serverSocket != null && !serverSocket.isClosed()) {
                serverSocket.close();
            }
        } catch (IOException ignored) {}
        serverSocket = null;
     
        try {
            if (clientThread != null && clientThread.isAlive()) {
                clientThread.interrupt();
                clientThread.join(1000);
            }
            if (serverThread != null && serverThread.isAlive()) {
                serverThread.interrupt();
                serverThread.join(1000);
            }
        } catch (InterruptedException ignored) {}
    }
}
godno
 
Назад
Сверху Снизу