NEBULA / DEVELOPERS

Documentación para desarrolladores

La API del mod funciona dentro de Minecraft con Java 21 y amplía máquinas, recursos e integraciones. La API HTTP del sitio solo sirve documentación y releases: no accede a redes de jugadores ni inicia crafts.

API de addons Minecraft

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

Una simulación no posee recursos. El adaptador físico conserva entradas, salidas y recibo en un mismo propietario.

Un addon depende de Nebula y compila contra dev.nebulastorage.api. Aísla adaptadores opcionales para no cargar clases de mods ausentes. API 1.0.0 es independiente de la versión alfa. Estos ejemplos de addons corresponden a Nebula Storage alpha.7 y sus nuevos paquetes. Los archivos publicados hasta alpha.6 usan todavía dev.nexusstorage. Recompila los addons al actualizar; los identificadores de Minecraft y los mundos guardados no cambian.

Ejemplo de registro

Implementa NebulaExtension públicamente y coloca su nombre completo en META-INF/services/dev.nebulastorage.api.NebulaExtension, como recurso del JAR sin .txt.

El ejemplo declara example:pressing, pero no crea bloques ni recetas. Registra un adaptador que reconozca el objeto real y una fuente de recetas con entradas y salidas exactas. No accedas al mundo durante el registro.

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

API del sitio

OpenAPI 3 · JSON · GET

Endpoints de solo lectura en https://ns-api.vyxs.fr, sin cuenta ni clave. El sitio usa los mismos datos desde su servidor.

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
Índice ligero. Filtra con locale, q (hasta 120 caracteres) y category. Usa el slug para el artículo completo.
/v1/entries/{slug}
Artículo, casillas de recetas y diagramas. locale admite en, fr, de, es, it y ja; un slug desconocido devuelve 404.
/v1/releases
Versiones verificadas con nombre, tamaño y SHA-256. Las notas siguen locale. Las novedades aparecen tras consultar Forgejo y renovar la caché.
/v1/downloads/{version}
Entrega el JAR publicado. Compara SHA-256 con los metadatos. Versión desconocida: 404; archivo no disponible o no verificado: 503.

Parámetros inválidos: 400. Límite: 429 con Retry-After. Guarda respuestas correctas y espera antes de reintentar. Ninguna ruta modifica redes Minecraft.

Alcance de integración

JEI y EMI muestran recetas; Ponder ofrece tutoriales dentro del juego. Hay máquinas compatibles de Vanilla, Mekanism y otros mods. La lista de integraciones indica procesos admitidos y exclusiones.

Conectar una máquina real con seguridad

NebulaPlatformExtension conecta bloques reales con procesamiento propio. Resuelve solo máquinas cargadas y expone propietario persistente y todas las entradas y salidas. Energía y presión siguen siendo nativas.

  1. DescubrirLeer capacidades y recetas
  2. PlanificarReservar recursos exactos
  3. EjecutarTransferir al propietario real
  4. RecuperarLeer el recibo guardado
Descubrir no modifica datos. Solo ejecutar transfiere propiedad; recuperar no recrea entradas consumidas.
NebulaPhysicalResourceMachine →