-
Notifications
You must be signed in to change notification settings - Fork 6
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
World Properties has a null UUID #9
Comments
Oh, so this still happens with the latest version released today? That's unfortunate... It had a change that had the potential to fix this issue, but I guess no such luck then :/ So basically yes, I have seen this before, and it's caused by Sponge not liking something that JED is doing. |
Seeing this also, with JED 1.5.4. It looks like sponge's world importing code is not playing nice with the JED dimension types. Here's things I noticed while trying to resolve this: First ... Without sponge, dimensions get created as ./world/DIM8 ./world/DIM9 etc. which makes perfect sense. But with sponge, the application all of a sudden insists on finding dimensions in ./world/[dimension name] where [dimension name] seems to be pulled from the level.dat file in that same dimension folder. i.e. the name of the folder must then match the name of the level (and is case sensitive). Second, looking at level_sponge.dat, we see dimensionType listed as "justenoughdimensions:dimXX". But at launch time, when the sponge world importing code runs, we see this:
So looks like sponge is not accepting the worlds due to the dimension type. Grtz, |
I actually looked briefly into what Sponge is doing related to this, and the null world properties comes from the fact that Sponge has their own WorldProperties system, basically replacing the vanilla WorldInfo object for each world. But when JED uses WorldInfo overrides, it then ends up overriding Sponge's WorldProperties, and then stuff breaks. This means that the JED WorldInfo overrides are simply not compatible with Sponge. I would have to make a separate version of JED for Sponge, using their WorldProperties system (which is actually something I might do, if I ever get the time to look into it) As to the dimension save directories... yeah, I believe Sponge uses a different directory layout. I haven't really ever used Sponge except when I quickly tested it with JED a while back, so I don't know/remember exactly how it goes, but based on what you said, I guess it's simply world/dimname/ or something like that. |
Thanks, it all makes a lot more sense now. I'm not sure making a separate version just for sponge is warranted. One of the best things about JED and Ender Utilities is exactly that you get Dimensions, portals, etc directly in Forge without the need for sponge. Good news though. There is a way you can make JED and Sponge work together. Here's how I did it:
When you run the server and log in, you will see that everything works just as before. One noteworthy side effect though.. If you look at the server startup log or console, you may see that Sponge prepares all dimensions at startup by default. There are flags you can set to prevent this. These are set in /config/sponge/worlds/minecraft/overworld/DIMxx/world.conf:
So.. Long story short, one way to align JED with Sponge (not saying you should) is using minecraft:overworld as dimension type, somehow match Sponge's dimensionID with yours, and align the levelName with the ./world/Dimxx directory name. Or you could also just document it.. It's not so hard for ppl to set up once you know how. Grtz, |
Hmm, interesting. How does it work when it comes to any per-dimension customizations though? Did you have WorldInfo overrides enabled in the above case? I'm guessing not since that breaks stuff enough that it would crash or prevent teleporting to such dimensions, right? So without WorldInfo overrides JED can't really do any customization in the dimension, you can only select one of the Overworld, Nether or End type WorldProviders, and that's it. You can't use separate seeds, or give any generatorOptions or JED-specific options etc. So in my opinion, in general I wouldn't exactly recommend using JED when Sponge is present, because even if it is possible to some extent as you indicated, it seems to involve lots of manual steps... It's nice to know it can be done but... I'll still probably look into making a Sponge-specific version/plugin at some point, if only I find the free time and motivation to do so :) |
No WorldInfo overrides. Indeed with WorldInfo Overrides enabled, teleporting causes a very ugly crash. Hmm you're right of course, the generator has reverted to default. Setting the overworld dimension type basically sidelines JED which is not the best answer. Maybe some more digging will yield a solution. Unlike JED, the dimension registration error does not pop for MoCreatures (which also registers a dimension of its own), so I'm going to rattle both and hope something falls out, and until then set BOP as system-wide default generator. |
Hi, I wish I knew Java to help out, but that is one language I've never taken the time to learn.
Thanks! |
Nope, no Sponge version yet. However I started on some refactoring related to how/where I'm storing my custom properties, and I have an idea that might make it Sponge-compatible, but I'll have to take another look at how Sponge does some of their stuff. But I'm pretty sure at least the crashes should go away, but whether or not some of the functionality will be intact when Sponge is present, that I'm not sure of yet. |
Gotcha. Welp I'll alpha / beta test for you for sure. Out of the different world/dimension generators I found, JED was the best, easiest to use and understand. I'm only using Sponge for Luckperms and griefprevention because I couldn't find any mods that worked as well as them. |
Yes -- after issuing those commands you should be able to open up the generated dimension's .dat files and modify the specified values. I do the same thing, albeit far more basic. Looks like we're in the exact same boat wrt LuckPerms and grief.. Sponge really does add a lot of overhead :( working with pure JED is much faster and memory efficient. It all works, but boy does it hurt. |
@Dave-Driesen Hmm... I did the JED dimbuilder commands, then teleported to the world so it would start getting created, of course errored out like we're used to. However editing the level.dat file, all my settings, seed, gametype / options etc were wrong. |
Best indeed to generate the dimension without sponge enabled.. I do this on a separate (non-sponge) server but it does not need to be separate if you disable the mod etc. Come to think of it, indeed we discussed earlier in the thread: while this is a reversible method to allow your sponge server to load the dimensions and to freely teleport around in them, JED will not be able to set dimension-specific parameters on the sponge-enabled server. During import (at startup), sponge disregards those and overrides them with its own values.. Don't recall where those originate or how to gimp them. (I used EssentialCmds a lot but that is now - you guessed it - discontinued!) For generator, I did work around this by simply modifying the global generator (which in this case was simply BoP) but obviously this is inferior to dimension-specific generators. Looking at the complexity of your dimbuilder script, you'll have a much harder time reaching a satisfactory solution in that respect. ProjectWorlds was a dead end yes, but mostly because it would introduce yet another sponge dependency, and there was a requirement to allow backing out of sponge at any time and revert to pure JED. It also did involve a lot of manual steps in editing the .dat files. |
@Dave-Driesen |
If any of you use Discord, and would like to help me test the changes I'm making to JED that should hopefully help with Sponge-compatibility, you can hop on to my Discord server here: https://discord.gg/2FgywHj |
@maruohon Never used Discord before, but went ahead and joined that link. Discord reminds me of Slack and the old IRC days ... Anyways I'm there and in #Jed channel. |
@Fboyd P.S. The working config is on 1.10.2 running spongeforge-1.10.2-2281-5.2.0-BETA-2597 which is not current but had a high compatibility at the time of deployment. |
@Dave-Driesen I have now made test builds of the next release available here: https://masa.dy.fi/tmp/minecraft/jed/1.6.0-dev/ If you are still using JED, and in particular under Sponge, then I'd appreciate it if you give it a try. If there are no issues, then I'll upload that version as the official 1.6.0 in the coming days. Note that there are also a few configuration key changes/renames in that version, these should be all of them (note also the capitalization changes):
So most notably, the old Also, when running under Sponge, there is one important difference: the |
Thanks -- I have tested the 1.10.2 version (justenoughdimensions-1.10.2-1.6.0-dev.20171107.172358.jar) and my impression is, this does what I want it to do without issues. Will test a bit further, I also do not use most of these options :) |
All my comments have been on the Discord server. But for everyone to see, I've had no issues with the latest update that @maruohon has made. Everything is working wonderfully :-) |
Seems to work with spongeforge 1.10.2-2477 Issues ran into using latest dev 1.6.0 builds
Using this config on 1.5.4 https://pastebin.com/N3nSSmTp Referenced on discord for discussion |
Hello,
i've encountered an issue creating a new dimension.
I took this example:
Here is an example how you would create a new Biomes O' Plenty dimension as dimension ID 6, with a world seed "Super Seed":
/jed dimbuilder clear (optional, depends on if you have older settings in memory that you don't want to keep)
/jed dimbuilder dimtype 6 tmpname _dim6 false WorldProviderSurfaceJED
/jed dimbuilder set name Real Name Dim 6
/jed dimbuilder set-onetime generatorName BIOMESOP
/jed dimbuilder set-onetime RandomSeed Super Seed
/jed dimbuilder create-as 6 (this will save the settings to the dimensions.json and register the dimension as ID 6)
/tpj 6 (teleports you to the spawn point of the newly created dimension 6)
and everything seems to work until the teleport command.
Trying to teleport to the new dimension results in an error.
I get "Error occured while executing command: World Properties has a null UUID".
Does this sound familiar to you?
Some info to our server: https://gist.github.com/aaronegger/02bd341a85a8573076d69e7a8684bb90
The text was updated successfully, but these errors were encountered: