Jeshuakrc / Underilla

8 stars 3 forks source link

Underilla for Spigot

Underilla is a Bukkit / Spigot based plugin for Minecraft Servers to 'merge' existing custom Minecraft word surfaces and vanilla undergrounds. It works by allowing the vanilla generation engine create chunks as normal, then intercepting the generator and forcing the surface of the original world, which works as a reference. In oder worlds, Underilla generates a brand-new world with vanilla undergrounds, but cloning the surface of an already existing world.

It's original purpose is adding vanilla caves to custom WorldPainter worlds, but it would perfectly work for any pre-generated world.

Main features

Getting started

Perquisites

Single player or non-Bukkit

Underilla is currently only implemented as a Spigot plugin, so it runs only on Spigot servers. If you have a Vanilla, Forge or non Bukkit-based server; or looking for a single player experience; you may use a local Spigot server to pre-generate a fully-merged world and then copy the resulting world folder to your actual saves folder.

Installation

  1. Set up your Spigot server.
  2. Download Underilla's .jar.
  3. Place Underilla's .jar file into the ./plugins directory of your server. Create the folder if it doesn't exist already.
  4. Into the ./plugins folder, create a new folder called Underilla and place a config.yml file in it. You may get the file from this repo.
  5. Open the bukkit.ymlfile in your server's root and add the following lines on top:
    worlds:
     world:
       generator: Underilla

    This will tell Spigot to use Underilla's chunk generator.

  6. In your server's root, create a new folder called world_base.
  7. From the folder of your reference world, copy the region folder, and paste it into the world_base folder you just created.
  8. If existing, delete the world folder fom your server's root.
  9. (Optional) Open the server.properties file in your server's root, and tweak the level-seed property. This has a direct impact on the generated underground.
  10. Run the server. You'll notice Underilla generating merged chunks during world creation.

Important: Make sure your server's main world is still set to world. Aside from this plugin, the server itself doesn't need to "know" about the reference world.

Pregenerate

Underilla is significantly slower than the vanilla generator, as it doesn't relly on noise generation but on reading the reference world's region nbt files and analyzing its patterns to 'clone' its surface to a vanilla world. So, if your world is intended for heavy duty in a big server. It's recommended to pre-generate the whole reference world area with a chunk generator plugin, such as Chunky. I'm planning adding a build-in pre-generation system in the future.

Known issues

WorldPainter considerations

If you're going to plug your custom WorldPainter world into Underilla, consider before exporting:

Build

Create working jar with ./gradlew buildDependents