New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Save world spawn to NBT instead of world.ini #2702
Comments
This has been discussed before, but we choose to stay with ini instead. It's hard to change the settings otherwise. |
No, it's not. You just have to |
Yeah.. except that the world.ini has 1000 times more things that can be configured. |
did you think of both? if the server sees a change it asks which it should use |
@Schwertspize this would most probably collide @NiLSPACE That's not the point. The point is, that if you for example import a world, most of the time, the spawn point is wrong, because it isn't loaded properly, and ressetting it is a pain in the arse for normal users |
How about, if the server sees an nbt file it exports the settings it can use from that, and puts it in the settings.ini. After that it renames the file to |
Since we are trying to recreate Vanilla behavior, it would be the best to stick to the original level file and load all loadable settings from there. |
I disagree. If someone doesn't know enough about the server that he just pastes his world in the root folder and enable the world then it wouldn't hurt to use the Also, how the hell do you want the admin's who like experimenting with world settings to be able to change the settings? You'd have to download a complete new program to open nbt files. Changing those means it isn't a complete vanilla file as well, since Cuberite has allot more options. Don't tell me you want to create a webadmin page or commands where you can change all the options? Because I've tried. After a week it was outdated again. It's probably the most outdated page in the whole Core plugin by now. We're not completely vanilla, and we shouldn't be. We try to pick the best options we have, and currently that isn't using the nbt file as a settings file if you'd ask me. |
I don't want to store the whole settings file (read the topic) @cuberite/core-team anyone else having another opinion? |
Whoops, just noticed that the title isn't about the whole settings, but only the spawn point, sorry about that. But I still think it makes sense to just extract those values and put them in the |
I'd prefer to keep the spawn location in world.ini, but with the following changes in logic:
This will allow both importing world from vanilla and exporting it back to vanilla, while keeping the format easy to edit by regular users and requiring minimal changes to the code. |
That sounds like the best solution. Some people might be confused when they manually change the spawn coordinates, but that will most likely be really rare. |
When the spawn coords are changed manually in world.ini, they will get placed into level.dat upon the next start of the server. The only confusion might arise if someone changes the spawn coords in the level.dat file, those will get replaced, true. |
Speaking as an user, duplication of settings is pretty high on the omg, what were they thinking list. On 3 Dec 2015, at 12:06, "Mattes D" notifications@github.com wrote:
|
I think the options are:
|
Out of those options, (4) seems the most favorable to me, and that's what I've suggested above. While the world is used by Cuberite, external tools are unlikely to be used for setting the spawn. The server could, upon startup, check both places and if they differ, issue a warning with a guide on how to set the spawn properly. |
I wouldn't mind having to use NBTExplorer to edit configuration. It's essentially what everyone is used to. |
Sorry but I can't seem to understand why anyone ever wanted to change the world spawn by hand. Everyone (Literally) sets the world spawn via the |
I once had a little script (batch) that would generate the world, allow me to login and look at the world and once I stop the server removes the world files and remove the seed and world spawn coordinates. I used it to find a nice seed for my server. This would be hard to do when it's saved in the |
What does this have to do with this issue? |
It means |
Because changing the spawn point by hand in a config file is the most unintuitive way and the most uncommon way. I suppose there is no reason to keep this behavior since we are the only server doing it this way. |
But if everyone uses |
Because the spawn coords on every other server are saved from and to the |
I guess that's true, but it would mean we split up the configuration for a world to multiple files. I'd prefer to have it all in one file. What do the others think? |
There are may sections in the anvil format you could think of as configuration. And so is the spawn point. It is data. Nobody would think of blockdata as part of the configuration |
I'm still voting for the solution I proposed earlier (store in both, prefer world.ini). |
What would be the downsides of an NBT-only solution, considering the fact that |
You can't use NBT-only in a human-friendly way in the case when you want to configure everything before even starting the server. |
It's served Manilla Vinecraft perfectly well. And really, what is human friendly anyway? An INI is edited by Notepad, a NBT is edited by NBTExplorer. Both are programs, nothing is special about one or the other. You could really argue the latter is more friendly because it presents structured data, instead of text. |
But to edit NBT data you need a specific program, while most if not all OS's come with a text editor. |
How about this:
Now all requirements are met with minimum effort.
|
I doubt we'll ever be fully compatible with the rest of Minecraft as Cuberite and Minecraft simply don't share allot of settings. Cuberite has way more things that can be altered and tweaked. A command line parameter isn't really an option either once again because in Cuberite you can configure almost anything. Unless someone is willing to keep the parameter parser up-to-date 24/7. EDIT: I think it's best to simply get the coordinates out of the |
I am not suggesting we should configure everything via commandline parameters. Only for |
Yeah, I already updated my comment because I once again forgot that this is just for the spawnpoint. |
It really is a stretch to suggest that anyone familiar with Minecraft servers will be unwilling or incapable of using an editor which is required to modify world settings of pretty much all instances of Minecraft out there. World.ini should not exist; settings.ini, perhaps. |
I assume you mean the |
Indeed. |
Vanilla also saves it's spawn coords in anvil
The text was updated successfully, but these errors were encountered: