Bukkit : Creando un Plugin para Minecraft
Jun 24
En entradas anteriores hablamos acerca de Bukkit un modulo para el servidor de Minecraft que permite la creación de plugins los cuales pueden interactuar con los usuarios a través de comandos o escuchar eventos producidos dentro del mundo virtual.
En esta ocasión nos daremos a la tarea de desarrollar un plugin muy sencillo que escuche el comando hello y salude al avatar replicando hello <usuario>, esto con el fin de explorar los pasos y requerimientos para el desarrollo de plugins para Minecraft.
Prerequisitos :
- Tener instalado el NetBeans 7.0
- Acceso a Internet
- Acceso a un servidor de Minecraft con Bukkit instalado
Pasos :
- Descargar la librería de desarrollo para Bukkit
- Ir al servidor Wiki de Bukkit
http://wiki.bukkit.org/ - Buscar el enlace y descargar el archivo
Bukkit API - For Developers - La vesion al momento de escribir estos pasos se puede descargar asi :
wget http://ci.bukkit.org/job/dev-Bukkit/lastSuccessfulBuild/artifact/target/bukkit-0.0.1-SNAPSHOT.jar
- Ir al servidor Wiki de Bukkit
- Abrir el NetBeans 7.0
- Crear un proyecto Java, del tipo Java Class Library
- Colocarle el nombre mchelloplugin
- Para evitar problemas con el API de Bukkit copiaremos esta dentro del proyecto,
para que no dependa del ambiente de desarrollo y siempre quede asociado al proyecto - Active la opcion
Use Dedicated Folder for Storing Libraries - Verifique que en la caja de dialogo aparezca
Libraries Folder: ./lib - Pulse el boton Finish
- Vamos a Libraries en el arbol del proyecto
Click derecho y seleccionamos Add Jar/Folder - Buscamos el archivo bukkit-0.0.1-SNAPSHOT.jar
lo adicionamos con la opcion Copy Libraries to Folder - Ahora crearemos la clase Java que implementa el Plugin
- Vamos a Source Packages
Click derecho y New Java Class - Colocamos como Class Name
HelloPlugin - Colocamos como Package
mjs.minecraft.plugin.hello - Pulsamos el boton Finish
- Reemplazamos el contenido del archivo por :
package mjs.minecraft.plugin.hello;
import java.util.logging.Logger;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
public class HelloPlugin extends JavaPlugin {
public static final Logger log = Logger.getLogger("Minecraft");
@Override
public void onDisable() {
PluginManager pluginManager = getServer().getPluginManager();
log.info("Hello plugin has been disabled.");
}
@Override
public void onEnable() {
log.info("Hello plugin has been enabled!");
}
@Override
public boolean onCommand(CommandSender sender, Command command,
String label, String[] args) {
if(label.equals("hello")) {
Player player = (Player) sender;
player.sendMessage("Hello " + player.getDisplayName());
return true;
}
return false;
}
}
- Vamos a Source Packages y al paquete
<default package>
Click derecho y New Empty File - Colocamos como File Name
plugin.yml - Pulsamos el boton Finish
- Reemplazamos el contenido del archivo por :
name: MHello main: mjs.minecraft.plugin.hello.HelloPlugin version: 0.1 author: Marlon J. Manrique website: http://www.marlonj.com description: Example command to say hello to the user commands: hello: description: Say hello to the user. usage: /<command>
- En este momento ya tenemos los componentes necesarios para el Plugin
El descriptor y la clase principal del mismo - Compilamos el proyecto, no deben salir errores (F6)
- Construimos la solución (Build, F11)
- Esto genera el directorio dist que dentro tiene el archivo mchelloplugin.jar
- Debemos copiar este archivo al directorio plugins de nuestro servidor
- Por ejemplo en nuestro ambiente de desarrollo
scp /home/<usuario>/NetBeansProjects/mchelloplugin/dist/mchelloplugin.jar minecraft@<ipservidor>:/home/minecraft/server/plugins - Reiniciamos el servicio de McMyAdmin o el de Minecraft en el servidor
si usamos mcmyadmin
sudo service mcmyadmin restart
si usamos minecraft
sudo service minecraft restart - Ahora se puede listar el plugin dentro del administrador de McMyAdmin
- Podemos entrar desde el visor de Minecraft a nuestro servidor y ejecutar el comando
<pulsar la tecla t>
/hello
El servidor responde
hello <usuario>
Enlaces :
- Pagina Oficial de Bukkit
http://bukkit.org - Wiki de Bukkit
http://wiki.bukkit.org




Oie no me aparece “default package”
@PaulLorber puedes crear el archivo directamente en el directorio de fuentes de tal modo que quede en src
Oie y cmo hago pa enviarle a un amigo lo q hice pa q el corra el plugin en su server?
@PaulLorber debes enviarle el archivo .jar para que lo instale en su servidor con Bukkit
Me salta no main clasess founded
alguna sugerencia?
(me salta con el F6)