• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Часть функционала RegionExploit | Any base 1.16.5

  • Автор темы Автор темы Moyten
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
6 Дек 2023
Сообщения
503
Реакции
3
Выберите загрузчик игры
  1. Vanilla
Всем ку, сливаю скорее всего лучший эксплоит из тех что есть и сливали(не уверен)
Что тут есть:
  • Режим с 1 майном
  • Режим с 2 майнами, в котором автоматически добавляется в рг первый майн
Как работает второй майн:
  • Тип с 1 майна выбирает режим отправителя, нажимает на бинд, во втором майне должен быть режим получателя и он будет устанавливать рг
  • Синхронизация работает через файлы(в директории кфг создается файл в котором x и z позиция первого игрока, радиус привата и ник игрока)
  • Багов с никами из за неймпротекта нет, как ранее было в катлаване(ноад).
Во всех режимах удаляются рг после перезапуска функции/повторной активации
По сути пойдет на любую базу, если у вас есть ивенты и сеттинги.
Ода мойтен опять накормил абузом ворлдэдита:
Expand Collapse Copy
package fgnepasti.wonderful.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import fgnepasti.wonderful.events.EventKey;
import fgnepasti.wonderful.events.EventPacket;
import fgnepasti.wonderful.events.EventUpdate;
import fgnepasti.wonderful.functions.api.Category;
import fgnepasti.wonderful.functions.api.Function;
import fgnepasti.wonderful.functions.api.FunctionRegister;
import fgnepasti.wonderful.functions.settings.impl.*;
import fgnepasti.wonderful.utils.math.StopWatch;
import lombok.Getter;
import lombok.SneakyThrows;
import net.minecraft.network.play.server.SChatPacket;
import org.apache.commons.lang3.RandomStringUtils;

import java.io.File;
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;

import static java.io.File.separator;

@FunctionRegister(name = "RGExploit",type = Category.Player)
public class RGExploit extends Function {

    private ModeSetting mode = new ModeSetting("Режим", "1 окно", "1 окно", "2 окна");

    private BooleanSetting deleteEvery = new BooleanSetting("Удалять при перезапуске",false).setVisible(() -> mode.is("1 окно"));

    private StringSetting coordX = new StringSetting("X-позиция(1)", "0", "Укажите координату по x", true).setVisible(() -> mode.is("1 окно"));
    private StringSetting coordZ = new StringSetting("Z-позиция(1)", "0", "Укажите координату по z", true).setVisible(() -> mode.is("1 окно"));

    private StringSetting coordX2 = new StringSetting("X-позиция(2)", "0", "Укажите координату по x", true).setVisible(() -> mode.is("1 окно"));
    private StringSetting coordZ2 = new StringSetting("Z-позиция(2)", "0", "Укажите координату по z", true).setVisible(() -> mode.is("1 окно"));

    private BindSetting bind = new BindSetting("Бинд",-1).setVisible(() -> mode.is("2 окна") && isSender());
    private ModeSetting senderOrClaimer = new ModeSetting("Игра", "Отправитель","Отправитель","Получатель").setVisible(() -> mode.is("2 окна"));
    public SliderSetting radius = new SliderSetting("Радиус",10,2,50,1).setVisible(() -> mode.is("2 окна") && isSender());

    boolean set1Pos = false;
    boolean set2Pos = false;
    boolean processing = false;
    boolean createRG;
    boolean canExtractText = false;
    String regionName;

    {
        addSettings(mode, deleteEvery, coordX, coordZ, coordX2, coordZ2, bind, senderOrClaimer, radius);
    }

    [USER=1367676]@override[/USER]
    public void onEnable() {
        super.onEnable();

        if (mode.is("1 окно")) {
            if (mc.player == null || mc.player.connection == null) return;
            (new Thread(() -> {
                if (deleteEvery.get() && createRG) {

                    mc.player.sendChatMessage("/rg remove " + regionName);
                    createRG = false;
                    set1Pos = false;
                    set2Pos = false;
                }
                try {
                    Thread.sleep(500);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
                if (!createRG) {
                        if (!set1Pos) {
                            mc.player.sendChatMessage("//pos1 " + coordX.get() + ",100," + coordZ.get());
                            set1Pos = true;
                        }

                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                        if (!set2Pos) {
                            mc.player.sendChatMessage("//pos2 " + coordX2.get() + ",100," + coordZ2.get());
                            set2Pos = true;
                        }
                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                        if (set1Pos && set2Pos && !createRG) {
                            RandomStringUtils randomStringUtils = new RandomStringUtils();
                            regionName = randomStringUtils.randomNumeric(6);
                            mc.player.sendChatMessage("/rg claim " + regionName);
                            createRG = true;
                            toggle();
                        }
                }
            })).start();
        }
    }

    [USER=1367676]@override[/USER]
    public void onDisable() {
        super.onDisable();
        set1Pos = false;
        set2Pos = false;
    }

    [USER=1474073]@Subscribe[/USER]
    public void onKey(EventKey e) {
        if (!mode.is("2 окна")) return;

        if (bind.get() != -1 && e.getKey() == bind.get()) {
            if (isSender()) {
                FileManager.saveCurrentCoords(radius.get());
                print("Отправил задачу!");
            }
        }
    }
    [USER=1474073]@Subscribe[/USER]
    public void onUpdate(EventUpdate e) {
        if (isSender() && mode.is("2 окна")) {
            if (FileManager.responseFileExists()) {
                print(FileManager.extractResponse());
                FileManager.deleteResponseFile();
            }
        }


        if (isReceiver() && mode.is("2 окна")) {
            if (FileManager.extraFileExists()) {
                boolean created = FileManager.extractExtraBoolean().equals("true");
                regionName = FileManager.extractExtraName();
                createRG = created;
                FileManager.deleteExtraFile();
            }


            if (FileManager.coordsFileExists() && !processing) {
                processing = true;
                (new Thread(() -> {
                    if (createRG) {
                        mc.player.sendChatMessage("/rg remove " + regionName);
//                    FileManager.deleteCoordsFile();
                        createRG = false;
//                        set1Pos = false;
//                        set2Pos = false;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (!set1Pos) {
                        int coordX = (int) (FileManager.extractCoordsX() - FileManager.extractRadius());
                        int coordZ = (int) (FileManager.extractCoordsZ() - FileManager.extractRadius());

                        mc.player.sendChatMessage("//pos1 " + coordX + ",100," + coordZ);
                        set1Pos = true;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (!set2Pos) {
                        int coordX = (int) (FileManager.extractCoordsX() + FileManager.extractRadius());
                        int coordZ = (int) (FileManager.extractCoordsZ() + FileManager.extractRadius());

                        mc.player.sendChatMessage("//pos2 " + coordX + ",100," + coordZ);
                        set2Pos = true;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (set1Pos && set2Pos && !createRG) {
                        RandomStringUtils randomStringUtils = new RandomStringUtils();
                        regionName = randomStringUtils.randomNumeric(6);
                        mc.player.sendChatMessage("/rg claim " + regionName);

                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException exception) {
                            throw new RuntimeException(exception);
                        }

                        mc.player.sendChatMessage("/rg addowner " + regionName + " " + FileManager.extractPlayerName());

                        FileManager.deleteCoordsFile();
                        createRG = true;
                        canExtractText = true;
                        FileManager.deleteCoordsFile();
                        set1Pos = false;
                        set2Pos = false;
                        processing = false;
                    }
                })).start();
            }
        }
    }

    [USER=1474073]@Subscribe[/USER]
    public void onChat(EventPacket e) {
        if (canExtractText && mode.is("2 окна") && isReceiver()) {
           if (e.getPacket() instanceof SChatPacket chat) {
               String raw = chat.getChatComponent().getString().toLowerCase();
               if (raw.contains("у вас слишком много регионов")) {
                   FileManager.saveResponse("У второго аккаунта лимит регионов!");
                   canExtractText = false;
               } else if (raw.contains("вы заприватили регион")) {
                   FileManager.saveResponse("Регион запривачен!");
                   canExtractText = false;
               } else if (raw.contains("перекрывает чужой")) {
                   FileManager.saveResponse("Регион перекрывает чужой!");
                   canExtractText = false;
               }
           }
        }
    }

    public boolean isSender() {
        return senderOrClaimer.is("Отправитель");
    }
    public boolean isReceiver() {
        return !isSender();
    }

    public void saveFile() {
        if (isReceiver()) FileManager.saveExtra(createRG,regionName);
    }


    public class FileManager {
        [USER=270918]@Getter[/USER]
        private static String coords;
        [USER=270918]@Getter[/USER]
        private static String response;
        [USER=270918]@Getter[/USER]
        private static String extra;

        private static final File coordsFile = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "coords.txt");
        private static final File responseFile = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "response.txt");
        private static final File extraInfo = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "info.txt");

        @SneakyThrows
        public static void saveCurrentCoords(float radius) {
            coords = (int) mc.player.getPosX() + " : " + (int) mc.player.getPosZ() + " : " +
                    radius + " : " + mc.session.getUsername();
            Files.writeString(coordsFile.toPath(), coords,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }

        @SneakyThrows
        public static double extractCoordsX() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[0].trim());
        }

        @SneakyThrows
        public static double extractCoordsZ() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[1].trim());
        }

        @SneakyThrows
        public static double extractRadius() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[2].trim());
        }

        @SneakyThrows
        public static String extractPlayerName() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return content.split(":")[3].trim();
        }

        @SneakyThrows
        public static void deleteCoordsFile() {
            Files.deleteIfExists(coordsFile.toPath());
        }

        public static boolean coordsFileExists() {
            return coordsFile.exists();
        }



        @SneakyThrows
        public static void saveResponse(String message) {
            response = message;
            Files.writeString(responseFile.toPath(), response,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }
        @SneakyThrows
        public static String extractResponse() {
            String content = Files.readString(responseFile.toPath()).trim();
            return content;
        }

        @SneakyThrows
        public static void deleteResponseFile() {
            Files.deleteIfExists(responseFile.toPath());
        }

        public static boolean responseFileExists() {
            return responseFile.exists();
        }

        @SneakyThrows
        public static void saveExtra(boolean createRg, String rgName) {
            extra = createRg + " : " + rgName;
            Files.writeString(extraInfo.toPath(), extra,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }
        @SneakyThrows
        public static String extractExtraBoolean() {
            String content = Files.readString(extraInfo.toPath()).trim();
            return content.split(":")[0].trim();
        }
        @SneakyThrows
        public static String extractExtraName() {
            String content = Files.readString(extraInfo.toPath()).trim();
            return content.split(":")[1].trim();
        }

        @SneakyThrows
        public static void deleteExtraFile() {
            Files.deleteIfExists(extraInfo.toPath());
        }

        public static boolean extraFileExists() {
            return extraInfo.exists();
        }
    }
}
Забыл дополнить, если у вас есть метод сохраняющий кфг при закрытии игры добавьте туда RGExploit.saveFile()
 
Последнее редактирование:
Я быстрее войсмод на мцп допереношу чем тему эту одобрят
 
ахуенно 4 дня не смотрят
 
Всем ку, сливаю скорее всего лучший эксплоит из тех что есть и сливали(не уверен)
Что тут есть:
  • Режим с 1 майном
  • Режим с 2 майнами, в котором автоматически добавляется в рг первый майн
Как работает второй майн:
  • Тип с 1 майна выбирает режим отправителя, нажимает на бинд, во втором майне должен быть режим получателя и он будет устанавливать рг
  • Синхронизация работает через файлы(в директории кфг создается файл в котором x и z позиция первого игрока, радиус привата и ник игрока)
  • Багов с никами из за неймпротекта нет, как ранее было в катлаване(ноад).
Во всех режимах удаляются рг после перезапуска функции/повторной активации
По сути пойдет на любую базу, если у вас есть ивенты и сеттинги.
Ода мойтен опять накормил абузом ворлдэдита:
Expand Collapse Copy
package fgnepasti.wonderful.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import fgnepasti.wonderful.events.EventKey;
import fgnepasti.wonderful.events.EventPacket;
import fgnepasti.wonderful.events.EventUpdate;
import fgnepasti.wonderful.functions.api.Category;
import fgnepasti.wonderful.functions.api.Function;
import fgnepasti.wonderful.functions.api.FunctionRegister;
import fgnepasti.wonderful.functions.settings.impl.*;
import fgnepasti.wonderful.utils.math.StopWatch;
import lombok.Getter;
import lombok.SneakyThrows;
import net.minecraft.network.play.server.SChatPacket;
import org.apache.commons.lang3.RandomStringUtils;

import java.io.File;
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;

import static java.io.File.separator;

@FunctionRegister(name = "RGExploit",type = Category.Player)
public class RGExploit extends Function {

    private ModeSetting mode = new ModeSetting("Режим", "1 окно", "1 окно", "2 окна");

    private BooleanSetting deleteEvery = new BooleanSetting("Удалять при перезапуске",false).setVisible(() -> mode.is("1 окно"));

    private StringSetting coordX = new StringSetting("X-позиция(1)", "0", "Укажите координату по x", true).setVisible(() -> mode.is("1 окно"));
    private StringSetting coordZ = new StringSetting("Z-позиция(1)", "0", "Укажите координату по z", true).setVisible(() -> mode.is("1 окно"));

    private StringSetting coordX2 = new StringSetting("X-позиция(2)", "0", "Укажите координату по x", true).setVisible(() -> mode.is("1 окно"));
    private StringSetting coordZ2 = new StringSetting("Z-позиция(2)", "0", "Укажите координату по z", true).setVisible(() -> mode.is("1 окно"));

    private BindSetting bind = new BindSetting("Бинд",-1).setVisible(() -> mode.is("2 окна") && isSender());
    private ModeSetting senderOrClaimer = new ModeSetting("Игра", "Отправитель","Отправитель","Получатель").setVisible(() -> mode.is("2 окна"));
    public SliderSetting radius = new SliderSetting("Радиус",10,2,50,1).setVisible(() -> mode.is("2 окна") && isSender());

    boolean set1Pos = false;
    boolean set2Pos = false;
    boolean processing = false;
    boolean createRG;
    boolean canExtractText = false;
    String regionName;

    {
        addSettings(mode, deleteEvery, coordX, coordZ, coordX2, coordZ2, bind, senderOrClaimer, radius);
    }

    [USER=1367676]@override[/USER]
    public void onEnable() {
        super.onEnable();

        if (mode.is("1 окно")) {
            if (mc.player == null || mc.player.connection == null) return;
            (new Thread(() -> {
                if (deleteEvery.get() && createRG) {

                    mc.player.sendChatMessage("/rg remove " + regionName);
                    createRG = false;
                    set1Pos = false;
                    set2Pos = false;
                }
                try {
                    Thread.sleep(500);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
                if (!createRG) {
                        if (!set1Pos) {
                            mc.player.sendChatMessage("//pos1 " + coordX.get() + ",100," + coordZ.get());
                            set1Pos = true;
                        }

                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                        if (!set2Pos) {
                            mc.player.sendChatMessage("//pos2 " + coordX2.get() + ",100," + coordZ2.get());
                            set2Pos = true;
                        }
                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                        if (set1Pos && set2Pos && !createRG) {
                            RandomStringUtils randomStringUtils = new RandomStringUtils();
                            regionName = randomStringUtils.randomNumeric(6);
                            mc.player.sendChatMessage("/rg claim " + regionName);
                            createRG = true;
                            toggle();
                        }
                }
            })).start();
        }
    }

    [USER=1367676]@override[/USER]
    public void onDisable() {
        super.onDisable();
        set1Pos = false;
        set2Pos = false;
    }

    [USER=1474073]@Subscribe[/USER]
    public void onKey(EventKey e) {
        if (!mode.is("2 окна")) return;

        if (bind.get() != -1 && e.getKey() == bind.get()) {
            if (isSender()) {
                FileManager.saveCurrentCoords(radius.get());
                print("Отправил задачу!");
            }
        }
    }
    [USER=1474073]@Subscribe[/USER]
    public void onUpdate(EventUpdate e) {
        if (isSender() && mode.is("2 окна")) {
            if (FileManager.responseFileExists()) {
                print(FileManager.extractResponse());
                FileManager.deleteResponseFile();
            }
        }


        if (isReceiver() && mode.is("2 окна")) {
            if (FileManager.extraFileExists()) {
                boolean created = FileManager.extractExtraBoolean().equals("true");
                regionName = FileManager.extractExtraName();
                createRG = created;
                FileManager.deleteExtraFile();
            }


            if (FileManager.coordsFileExists() && !processing) {
                processing = true;
                (new Thread(() -> {
                    if (createRG) {
                        mc.player.sendChatMessage("/rg remove " + regionName);
//                    FileManager.deleteCoordsFile();
                        createRG = false;
//                        set1Pos = false;
//                        set2Pos = false;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (!set1Pos) {
                        int coordX = (int) (FileManager.extractCoordsX() - FileManager.extractRadius());
                        int coordZ = (int) (FileManager.extractCoordsZ() - FileManager.extractRadius());

                        mc.player.sendChatMessage("//pos1 " + coordX + ",100," + coordZ);
                        set1Pos = true;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (!set2Pos) {
                        int coordX = (int) (FileManager.extractCoordsX() + FileManager.extractRadius());
                        int coordZ = (int) (FileManager.extractCoordsZ() + FileManager.extractRadius());

                        mc.player.sendChatMessage("//pos2 " + coordX + ",100," + coordZ);
                        set2Pos = true;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (set1Pos && set2Pos && !createRG) {
                        RandomStringUtils randomStringUtils = new RandomStringUtils();
                        regionName = randomStringUtils.randomNumeric(6);
                        mc.player.sendChatMessage("/rg claim " + regionName);

                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException exception) {
                            throw new RuntimeException(exception);
                        }

                        mc.player.sendChatMessage("/rg addowner " + regionName + " " + FileManager.extractPlayerName());

                        FileManager.deleteCoordsFile();
                        createRG = true;
                        canExtractText = true;
                        FileManager.deleteCoordsFile();
                        set1Pos = false;
                        set2Pos = false;
                        processing = false;
                    }
                })).start();
            }
        }
    }

    [USER=1474073]@Subscribe[/USER]
    public void onChat(EventPacket e) {
        if (canExtractText && mode.is("2 окна") && isReceiver()) {
           if (e.getPacket() instanceof SChatPacket chat) {
               String raw = chat.getChatComponent().getString().toLowerCase();
               if (raw.contains("у вас слишком много регионов")) {
                   FileManager.saveResponse("У второго аккаунта лимит регионов!");
                   canExtractText = false;
               } else if (raw.contains("вы заприватили регион")) {
                   FileManager.saveResponse("Регион запривачен!");
                   canExtractText = false;
               } else if (raw.contains("перекрывает чужой")) {
                   FileManager.saveResponse("Регион перекрывает чужой!");
                   canExtractText = false;
               }
           }
        }
    }

    public boolean isSender() {
        return senderOrClaimer.is("Отправитель");
    }
    public boolean isReceiver() {
        return !isSender();
    }

    public void saveFile() {
        if (isReceiver()) FileManager.saveExtra(createRG,regionName);
    }


    public class FileManager {
        [USER=270918]@Getter[/USER]
        private static String coords;
        [USER=270918]@Getter[/USER]
        private static String response;
        [USER=270918]@Getter[/USER]
        private static String extra;

        private static final File coordsFile = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "coords.txt");
        private static final File responseFile = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "response.txt");
        private static final File extraInfo = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "info.txt");

        @SneakyThrows
        public static void saveCurrentCoords(float radius) {
            coords = (int) mc.player.getPosX() + " : " + (int) mc.player.getPosZ() + " : " +
                    radius + " : " + mc.session.getUsername();
            Files.writeString(coordsFile.toPath(), coords,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }

        @SneakyThrows
        public static double extractCoordsX() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[0].trim());
        }

        @SneakyThrows
        public static double extractCoordsZ() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[1].trim());
        }

        @SneakyThrows
        public static double extractRadius() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[2].trim());
        }

        @SneakyThrows
        public static String extractPlayerName() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return content.split(":")[3].trim();
        }

        @SneakyThrows
        public static void deleteCoordsFile() {
            Files.deleteIfExists(coordsFile.toPath());
        }

        public static boolean coordsFileExists() {
            return coordsFile.exists();
        }



        @SneakyThrows
        public static void saveResponse(String message) {
            response = message;
            Files.writeString(responseFile.toPath(), response,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }
        @SneakyThrows
        public static String extractResponse() {
            String content = Files.readString(responseFile.toPath()).trim();
            return content;
        }

        @SneakyThrows
        public static void deleteResponseFile() {
            Files.deleteIfExists(responseFile.toPath());
        }

        public static boolean responseFileExists() {
            return responseFile.exists();
        }

        @SneakyThrows
        public static void saveExtra(boolean createRg, String rgName) {
            extra = createRg + " : " + rgName;
            Files.writeString(extraInfo.toPath(), extra,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }
        @SneakyThrows
        public static String extractExtraBoolean() {
            String content = Files.readString(extraInfo.toPath()).trim();
            return content.split(":")[0].trim();
        }
        @SneakyThrows
        public static String extractExtraName() {
            String content = Files.readString(extraInfo.toPath()).trim();
            return content.split(":")[1].trim();
        }

        @SneakyThrows
        public static void deleteExtraFile() {
            Files.deleteIfExists(extraInfo.toPath());
        }

        public static boolean extraFileExists() {
            return extraInfo.exists();
        }
    }
}
Забыл дополнить, если у вас есть метод сохраняющий кфг при закрытии игры добавьте туда RGExploit.saveFile()
каефна
 
Всем ку, сливаю скорее всего лучший эксплоит из тех что есть и сливали(не уверен)
Что тут есть:
  • Режим с 1 майном
  • Режим с 2 майнами, в котором автоматически добавляется в рг первый майн
Как работает второй майн:
  • Тип с 1 майна выбирает режим отправителя, нажимает на бинд, во втором майне должен быть режим получателя и он будет устанавливать рг
  • Синхронизация работает через файлы(в директории кфг создается файл в котором x и z позиция первого игрока, радиус привата и ник игрока)
  • Багов с никами из за неймпротекта нет, как ранее было в катлаване(ноад).
Во всех режимах удаляются рг после перезапуска функции/повторной активации
По сути пойдет на любую базу, если у вас есть ивенты и сеттинги.
Ода мойтен опять накормил абузом ворлдэдита:
Expand Collapse Copy
package fgnepasti.wonderful.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import fgnepasti.wonderful.events.EventKey;
import fgnepasti.wonderful.events.EventPacket;
import fgnepasti.wonderful.events.EventUpdate;
import fgnepasti.wonderful.functions.api.Category;
import fgnepasti.wonderful.functions.api.Function;
import fgnepasti.wonderful.functions.api.FunctionRegister;
import fgnepasti.wonderful.functions.settings.impl.*;
import fgnepasti.wonderful.utils.math.StopWatch;
import lombok.Getter;
import lombok.SneakyThrows;
import net.minecraft.network.play.server.SChatPacket;
import org.apache.commons.lang3.RandomStringUtils;

import java.io.File;
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;

import static java.io.File.separator;

@FunctionRegister(name = "RGExploit",type = Category.Player)
public class RGExploit extends Function {

    private ModeSetting mode = new ModeSetting("Режим", "1 окно", "1 окно", "2 окна");

    private BooleanSetting deleteEvery = new BooleanSetting("Удалять при перезапуске",false).setVisible(() -> mode.is("1 окно"));

    private StringSetting coordX = new StringSetting("X-позиция(1)", "0", "Укажите координату по x", true).setVisible(() -> mode.is("1 окно"));
    private StringSetting coordZ = new StringSetting("Z-позиция(1)", "0", "Укажите координату по z", true).setVisible(() -> mode.is("1 окно"));

    private StringSetting coordX2 = new StringSetting("X-позиция(2)", "0", "Укажите координату по x", true).setVisible(() -> mode.is("1 окно"));
    private StringSetting coordZ2 = new StringSetting("Z-позиция(2)", "0", "Укажите координату по z", true).setVisible(() -> mode.is("1 окно"));

    private BindSetting bind = new BindSetting("Бинд",-1).setVisible(() -> mode.is("2 окна") && isSender());
    private ModeSetting senderOrClaimer = new ModeSetting("Игра", "Отправитель","Отправитель","Получатель").setVisible(() -> mode.is("2 окна"));
    public SliderSetting radius = new SliderSetting("Радиус",10,2,50,1).setVisible(() -> mode.is("2 окна") && isSender());

    boolean set1Pos = false;
    boolean set2Pos = false;
    boolean processing = false;
    boolean createRG;
    boolean canExtractText = false;
    String regionName;

    {
        addSettings(mode, deleteEvery, coordX, coordZ, coordX2, coordZ2, bind, senderOrClaimer, radius);
    }

    [USER=1367676]@override[/USER]
    public void onEnable() {
        super.onEnable();

        if (mode.is("1 окно")) {
            if (mc.player == null || mc.player.connection == null) return;
            (new Thread(() -> {
                if (deleteEvery.get() && createRG) {

                    mc.player.sendChatMessage("/rg remove " + regionName);
                    createRG = false;
                    set1Pos = false;
                    set2Pos = false;
                }
                try {
                    Thread.sleep(500);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
                if (!createRG) {
                        if (!set1Pos) {
                            mc.player.sendChatMessage("//pos1 " + coordX.get() + ",100," + coordZ.get());
                            set1Pos = true;
                        }

                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                        if (!set2Pos) {
                            mc.player.sendChatMessage("//pos2 " + coordX2.get() + ",100," + coordZ2.get());
                            set2Pos = true;
                        }
                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                        if (set1Pos && set2Pos && !createRG) {
                            RandomStringUtils randomStringUtils = new RandomStringUtils();
                            regionName = randomStringUtils.randomNumeric(6);
                            mc.player.sendChatMessage("/rg claim " + regionName);
                            createRG = true;
                            toggle();
                        }
                }
            })).start();
        }
    }

    [USER=1367676]@override[/USER]
    public void onDisable() {
        super.onDisable();
        set1Pos = false;
        set2Pos = false;
    }

    [USER=1474073]@Subscribe[/USER]
    public void onKey(EventKey e) {
        if (!mode.is("2 окна")) return;

        if (bind.get() != -1 && e.getKey() == bind.get()) {
            if (isSender()) {
                FileManager.saveCurrentCoords(radius.get());
                print("Отправил задачу!");
            }
        }
    }
    [USER=1474073]@Subscribe[/USER]
    public void onUpdate(EventUpdate e) {
        if (isSender() && mode.is("2 окна")) {
            if (FileManager.responseFileExists()) {
                print(FileManager.extractResponse());
                FileManager.deleteResponseFile();
            }
        }


        if (isReceiver() && mode.is("2 окна")) {
            if (FileManager.extraFileExists()) {
                boolean created = FileManager.extractExtraBoolean().equals("true");
                regionName = FileManager.extractExtraName();
                createRG = created;
                FileManager.deleteExtraFile();
            }


            if (FileManager.coordsFileExists() && !processing) {
                processing = true;
                (new Thread(() -> {
                    if (createRG) {
                        mc.player.sendChatMessage("/rg remove " + regionName);
//                    FileManager.deleteCoordsFile();
                        createRG = false;
//                        set1Pos = false;
//                        set2Pos = false;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (!set1Pos) {
                        int coordX = (int) (FileManager.extractCoordsX() - FileManager.extractRadius());
                        int coordZ = (int) (FileManager.extractCoordsZ() - FileManager.extractRadius());

                        mc.player.sendChatMessage("//pos1 " + coordX + ",100," + coordZ);
                        set1Pos = true;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (!set2Pos) {
                        int coordX = (int) (FileManager.extractCoordsX() + FileManager.extractRadius());
                        int coordZ = (int) (FileManager.extractCoordsZ() + FileManager.extractRadius());

                        mc.player.sendChatMessage("//pos2 " + coordX + ",100," + coordZ);
                        set2Pos = true;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (set1Pos && set2Pos && !createRG) {
                        RandomStringUtils randomStringUtils = new RandomStringUtils();
                        regionName = randomStringUtils.randomNumeric(6);
                        mc.player.sendChatMessage("/rg claim " + regionName);

                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException exception) {
                            throw new RuntimeException(exception);
                        }

                        mc.player.sendChatMessage("/rg addowner " + regionName + " " + FileManager.extractPlayerName());

                        FileManager.deleteCoordsFile();
                        createRG = true;
                        canExtractText = true;
                        FileManager.deleteCoordsFile();
                        set1Pos = false;
                        set2Pos = false;
                        processing = false;
                    }
                })).start();
            }
        }
    }

    [USER=1474073]@Subscribe[/USER]
    public void onChat(EventPacket e) {
        if (canExtractText && mode.is("2 окна") && isReceiver()) {
           if (e.getPacket() instanceof SChatPacket chat) {
               String raw = chat.getChatComponent().getString().toLowerCase();
               if (raw.contains("у вас слишком много регионов")) {
                   FileManager.saveResponse("У второго аккаунта лимит регионов!");
                   canExtractText = false;
               } else if (raw.contains("вы заприватили регион")) {
                   FileManager.saveResponse("Регион запривачен!");
                   canExtractText = false;
               } else if (raw.contains("перекрывает чужой")) {
                   FileManager.saveResponse("Регион перекрывает чужой!");
                   canExtractText = false;
               }
           }
        }
    }

    public boolean isSender() {
        return senderOrClaimer.is("Отправитель");
    }
    public boolean isReceiver() {
        return !isSender();
    }

    public void saveFile() {
        if (isReceiver()) FileManager.saveExtra(createRG,regionName);
    }


    public class FileManager {
        [USER=270918]@Getter[/USER]
        private static String coords;
        [USER=270918]@Getter[/USER]
        private static String response;
        [USER=270918]@Getter[/USER]
        private static String extra;

        private static final File coordsFile = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "coords.txt");
        private static final File responseFile = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "response.txt");
        private static final File extraInfo = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "info.txt");

        @SneakyThrows
        public static void saveCurrentCoords(float radius) {
            coords = (int) mc.player.getPosX() + " : " + (int) mc.player.getPosZ() + " : " +
                    radius + " : " + mc.session.getUsername();
            Files.writeString(coordsFile.toPath(), coords,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }

        @SneakyThrows
        public static double extractCoordsX() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[0].trim());
        }

        @SneakyThrows
        public static double extractCoordsZ() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[1].trim());
        }

        @SneakyThrows
        public static double extractRadius() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[2].trim());
        }

        @SneakyThrows
        public static String extractPlayerName() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return content.split(":")[3].trim();
        }

        @SneakyThrows
        public static void deleteCoordsFile() {
            Files.deleteIfExists(coordsFile.toPath());
        }

        public static boolean coordsFileExists() {
            return coordsFile.exists();
        }



        @SneakyThrows
        public static void saveResponse(String message) {
            response = message;
            Files.writeString(responseFile.toPath(), response,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }
        @SneakyThrows
        public static String extractResponse() {
            String content = Files.readString(responseFile.toPath()).trim();
            return content;
        }

        @SneakyThrows
        public static void deleteResponseFile() {
            Files.deleteIfExists(responseFile.toPath());
        }

        public static boolean responseFileExists() {
            return responseFile.exists();
        }

        @SneakyThrows
        public static void saveExtra(boolean createRg, String rgName) {
            extra = createRg + " : " + rgName;
            Files.writeString(extraInfo.toPath(), extra,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }
        @SneakyThrows
        public static String extractExtraBoolean() {
            String content = Files.readString(extraInfo.toPath()).trim();
            return content.split(":")[0].trim();
        }
        @SneakyThrows
        public static String extractExtraName() {
            String content = Files.readString(extraInfo.toPath()).trim();
            return content.split(":")[1].trim();
        }

        @SneakyThrows
        public static void deleteExtraFile() {
            Files.deleteIfExists(extraInfo.toPath());
        }

        public static boolean extraFileExists() {
            return extraInfo.exists();
        }
    }
}
Забыл дополнить, если у вас есть метод сохраняющий кфг при закрытии игры добавьте туда RGExploit.saveFile()
+реп
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ну щас пойду чекну ну у меня ошибка public void onEnable я зделал boolean раньше не ворк щас пойду тесть
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
не понимаю юзал один ошибка на рилике


[13:58:27] [main/INFO]: [CHAT] (FAWE) Invalid value for [coordinates] (java.lang.reflect.InvocationTargetException), acceptable values are
[13:58:27] [main/INFO]: [CHAT] (FAWE) Invalid value for [coordinates] (java.lang.reflect.InvocationTargetException), acceptable values are
[13:58:28] [main/INFO]: [CHAT] Сначала выделите территорию. Используйте WorldEdit для выделения (wiki:
Пожалуйста, авторизуйтесь для просмотра ссылки.
).
и я еще чекнул у меня нету \\assets\\skins\\bb
 
Последнее редактирование:
Всем ку, сливаю скорее всего лучший эксплоит из тех что есть и сливали(не уверен)
Что тут есть:
  • Режим с 1 майном
  • Режим с 2 майнами, в котором автоматически добавляется в рг первый майн
Как работает второй майн:
  • Тип с 1 майна выбирает режим отправителя, нажимает на бинд, во втором майне должен быть режим получателя и он будет устанавливать рг
  • Синхронизация работает через файлы(в директории кфг создается файл в котором x и z позиция первого игрока, радиус привата и ник игрока)
  • Багов с никами из за неймпротекта нет, как ранее было в катлаване(ноад).
Во всех режимах удаляются рг после перезапуска функции/повторной активации
По сути пойдет на любую базу, если у вас есть ивенты и сеттинги.
Ода мойтен опять накормил абузом ворлдэдита:
Expand Collapse Copy
package fgnepasti.wonderful.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import fgnepasti.wonderful.events.EventKey;
import fgnepasti.wonderful.events.EventPacket;
import fgnepasti.wonderful.events.EventUpdate;
import fgnepasti.wonderful.functions.api.Category;
import fgnepasti.wonderful.functions.api.Function;
import fgnepasti.wonderful.functions.api.FunctionRegister;
import fgnepasti.wonderful.functions.settings.impl.*;
import fgnepasti.wonderful.utils.math.StopWatch;
import lombok.Getter;
import lombok.SneakyThrows;
import net.minecraft.network.play.server.SChatPacket;
import org.apache.commons.lang3.RandomStringUtils;

import java.io.File;
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;

import static java.io.File.separator;

@FunctionRegister(name = "RGExploit",type = Category.Player)
public class RGExploit extends Function {

    private ModeSetting mode = new ModeSetting("Режим", "1 окно", "1 окно", "2 окна");

    private BooleanSetting deleteEvery = new BooleanSetting("Удалять при перезапуске",false).setVisible(() -> mode.is("1 окно"));

    private StringSetting coordX = new StringSetting("X-позиция(1)", "0", "Укажите координату по x", true).setVisible(() -> mode.is("1 окно"));
    private StringSetting coordZ = new StringSetting("Z-позиция(1)", "0", "Укажите координату по z", true).setVisible(() -> mode.is("1 окно"));

    private StringSetting coordX2 = new StringSetting("X-позиция(2)", "0", "Укажите координату по x", true).setVisible(() -> mode.is("1 окно"));
    private StringSetting coordZ2 = new StringSetting("Z-позиция(2)", "0", "Укажите координату по z", true).setVisible(() -> mode.is("1 окно"));

    private BindSetting bind = new BindSetting("Бинд",-1).setVisible(() -> mode.is("2 окна") && isSender());
    private ModeSetting senderOrClaimer = new ModeSetting("Игра", "Отправитель","Отправитель","Получатель").setVisible(() -> mode.is("2 окна"));
    public SliderSetting radius = new SliderSetting("Радиус",10,2,50,1).setVisible(() -> mode.is("2 окна") && isSender());

    boolean set1Pos = false;
    boolean set2Pos = false;
    boolean processing = false;
    boolean createRG;
    boolean canExtractText = false;
    String regionName;

    {
        addSettings(mode, deleteEvery, coordX, coordZ, coordX2, coordZ2, bind, senderOrClaimer, radius);
    }

    [USER=1367676]@override[/USER]
    public void onEnable() {
        super.onEnable();

        if (mode.is("1 окно")) {
            if (mc.player == null || mc.player.connection == null) return;
            (new Thread(() -> {
                if (deleteEvery.get() && createRG) {

                    mc.player.sendChatMessage("/rg remove " + regionName);
                    createRG = false;
                    set1Pos = false;
                    set2Pos = false;
                }
                try {
                    Thread.sleep(500);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
                if (!createRG) {
                        if (!set1Pos) {
                            mc.player.sendChatMessage("//pos1 " + coordX.get() + ",100," + coordZ.get());
                            set1Pos = true;
                        }

                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                        if (!set2Pos) {
                            mc.player.sendChatMessage("//pos2 " + coordX2.get() + ",100," + coordZ2.get());
                            set2Pos = true;
                        }
                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                        if (set1Pos && set2Pos && !createRG) {
                            RandomStringUtils randomStringUtils = new RandomStringUtils();
                            regionName = randomStringUtils.randomNumeric(6);
                            mc.player.sendChatMessage("/rg claim " + regionName);
                            createRG = true;
                            toggle();
                        }
                }
            })).start();
        }
    }

    [USER=1367676]@override[/USER]
    public void onDisable() {
        super.onDisable();
        set1Pos = false;
        set2Pos = false;
    }

    [USER=1474073]@Subscribe[/USER]
    public void onKey(EventKey e) {
        if (!mode.is("2 окна")) return;

        if (bind.get() != -1 && e.getKey() == bind.get()) {
            if (isSender()) {
                FileManager.saveCurrentCoords(radius.get());
                print("Отправил задачу!");
            }
        }
    }
    [USER=1474073]@Subscribe[/USER]
    public void onUpdate(EventUpdate e) {
        if (isSender() && mode.is("2 окна")) {
            if (FileManager.responseFileExists()) {
                print(FileManager.extractResponse());
                FileManager.deleteResponseFile();
            }
        }


        if (isReceiver() && mode.is("2 окна")) {
            if (FileManager.extraFileExists()) {
                boolean created = FileManager.extractExtraBoolean().equals("true");
                regionName = FileManager.extractExtraName();
                createRG = created;
                FileManager.deleteExtraFile();
            }


            if (FileManager.coordsFileExists() && !processing) {
                processing = true;
                (new Thread(() -> {
                    if (createRG) {
                        mc.player.sendChatMessage("/rg remove " + regionName);
//                    FileManager.deleteCoordsFile();
                        createRG = false;
//                        set1Pos = false;
//                        set2Pos = false;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (!set1Pos) {
                        int coordX = (int) (FileManager.extractCoordsX() - FileManager.extractRadius());
                        int coordZ = (int) (FileManager.extractCoordsZ() - FileManager.extractRadius());

                        mc.player.sendChatMessage("//pos1 " + coordX + ",100," + coordZ);
                        set1Pos = true;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (!set2Pos) {
                        int coordX = (int) (FileManager.extractCoordsX() + FileManager.extractRadius());
                        int coordZ = (int) (FileManager.extractCoordsZ() + FileManager.extractRadius());

                        mc.player.sendChatMessage("//pos2 " + coordX + ",100," + coordZ);
                        set2Pos = true;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (set1Pos && set2Pos && !createRG) {
                        RandomStringUtils randomStringUtils = new RandomStringUtils();
                        regionName = randomStringUtils.randomNumeric(6);
                        mc.player.sendChatMessage("/rg claim " + regionName);

                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException exception) {
                            throw new RuntimeException(exception);
                        }

                        mc.player.sendChatMessage("/rg addowner " + regionName + " " + FileManager.extractPlayerName());

                        FileManager.deleteCoordsFile();
                        createRG = true;
                        canExtractText = true;
                        FileManager.deleteCoordsFile();
                        set1Pos = false;
                        set2Pos = false;
                        processing = false;
                    }
                })).start();
            }
        }
    }

    [USER=1474073]@Subscribe[/USER]
    public void onChat(EventPacket e) {
        if (canExtractText && mode.is("2 окна") && isReceiver()) {
           if (e.getPacket() instanceof SChatPacket chat) {
               String raw = chat.getChatComponent().getString().toLowerCase();
               if (raw.contains("у вас слишком много регионов")) {
                   FileManager.saveResponse("У второго аккаунта лимит регионов!");
                   canExtractText = false;
               } else if (raw.contains("вы заприватили регион")) {
                   FileManager.saveResponse("Регион запривачен!");
                   canExtractText = false;
               } else if (raw.contains("перекрывает чужой")) {
                   FileManager.saveResponse("Регион перекрывает чужой!");
                   canExtractText = false;
               }
           }
        }
    }

    public boolean isSender() {
        return senderOrClaimer.is("Отправитель");
    }
    public boolean isReceiver() {
        return !isSender();
    }

    public void saveFile() {
        if (isReceiver()) FileManager.saveExtra(createRG,regionName);
    }


    public class FileManager {
        [USER=270918]@Getter[/USER]
        private static String coords;
        [USER=270918]@Getter[/USER]
        private static String response;
        [USER=270918]@Getter[/USER]
        private static String extra;

        private static final File coordsFile = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "coords.txt");
        private static final File responseFile = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "response.txt");
        private static final File extraInfo = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "info.txt");

        @SneakyThrows
        public static void saveCurrentCoords(float radius) {
            coords = (int) mc.player.getPosX() + " : " + (int) mc.player.getPosZ() + " : " +
                    radius + " : " + mc.session.getUsername();
            Files.writeString(coordsFile.toPath(), coords,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }

        @SneakyThrows
        public static double extractCoordsX() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[0].trim());
        }

        @SneakyThrows
        public static double extractCoordsZ() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[1].trim());
        }

        @SneakyThrows
        public static double extractRadius() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[2].trim());
        }

        @SneakyThrows
        public static String extractPlayerName() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return content.split(":")[3].trim();
        }

        @SneakyThrows
        public static void deleteCoordsFile() {
            Files.deleteIfExists(coordsFile.toPath());
        }

        public static boolean coordsFileExists() {
            return coordsFile.exists();
        }



        @SneakyThrows
        public static void saveResponse(String message) {
            response = message;
            Files.writeString(responseFile.toPath(), response,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }
        @SneakyThrows
        public static String extractResponse() {
            String content = Files.readString(responseFile.toPath()).trim();
            return content;
        }

        @SneakyThrows
        public static void deleteResponseFile() {
            Files.deleteIfExists(responseFile.toPath());
        }

        public static boolean responseFileExists() {
            return responseFile.exists();
        }

        @SneakyThrows
        public static void saveExtra(boolean createRg, String rgName) {
            extra = createRg + " : " + rgName;
            Files.writeString(extraInfo.toPath(), extra,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }
        @SneakyThrows
        public static String extractExtraBoolean() {
            String content = Files.readString(extraInfo.toPath()).trim();
            return content.split(":")[0].trim();
        }
        @SneakyThrows
        public static String extractExtraName() {
            String content = Files.readString(extraInfo.toPath()).trim();
            return content.split(":")[1].trim();
        }

        @SneakyThrows
        public static void deleteExtraFile() {
            Files.deleteIfExists(extraInfo.toPath());
        }

        public static boolean extraFileExists() {
            return extraInfo.exists();
        }
    }
}
Забыл дополнить, если у вас есть метод сохраняющий кфг при закрытии игры добавьте туда RGExploit.saveFile()
прикольно +репчик
 
Всем ку, сливаю скорее всего лучший эксплоит из тех что есть и сливали(не уверен)
Что тут есть:
  • Режим с 1 майном
  • Режим с 2 майнами, в котором автоматически добавляется в рг первый майн
Как работает второй майн:
  • Тип с 1 майна выбирает режим отправителя, нажимает на бинд, во втором майне должен быть режим получателя и он будет устанавливать рг
  • Синхронизация работает через файлы(в директории кфг создается файл в котором x и z позиция первого игрока, радиус привата и ник игрока)
  • Багов с никами из за неймпротекта нет, как ранее было в катлаване(ноад).
Во всех режимах удаляются рг после перезапуска функции/повторной активации
По сути пойдет на любую базу, если у вас есть ивенты и сеттинги.
Ода мойтен опять накормил абузом ворлдэдита:
Expand Collapse Copy
package fgnepasti.wonderful.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import fgnepasti.wonderful.events.EventKey;
import fgnepasti.wonderful.events.EventPacket;
import fgnepasti.wonderful.events.EventUpdate;
import fgnepasti.wonderful.functions.api.Category;
import fgnepasti.wonderful.functions.api.Function;
import fgnepasti.wonderful.functions.api.FunctionRegister;
import fgnepasti.wonderful.functions.settings.impl.*;
import fgnepasti.wonderful.utils.math.StopWatch;
import lombok.Getter;
import lombok.SneakyThrows;
import net.minecraft.network.play.server.SChatPacket;
import org.apache.commons.lang3.RandomStringUtils;

import java.io.File;
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;

import static java.io.File.separator;

@FunctionRegister(name = "RGExploit",type = Category.Player)
public class RGExploit extends Function {

    private ModeSetting mode = new ModeSetting("Режим", "1 окно", "1 окно", "2 окна");

    private BooleanSetting deleteEvery = new BooleanSetting("Удалять при перезапуске",false).setVisible(() -> mode.is("1 окно"));

    private StringSetting coordX = new StringSetting("X-позиция(1)", "0", "Укажите координату по x", true).setVisible(() -> mode.is("1 окно"));
    private StringSetting coordZ = new StringSetting("Z-позиция(1)", "0", "Укажите координату по z", true).setVisible(() -> mode.is("1 окно"));

    private StringSetting coordX2 = new StringSetting("X-позиция(2)", "0", "Укажите координату по x", true).setVisible(() -> mode.is("1 окно"));
    private StringSetting coordZ2 = new StringSetting("Z-позиция(2)", "0", "Укажите координату по z", true).setVisible(() -> mode.is("1 окно"));

    private BindSetting bind = new BindSetting("Бинд",-1).setVisible(() -> mode.is("2 окна") && isSender());
    private ModeSetting senderOrClaimer = new ModeSetting("Игра", "Отправитель","Отправитель","Получатель").setVisible(() -> mode.is("2 окна"));
    public SliderSetting radius = new SliderSetting("Радиус",10,2,50,1).setVisible(() -> mode.is("2 окна") && isSender());

    boolean set1Pos = false;
    boolean set2Pos = false;
    boolean processing = false;
    boolean createRG;
    boolean canExtractText = false;
    String regionName;

    {
        addSettings(mode, deleteEvery, coordX, coordZ, coordX2, coordZ2, bind, senderOrClaimer, radius);
    }

    [USER=1367676]@override[/USER]
    public void onEnable() {
        super.onEnable();

        if (mode.is("1 окно")) {
            if (mc.player == null || mc.player.connection == null) return;
            (new Thread(() -> {
                if (deleteEvery.get() && createRG) {

                    mc.player.sendChatMessage("/rg remove " + regionName);
                    createRG = false;
                    set1Pos = false;
                    set2Pos = false;
                }
                try {
                    Thread.sleep(500);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
                if (!createRG) {
                        if (!set1Pos) {
                            mc.player.sendChatMessage("//pos1 " + coordX.get() + ",100," + coordZ.get());
                            set1Pos = true;
                        }

                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                        if (!set2Pos) {
                            mc.player.sendChatMessage("//pos2 " + coordX2.get() + ",100," + coordZ2.get());
                            set2Pos = true;
                        }
                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                        if (set1Pos && set2Pos && !createRG) {
                            RandomStringUtils randomStringUtils = new RandomStringUtils();
                            regionName = randomStringUtils.randomNumeric(6);
                            mc.player.sendChatMessage("/rg claim " + regionName);
                            createRG = true;
                            toggle();
                        }
                }
            })).start();
        }
    }

    [USER=1367676]@override[/USER]
    public void onDisable() {
        super.onDisable();
        set1Pos = false;
        set2Pos = false;
    }

    [USER=1474073]@Subscribe[/USER]
    public void onKey(EventKey e) {
        if (!mode.is("2 окна")) return;

        if (bind.get() != -1 && e.getKey() == bind.get()) {
            if (isSender()) {
                FileManager.saveCurrentCoords(radius.get());
                print("Отправил задачу!");
            }
        }
    }
    [USER=1474073]@Subscribe[/USER]
    public void onUpdate(EventUpdate e) {
        if (isSender() && mode.is("2 окна")) {
            if (FileManager.responseFileExists()) {
                print(FileManager.extractResponse());
                FileManager.deleteResponseFile();
            }
        }


        if (isReceiver() && mode.is("2 окна")) {
            if (FileManager.extraFileExists()) {
                boolean created = FileManager.extractExtraBoolean().equals("true");
                regionName = FileManager.extractExtraName();
                createRG = created;
                FileManager.deleteExtraFile();
            }


            if (FileManager.coordsFileExists() && !processing) {
                processing = true;
                (new Thread(() -> {
                    if (createRG) {
                        mc.player.sendChatMessage("/rg remove " + regionName);
//                    FileManager.deleteCoordsFile();
                        createRG = false;
//                        set1Pos = false;
//                        set2Pos = false;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (!set1Pos) {
                        int coordX = (int) (FileManager.extractCoordsX() - FileManager.extractRadius());
                        int coordZ = (int) (FileManager.extractCoordsZ() - FileManager.extractRadius());

                        mc.player.sendChatMessage("//pos1 " + coordX + ",100," + coordZ);
                        set1Pos = true;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (!set2Pos) {
                        int coordX = (int) (FileManager.extractCoordsX() + FileManager.extractRadius());
                        int coordZ = (int) (FileManager.extractCoordsZ() + FileManager.extractRadius());

                        mc.player.sendChatMessage("//pos2 " + coordX + ",100," + coordZ);
                        set2Pos = true;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (set1Pos && set2Pos && !createRG) {
                        RandomStringUtils randomStringUtils = new RandomStringUtils();
                        regionName = randomStringUtils.randomNumeric(6);
                        mc.player.sendChatMessage("/rg claim " + regionName);

                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException exception) {
                            throw new RuntimeException(exception);
                        }

                        mc.player.sendChatMessage("/rg addowner " + regionName + " " + FileManager.extractPlayerName());

                        FileManager.deleteCoordsFile();
                        createRG = true;
                        canExtractText = true;
                        FileManager.deleteCoordsFile();
                        set1Pos = false;
                        set2Pos = false;
                        processing = false;
                    }
                })).start();
            }
        }
    }

    [USER=1474073]@Subscribe[/USER]
    public void onChat(EventPacket e) {
        if (canExtractText && mode.is("2 окна") && isReceiver()) {
           if (e.getPacket() instanceof SChatPacket chat) {
               String raw = chat.getChatComponent().getString().toLowerCase();
               if (raw.contains("у вас слишком много регионов")) {
                   FileManager.saveResponse("У второго аккаунта лимит регионов!");
                   canExtractText = false;
               } else if (raw.contains("вы заприватили регион")) {
                   FileManager.saveResponse("Регион запривачен!");
                   canExtractText = false;
               } else if (raw.contains("перекрывает чужой")) {
                   FileManager.saveResponse("Регион перекрывает чужой!");
                   canExtractText = false;
               }
           }
        }
    }

    public boolean isSender() {
        return senderOrClaimer.is("Отправитель");
    }
    public boolean isReceiver() {
        return !isSender();
    }

    public void saveFile() {
        if (isReceiver()) FileManager.saveExtra(createRG,regionName);
    }


    public class FileManager {
        [USER=270918]@Getter[/USER]
        private static String coords;
        [USER=270918]@Getter[/USER]
        private static String response;
        [USER=270918]@Getter[/USER]
        private static String extra;

        private static final File coordsFile = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "coords.txt");
        private static final File responseFile = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "response.txt");
        private static final File extraInfo = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "info.txt");

        @SneakyThrows
        public static void saveCurrentCoords(float radius) {
            coords = (int) mc.player.getPosX() + " : " + (int) mc.player.getPosZ() + " : " +
                    radius + " : " + mc.session.getUsername();
            Files.writeString(coordsFile.toPath(), coords,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }

        @SneakyThrows
        public static double extractCoordsX() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[0].trim());
        }

        @SneakyThrows
        public static double extractCoordsZ() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[1].trim());
        }

        @SneakyThrows
        public static double extractRadius() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[2].trim());
        }

        @SneakyThrows
        public static String extractPlayerName() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return content.split(":")[3].trim();
        }

        @SneakyThrows
        public static void deleteCoordsFile() {
            Files.deleteIfExists(coordsFile.toPath());
        }

        public static boolean coordsFileExists() {
            return coordsFile.exists();
        }



        @SneakyThrows
        public static void saveResponse(String message) {
            response = message;
            Files.writeString(responseFile.toPath(), response,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }
        @SneakyThrows
        public static String extractResponse() {
            String content = Files.readString(responseFile.toPath()).trim();
            return content;
        }

        @SneakyThrows
        public static void deleteResponseFile() {
            Files.deleteIfExists(responseFile.toPath());
        }

        public static boolean responseFileExists() {
            return responseFile.exists();
        }

        @SneakyThrows
        public static void saveExtra(boolean createRg, String rgName) {
            extra = createRg + " : " + rgName;
            Files.writeString(extraInfo.toPath(), extra,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }
        @SneakyThrows
        public static String extractExtraBoolean() {
            String content = Files.readString(extraInfo.toPath()).trim();
            return content.split(":")[0].trim();
        }
        @SneakyThrows
        public static String extractExtraName() {
            String content = Files.readString(extraInfo.toPath()).trim();
            return content.split(":")[1].trim();
        }

        @SneakyThrows
        public static void deleteExtraFile() {
            Files.deleteIfExists(extraInfo.toPath());
        }

        public static boolean extraFileExists() {
            return extraInfo.exists();
        }
    }
}
Забыл дополнить, если у вас есть метод сохраняющий кфг при закрытии игры добавьте туда RGExploit.saveFile()
Ебейший код , даже лучше чем у меня, + реп это очень годно
 
Всем ку, сливаю скорее всего лучший эксплоит из тех что есть и сливали(не уверен)
Что тут есть:
  • Режим с 1 майном
  • Режим с 2 майнами, в котором автоматически добавляется в рг первый майн
Как работает второй майн:
  • Тип с 1 майна выбирает режим отправителя, нажимает на бинд, во втором майне должен быть режим получателя и он будет устанавливать рг
  • Синхронизация работает через файлы(в директории кфг создается файл в котором x и z позиция первого игрока, радиус привата и ник игрока)
  • Багов с никами из за неймпротекта нет, как ранее было в катлаване(ноад).
Во всех режимах удаляются рг после перезапуска функции/повторной активации
По сути пойдет на любую базу, если у вас есть ивенты и сеттинги.
Ода мойтен опять накормил абузом ворлдэдита:
Expand Collapse Copy
package fgnepasti.wonderful.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import fgnepasti.wonderful.events.EventKey;
import fgnepasti.wonderful.events.EventPacket;
import fgnepasti.wonderful.events.EventUpdate;
import fgnepasti.wonderful.functions.api.Category;
import fgnepasti.wonderful.functions.api.Function;
import fgnepasti.wonderful.functions.api.FunctionRegister;
import fgnepasti.wonderful.functions.settings.impl.*;
import fgnepasti.wonderful.utils.math.StopWatch;
import lombok.Getter;
import lombok.SneakyThrows;
import net.minecraft.network.play.server.SChatPacket;
import org.apache.commons.lang3.RandomStringUtils;

import java.io.File;
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;

import static java.io.File.separator;

@FunctionRegister(name = "RGExploit",type = Category.Player)
public class RGExploit extends Function {

    private ModeSetting mode = new ModeSetting("Режим", "1 окно", "1 окно", "2 окна");

    private BooleanSetting deleteEvery = new BooleanSetting("Удалять при перезапуске",false).setVisible(() -> mode.is("1 окно"));

    private StringSetting coordX = new StringSetting("X-позиция(1)", "0", "Укажите координату по x", true).setVisible(() -> mode.is("1 окно"));
    private StringSetting coordZ = new StringSetting("Z-позиция(1)", "0", "Укажите координату по z", true).setVisible(() -> mode.is("1 окно"));

    private StringSetting coordX2 = new StringSetting("X-позиция(2)", "0", "Укажите координату по x", true).setVisible(() -> mode.is("1 окно"));
    private StringSetting coordZ2 = new StringSetting("Z-позиция(2)", "0", "Укажите координату по z", true).setVisible(() -> mode.is("1 окно"));

    private BindSetting bind = new BindSetting("Бинд",-1).setVisible(() -> mode.is("2 окна") && isSender());
    private ModeSetting senderOrClaimer = new ModeSetting("Игра", "Отправитель","Отправитель","Получатель").setVisible(() -> mode.is("2 окна"));
    public SliderSetting radius = new SliderSetting("Радиус",10,2,50,1).setVisible(() -> mode.is("2 окна") && isSender());

    boolean set1Pos = false;
    boolean set2Pos = false;
    boolean processing = false;
    boolean createRG;
    boolean canExtractText = false;
    String regionName;

    {
        addSettings(mode, deleteEvery, coordX, coordZ, coordX2, coordZ2, bind, senderOrClaimer, radius);
    }

    [USER=1367676]@override[/USER]
    public void onEnable() {
        super.onEnable();

        if (mode.is("1 окно")) {
            if (mc.player == null || mc.player.connection == null) return;
            (new Thread(() -> {
                if (deleteEvery.get() && createRG) {

                    mc.player.sendChatMessage("/rg remove " + regionName);
                    createRG = false;
                    set1Pos = false;
                    set2Pos = false;
                }
                try {
                    Thread.sleep(500);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
                if (!createRG) {
                        if (!set1Pos) {
                            mc.player.sendChatMessage("//pos1 " + coordX.get() + ",100," + coordZ.get());
                            set1Pos = true;
                        }

                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                        if (!set2Pos) {
                            mc.player.sendChatMessage("//pos2 " + coordX2.get() + ",100," + coordZ2.get());
                            set2Pos = true;
                        }
                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                        if (set1Pos && set2Pos && !createRG) {
                            RandomStringUtils randomStringUtils = new RandomStringUtils();
                            regionName = randomStringUtils.randomNumeric(6);
                            mc.player.sendChatMessage("/rg claim " + regionName);
                            createRG = true;
                            toggle();
                        }
                }
            })).start();
        }
    }

    [USER=1367676]@override[/USER]
    public void onDisable() {
        super.onDisable();
        set1Pos = false;
        set2Pos = false;
    }

    [USER=1474073]@Subscribe[/USER]
    public void onKey(EventKey e) {
        if (!mode.is("2 окна")) return;

        if (bind.get() != -1 && e.getKey() == bind.get()) {
            if (isSender()) {
                FileManager.saveCurrentCoords(radius.get());
                print("Отправил задачу!");
            }
        }
    }
    [USER=1474073]@Subscribe[/USER]
    public void onUpdate(EventUpdate e) {
        if (isSender() && mode.is("2 окна")) {
            if (FileManager.responseFileExists()) {
                print(FileManager.extractResponse());
                FileManager.deleteResponseFile();
            }
        }


        if (isReceiver() && mode.is("2 окна")) {
            if (FileManager.extraFileExists()) {
                boolean created = FileManager.extractExtraBoolean().equals("true");
                regionName = FileManager.extractExtraName();
                createRG = created;
                FileManager.deleteExtraFile();
            }


            if (FileManager.coordsFileExists() && !processing) {
                processing = true;
                (new Thread(() -> {
                    if (createRG) {
                        mc.player.sendChatMessage("/rg remove " + regionName);
//                    FileManager.deleteCoordsFile();
                        createRG = false;
//                        set1Pos = false;
//                        set2Pos = false;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (!set1Pos) {
                        int coordX = (int) (FileManager.extractCoordsX() - FileManager.extractRadius());
                        int coordZ = (int) (FileManager.extractCoordsZ() - FileManager.extractRadius());

                        mc.player.sendChatMessage("//pos1 " + coordX + ",100," + coordZ);
                        set1Pos = true;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (!set2Pos) {
                        int coordX = (int) (FileManager.extractCoordsX() + FileManager.extractRadius());
                        int coordZ = (int) (FileManager.extractCoordsZ() + FileManager.extractRadius());

                        mc.player.sendChatMessage("//pos2 " + coordX + ",100," + coordZ);
                        set2Pos = true;
                    }
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException exception) {
                        throw new RuntimeException(exception);
                    }

                    if (set1Pos && set2Pos && !createRG) {
                        RandomStringUtils randomStringUtils = new RandomStringUtils();
                        regionName = randomStringUtils.randomNumeric(6);
                        mc.player.sendChatMessage("/rg claim " + regionName);

                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException exception) {
                            throw new RuntimeException(exception);
                        }

                        mc.player.sendChatMessage("/rg addowner " + regionName + " " + FileManager.extractPlayerName());

                        FileManager.deleteCoordsFile();
                        createRG = true;
                        canExtractText = true;
                        FileManager.deleteCoordsFile();
                        set1Pos = false;
                        set2Pos = false;
                        processing = false;
                    }
                })).start();
            }
        }
    }

    [USER=1474073]@Subscribe[/USER]
    public void onChat(EventPacket e) {
        if (canExtractText && mode.is("2 окна") && isReceiver()) {
           if (e.getPacket() instanceof SChatPacket chat) {
               String raw = chat.getChatComponent().getString().toLowerCase();
               if (raw.contains("у вас слишком много регионов")) {
                   FileManager.saveResponse("У второго аккаунта лимит регионов!");
                   canExtractText = false;
               } else if (raw.contains("вы заприватили регион")) {
                   FileManager.saveResponse("Регион запривачен!");
                   canExtractText = false;
               } else if (raw.contains("перекрывает чужой")) {
                   FileManager.saveResponse("Регион перекрывает чужой!");
                   canExtractText = false;
               }
           }
        }
    }

    public boolean isSender() {
        return senderOrClaimer.is("Отправитель");
    }
    public boolean isReceiver() {
        return !isSender();
    }

    public void saveFile() {
        if (isReceiver()) FileManager.saveExtra(createRG,regionName);
    }


    public class FileManager {
        [USER=270918]@Getter[/USER]
        private static String coords;
        [USER=270918]@Getter[/USER]
        private static String response;
        [USER=270918]@Getter[/USER]
        private static String extra;

        private static final File coordsFile = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "coords.txt");
        private static final File responseFile = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "response.txt");
        private static final File extraInfo = new File(mc.gameDir, separator + "\\assets\\skins\\bb" + separator + "files" + separator + "info.txt");

        @SneakyThrows
        public static void saveCurrentCoords(float radius) {
            coords = (int) mc.player.getPosX() + " : " + (int) mc.player.getPosZ() + " : " +
                    radius + " : " + mc.session.getUsername();
            Files.writeString(coordsFile.toPath(), coords,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }

        @SneakyThrows
        public static double extractCoordsX() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[0].trim());
        }

        @SneakyThrows
        public static double extractCoordsZ() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[1].trim());
        }

        @SneakyThrows
        public static double extractRadius() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return Double.parseDouble(content.split(":")[2].trim());
        }

        @SneakyThrows
        public static String extractPlayerName() {
            String content = Files.readString(coordsFile.toPath()).trim();
            return content.split(":")[3].trim();
        }

        @SneakyThrows
        public static void deleteCoordsFile() {
            Files.deleteIfExists(coordsFile.toPath());
        }

        public static boolean coordsFileExists() {
            return coordsFile.exists();
        }



        @SneakyThrows
        public static void saveResponse(String message) {
            response = message;
            Files.writeString(responseFile.toPath(), response,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }
        @SneakyThrows
        public static String extractResponse() {
            String content = Files.readString(responseFile.toPath()).trim();
            return content;
        }

        @SneakyThrows
        public static void deleteResponseFile() {
            Files.deleteIfExists(responseFile.toPath());
        }

        public static boolean responseFileExists() {
            return responseFile.exists();
        }

        @SneakyThrows
        public static void saveExtra(boolean createRg, String rgName) {
            extra = createRg + " : " + rgName;
            Files.writeString(extraInfo.toPath(), extra,
                    StandardOpenOption.CREATE,
                    StandardOpenOption.TRUNCATE_EXISTING);
        }
        @SneakyThrows
        public static String extractExtraBoolean() {
            String content = Files.readString(extraInfo.toPath()).trim();
            return content.split(":")[0].trim();
        }
        @SneakyThrows
        public static String extractExtraName() {
            String content = Files.readString(extraInfo.toPath()).trim();
            return content.split(":")[1].trim();
        }

        @SneakyThrows
        public static void deleteExtraFile() {
            Files.deleteIfExists(extraInfo.toPath());
        }

        public static boolean extraFileExists() {
            return extraInfo.exists();
        }
    }
}
Забыл дополнить, если у вас есть метод сохраняющий кфг при закрытии игры добавьте туда RGExploit.saveFile()
/del ратко
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
не понимаю юзал один ошибка на рилике


[13:58:27] [main/INFO]: [CHAT] (FAWE) Invalid value for [coordinates] (java.lang.reflect.InvocationTargetException), acceptable values are
[13:58:27] [main/INFO]: [CHAT] (FAWE) Invalid value for [coordinates] (java.lang.reflect.InvocationTargetException), acceptable values are
[13:58:28] [main/INFO]: [CHAT] Сначала выделите территорию. Используйте WorldEdit для выделения (wiki:
Пожалуйста, авторизуйтесь для просмотра ссылки.
).
и я еще чекнул у меня нету \\assets\\skins\\bb
 
Назад
Сверху Снизу