Primeros pasos con bukkit

Crear un complemento

requisitos previos

  • JDK 7 o Superior (Recomendado: JDK 8+)

Adición de Bukkit como dependencia

El método más simple para agregar la API de Bukkit a su proyecto es descargar Bukkit.jar directamente desde [Spigot Repository] (https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/bukkit/bukkit/ ) y agréguelo al classpath de su proyecto. Las versiones heredadas de Bukkit se pueden encontrar en el [Repositorio de Bukkit] (http://repo.bukkit.org/content/groups/public/org/bukkit/bukkit/).

La otra es agregarlo como una dependencia de Maven, agregando las siguientes líneas a su pom.xml:

<repositories>
    <repository>
        <id>spigot-repo</id>
        <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
    </repository>
</repositories>
<dependencies>
    <!--Bukkit API-->
    <dependency>
        <groupId>org.bukkit</groupId>
        <artifactId>bukkit</artifactId>
        <version>{VERSION}</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

Clase principal

La clase principal del complemento es el punto de entrada para que Bukkit cargue e interactúe con su complemento. Es una clase que extiende JavaPlugin y su complemento solo debe crear una instancia de ella. Por convención, es bueno darle a esta clase el mismo nombre que su complemento.

Aquí hay un ejemplo de una clase de complemento principal para el complemento “MyPlugin”:

package com.example.myplugin; //{$TopLevelDomain}.{$Domain}.{$PluginName};

import org.bukkit.plugin.java.JavaPlugin;

public final class MyPlugin extends JavaPlugin {

    @Override
    public void onEnable() {
        //Called when the plugin is enabled
        getLogger().info("onEnable has been invoked!");
    }

    @Override
    public void onDisable() {
        //Called when the plugin is disabled
        getLogger().info("onDisable has been invoked!");
    }

}

Para acceder a su instancia de complemento desde otra clase, deberá almacenar la instancia de su clase MyPlugin creada por Bukkit para que sea accesible desde fuera de la clase.

public class MyPlugin extends JavaPlugin {

    private static MyPlugin instance; //Effectively final variable containing your plugin's instance

    public MyPlugin(){
        if(MyPlugin.instance != null) { //Unnecessary check but ensures your plugin is only initialized once.
            throw new Error("Plugin already initialized!");
        }

        MyPlugin.instance = this; //A plugin's constructor should only be called once
    }

    public static MyPlugin getInstance(){ //Get's your plugin's instance
        return instance;
    }

    //your other code...
}

Luego, para acceder a su clase principal desde otra clase, simplemente use MyPlugin.getInstance()

public class MyOtherClass {

    public void doSomethingWithMainClass(){
        MyPlugin.getInstance().getLogger().info("We just used MyPlugin");
    }

}

Creando un plugin.yml

El archivo plugin.yml se encuentra en la raíz de su archivo jar final y proporciona información esencial a Bukkit para cargar su complemento. El plugin.yml más simple se ve así

name: {$PluginName}               //The name of the plugin
main: {$PackageName}.{$MainClass} //The fully qualified name of the main class.
version: {$Version}               //The plugin's version

Por ejemplo, con la clase MyPlugin anterior

name: MyPlugin
main: com.example.myplugin.MyPlugin
version: 1.0

Herramientas de compilación

¿Qué es?

BuildTools.jar es una solución para compilar Bukkit, CraftBukkit, Spigot y Spigot-API. Todo lo cual se hace en su computadora! Se necesitan algunos programas de requisitos previos, pero las instrucciones a continuación lo guiarán a través de todo lo que necesita hacer.

requisitos previos

Hay dos aplicaciones necesarias para usar BuildTools: Git y Java.

ventanas

Git

Para que BuildTools se ejecute en Windows, deberá instalar Git. Para Windows se distribuye a través de git-scm, que se puede descargar aquí. Instálelo donde desee, proporcionará git bash, que se utilizará para ejecutar el jar de BuildTools. Simplemente siga presionando siguiente cuando ejecute el instalador.

Java

Descargue JRE 8 desde aquí e instálelo. Simplemente siga presionando siguiente cuando ejecute el instalador.

linux

Tanto git como Java, así como los comandos util, se pueden instalar con un solo comando a través de su administrador de paquetes.

Debian/Ubuntu: sudo apt-get install git openjdk-7-jre-headless tar

CentOS/RHEL: sudo dnf install git java-1.7.0-openjdk-devel tar

Arco: pacman -S jdk8-openjdk git

Mac

Git se puede descargar desde: http://sourceforge.net/projects/git-osx-installer/files/

Es posible que Java deba actualizarse desde la versión distribuida de Apple, e incluso si se actualizó previamente, es posible que deba vincularse para el uso de shell. Siga los pasos que se encuentran aquí: https://gist.github.com/johan/10590467

Ejecutando BuildTools

  1. Descargue BuildTools.jar desde https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar.

  2. Abra su terminal si está en Linux, o git bash en Windows.

    1. Git bash can be found on the desktop or in the Start menu under the name “git bash”. It’s also possible to open it by right-clicking on anything, as it is now an item in your context menu.
  3. Navegue hasta donde descargó BuildTools.jar, o use la línea de comando para descargar el archivo jar a su directorio actual.

    1. On Windows, you can either use the cd command to change directories, or you can right click the blank space of the folder where BuildTools.jar is (DO NOT click BuildTools.jar itself) and click “git bash”, which will open it in your current directory.
  4. Ejecute BuildTools.jar desde la terminal (no haga doble clic en BuildTools.jar) haciendo lo siguiente:

    1. On Linux run git config –global –unset core.autocrlf, then run java -jar BuildTools.jar in bash or another appropriate shell.
    2. On Windows run the below command inside the git bash window that opened: java -jar BuildTools.jar Tenga en cuenta que se requiere que tenga BuildTools #35 o posterior, las versiones anteriores no funcionarán.
    3. On Mac run the below commands, exportar MAVEN_OPTS="-Xmx2G" java -Xmx2G -jar BuildTools.jar
    4. If you need older version, you can specify the version using –rev argument to BuildTools, for example for 1.8.8: java -jar BuildTools.jar –rev 1.8.8
  5. Espera mientras construye tus frascos. ¡En unos minutos deberías tener frascos recién compilados!

  6. Puede encontrar CraftBukkit y Spigot en el mismo directorio en el que ejecutó BuildTools.jar (para la versión 1.10 de Minecraft, serían craftbukkit-1.10.jar y spigot-1.10.jar). Puede encontrar Spigot-API en \Spigot\Spigot-API\target\ (para la versión 1.10 de Minecraft, sería spigot-api-1.10-R0.1-SNAPSHOT.jar).

Crear un servidor de prueba en Windows