He creado ScriptCraft para hacer más fácil para los niños (y para cualquier persona interesada en la programación) la creación de sus propios Mods de Minecraft. ScriptCraft hace que sea más fácil para los nuevos programadores crear Mods de Minecraft. Los Mods se crean utilizando el lenguaje de programación Javascript y una vez instalado el mod ScriptCraft, puedes añadir tus propios Mods añadiendo archivos Javascript (. js) en un directorio.
-
Si eres nuevo programando y quieres empezar con el modding de Minecraft, entonces Empieza aquí.
-
Si ya has usado Scratch, has recibido algunas sesiones de CoderDojo, o ya conoces Javascript, entonces Empieza aquí.
-
Mira algunos ejemplos de lo que puedes hacer con ScriptCraft.
Este es un mod simple en un archivo llamado greet.js en la carpeta scriptcraft/plugins...
exports.saludo = function( jugador ) {
jugador.sendMessage('Hola ' + jugador.name );
};
En la consola de comandos del juego escribe...
/js greet(self)... para ver el saludo. Todo lo que puedes hacer con la API de CraftBukkit en Java, puedes hacerlo usando ScriptCraft en Javascript.
ScriptCraft es un plugin para servidores Minecraft que permite a operadores,
administradores y creadores de plugins personalizar el juego usando javascript.
ScriptCraft te facilita crear tus propios mods. Los mods
pueden escribirse en javascript se puede usar toda la API de Bukkit. El mod
ScriptCraft también permite usar comandos javascript en la consola de comandos. Para que aparezca la consola de comandos presiona la tecla t
y escribe /js
seguido de una instrucción javascript. Por ejemplo. /js 1+1
devolverá
2.
Scriptcraft también incluye muchos objetos y funciones para construir y
hacer modding fácilmente usando javascript.
El objeto Javascript Drone
incluido con ScriptCraft
bundled with ScriptCraft proporciona una forma fácil de construir a escala en
Mira en el archivo adjunto cottage.js un ejemplo de como
puedes usar el plugin Drone para crear nuevas contrucciones en Minecraft.
Necesitas tener instalada las versiones 6 o 7 de Java en tu ordenador.
Chequea la versión escribiendo java -version
en una consola de comandos.
Necesitas instalar Bukkit en tu ordandor. Bukkit
es una versión de Minecraft (servidor) que facilita instalar
plugins y personalizar Minecraft. Puedes descargar el servidor CraftBukkit
aquí.
Si no quieres compilar desde las fuentes, puedes descargar el plugin compilado aquí y copiarlo en la carpeta de plugins de craftbukkit.
Una vez instalado, se crea automáticamente una nueva carpeta js-plugins en la misma carpeta que la carpeta plugins. Todos los ficheros en la carpeta js-plugins serán leídos automáticamente cuando arranque CraftBukkit.
- Solo los operadores pueden usar este plugin.* Puedes dar privilegios de
operador
a un jugador escribiendo 'op ' en la consola comandos del servidor o añadiendo ese 'nombre de usuario' a ops.txt en tu carpeta de craftbukkit.
Lanza CraftBukkit, arranca el cliente de Minecraft y crea una nueva conexión
de servidor. La IP será localhost
. Cuando estés conectado a tu servidor
bukkit y hayas comenzado a jugar, mira al nivel del suelo y escribe...
/js up().box('35:15', 4, 9, 1)
...Esto creará una estructura monolítica de 4 bloques de ancho por 9 bloques altura y un bloque de largo. Échale un vistazo al archivo src/main/javascript/drone/drone.js y mira lo que el drone de ScriptCraft puede hacer. Si estás interesado en personalizar minecraft más allá de crear nuevas construcciones, mira en [./homes/homes.js][homes] y [./chat/color.js][chatcolor] ejemplos de cómo crear un plugin javascript para Minecraft.
Un mod Javascript para Minecraft es un archivo fuente javascript (.js) localizado en la carpeta craftbukkit/js-plugins. Todos los archivos (.js) de esa carpeta serán leídos automáticamente cuando arranque el servidor craftbukkit. Para empezar a crear tu propio mod, primero revisa algunos de los mods ya existentes las carpetas homes, chat, arrows y signs. Probablemente el mod más simple para empezar es chat/color.js.
Como la API de Bukkit API es abierta, toda la API de Bukkit es accesible desde javascript una vez que se carga el puglin ScriptCraft. Aquí tenemos un par de útiles objetos Java accesibles via javascript en el plugin ScriptCraft de Bukkit...
-
__plugin
- el propio plugin ScriptCraft. Este es un punto de partida útil para acceder a otros objetos Bukkit. El objeto__plugin
es del tipo org.bukkit.plugin.java.JavaPlugin y todas sus propiedades y métodos están accesibles. Por ejemplo...js __plugin.server.motd
devuelve el mensaje del día del servidor(javascript es más conciso que el código Java equivalente: __plugin.getServer().getMotd() ). -
server
- El nivel más alto del objeto org.bukkit.Server. Revisa como referencia la documentación de la API de Bukkit. -
self
- El player/command-block o la consola de servidor del operador que invoca el comando/js
. Nuevamente, este es un buen punto para adentrarnos en la API de Bukkit.
Si quisieras contribuir al código fuente y/o la documentación por favor, lee contributing.md
ScriptCraft es un plugin de Bukkit y usa la configuración de la API de Bukkit. Al inicio, ScriptCraft creará un archivo config.yml in la carpeta plugins/scriptcraft/. Este archivo luce así...
extract-js:
plugins: true
modules: true
lib: true
Este archivo permite a los administradores de scriptcraft permitir o no la
re-descompresión de las carpetas modules
, plugins
y lib
cuando se
despliega una nueva versión de scriptcraft. Es altamente recomendable que la
carpeta lib
siempre esté en true para tener la última versión del núcleo del
código de scriptcraft. Las carpetas de módulos y plugins son opcionales y no forman
parte del núcleo de scriptcraft.
ScriptCraft tiene su propio sitio web con información adicional.
- Para empezar a usar ScriptCraft para aprender javascript, lee la Guía de programación en Minecraft para jóvenes.
- La documentación de la API de ScriptCraft.
- Para profundizar en la creación de su propio mod minecraft para su uso por otros, lee Creando un Mod de Minecraft completo en Javascript.
- Échale un vistazo a algunos ejemplos
Puedes encontrar más información sobre ScriptCraft en mi blog.