Skip to content
Aleksi Lassila edited this page Nov 3, 2020 · 6 revisions

How does Islands work?

The Basics

The plugin creates world called islandsSource and searches that world for biomes that are big enough for an island (The size of biome needed for it to be picked up can be configured in config.yml using geneation.minBiomeSize). Once it finds one, it saves the location of that biome. After that, players can generate islands with that specific biome. These islands are all saved in a specific world, that can be set in config.yml (value of islandsWorldName). Islands generate in a grid layout where each island has area of 100x100 by default:

0 3 8
1 2 7
4 5 6
9 ...

Files

islands.yml keeps tracks of all the islands: You can find each island's position, name and all the other data there. Each island is assigned an "islandId", that is formed based on the island's position in above grid. For example, islandId "2x2" means that the island's position in the grid above is (2, 2). In this case, the island would be the number 6 above.

Generally you don't need to touch this file, however, to set island as default spawn island, you want to add isSpawn: true under that island.

biomeCache.yml holds a list of biome coordinates. Each coordinate points to corresponding biome in islandsSource world. This file gets overwritten whenever new islandsSource world gets generated (=the source seed changes).

If you have WorldEdit installed, you will also find a folder called shapes and saves next to other .ymls. In shapes you can store your .schematic files that are used as island shapes. Read more about custom island shapes here. saves is used to store islands you save as schematic files.

You can change the biome search area in config.yml to increase the variety of available biomes. To combat increasing server start time, you can lower generation.maxVariationsPerBiome and blacklist unwanted biomes.

You can read more about available configuration in config.yml