-
Notifications
You must be signed in to change notification settings - Fork 0
[Feature Request] World Formats #2
Description
What's your suggestion?
World Formats. This allows us to save worlds to a database, our own world format or to the native Minecraft world format.
Why do you feel this should be added?
Exposing multiple ways to save a Minecraft world allows us to either save disk space or paves a way to convenience. Those who are server providers, such as MCProHosting, would most definitely take advantage of our world saving database feature, since it would mean files would not have to be written to a disk but instead a remote database.
The worlds can be saved in the following formats:
- Through a database
- In Slimeworld format (which removes tons of metadata. Fit for minigames, not for survival worlds)
- Traditional Minecraft format
Of course, there would have to be a tool or command to convert the world to whatever format is desired, at any time. I suspect making this tool will be the most difficult part.
Do you have a rough idea of how this should be implemented? If so, how?
When a plugin API is made, the world can be exposed as an interface. The interface should contain an Enum property defining which type the world is, along with other properties that the Minecraft protocol defines. Finally, which world format the world should be saved in will be determined by the server:world_type config setting, which is an enum defined as such:
public enum WorldFormat {
Database,
Slimeworld,
Traditional
}The IWorld interface could look something like this:
public interface IWorld {
WorldFormat WorldFormat;
int Dimension;
string WorldName;
Guid WorldId;
// ...among other properties and methods
}I expect the final product to look very different, but the concept is here.
What gave you this idea? Was it related to a certain problem or inconvenience?
Multiple inconveniences when transferring worlds across devices.
Have any alternatives been considered?
N/A
Personal notes
Linked to #1.