Вопрос Ошибка в exp 3.1

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

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

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

Спасибо!

добрый день. При запуски эксы она открывается и через секунды 3 закрывается.
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See
Пожалуйста, авторизуйтесь для просмотра ссылки.
for further details.
[10:42:54] [main/INFO]: [OptiFine] (Reflector) Field not found: World.tileEntitiesToBeRemoved
[10:42:55] [main/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.eventbus.api.Event$Result
[10:42:55] [main/INFO]: [OptiFine] (Reflector) Method not present: net.minecraftforge.common.extensions.IForgeBlockState.hasTileEntity
[10:42:55] [main/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.extensions.IForgeEntity
[10:42:55] [main/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.CrashReportExtender
0 0
1 8368696
2 16247203
3 13092807
4 16711680
5 10526975
6 10987431
7 31744
8 16777215
9 10791096
10 9923917
11 7368816
12 4210943
13 9402184
14 16776437
15 14188339
16 11685080
17 6724056
18 15066419
19 8375321
20 15892389
21 5000268
22 10066329
23 5013401
24 8339378
25 3361970
26 6704179
27 6717235
28 10040115
29 1644825
30 16445005
31 6085589
32 4882687
33 55610
34 8476209
35 7340544
36 13742497
37 10441252
38 9787244
39 7367818
40 12223780
41 6780213
42 10505550
43 3746083
44 8874850
45 5725276
46 8014168
47 4996700
48 4993571
49 5001770
50 9321518
51 2430480
52 12398641
53 9715553
54 6035741
55 1474182
56 3837580
57 5647422
58 1356933
0 0
1 8368696
2 16247203
3 13092807
4 16711680
5 10526975
6 10987431
7 31744
8 16777215
9 10791096
10 9923917
11 7368816
12 4210943
13 9402184
14 16776437
15 14188339
16 11685080
17 6724056
18 15066419
19 8375321
20 15892389
21 5000268
22 10066329
23 5013401
24 8339378
25 3361970
26 6704179
27 6717235
28 10040115
29 1644825
30 16445005
31 6085589
32 4882687
33 55610
34 8476209
35 7340544
36 13742497
37 10441252
38 9787244
39 7367818
40 12223780
41 6780213
42 10505550
43 3746083
44 8874850
45 5725276
46 8014168
47 4996700
48 4993571
49 5001770
50 9321518
51 2430480
52 12398641
53 9715553
54 6035741
55 1474182
56 3837580
57 5647422
58 1356933
[10:42:56] [main/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.tags.ItemTags.createOptional
[10:43:00] [main/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.ForgeHooksClient
[10:43:00] [main/ERROR]: Can't find the resource index file: assets\indexes\1.16.json
[10:43:00] [main/INFO]: Environment: authHost='
Пожалуйста, авторизуйтесь для просмотра ссылки.
', accountsHost='
Пожалуйста, авторизуйтесь для просмотра ссылки.
', sessionHost='
Пожалуйста, авторизуйтесь для просмотра ссылки.
', servicesHost='
Пожалуйста, авторизуйтесь для просмотра ссылки.
', name='PROD'
[10:43:01] [main/INFO]: Setting user: fgst_109
[10:43:01] [main/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.settings.KeyConflictContext
[10:43:01] [main/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.settings.KeyModifier
[10:43:01] [main/INFO]: Backend library: LWJGL version 3.2.2 build 10
[10:43:01] [main/INFO]: [OptiFine] (Reflector) Method not present: net.minecraftforge.fml.loading.progress.EarlyProgressVisualization.handOffWindow
[10:43:02] [main/INFO]: [OptiFine] (Reflector) Class not present: optifine.OptiFineResourceLocator
[10:43:02] [main/ERROR]: Couldn't set icon
java.io.FileNotFoundException: icons/icon_16x16.png
at net.minecraft.resources.VanillaPack.getResourceStream(VanillaPack.java:117) ~[client/:?]
at net.minecraft.client.Minecraft.<init>(Minecraft.java:356) [client/:?]
at net.minecraft.client.main.Main.main(Main.java:156) [client/:?]
at Start.main(Start.java:11) [client/:?]
[10:43:02] [main/INFO]: [OptiFine]
[10:43:02] [main/INFO]: [OptiFine] OptiFine_1.16.5_HD_U_G8
[10:43:02] [main/INFO]: [OptiFine] Build: null
[10:43:02] [main/INFO]: [OptiFine] OS: Windows 11 (amd64) version 10.0
[10:43:02] [main/INFO]: [OptiFine] Java: 17.0.13, Amazon.com Inc.
[10:43:02] [main/INFO]: [OptiFine] VM: OpenJDK 64-Bit Server VM (mixed mode, sharing), Amazon.com Inc.
[10:43:02] [main/INFO]: [OptiFine] LWJGL: 3.3.0 Win32 WGL EGL OSMesa VisualC DLL
[10:43:02] [main/INFO]: [OptiFine] OpenGL: AMD Radeon(TM) Graphics, version 4.6.0 Compatibility Profile Context 22.20.44.221025, ATI Technologies Inc.
[10:43:02] [main/INFO]: [OptiFine] OpenGL Version: 4.6.0
[10:43:02] [main/INFO]: [OptiFine] OpenGL Fancy fog: Not available (GL_NV_fog_distance)
[10:43:02] [main/INFO]: [OptiFine] Maximum texture size: 16384x16384
[10:43:02] [VersionCheck/INFO]: [OptiFine] Checking for new version
[10:43:02] [main/INFO]: [Shaders] OpenGL Version: 4.6.0 Compatibility Profile Context 22.20.44.221025
[10:43:02] [main/INFO]: [Shaders] Vendor: ATI Technologies Inc.
[10:43:02] [main/INFO]: [Shaders] Renderer: AMD Radeon(TM) Graphics
[10:43:02] [main/INFO]: [Shaders] Capabilities: 2.0 2.1 3.0 3.2 4.0
[10:43:02] [main/INFO]: [Shaders] GL_MAX_DRAW_BUFFERS: 8
[10:43:02] [main/INFO]: [Shaders] GL_MAX_COLOR_ATTACHMENTS_EXT: 8
[10:43:02] [main/INFO]: [Shaders] GL_MAX_TEXTURE_IMAGE_UNITS: 32
[10:43:02] [main/INFO]: [Shaders] Load shaders configuration.
[10:43:02] [main/INFO]: [Shaders] Save shaders configuration.
[10:43:02] [main/INFO]: [Shaders] No shaderpack loaded.
[10:43:02] [main/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.Loader
[10:43:02] [VersionCheck/INFO]: [OptiFine] Version found: G7
[10:43:02] [main/WARN]: [OptiFine] java.lang.ClassNotFoundException: sun.misc.SharedSecrets
[10:43:02] [main/WARN]: [OptiFine] java.lang.ClassNotFoundException: jdk.internal.misc.SharedSecrets
[10:43:02] [main/WARN]: [OptiFine] java.lang.ClassNotFoundException: sun.misc.VM
[10:43:02] [main/WARN]: [OptiFine] java.lang.reflect.InaccessibleObjectException: Unable to make public static long jdk.internal.misc.VM.maxDirectMemory() accessible: module java.base does not "exports jdk.internal.misc" to unnamed module @7cbd213e
[10:43:02] [main/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.ItemModelMesherForge
[10:43:02] [main/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer
[10:43:03] [main/INFO]: Narrator library for x64 successfully loaded
[10:43:04] [main/INFO]: Loaded Platform ViaVersion
[10:43:04] [main/INFO]: Loading translations...
[10:43:04] [main/INFO]: Registering protocols...
[10:43:04] [Via-Mappingloader-0/INFO]: Loading block connection mappings ...
[10:43:04] [main/INFO]: Loaded Platform ViaBackwards
[10:43:04] [main/INFO]: ViaVersion detected lowest supported version by the proxy: 1.4.6/7 (51)
[10:43:04] [main/INFO]: Highest supported version by the proxy: 1.20/1.20.1 (763)
---- Minecraft Crash Report ----
// You're mean.

Time: 01.11.2024, 10:43
Description: Initializing game

java.lang.ClassCastException: class com.google.gson.JsonNull cannot be cast to class com.google.gson.JsonObject (com.google.gson.JsonNull and com.google.gson.JsonObject are in unnamed module of loader 'app')
at im.expensive.config.ConfigStorage.loadConfiguration(ConfigStorage.java:77)
at im.expensive.config.ConfigStorage.setupFolder(ConfigStorage.java:35)
at im.expensive.config.ConfigStorage.init(ConfigStorage.java:28)
at im.expensive.Expensive.clientLoad(Expensive.java:185)
at im.expensive.Expensive.<init>(Expensive.java:147)
at net.minecraft.client.Minecraft.<init>(Minecraft.java:430)
at net.minecraft.client.main.Main.main(Main.java:156)
at Start.main(Start.java:11)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
at im.expensive.config.ConfigStorage.loadConfiguration(ConfigStorage.java:77)
at im.expensive.config.ConfigStorage.setupFolder(ConfigStorage.java:35)
at im.expensive.config.ConfigStorage.init(ConfigStorage.java:28)
at im.expensive.Expensive.clientLoad(Expensive.java:185)
at im.expensive.Expensive.<init>(Expensive.java:147)
at net.minecraft.client.Minecraft.<init>(Minecraft.java:430)

-- Initialization --
Details:
Stacktrace:
at net.minecraft.client.main.Main.main(Main.java:156)
at Start.main(Start.java:11)

-- System Details --
Details:
Minecraft Version: 1.16.5
Minecraft Version ID: 1.16.5
Operating System: Windows 11 (amd64) version 10.0
Java Version: 17.0.13, Amazon.com Inc.
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Amazon.com Inc.
Memory: 88742400 bytes (84 MB) / 186646528 bytes (178 MB) up to 1579155456 bytes (1506 MB)
CPUs: 4
JVM Flags: 0 total;
Launched Version: mcp
Backend library: LWJGL version 3.2.2 build 10
Backend API: AMD Radeon(TM) Graphics GL version 4.6.0 Compatibility Profile Context 22.20.44.221025, ATI Technologies Inc.
GL Caps: Using framebuffer using OpenGL 3.0
Using VBOs: Yes
Is Modded: Very likely; Jar signature invalidated
Type: Client (map_client.txt)
CPU: 4x AMD Athlon Gold 3150U with Radeon Graphics
OptiFine Version: OptiFine_1.16.5_HD_U_G8
OptiFine Build: ~~NULL~~
Render Distance Chunks: 2
Mipmaps: 4
Anisotropic Filtering: 1
Antialiasing: 0
Multitexture: false
Shaders: null
OpenGlVersion: 4.6.0 Compatibility Profile Context 22.20.44.221025
OpenGlRenderer: AMD Radeon(TM) Graphics
OpenGlVendor: ATI Technologies Inc.
CpuCount: 4
#@!@# Game crashed! Crash report saved to: #@!@# C:\123\.\crash-reports\crash-2024-11-01_10.43.05-client.txt

Process finished with exit code -1
получается вот код краша:
---- Minecraft Crash Report ----
// Don't be sad, have a hug! <3

Time: 01.11.2024, 10:43
Description: Initializing game

java.lang.ClassCastException: class com.google.gson.JsonNull cannot be cast to class com.google.gson.JsonObject (com.google.gson.JsonNull and com.google.gson.JsonObject are in unnamed module of loader 'app')
at im.expensive.config.ConfigStorage.loadConfiguration(ConfigStorage.java:77)
at im.expensive.config.ConfigStorage.setupFolder(ConfigStorage.java:35)
at im.expensive.config.ConfigStorage.init(ConfigStorage.java:28)
at im.expensive.Expensive.clientLoad(Expensive.java:185)
at im.expensive.Expensive.<init>(Expensive.java:147)
at net.minecraft.client.Minecraft.<init>(Minecraft.java:430)
at net.minecraft.client.main.Main.main(Main.java:156)
at Start.main(Start.java:11)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
at im.expensive.config.ConfigStorage.loadConfiguration(ConfigStorage.java:77)
at im.expensive.config.ConfigStorage.setupFolder(ConfigStorage.java:35)
at im.expensive.config.ConfigStorage.init(ConfigStorage.java:28)
at im.expensive.Expensive.clientLoad(Expensive.java:185)
at im.expensive.Expensive.<init>(Expensive.java:147)
at net.minecraft.client.Minecraft.<init>(Minecraft.java:430)

-- Initialization --
Details:
Stacktrace:
at net.minecraft.client.main.Main.main(Main.java:156)
at Start.main(Start.java:11)

-- System Details --
Details:
Minecraft Version: 1.16.5
Minecraft Version ID: 1.16.5
Operating System: Windows 11 (amd64) version 10.0
Java Version: 17.0.13, Amazon.com Inc.
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Amazon.com Inc.
Memory: 88742400 bytes (84 MB) / 186646528 bytes (178 MB) up to 1579155456 bytes (1506 MB)
CPUs: 4
JVM Flags: 0 total;
Launched Version: mcp
Backend library: LWJGL version 3.2.2 build 10
Backend API: AMD Radeon(TM) Graphics GL version 4.6.0 Compatibility Profile Context 22.20.44.221025, ATI Technologies Inc.
GL Caps: Using framebuffer using OpenGL 3.0
Using VBOs: Yes
Is Modded: Very likely; Jar signature invalidated
Type: Client (map_client.txt)
CPU: 4x AMD Athlon Gold 3150U with Radeon Graphics
OptiFine Version: OptiFine_1.16.5_HD_U_G8
OptiFine Build: ~~NULL~~
Render Distance Chunks: 2
Mipmaps: 4
Anisotropic Filtering: 1
Antialiasing: 0
Multitexture: false
Shaders: null
OpenGlVersion: 4.6.0 Compatibility Profile Context 22.20.44.221025
OpenGlRenderer: AMD Radeon(TM) Graphics
OpenGlVendor: ATI Technologies Inc.
CpuCount: 4
изначально все работало, по после перезапуска все крашится.
что делать?
 
Начинающий
Статус
Оффлайн
Регистрация
8 Сен 2024
Сообщения
103
Реакции[?]
0
Поинты[?]
0
ctrl shift r CFG_DIR system.cfg замени на autocfg.cfg
заменил, вот как выглядит:
package im.expensive.config;

import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import net.minecraft.client.Minecraft;

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.zip.DataFormatException;
import java.util.zip.Deflater;
import java.util.zip.Inflater;

public class ConfigStorage {
public final Logger logger = Logger.getLogger(ConfigStorage.class.getName());

public final File CONFIG_DIR = new File(Minecraft.getInstance().gameDir, "\\expensive\\configs");
public final File AUTOCFG_DIR = new File(CONFIG_DIR, "autocfg.cfg");

public final JsonParser jsonParser = new JsonParser();

public void init() throws IOException {
setupFolder();
}

public void setupFolder() {
if (!CONFIG_DIR.exists()) {
CONFIG_DIR.mkdirs();
} else if (AUTOCFG_DIR.exists()) {
loadConfiguration("autocfg");
logger.log(Level.SEVERE, "Load autocfg configuration...");
} else {
logger.log(Level.SEVERE, "Creating autocfg configuration...");
try {
AUTOCFG_DIR.createNewFile();
logger.log(Level.SEVERE, "Created!");
} catch (IOException e) {
logger.log(Level.SEVERE, "Failed to create autocfg configuration file", e);
}
}
}

public boolean isEmpty() {
return getConfigs().isEmpty();
}

public List<Config> getConfigs() {
List<Config> configs = new ArrayList<>();
File[] configFiles = CONFIG_DIR.listFiles();

if (configFiles != null) {
for (File configFile : configFiles) {
if (configFile.isFile() && configFile.getName().endsWith(".cfg")) {
String configName = configFile.getName().replace(".cfg", "");
Config config = findConfig(configName);
if (config != null) {
configs.add(config);
}
}
}
}

return configs;
}


public void loadConfiguration(String configuration) {
Config config = findConfig(configuration);
try {
FileReader reader = new FileReader(config.getFile());
JsonParser parser = new JsonParser();
JsonObject object = (JsonObject) parser.parse(reader);
config.loadConfig(object);
} catch (FileNotFoundException e) {
logger.log(Level.WARNING, "Not Found Exception", e);
} catch (NullPointerException pointerException) {
logger.log(Level.WARNING, "Fatal error in Config!", pointerException);
}
}

public void saveConfiguration(String configuration) {
Config config = new Config(configuration);
String contentPrettyPrint = new GsonBuilder().setPrettyPrinting().create().toJson(config.saveConfig());
try {
FileWriter writer = new FileWriter(config.getFile());
writer.write(contentPrettyPrint);
writer.close();
} catch (IOException e) {
logger.log(Level.WARNING, "File not found!", e);
} catch (NullPointerException e) {
logger.log(Level.WARNING, "Fatal Error in Config!", e);
}
}

public Config findConfig(String configName) {
if (configName == null) return null;
if (new File(CONFIG_DIR, configName + ".cfg").exists())
return new Config(configName);
return null;
}
}
 
Начинающий
Статус
Оффлайн
Регистрация
8 Сен 2024
Сообщения
103
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
13 Окт 2024
Сообщения
60
Реакции[?]
0
Поинты[?]
0
вроде да, но нет через 3-4 секунды закрывается

если вникнуть в ошибку, то он пишет ошибку в 77 строек
хз попробуй что то поделать в alt + enter, если 19 джава ставь 17 и где ты скачивал сурс
 
Начинающий
Статус
Оффлайн
Регистрация
8 Сен 2024
Сообщения
103
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
13 Окт 2024
Сообщения
60
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
23 Сен 2024
Сообщения
45
Реакции[?]
0
Поинты[?]
0
добрый день. При запуски эксы она открывается и через секунды 3 закрывается.

получается вот код краша:

изначально все работало, по после перезапуска все крашится.
что делать?
удали кфг
 
Забаненный
Статус
Оффлайн
Регистрация
28 Апр 2023
Сообщения
276
Реакции[?]
6
Поинты[?]
5K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
добрый день. При запуски эксы она открывается и через секунды 3 закрывается.

получается вот код краша:

изначально все работало, по после перезапуска все крашится.
что делать?
at im.expensive.config.ConfigStorage.loadConfiguration(ConfigStorage.java:77)
at im.expensive.config.ConfigStorage.setupFolder(ConfigStorage.java:35)
at im.expensive.config.ConfigStorage.init(ConfigStorage.java:28)
at im.expensive.Expensive.clientLoad(Expensive.java:185)
вроде да, но нет через 3-4 секунды закрывается

если вникнуть в ошибку, то он пишет ошибку в 77 строек
удали папку expensive где кфг и все будет работать
 
Начинающий
Статус
Оффлайн
Регистрация
13 Окт 2024
Сообщения
60
Реакции[?]
0
Поинты[?]
0
ConfigStorage.java:
package im.Lighting.config;

import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import net.minecraft.client.Minecraft;

import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

public class ConfigStorage {
    public final Logger logger = Logger.getLogger(ConfigStorage.class.getName());

    public final File CONFIG_DIR = new File(Minecraft.getInstance().gameDir, "\\Lighting\\configs");
    public final File AUTOCFG_DIR = new File(CONFIG_DIR, "");
    public final File LAST_USED_CONFIG_FILE = new File(CONFIG_DIR, "last_used_config.txt");

    public final JsonParser jsonParser = new JsonParser();

    private String lastUsedConfig;

    public ConfigStorage() {
        Runtime.getRuntime().addShutdownHook(new Thread(() -> {
            try {
                saveAllConfigurations();
                saveLastUsedConfig();
                logger.log(Level.INFO, "All configurations saved successfully.");
            } catch (IOException e) {
                logger.log(Level.SEVERE, "Failed to save configurations during shutdown.", e);
            }
        }));

        loadLastUsedConfig();
        if (lastUsedConfig != null) {
            loadConfiguration(lastUsedConfig);
        }
    }

    public void init() throws IOException {
        setupFolder();
    }

    public void setupFolder() {
        if (!CONFIG_DIR.exists()) {
            CONFIG_DIR.mkdirs();
        } else if (AUTOCFG_DIR.exists()) {
            loadConfiguration("autocfg");
            logger.log(Level.SEVERE, "Load system configuration...");
        } else {
            logger.log(Level.SEVERE, "Creating system configuration...");
            try {
                AUTOCFG_DIR.createNewFile();
                logger.log(Level.SEVERE, "Created!");
            } catch (IOException e) {
                logger.log(Level.SEVERE, "Failed to create system configuration file", e);
            }
        }
    }

    public boolean isEmpty() {
        return getConfigs().isEmpty();
    }

    public List<Config> getConfigs() {
        List<Config> configs = new ArrayList<>();
        File[] configFiles = CONFIG_DIR.listFiles();

        if (configFiles != null) {
            for (File configFile : configFiles) {
                if (configFile.isFile() && configFile.getName().endsWith(".cfg")) {
                    String configName = configFile.getName().replace(".cfg", "");
                    Config config = findConfig(configName);
                    if (config != null) {
                        configs.add(config);
                    }
                }
            }
        }

        return configs;
    }

    public void loadConfiguration(String configuration) {
        lastUsedConfig = configuration;
        Config config = findConfig(configuration);
        try {
            FileReader reader = new FileReader(config.getFile());
            JsonObject object = (JsonObject) jsonParser.parse(reader);
            config.loadConfig(object);
        } catch (FileNotFoundException e) {
            logger.log(Level.WARNING, "Not Found Exception", e);
        } catch (NullPointerException pointerException) {
            logger.log(Level.WARNING, "Fatal error in Config!", pointerException);
        }
    }

    public void saveConfiguration(String configuration) {
        Config config = new Config(configuration);
        String contentPrettyPrint = new GsonBuilder().setPrettyPrinting().create().toJson(config.saveConfig());
        try {
            FileWriter writer = new FileWriter(config.getFile());
            writer.write(contentPrettyPrint);
            writer.close();
        } catch (IOException e) {
            logger.log(Level.WARNING, "File not found!", e);
        } catch (NullPointerException e) {
            logger.log(Level.WARNING, "Fatal Error in Config!", e);
        }
    }

    public void saveAllConfigurations() throws IOException {
        for (Config config : getConfigs()) {
            saveConfiguration(config.getName());
        }
    }

    public Config findConfig(String configName) {
        if (configName == null) return null;
        if (new File(CONFIG_DIR, configName + ".cfg").exists())
            return new Config(configName);
        return null;
    }

    private void saveLastUsedConfig() {
        try (FileWriter writer = new FileWriter(LAST_USED_CONFIG_FILE)) {
            writer.write(lastUsedConfig);
        } catch (IOException e) {
            logger.log(Level.SEVERE, "Failed to save last used configuration.", e);
        }
    }

    private void loadLastUsedConfig() {
        if (LAST_USED_CONFIG_FILE.exists()) {
            try (BufferedReader reader = new BufferedReader(new FileReader(LAST_USED_CONFIG_FILE))) {
                lastUsedConfig = reader.readLine();
            } catch (IOException e) {
                logger.log(Level.SEVERE, "Failed to load last used configuration.", e);
            }
        }
    }
}
config.java:
package im.Lighting.config;

import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import im.Lighting.Lighting;
import im.Lighting.functions.settings.Setting;
import im.Lighting.functions.settings.impl.*;
import im.Lighting.ui.styles.Style;
import im.Lighting.utils.client.IMinecraft;
import lombok.Getter;
import net.minecraft.client.Minecraft;

import java.io.File;
import java.util.Map;
import java.util.function.Consumer;

[USER=270918]@Getter[/USER]
public class Config implements IMinecraft {
    private final File file;
    private final String name;

    public Config(String name) {
        this.name = name;
        this.file = new File(new File(Minecraft.getInstance().gameDir, "\\Lighting\\configs"), name + ".cfg");
    }

    public void loadConfig(JsonObject jsonObject) {
        if (jsonObject == null) {
            return;
        }

        if (jsonObject.has("functions")) {
            loadFunctionSettings(jsonObject.getAsJsonObject("functions"));
        }
        if (jsonObject.has("positions")) {
            loadFunctionSettings(jsonObject.getAsJsonObject("positions"));
        }

        if (jsonObject.has("styles")) {
            loadStyleSettings(jsonObject.getAsJsonObject("styles"));
        }
    }
    private void loadStyleSettings(JsonObject stylesObject) {
        for (Map.Entry<String, JsonElement> entry : stylesObject.entrySet()) {
            String styleName = entry.getKey();
            JsonObject styleObject = entry.getValue().getAsJsonObject();
            Style style = findStyleByName(styleName);
            if (style != null && styleObject.has("selected")) {
                boolean isSelected = styleObject.get("selected").getAsBoolean();
                if (isSelected) {
                    Lighting.getInstance().getStyleManager().setCurrentStyle(style);
                }
            }
        }
    }

    private Style findStyleByName(String styleName) {
        for (Style style : Lighting.getInstance().getStyleManager().getStyleList()) {
            if (style.getStyleName().equalsIgnoreCase(styleName)) {
                return style;
            }
        }
        return null;
    }
    private void loadFunctionSettings(JsonObject functionsObject) {
        Lighting.getInstance().getFunctionRegistry().getFunctions().forEach(f -> {
            JsonObject moduleObject = functionsObject.getAsJsonObject(f.getName().toLowerCase());
            if (moduleObject == null) {
                return;
            }

            f.setState(false,true);
            loadSettingFromJson(moduleObject, "bind", value -> f.setBind(value.getAsInt()));
            loadSettingFromJson(moduleObject, "state", value -> f.setState(value.getAsBoolean(),true));
            f.getSettings().forEach(setting -> loadIndividualSetting(moduleObject, setting));
        });
    }

    private void loadIndividualSetting(JsonObject moduleObject, Setting<?> setting) {
        JsonElement settingElement = moduleObject.get(setting.getName());

        if (settingElement == null || settingElement.isJsonNull()) {
            return;
        }

        if (setting instanceof SliderSetting) {
            ((SliderSetting) setting).set(settingElement.getAsFloat());
        } if (setting instanceof BooleanSetting) {
            ((BooleanSetting) setting).set(settingElement.getAsBoolean());
        } if (setting instanceof ColorSetting) {
            ((ColorSetting) setting).set(settingElement.getAsInt());
        } if (setting instanceof ModeSetting) {
            ((ModeSetting) setting).set(settingElement.getAsString());
        } if (setting instanceof BindSetting) {
            ((BindSetting) setting).set(settingElement.getAsInt());
        } if (setting instanceof StringSetting) {
            ((StringSetting) setting).set(settingElement.getAsString());
        } if (setting instanceof ModeListSetting) {
            loadModeListSetting((ModeListSetting) setting, moduleObject);

        }
    }

    private void loadModeListSetting(ModeListSetting setting, JsonObject moduleObject) {
        JsonObject elements = moduleObject.getAsJsonObject(setting.getName());
        setting.get().forEach(option -> {
            JsonElement optionElement = elements.get(option.getName());
            if (optionElement != null && !optionElement.isJsonNull()) {

                option.set(optionElement.getAsBoolean());
            }
        });
    }

    private void loadSettingFromJson(JsonObject jsonObject, String key, Consumer<JsonElement> consumer) {
        JsonElement element = jsonObject.get(key);
        if (element != null && !element.isJsonNull()) {
            consumer.accept(element);
        }
    }



    public JsonElement saveConfig() {
        JsonObject functionsObject = new JsonObject();
        JsonObject stylesObject = new JsonObject();
        JsonObject modulesObject = new JsonObject();
        saveFunctionSettings(functionsObject);
        saveStyleSettings(stylesObject);
        Object saveModuleObject = null;
        saveModuleObject = new JsonObject();
        JsonObject newObject = new JsonObject();
        newObject.add("functions", functionsObject);
        newObject.add("styles", stylesObject);
        newObject.add("modulesObject", modulesObject);

        return newObject;
    }

    private void saveFunctionSettings(JsonObject functionsObject) {
        Lighting.getInstance().getFunctionRegistry().getFunctions().forEach(module -> {
            JsonObject moduleObject = new JsonObject();

            moduleObject.addProperty("bind", module.getBind());
            moduleObject.addProperty("state", module.isState());

            module.getSettings().forEach(setting -> saveIndividualSetting(moduleObject, setting));

            functionsObject.add(module.getName().toLowerCase(), moduleObject);
        });
    }

    private void saveIndividualSetting(JsonObject moduleObject, Setting<?> setting) {
        if (setting instanceof BooleanSetting) {
            moduleObject.addProperty(setting.getName(), ((BooleanSetting) setting).get());
        } if (setting instanceof SliderSetting) {
            moduleObject.addProperty(setting.getName(), ((SliderSetting) setting).get());
        } if (setting instanceof ModeSetting) {
            moduleObject.addProperty(setting.getName(), ((ModeSetting) setting).get());
        } if (setting instanceof ColorSetting) {
            moduleObject.addProperty(setting.getName(), ((ColorSetting) setting).get());
        } if (setting instanceof BindSetting) {
            moduleObject.addProperty(setting.getName(), ((BindSetting) setting).get());
        } if (setting instanceof StringSetting) {
            moduleObject.addProperty(setting.getName(), ((StringSetting) setting).get());
        } if (setting instanceof ModeListSetting) {
            saveModeListSetting(moduleObject, (ModeListSetting) setting);

        }
    }

    private void saveModeListSetting(JsonObject moduleObject, ModeListSetting setting) {
        JsonObject elements = new JsonObject();
        setting.get().forEach(option -> elements.addProperty(option.getName(), option.get()));
        moduleObject.add(setting.getName(), elements);
    }

    private void saveStyleSettings(JsonObject stylesObject) {
        for (Style style : Lighting.getInstance().getStyleManager().getStyleList()) {
            JsonObject styleObject = new JsonObject();
            styleObject.addProperty("selected", Lighting.getInstance().getStyleManager().getCurrentStyle() == style);
            stylesObject.add(style.getStyleName(), styleObject);
        }
    }
}
17 джава, скачивал на юг
если не сложно, скинь свой ConfigStorage паже
импорты просто на свои замени и всё
 
Сверху Снизу