Building Dimension

Building Dimension

1.9k Downloads

Config and other suggestions

Ultimushadow opened this issue ยท 3 comments

commented

Hello, I tested out the mod and got some ideas of some features that might be nice if I get the mod working on my multiplayer server:

  • Option to turn the portal sound off when using /creative
  • Option for server ops to set a cooldown on /creative and /creative sync for non server ops (spamming the command causes quick loading/unloading)
  • Option for player to start at their survival position or their last creative position
  • Option to gate /creative to ops only
  • If /creative is ops only, option for non-ops invited into the creative dimension to be set to spectator by default rather than creative
  • Quick command to boot all players out of build dimension
  • Change sync to accept a defined coordinate region by default rather than chunks? But keep the functionality via /creative sync chunks 1-8 and /creative sync area x1 y1 z1 x2 y2 z2. Could also use worldedit logic to only replace air?
  • Ability for ops to sync from the creative dimension to the overworld via command (/creative syncoverworld?) and config to disable command
  • Ability for all players (or just server ops) already in creative in the overworld to not be set to survival when returning to the overworld
  • I noticed that /creative sync requires the player to go to the overworld and back to reload the chunks. Perhaps the mod can load the chunks in the overworld without the player having to travel there themselves? I can't tell if the player is able to use the sync command in the overworld either

Of course, all of these are just ideas, and I understand quite a few of them may be technically challenging as the mod is not set up to accommodate them (such as syncing by coordinate region) so no pressure for follow through. Except maybe for that portal sound it is SO loud lmao

commented

Hey, thank you a lot for the suggestions, here is a quick answer for everything so far :

  • Option to turn the portal sound off when using /creative

not really sure why it has sound, I'll look into it

  • Option for server ops to set a cooldown on /creative and /creative sync for non server ops (spamming the command causes quick loading/unloading)

Good option and will be added for sure i just didn't think about it.

  • Option for player to start at their survival position or their last creative position

Player are returned to their last survival position, this prevent them from using the creative dimension to move to another place and also from switching back to floating in the air / being inside a block.

  • Option to gate /creative to ops only

Should be possible and pretty easy

  • If /creative is ops only, option for non-ops invited into the creative dimension to be set to spectator by default rather than creative

Should be possible and pretty easy

  • Quick command to boot all players out of build dimension

Should be possible and pretty easy

  • Change sync to accept a defined coordinate region by default rather than chunks? But keep the functionality via /creative sync chunks 1-8 and /creative sync area x1 y1 z1 x2 y2 z2. Could also use worldedit logic to only replace air?

I dont think i'll add this unless not until i figure out a better way to sync chunks. Right now, when syncing chunks I just go through every blocks and copy them to the chunks in the creative dimension and then go again for water, lights, and more (post-processing).
If i am able to clone chunks directly without going through every block this could be a very good change.

  • Ability for ops to sync from the creative dimension to the overworld via command (/creative syncoverworld?) and config to disable command

Should be possible and pretty easy

  • Ability for all players (or just server ops) already in creative in the overworld to not be set to survival when returning to the overworld

I will probably save the Gamemode the player was before using /creative and return them to that gamemode (like the inventories)

  • I noticed that /creative sync requires the player to go to the overworld and back to reload the chunks. Perhaps the mod can load the chunks in the overworld without the player having to travel there themselves? I can't tell if the player is able to use the sync command in the overworld either

This is should be possible but i would need to change a bit some things as I am getting the overworld from the player, something like a dimension key.
The exact reason why it doesn't seems to work is because it's probably copying the creative to the creative, which results in nothing.
From example I would love to add the same creative dimension but for the nether.
Then I would need to know if the player is in the nether or overworld base on the dimension if it's the real overworld or the creative overworld which should be easy.
I'll look into it but should be possible.

commented

It looks like you approve of most of these then? I really appreciate you taking the time to read through them ๐Ÿ™๐Ÿป

For the player position one, I just figured that it might be handy for the player to start in the creative dimension at their last location in the dimension or the respective location where their survival character is in the overworld. Looking back at the command though, it looks like it can be used to teleport the player within the dimension anyways, so this feature would be semi redundant as you could just tp to another location within the creative dimension

The coordinates system did seem like the most technically challenging of the bunch, and was more of a moonshot in case you thought it sounded like a viable idea ๐Ÿ˜… I believe it would be a little more user friendly and more precise. If even the chunk syncing is intensive though, I can definitely see why that's on the back burner, is there a way for you to just copy the region file directly rather than processing all the data within it? Or is that already what you're doing?

I remember seeing another mod that allowed for easy dimension checks so the last point is definitely possible, at that point it would just take some logic right? I'm much more experienced with datapacks and configs than I am with mods themselves so things like chunk loading specifically I'm only mostly sure can be done ๐Ÿ˜…

commented

is there a way for you to just copy the region file directly rather than processing all the data within it? Or is that already what you're doing?

This should be possible, but I wont do it since a lot of things could break it such as a player loading the chunks, any mod that chunk load or even a chunk loaded via a command.
I need to look through even more command and see if i can do it better but i dont really know if it's possible.

I am pretty much done with all the suggestion that i found possible.
you can find them in the dev branch rn since i haven't tested it on a "real" server and a "real" minecraft client

The one about Quick command to boot all players out of build dimension, I dont really see any use as usually if they are in the dimension they must have the permission to enter it. If i had it adding a whitelist would be better probably but I dont see many uses for it and would probably look for the other things on my list to do instead.

The next things on my list are ;

  • better sync (doing it with chunkRegions or even Chunks
  • remove the portal sound in a better way (since i am checking the StackTrace to see if it's coming from my mod and probably better to check if the source / destination world is mine then cancel the sound)
  • nicer code for saving the player data when switching from one dimension to another
  • adding dynamic dimensions to make it possible to work with the nether and later with any dimension from any mod
  • and make a nice icon for the mod and better README for the mod on curseforge.