How do I disable Nether and The End?

I did some searching for how you are supposed to disable Nether and The End from loading but just found old topics from 2015 that didn’t help.

I have tried going into config/sponge/worlds/minecraft/nether/dimenson.conf and config/sponge/worlds/minecraft/nether/DIM-1/dimenson.conf and set world-enabled=false but the worlds are still getting loaded.

It works if I go into server.properties and set allow-nether=false, but that prevents me from manually loading worlds in my plugin, which I need to do.

I know I can create a plugin that just disables the portals, but I think that is a silly workaround and I would like the Nether and The End to not be in memory at all.

So, does anyone know how to disable those? It’s easy in Bukkit/Spigot but I’m unsure how to do it in Sponge.

EDIT;

The Nether and The End can be unloaded when the server is already running by calling server.unloadWorld(server.getWorld("DIM-1").get()).

However, calling server.getWorld("DIM-1").get().getProperties().setEnabled(false) or doing the equivalent in the config files manually seems to be completely ignored by Sponge when the server starts.

There seems to be no way to prevent Sponge from loading and generating the worlds for the Nether and The End when the server starts, without also disabling multi-world support completely.

1 Like

https://docs.spongepowered.org/stable/en/server/getting-started/configuration/sponge-conf.html?highlight=conf

# A list of all detected portal agents used in this world.
        # In order to override, change the target world name to any other valid world.
        # Note: If world is not found, it will fallback to default.
        portal-agents {
            "minecraft:default_nether"=DIM-1
            "minecraft:default_the_end"=DIM1
        }

I assume you’re trying to say I should delete those two entries? Deleting those two entries does not appear to stop the Nether and The End from loading.

As an option…

"minecraft:default_nether"=world
"minecraft:default_the_end"=world

Or another world.

I tried just now to set that in all these configs: config/sponge/global.conf, config/sponge/worlds/minecraft/overworld/dimenson.conf and config/sponge/worlds/minecraft/overworld/world/world.conf and made sure DIM-1 and DIM1 were deleted in world but it is still loading the Nether and The End when I start the server.

Is there any official documentation about whether it is even possible to disable loading these worlds?

I misunderstood you. It just overrides the assignment.

I’m also having this issue. Any response is highly appreciated.

1 Like

just unload them? /world unload DIM-1 for instance.

/world doesn’t seem to be a command built-in to Sponge.

However, calling server.unloadWorld(server.getWorld("DIM-1").get()) does seem to unload the world. The problem is that the world will still get generated and loaded when the server starts, even if also calling server.getWorld("DIM-1").get().getProperties().setEnabled(false). Sponge seems to completely ignore that the Nether/The End is disabled in the config files.

Does anyone know if there is an open issue about this in SpongeCommon already, or should I go ahead and open one?

http://nucleuspowered.org/docs/modules/world.html

Unloading a world doesn’t prevent it from being loaded again. Ideally, you should disable the world; the other approaches are supposed to work. If you do file an issue, say that disabling a world doesn’t work, not that unloading a world doesn’t prevent it from being disabled.

I clarified in an edit to the reply before that I did disable the world.

I also stated in the topic that I’ve also done the same in all the config files.

But Sponge seems to be ignoring the config files and still loads the worlds when the server starts.