MLPSkyblock is a Skyblock plugin designed for the MyLittlePlanet Minecraft server
Built on top of AdvancedSlimePaper and backed by MongoDB with Morphia for database integration, MLPSkyblock ensures efficient and robust world management.
-
AdvancedSlimePaper (4.0.0): The server jar and plugin which allows us to manage worlds efficiently, including loading and saving player-specific worlds to the database.
-
MongoDB & Morphia (Database): Reliable database backend for storing and retrieving world data efficiently, used in combination with object mapping.
-
RabbitMQ: For distributed event handling, allowing the plugin to communicate across different components and services.
Worlds in this system operate based on the concept of start world templates. These serve as the foundation for creating individualized player worlds and must be prepared in advance. You can now define and use multiple start worlds, enabling diverse world templates within the same system.
The Skyblock plugin automates:
-
World Creation: New player worlds are created by cloning the selected start world template.
-
World Loading: Pre-existing player worlds are directly loaded from the database.
Follow these steps to prepare your environment and configure your start worlds templates:
Before starting, ensure you have the following infrastructure ready:
-
MongoDB Database:
- A working MongoDB database is required to store and retrieve world data.
- Ensure you have the database credentials and connection URI properly configured.
-
AdvancedSlimePaper Server:
- Ensure your server is running the AdvancedSlimePaper 4.0.0 JAR as the server jar.
-
Slime World Plugin Setup:
- Download and install the Slime World Plugin 4.0.0.
-
RabbitMQ Server:
- A RabbitMQ server is required for distributed event handling. Ensure it is running and accessible.
-
Proper User Access:
- Ensure MongoDB users have the required permissions to read/write for the relevant database and collections.
-
WorldEdit Plugin (Optional but recommended):
- To prepare and modify the start world template schematics.
- Configure the plugin to use MongoDB as the storage source by modifying the configuration files appropriately.
-
For each start world template, use the
/swp createcommand to create an empty world with a unique name. -
Using plugins like WorldEdit, add and configure the desired schematics to these worlds.
- Update the
worlds.ymlfile in the SlimeWorldManager plugin. Define the properties for each start world template, such as spawn points, environment, and other settings. These properties will automatically propagate to all subsequent player worlds generated from these templates.
-
Clone each prepared start world template into the database under its unique name defined in
world_manager.ymlby running:/swp clone-world <created-world-name> <start-world-name> mongodb
-
Some settings must be changed in the paper-world.yml configuration file for the best experience.
max-growth-height: bamboo: max: 0 min: 0 cactus: 0 reeds: 0 tick-rates: mob-spawner: -1