JSON конфиги

JSON конфиги

Нет прав для скачивания
Версия(и) Minecraft
Любая
Всем привет.
Данный гайд научит вас использовать JSON конфиги.
Я покажу несколько примеров использования.

Первый пример - регистрация предметов через конфиг.

Для начала сделаем предмет в главном классе.

Java:
    public static Item testitem;

Далее делаем метод, который:
- Читает данные из JSON конфига.
- Регистрирует предметы, используя полученные данные.

Java:
    void loadItems()
    {
        try {

            JsonParser parser = new JsonParser();

            Object obj = parser.parse(new FileReader("config/items.json")); //читаем JSON файл

            JsonObject itemsobject = (JsonObject) obj; //создаем экземпляр JsonObject и инитилизируем его данными из JSON конфига

            for(int i = 0; i < itemsobject.get("items").getAsJsonArray().size(); i++)
            {
                String name = itemsobject.get("items").getAsJsonArray().get(i).getAsJsonObject().get("name").getAsString(); //получаем строчку name из конфига
                int size = itemsobject.get("items").getAsJsonArray().get(i).getAsJsonObject().get("size").getAsInt(); //получаем число size из конфига
                //сама регистрация предмета, используя данные выше.
                testitem = new Item().setUnlocalizedName(name).setMaxStackSize(size).setCreativeTab(CreativeTabs.tabCombat);
                GameRegistry.registerItem(testitem, name);
                LanguageRegistry.addName(testitem, name);
            }


        }
        catch (IOException e) {e.printStackTrace();}
    }

Добавляем вызов метода в евент FMLPreInitializationEvent.

Java:
    @EventHandler
    public void preInit(FMLPreInitializationEvent event){
        this.loadItems();
    }

JSON конфиг использовавшийся в примере:

JSON:
{
  "items": [
        {
            "name": "TestItem1",
            "size": 10
        },
        {
            "name": "JSON",
            "size": 5
        },
        {
            "name": "test2",
            "size": 3
        },
        {
            "name": "test3",
            "size": 2
        }
    ]
}

Второй пример - чтение определенных данных из конфига и использование их в игре.

Первым делом создаем JsonObject в главном классе, в него будут записанны данные из конфига:

Java:
    public static JsonObject jsonObject;

Далее делаем метод, который будет читать JSON конфиг и инитилизировать JsonObject:

Java:
    void loadConfig() {
        try {
            JsonParser parser = new JsonParser();
            Object obj = parser.parse(new FileReader("config/testconfig.json")); //читаем JSON файл

            jsonObject = (JsonObject) obj; //инитилизируем JSON объект, данными из JSON конфига

            System.out.println(jsonObject.get("title").getAsString()); //получаем строчку title из конфига и выводим в лог
            System.out.println(jsonObject.get("test").getAsInt()); //получаем число test из конфига и выводим в лог

        }
        catch (FileNotFoundException e) {e.printStackTrace();}
    }

Получение определенных данных описанно в методе выше.

Добавляем вызов метода в евент FMLPreInitializationEvent.

Java:
    @EventHandler
    public void preInit(FMLPreInitializationEvent event){
        this.loadConfig();
    }

Можно например поменять название окна игры на название из конфига

Java:
            Display.setTitle(jsonObject.get("title").getAsString());

Да и вообще это можно использовать много где.

JSON конфиг использовавшийся в примере:

JSON:
{
    "title": "Test",
    "test": 5
}

Завтра добавлю архив с исходниками.
Так же скоро добавлю больше примеров использования, покажу как записывать данные в файл, а на сегодня это всё. Удачи.
Автор
AmaZ1nG
Скачивания
17
Просмотры
2,267
Первый выпуск
Обновление
Оценка
5.00 звёзд 1 оценок
Сверху