Metadatos del Complemento
Agregar metadatos de complemento ayuda a los usuarios a identificar su complemento más fácilmente, ya que les permite verificar el nombre, la versión, la descripción o incluso los autores de un complemento en el tiempo de ejecución. También se usará cuando se publiquen complementos en un portal de complementos como Ore.
Actualmente, Sponge soporta los siguientes tipos de metadatos de los complementos:
Identificacion del Complemento, Nombre del complemento, Versión
Descripción
URL (ejemplo Página Web)
Autores
Dependencias del complemento
Anotación del complemento
You can define the additional (optional) plugin metadata on your @Plugin
annotation. You can provide all meta
information in the annotation, despite only the id being required. A @Plugin
annotation which uses all fields
available looks like this:
import org.spongepowered.api.plugin.Plugin;
@Plugin(id = "myplugin", name = "My Plugin", version = "1.0",
description = "This is a very cool plugin I made for me",
url = "http://example.com",
authors = {"Spongie", "FLARD"},
dependencies = {@Dependency(id = "otherplugin", optional = true)})
For every @Dependency
you provide, you may also give a version
attribute specifying a version range according to
Dependency#version(). The optional
attribute specifies that your plugin may be loaded even if the
dependency is not available. Unless explicitly specified as optional, the absence of any dependency will prevent your
plugin from being loaded.
Nota
For both authors
and dependencies
, the curly brackets may be left out if only one element is supplied, e.g.
dependencies = @Dependency(id = "otherplugin", optional = true)
in the above example.
Metadato del archivo
Además de los metadatos del complemento definidos en la anotación del complemento, también recomendamos que los complementos incluyan estos metadatos en un archivo adicional en el JAR, que tiene varias ventajas:
Integración más sencilla para los sistemas de compilación (por ejemplo, contribuir la versión del sistema de compilación a los metadatos de los complementos)
Más fácil para los portales de complementos obtener los metadatos del complemento (no es necesario analizar los archivos de clase)
Nota
Recomendamos encarecidamente complementos públicos para incluir metadatos de archivos. Los portales de complementos como Ore pueden requerir metadatos de archivos. Vea Using the Annotation Processor para obtener una forma simple de generarlo. La implementación puede imprimir una advertencia si un complemento carece de los metadatos del archivo.
El formato mcmod.info
Para los complementos de Sponge, usamos un archivo llamado mcmod.info
, que se incluye en la raíz de su complemento JAR. El formato proviene de Forge y ha sido utilizado por varios proyectos en la comunidad de Minecraft, por lo que hemos elegido usar el mismo.
mcmod.info
es básicamente un simple archivo JSON que define los metadatos del complemento como campos simples. Aquí hay un archivo de ejemplo que podría ser utilizado por un complemento de Sponge:
[{
"modid": "myplugin",
"name": "My Plugin",
"version": "1.0",
"description": "This is a very cool plugin I made for me",
"authorList": [
"Spongie",
"FLARD"
],
"dependencies": [
"otherplugin"
]
}]
Usando el Procesador de Anotación
Escribir un archivo extra es bastante molesto. Afortunadamente, generalmente no hay nada más que deba hacer. Al compilar su complemento, SpongeAPI puede generar este archivo automáticamente en función de la información provista en su anotación @Plugin
.
Habilitando
If you’re using a build system such as Gradle or Maven and have not explicitly disabled annotation processing there is
nothing extra you need to do. By default, the annotation processor will automatically run and generate a mcmod.info
file based on the contents of your @Plugin
annotation.
Si no está usando un sistema constructivo, debe habilitar manualmente el proceso de anotaciones.
Construir integración del sistema
Si está utilizando Gradle, SpongeGradle proporcionará una integración adicional para Gradle y los metadatos de los complementos. Por ejemplo, incluirá automáticamente la versión del proyecto definida en el guión de construcción de Gradle en los metadatos del complemento. Ver Configuración de Gradle para más detalles.
Nota
If you’re using the NetBeans IDE make sure you’ve unchecked the Compile On Save option under Project Properties > Build > Compile to make sure the mcmod.info file will be generated correctly.