Giter Site home page Giter Site logo

Comments (6)

ryantheleach avatar ryantheleach commented on August 24, 2024

If this is to have a creative world, and a survival world in the same server, wouldn't it make more sense to either remember the last used gametype per world, or going further and having the option to keep seperate userdata/inventory/falldamage/statistics per universe?

I've used multiverses gametype enforcing before and both allowing users to have an override permission allowing them to bring creative from creative to survival, or not having the override permission and suddenly dying as they teleport to their last known flying position in a survival world (due to being in creative in the survival world before going to the creative world) seem annoying.

from sponge.

Zidane avatar Zidane commented on August 24, 2024

We won't be keeping inventory/etc isolated per world. Remember we want to try and keep things mostly Vanilla gameplay.

With that said, having gamemode in the builder does complicate things. Namely cause it does break vanilla gameplay doesn't it.

@SpongePowered/developers thoughts?

from sponge.

ryantheleach avatar ryantheleach commented on August 24, 2024

If I understand correctly from reading the spongedocs, in sponge a world is a collection of dimensions, unlike Bukkit which relocated the dimensions into their own worlds?

So cross-dimension same world teleports is the "vanilla" behaviour and thus is why gamemode is preserved.

When is the players gamemode set in vanilla (without command intervention)? Is it a once off thing that gets remembered and maintained?

As far as I can see, the only difference a worlds gamemode makes, is what players who data is first generated gets assigned, changing the gamemode of the world (and not player) would just result in the player maintaining their original gamemode.

Also in singleplayer when a player changes worlds, it then loads the playerdata associated with that world. So bringing true multi-world support into servers means that inventories and everything would be separate by default? players teleport across dimensions, but join and leave worlds.

Don't make the same decisions that Bukkit did because it's what people are used to, just make it easy for people to restore that behaviour using the API.

from sponge.

Zidane avatar Zidane commented on August 24, 2024

@ryantheleach

In Sponge, each world has its own dimension and are treated as true worlds. The only reason why world and DIM1/-1 seem "linked" is cause of their portal targets.

As I mentioned above, we have to mostly keep vanilla functionality:

  • We won't isolate inventory per world. Plugin can do this.
  • Gamemode is tricky. In vanilla currently, you keep your gamemode.

So its probably better that we don't interfere here. If a plugin wants to isolate gamemode per world, we should let them do so.

from sponge.

gabizou avatar gabizou commented on August 24, 2024

Considering this is partially handled by data, during the event being thrown for someone transferring between worlds, this shouldn't be much of an issue from the implementation side.

That being said, I do believe it should be handled as vanilla deems fit, and plugins interacting with the player (setting game mode in the event) will take priority for obvious reasons.

from sponge.

Zidane avatar Zidane commented on August 24, 2024

Closing this as we follow what Vanilla does. Plugins can easily change the GameMode during events. I'll be removing it from the WorldBuilder.

from sponge.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.