
5q12's YAML API
Активный0.0
Установок
0
Последнее обновление
1 год назад
Версии
1.19.4 — 1.21
Клиент
Fabric
Библиотеки
Управление
Утилиты
5q12's YAML API
Основные возможности
Представляем специализированный инструмент для работы с YAML-файлами в среде Minecraft Fabric. Эта библиотека разработана для упрощения процесса чтения и записи конфигурационных файлов, что особенно удобно при создании модификаций.
Основной функционал включает:
- Загрузка данных из YAML-файлов - преобразование содержимого в объекты Java
- Сохранение информации в YAML - сериализация объектов Java в YAML формат
- Адаптация под Fabric - оптимальная интеграция с популярной модификационной платформой
Практическое применение
Настройка репозиториев
repositories {
maven {
url = uri("https://yml.ccls.app/v1.1.3")
}
mavenCentral()
}
Добавление зависимостей
dependencies {
modImplementation 'app.ccls.yml:yamlapi:1.1.3'
}
Импорт необходимых классов
import app.ccls.yml.YamlHandler;
import app.ccls.yml.YamlHandlerFactory;
Пример работы с простыми значениями
import app.ccls.yml.YamlHandler;
import app.ccls.yml.YamlHandlerFactory;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class SimpleKeyValueExample {
public static void main(String[] args) {
// Инициализация обработчика YAML с форматом "nested"
YamlHandler yamlHandler = YamlHandlerFactory.getHandler("nested");
// Определение пути к файлу
String filePath = "config/simple_data.yml";
// Создание коллекции ключ-значение
Map<String, Object> data = new HashMap<>();
data.put("username", "exampleUser");
data.put("score", 1500);
try {
// Запись данных в YAML файл
yamlHandler.writeYaml(filePath, data);
System.out.println("Данные сохранены в " + filePath);
// Чтение данных из YAML файла
Map<String, Object> loadedData = yamlHandler.readYaml(filePath);
System.out.println("Загруженные данные: " + loadedData);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Работа со сложными структурами
import app.ccls.yml.YamlHandler;
import app.ccls.yml.YamlHandlerFactory;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class NestedStructureExample {
public static void main(String[] args) {
// Инициализация обработчика YAML с форматом "nested"
YamlHandler yamlHandler = YamlHandlerFactory.getHandler("nested");
// Определение пути к файлу
String filePath = "config/nested_data.yml";
// Создание вложенной структуры
Map<String, Object> data = new HashMap<>();
Map<String, Object> userDetails = new HashMap<>();
userDetails.put("age", 25);
userDetails.put("email", "user@example.com");
data.put("username", "exampleUser");
data.put("details", userDetails);
try {
// Запись вложенных данных в YAML файл
yamlHandler.writeYaml(filePath, data);
System.out.println("Данные сохранены в " + filePath);
// Чтение вложенных данных из YAML файла
Map<String, Object> loadedData = yamlHandler.readYaml(filePath);
System.out.println("Загруженные данные: " + loadedData);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Использование списков
import app.ccls.yml.YamlHandler;
import app.ccls.yml.YamlHandlerFactory;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ListExample {
public static void main(String[] args) {
// Инициализация обработчика YAML с форматом "nested"
YamlHandler yamlHandler = YamlHandlerFactory.getHandler("nested");
// Определение пути к файлу
String filePath = "config/list_data.yml";
// Создание списка
List<String> favoriteFoods = new ArrayList<>();
favoriteFoods.add("Pizza");
favoriteFoods.add("Sushi");
favoriteFoods.add("Tacos");
// Создание коллекции с списком
Map<String, Object> data = new HashMap<>();
data.put("username", "exampleUser");
data.put("favoriteFoods", favoriteFoods);
try {
// Запись данных со списком в YAML файл
yamlHandler.writeYaml(filePath, data);
System.out.println("Данные сохранены в " + filePath);
// Чтение данных со списком из YAML файла
Map<String, Object> loadedData = yamlHandler.readYaml(filePath);
System.out.println("Загруженные данные: " + loadedData);
} catch (IOException e) {
e.printStackTrace();
}
}
}