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
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 :
view plaincopy to clipboardprint?
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>
Descargar el archivo con el proyecto listo para NetBeans 7.0 (incluye el API de Bukkit y el codigo fuente del ejemplo)
http://www.marlonj.com/blog/wp-content/uploads/2011/06/mchelloplugin.zip
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
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 :
view plaincopy to clipboardprint?
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>
Descargar el archivo con el proyecto listo para NetBeans 7.0 (incluye el API de Bukkit y el codigo fuente del ejemplo)
http://www.marlonj.com/blog/wp-content/uploads/2011/06/mchelloplugin.zip

