My Worlds
Version: 1.65 | Craftbukkit/Spigot: CB 1.5.1 R1.0 / CB 1.6.1 / CB 1.6.2
Description
This plugin features everything related to worlds. Features:
- Load, unload, copy, delete, save and create worlds (Read more...)
- Show information of worlds and list available chunk generators and worlds
- Set world game mode, difficulty, time, weather, autosaving, PvP
- Set world mob spawn restrictions
- Evacuate worlds to clear them from players
- Repair broken worlds to some extend
- Make portals cross-world, one-way, simple, no commands needed
- World-specific chat rooms using permissions
- Automatically load worlds when the server starts and persistent settings
- Extensive permission system, you can even set who can enter what world
- Can act as a tool for other plugins to teleport players from one world to the other
- Simple teleportation commands
- Set OP lists for specific worlds to make players operator on certain worlds
- Easy-to-remember commands: with aliases and chat-message help
- World inventory separation, merging and disabling (clear)
- Main world where players spawn can be configured
- Can set to re-spawn all players on the main world at all times
- Remember the last known position of a player on a world, and teleport him to it (Read more...)
- Auto-import the configuration from Multiverse (Read more...)
Separate inventories?
Yes, MyWorlds now supports per-world inventories. This feature is by default disabled, to enable it, set useWorldInventories to true in the config.yml. By default no worlds share inventories and player inventories are saved and loaded per world. To share inventories, use /world inventory merge followed up by the world names to merge. Split (or detach) gives all worlds specified a separate non-shared inventory. You can use /world inventory enable or disable to disable inventories for worlds. Enabled inventories will save data, disabled won't and result in all items being cleared.
Advice for having plugin-generated or flat worlds
The main world loads (and generates) before My Worlds enables. The Bukkit plugin architecture makes it impossible to load My Worlds before worlds load, since that causes some other incompatibilities. Anyway, if you want to have a 'main' world that is not a nether/the_end/overworld Vanilla world, you will have to do the following:
- Set up the main world to be anything you like (even if you don't use it on your server...you need one)
- Create a new world for the world type you want (flatworld, custom chunk generator, etc.)
- Stop the server and open up the config.yml of MyWorlds
- Change 'mainWorld' to your newly created custom world
- Start the server again and notice how new players join your custom world
- Optionally: disable the 'keep spawn in memory' for the 'server' main worlds (you are not using)
Just to avoid any confusions: it is impossible to let My Worlds alter or replace the main worlds generated by the server. If there is any fix to this or you know 'some way' to do it, let us know. We do consider halting the server enabling process asking for you to create the main worlds, after which enabling continues as usual. But for this, we need to disable the default main worlds from loading up.
Links
For more information:
For help with loading, creating, saving, unloading, etc. worlds.
Look at the changelog
Disclaimer (because things CAN go wrong)
I am not responsible for world damages done by this plugin or by certain commands this plugin performs. If you, for example, loaded 20 worlds and hosted it on a buggy computer with 30 players, odds are the server (and your computer) will crash and worlds become corrupted. Repair can fix worlds, but this does not recover damaged chunks, so don't think you are always covered. Also, never forget to make backups of your worlds, but I guess this is common sense... Just a warning for those that blame their own mistakes on the plugin developer :)
Metrics
This plugin sends server count statistics to MCStats.org. You can (globally) opt out in the PluginMetrics/config.yml file.
A development build of MyWorlds that works completely on 1.7.2 (with BKCommonLib 1.57 devbuild) is now available. Further updates might occur, but for now it is stable enough to allow you to login on the server and logout again without crashing everything or losing inventories.
I do recommend making a proper backup before using it. Any bug reports with the current devbuild are appreciated.
After using multiverse for a year now I think the time has come to return to my worlds. I am having tons of crashes ect with the multi inventory stuff from multiverse and enough is enough!
I wish to make the transfer from multiverse and multiverse inventories to this plugin. I have separate inventories for a few worlds from my main central world. I read the import page but I want to clarify, how can I be sure I can fully migrate to my worlds?
Additionally I have two worlds running clean room generator, does that migrate?
Any help you can provide is much appreciated, Thanks, baffu
This plugin it's very good! Why you don't make another way to do water portals that water is stationary? Is it possible every player have is own portal in nether like the system "Multiverse-NetherPortals" or vanilla ?
How much ram exactly does a world with keepSpawnLoaded occupy with no players inside? I am thinking of "renting" worlds on my server, and am in two minds about should I keep them loaded or not.
@Soulmare1 Ranks (is this another plugin? I assume experience) are stored in player data and player data can be configured to be shared between worlds. But in general, you will need something to link the ranks/experience between the worlds.
@der_Kernschatten You can split the inventories so that player information is wiped when they enter that world for the first time. That should resolve your problems.
Is it possible to have this clear inventory on teleport? This is not a per world, but per portal request. I understand inventory separation by world and have successfully implemented it with a SkyIsland world.
My desire: We have an old 1.6 and earlier are of the world that is highly developed. I would like portals to be able to go to new 1.7.2 areas (when a bukkit beta is available), but for all to have a fresh start and challenge.
PLEASE REPLY. In this, If i create a new world, Will the ranks reset in it and i have to create my own for that world? If not, Is their a way to do that??? -Soulmare REPLY PLEASE!
@cubby208
Ok, I'd really like to test this but my computers away for a few days could you tell me if this plugin can do these things, 1. Have multiple worlds 2. Teleport players with signs 3. Players have no commands they can use 4. Properly managed an attached nether and end just like vanilla (scale other side portal connection) 5. Works with world guard 6. Can create new worlds 7. Can import worlds 8. Can delete worlds 9. Can set default gamemode for a world (so everyone entering is made that mode) 10. Generation is as flawless as finally minecraft 11. You can set a main spawn in each world, but sleeping overrides it all 12. Supports mine art and boat portal travel
Thanks for wandering this!
@DerekZil The player must have visited that world at least once while MyWorlds was running for it to work, as it stores additional metadata per player to keep track of this. Also, the world's option must be turned on using
@emfjop By default portals only work on the main world, although MyWorlds does support additional nether worlds.
Required:
You can also disable portals in the config.yml (see: v1.66), then MyWorlds doesn't do anything with handling portals and the default system takes over. (only main world)
@TheWaze Tested it again to be certain, but inventories are split properly, also for new players. Tested it on the main world AND between other worlds. If you aren't using v1.66, update first, it may have to do with that. (?) (though I don't think I had to fix anything related to it)
@bergerkiller
When my players go through the portal to a different world, they are at the world's spawn and not the last position.
I tried that already. :(
Edit: Can you make a config file to disable all mobs if we put in '- ALL'.
How can i diable portals?? peopel cant go to the nether, it says no destination :S
Hey, i have some problems with My Worlds inventories. The "use world inventories" to true in the config. But then ill do /mw inventory split KitPvPNoSoup WazieeCraft. And i have 60 diamond blocks in my inv, when i've entered the KitPvPNoSoup i have same inventory... And it worked for a white ago.
@Chikaze Use /world denyspawn monster while being on the world in question.
I need help. how to completely disable monsters in the world?
@bergerkiller
Seems like it works fine. Tried logging out in various worlds and re-tested portals, all seems good. Thanks!
@DerekZil http:dev.bukkit.org/bukkit-plugins/my-worlds/pages/remember-last-player-position/
@Salamantis Portal update physics toggle I can add easily, and I will. I will look into your other issue, too, it might be related to my fix.
EDIT
Ok I am going to slightly redesign this system, as it is kind of overriding all player position information now. For servers not using this system players would suddenly end up spawning at a completely different position than they were, or not at all. I'll just add a MyWorlds position/rotation tag to be stored per world that stores this information.
EDIT2
See if the new build works better. I could reproduce what you mentioned and fixed it, and tested the last player position stuff once more to be sure it works.
Is there a way to make it so they go the the world where they last left off at by going in these portals? :/
@bergerkiller
I just tried your changes and everything works fine :) Thanks for taking a look and implementing the fixes.
One final thing I'd love having is an option to prevent My Worlds from messing with the portal update physics. I'm trying to get a world management plugin with the most vanilla-like experience, and the portal update logic is the only thing left to change (for now). I have a commit here if you'd like to use that, if not then that's fine and I'll keep using my own build.
Thanks once more!
EDIT:
I also seem to be experiencing a weird bug where the game will teleport me to the main world (in server.properties) at the coordinates of my last logout position (as in, it seems to not be saving the last world I was in, but only the coordinates) when I log in. This occurs when I log out in one of my nether or end worlds only. I'm not sure if this is intended behavior. If it is, is there a config setting I'm missing somewhere?
@Salamantis Wow thanks for the very insightful comment, and there WERE problems with the block detection when entering before, but I thought I fixed that by storing the player location in the PORTAL_ENTER event to make it more accurate. Clearly it is still a problem...
I will look into your fixes/changes and adapt them as best as possible. Checking neighboring blocks when entering is possible, though I do fear for performance issues, especially because of how often the PLAYER_MOVE event is fired when entering a water portal. I could also decide to simply split it up...
EDIT
Made some changes. Although your Face-based looping is a way, it does not cover all methods of entering. With a 3x3x3 box check it's a bit more accurate. It also doesn't create Block instances for each check, which makes it a bit more efficient.
https:github.com/bergerkiller/MyWorlds/commit/8e8d12d46c0c9ec59abc4351412f409a2fc3d13c
@TheWaze All of those commands, except perhaps /hub, are already available under the /world main command. See the commands section. I will not add uninsightful, although for you convenient, commands, as they will conflict with many other plugins. Dynamic command registration like /worldname is a very stupid idea as it allows for conflicts left and right. Everything is under one /world command for precisely this reason, with aliases /mw and /myworlds for any possible conflicts.