
5q12's YAML API
A YAML api to read and write to YAML files for Fabric.
Автор: 5q121,6 тыс.2обновлён 20 июл. 2024 г.
БиблиотекиУправлениеУтилиты
Описание
5q12's YAML API
Overview
5q12's YAML API is a simple and efficient API for reading and writing YAML files within the Minecraft Fabric modding environment. This API facilitates seamless integration of YAML configuration files, allowing mod developers to easily manage configuration data.
Features
- Read YAML Files: Parse YAML files into Java objects with ease.
- Write YAML Files: Serialize Java objects into YAML format.
- Integration: Designed specifically for use with Fabric, ensuring compatibility and performance.
Example Usage
Add to repositories
repositories {
maven {
url = uri("https://yml.ccls.app/v1.1.3")
}
mavenCentral()
}
Add to dependencies
dependencies {
modImplementation 'app.ccls.yml:yamlapi:1.1.3'
}
Imports
import app.ccls.yml.YamlHandler;
import app.ccls.yml.YamlHandlerFactory;
Simple Key-Value Storage
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) {
// Initialize YamlHandler with the "nested" format
YamlHandler yamlHandler = YamlHandlerFactory.getHandler("nested");
// Define a file path
String filePath = "config/simple_data.yml";
// Create a simple key-value map
Map<String, Object> data = new HashMap<>();
data.put("username", "exampleUser");
data.put("score", 1500);
try {
// Write the data to the YAML file
yamlHandler.writeYaml(filePath, data);
System.out.println("Data saved to " + filePath);
// Read the data back from the YAML file
Map<String, Object> loadedData = yamlHandler.readYaml(filePath);
System.out.println("Loaded data: " + loadedData);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Nested Structures
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) {
// Initialize YamlHandler with the "nested" format
YamlHandler yamlHandler = YamlHandlerFactory.getHandler("nested");
// Define a file path
String filePath = "config/nested_data.yml";
// Create a nested structure map
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 {
// Write the nested data to the YAML file
yamlHandler.writeYaml(filePath, data);
System.out.println("Data saved to " + filePath);
// Read the nested data back from the YAML file
Map<String, Object> loadedData = yamlHandler.readYaml(filePath);
System.out.println("Loaded data: " + loadedData);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Lists in YAML
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) {
// Initialize YamlHandler with the "nested" format
YamlHandler yamlHandler = YamlHandlerFactory.getHandler("nested");
// Define a file path
String filePath = "config/list_data.yml";
// Create a list
List<String> favoriteFoods = new ArrayList<>();
favoriteFoods.add("Pizza");
favoriteFoods.add("Sushi");
favoriteFoods.add("Tacos");
// Create a map to hold the list
Map<String, Object> data = new HashMap<>();
data.put("username", "exampleUser");
data.put("favoriteFoods", favoriteFoods);
try {
// Write the list data to the YAML file
yamlHandler.writeYaml(filePath, data);
System.out.println("Data saved to " + filePath);
// Read the list data back from the YAML file
Map<String, Object> loadedData = yamlHandler.readYaml(filePath);
System.out.println("Loaded data: " + loadedData);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Последние версии
Все версии →release
v1.1.3-fabric
v1.1.3-fabric20 июл. 2024 г.1,3 тыс.Minecraft: 1.19.4, 1.20.1, 1.20.6, 1.21fabric
Что нового
- **Added support for** 1.19.4, 1.20.1, 1.20.6, 1.21
release
v1.1.2-fabric
v1.1.2-fabric19 июл. 2024 г.92Minecraft: 1.21fabric
Что нового
- **Added** an actual Repo functionality
- **Added** better Commented support "#"
release
v1.1.1-fabric
v1.1.1-fabric17 июл. 2024 г.81Minecraft: 1.21fabric
Что нового
- Added Nested suport (use nested as yaml type)
- Removed AdvancedYamlHandler (it was replaced with NestedYamlHandler)
- Added logging (only on nested yaml not basic)
release
v1.1.0-fabric
v1.1.0-fabric16 июл. 2024 г.82Minecraft: 1.21fabric
Что нового
- Added more YAML formating options basic, advanced, nested
release
v1.0.0-fabric
v1.0.0-fabric16 июл. 2024 г.83Minecraft: 1.21fabric
Что нового
- v1.0.0