5q12's YAML API

5q12's YAML API

A YAML api to read and write to YAML files for Fabric.

von
1.4K Downloads
fabriclibrarymanagementutility
Server mit dieser Mod mieten

Über diese 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();
        }
    }
}

Verfügbare Versionen

v1.1.3-fabricrelease
MC 1.19.4, 1.20.1, 1.20.6, 1.21fabric
20. Juli 2024
v1.1.2-fabricrelease
MC 1.21fabric
19. Juli 2024
v1.1.1-fabricrelease
MC 1.21fabric
17. Juli 2024
v1.1.0-fabricrelease
MC 1.21fabric
16. Juli 2024
v1.0.0-fabricrelease
MC 1.21fabric
16. Juli 2024

5q12's YAML API auf dem Server installieren

1

Server bestellen

Bestelle einen Minecraft Java Server mit mindestens 3 GB RAM (4 GB empfohlen).

2

fabric Loader setzen

Wähle im Panel unter "Egg" den fabric-Loader und die passende Minecraft-Version (1.21).

3

Mod installieren

Öffne den Mod-Browser im Dashboard und suche nach "5q12's YAML API". Klicke "Installieren" – fertig! Alternativ: Lade die .jar via SFTP in den /mods Ordner.

Kompatibilität

Mod-Loader

fabric

Minecraft-Versionen

1.21, 1.20.6, 1.20.1 (+1 weitere)

Server-seitig

~ Optional

Empfohlener RAM

4 GB(min. 3 GB)

Häufige Fragen

5q12's YAML API Server crasht beim Start – was tun?

Häufigste Ursache: falsche fabric-Version oder zu wenig RAM. Prüfe im Server-Log (latest.log), ob ein "OutOfMemoryError" oder "Mixin"-Fehler auftritt. Bei Mado Hosting: Stelle sicher, dass mindestens 3 GB RAM zugewiesen sind und der Loader zur Mod-Version passt (1.21). Über das Panel kannst du den Loader mit einem Klick wechseln.

Ist 5q12's YAML API mit fabric kompatibel?

5q12's YAML API unterstützt offiziell fabric für Minecraft 1.21, 1.20.6, 1.20.1. Im Mado Dashboard werden inkompatible Loader-Kombinationen automatisch erkannt.

Server laggt mit 5q12's YAML API – wie optimiere ich die Performance?

Empfohlener RAM: 4 GB (+1 GB pro 8 Spieler). Prüfe mit /spark profiler, ob 5q12's YAML API den meisten Tick-Time verbraucht. Häufige Fixes: Server-View-Distance auf 8-10 reduzieren, bei Forge "performant" oder "starlight" als Zusatz-Mod installieren. Bei Mado Hosting läuft dein Server auf NVMe-SSDs mit dedizierten CPU-Kernen für minimale Latenz.

Modded Server mieten

Installiere 5q12's YAML API mit nur einem Klick auf deinem Server.

Empfohlener RAM
4 GBab €5.2/Monat
Min. 3 GB | +1 GB pro 8 Spieler
Jetzt Server erstellen
1-Klick Mod Installation
NVMe SSD Speicher
DDoS-Schutz inklusive

Details

Lizenz
MIT License
Server-seitig
Optional

Unterstützte Versionen

1.211.20.61.20.11.19.4