NEBULA / DEVELOPERS

Entwicklerdokumentation

Die Mod-API läuft in Minecraft unter Java 21 und erweitert Maschinen, Ressourcen und Integrationen. Die HTTP-API der Website liefert nur Dokumentation und Releases; sie liest keine Spielernetzwerke und startet keine Herstellung.

Minecraft-Addon-API

dev.nebulastorage.api · Java 21 · Kotlin · NeoForge 1.21.1

Simulationen besitzen keine Ressourcen. Physische Adapter speichern Eingänge, Ausgänge und Beleg gemeinsam.

Ein Addon hängt von Nebula ab und kompiliert gegen dev.nebulastorage.api. Optionale Mod-Adapter getrennt halten, damit fehlende Mods keine Klassenladefehler verursachen. API 1.0.0 ist unabhängig von der Alpha-Version. Diese Addon-Beispiele beziehen sich auf Nebula Storage alpha.7 und seine neuen Pakete. Bis alpha.6 veröffentlichte Dateien verwenden noch dev.nexusstorage. Addons müssen beim Upgrade neu kompiliert werden; Minecraft-IDs und gespeicherte Welten bleiben unverändert.

Registrierungsbeispiel

Eine öffentliche NebulaExtension implementieren und den vollständigen Klassennamen in META-INF/services/dev.nebulastorage.api.NebulaExtension als JAR-Ressource ohne .txt eintragen.

Das Beispiel deklariert example:pressing, aber noch keinen Block oder ein Rezept. Ein Maschinenadapter erkennt das echte Item; eine Rezeptquelle liefert exakte Ein- und Ausgaben. Registrierung ohne Weltzugriff durchführen.

ExampleExtension.kt
package example.nexus

import dev.nebulastorage.api.NebulaExtension
import dev.nebulastorage.api.NebulaRegistrar
import dev.nebulastorage.api.production.ProductionCapabilityId

class ExampleExtension : NebulaExtension {
    override fun register(registrar: NebulaRegistrar) {
        registrar.capability(ProductionCapabilityId("example:pressing"))
    }
}

META-INF/services/dev.nebulastorage.api.NebulaExtension

ServiceLoader
example.nexus.ExampleExtension

Website-API

OpenAPI 3 · JSON · GET

Nur lesbare Endpunkte auf https://ns-api.vyxs.fr, ohne Konto oder API-Schlüssel. Die Website nutzt dieselben Daten über ihren Server.

http
GET /v1/catalogue?locale=en&q=server
GET /v1/entries/controller?locale=fr
GET /v1/releases?locale=en
GET /v1/downloads/0.1.0-alpha.5
/v1/catalogue
Kompakter Index. Filter: locale, q (maximal 120 Zeichen), category. Der Slug öffnet den vollständigen Artikel.
/v1/entries/{slug}
Vollständiger Artikel, Rezeptplätze und Diagramme. locale unterstützt en, fr, de, es, it und ja; unbekannter Slug ergibt 404.
/v1/releases
Geprüfte Releases mit Dateiname, Größe und SHA-256. Hinweise folgen locale. Neue Releases erscheinen nach Abfrage und Cache-Erneuerung.
/v1/downloads/{version}
Liefert das JAR einer veröffentlichten Version. SHA-256 mit den Metadaten vergleichen. Unbekannte Version: 404; nicht verfügbare oder ungeprüfte Datei: 503.

Ungültige Parameter: 400. Ratenlimit: 429 mit Retry-After. Erfolgreiche Antworten zwischenspeichern und vor erneutem Versuch warten. Keine Route verändert Minecraft-Netzwerke.

Integrationsumfang

JEI und EMI zeigen Rezepte, Ponder bietet Anleitungen im Spiel. Unterstützte Maschinen stammen aus Vanilla, Mekanism und weiteren Mods. Die Integrationsliste nennt unterstützte Verfahren und Ausschlüsse.

Reale Maschinen sicher anbinden

NebulaPlatformExtension bindet reale Blöcke mit eigener Verarbeitung an. Nur geladene Maschinen auflösen, persistenten Besitzer und alle Prozessein- und -ausgänge erkennen. Energie und Druck bleiben nativ.

  1. EntdeckenFähigkeiten und Rezepte lesen
  2. PlanenExakte Ressourcen reservieren
  3. AusführenAn realen Besitzer übertragen
  4. FortsetzenGespeicherten Beleg lesen
Entdeckung liest nur. Erst die Ausführung überträgt Besitz; Wiederherstellung erzeugt keine verbrauchten Eingaben neu.
NebulaPhysicalResourceMachine →