
5q12's YAML API
A YAML api to read and write to YAML files for Fabric.
About this Mod
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-blocked: " + 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", "[email protected]");
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-blocked: " + 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-blocked: " + loadedData);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Available Versions
How to Install 5q12's YAML API on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set fabric Loader
In the panel under "Egg", select the fabric loader and matching Minecraft version (1.21).
Install Mod
Open the mod browser in the dashboard and search for "5q12's YAML API". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.21, 1.20.6, 1.20.1 (+1 more)
Server-side
~ OptionalRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
5q12's YAML API server crashes on startup – what to do?
Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21). You can switch loaders with one click in the panel.
Is 5q12's YAML API compatible with fabric?
5q12's YAML API officially supports fabric for Minecraft 1.21, 1.20.6, 1.20.1. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with 5q12's YAML API – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if 5q12's YAML API consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install 5q12's YAML API with just one click on your server.