Vamos a ver que es un World
(Mundo) en Minecraft Spigot, como crearlos, y como manipularlos.
¿Qué es un World
?
Un World
es una clase que representa un mundo dentro del juego Minecraft. Su objeto contiene toda la información de un mundo, y métodos para poder manipularlo.
En Spigot no podemos instanciar un mundo. Podemos crear o cargar un mundo, u obtener un mundo que ya esté cargado.
¿Cómo crear un mundo en Minecraft Spigot?
Para empezar, necesitaremos crear e instanciar un WorldCreator
. A este objeto le podemos pasar los diferentes parámetros de un mundo. Una vez tengamos nuestro mundo configurado, habrá que crear el mundo con Bukkit.createWorld()
. Esto lo podemos ejecutar en el onEnable
, por ejemplo:
@Override
public void onEnable() {
// ...
WorldCreator wc = new WorldCreator("nuevomundo");
wc.generateStructures(false);
Bukkit.createWorld(wc);
}
Si ahora iniciamos el juego y nos teletransportamos, veremos nuestro nuevo mundo!
¿Cómo cargar un mundo en Minecraft Spigot?
Si queremos cargar un mundo ya existente con nuestro plugin, lo haremos creando e instanciando un WorldCreator
. Es importante que el nombre que le pasemos al constructor sea el del mundo que queremos cargar. A este objeto le podemos pasar los diferentes parámetros de un mundo. Una vez tengamos nuestro mundo configurado, habrá que cargar el mundo con Bukkit.createWorld()
. Esto lo podemos ejecutar en el onEnable
, por ejemplo:
@Override
public void onEnable() {
// ...
WorldCreator wc = new WorldCreator("mundoexistente");
Bukkit.createWorld(wc);
}
Si ahora iniciamos el juego y nos teletransportamos, veremos nuestro nuevo mundo!
¿Cómo obtener un mundo cargado?
Si nuestro mundo ya está cargado, conociendo el nombre de este es tan simple como llamar un método. Usaremos el método Bukkit.getWorld(nombre)
, que devolverá un World
:
@Override
public void onEnable() {
// ...
World mundo = Bukkit.getWorld("world");
}
Posibilidades con un mundo
Una vez tenemos la instancia de nuestro mundo, podemos llamar diferentes métodos que actualizarán el mundo. (Lista de métodos en la documentación de World
):
@Override
public void onEnable() {
// ...
World mundo = Bukkit.getWorld("world");
// Configurar el tiempo en el mundo
world.setTime(1000L);
// Habilita el PVP en el mundo
world.setPVP(true);
}