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.
Hi! Can you add like /set hub and then do /hub. And if i have created a world name PvP i can do /pvp to teleport to that world. And when you have do /setspawn in PvP you can do /spawn to come to the PvP spawn. And if i do /setspawn in My Main world i will come to Main World? And if i type /pvp and go /spawn i will come there you have set the spawn point in PvP? PLZ ADD!
@bergerkiller
That setting was correctly set while I was experiencing the issue.
The code runs for me in all cases (I even compiled the plugin with some debug output myself to make sure). Here's what I found:
This if statement does not get entered, because when I use the end portal, event.isCancelled() is true.
The event gets cancelled because for some reason, handlePortalEnter() doesn't recognize that it's an end portal, and the return statement here gets hit.
After comparing block locations, I saw that enterLoc.getBlock().getY() is one block higher than the actual end portal I jumped into, and therefore the material at that location is air.
Changing this line to the following has fixed the issue for me, but I still don't know why it's happening:
Versions (no other plugins installed during tests):
(I also have an unrelated fix here, because I was seeing mobs weren't going through portals most of the time. If you think this fix is good, I can submit a pull request :))
@Salamantis That logic only applies if there is no 'to' location to teleport to, so if you get teleported back, that means that teleportation from the_end to another world did not succeed. Check whether the ender portal is set on the_end, you can set it using:
When being on world_the_end.
I seem to be having an issue with returning to the main world from the end portal in the main end world.
Specifically, if I hop into the end portal in the main end world and hit the escape key to skip credits, it will oftentimes teleport me to the correct main world, but instantly back to the end world:
This only affects the main world (when the credits appear), which seems to be an issue with the player glitch fix you implemented here: https://github.com/bergerkiller/MyWorlds/blob/master/src/main/java/com/bergerkiller/bukkit/mw/MWListener.java#L290
Thank you!
@BlockyDigital Thanks for reporting that, I just fixed it, see development build server. If there are other issues, let me know, then I can fix that before uploading as official. (I wanted to upload it as official earlier, but didn't have much time to test it yet)
Related to this same issue was teleporting to the same XYZ of one world to another world, as it was wiping the position of the 'main' world where inventory-merged data was stored. Fixed all this by ensuring that position/rotation is ALWAYS stored on the world a player is on, and not on the main world or the world inventory info is stored in.
@WaferMouse Good point, it's been integrated to such an extent I never really added a toggle for it. I will add some override option so it won't overload portals anywhere.
Need Help With rememberlastpos option
I have these "Portal Plugins" enabled.
http://dev.bukkit.org/bukkit-plugins/hub/
http://dev.bukkit.org/bukkit-plugins/homespawnplus/
And the usual stuff like Essentials, Factions, ETC.
IP - FyrNet.zapto.org
The RememberLastPos option is enabled, and the portals are to the world are set to the world, not a destination portal. Even when players step into the portal, they still get teleported to the spawn of the world. I have set the world spawn in both MyWorld and HomeSpawnPlus, so then when they die, they get teleported back to the WORLD spawn. I don't know if that is overwriting it or not, but the RememberLastPos isn't working.
These are what my portal signs look like:
[Portal]
ToFactions The name of the portal.
world The world name of our Factions World.
Fyr-PvP What we want to say in chat.
If anyone can help, I would love to help in return. Your time is greatly appreciated.
Awesome plugin man! Keep up the amazing work! :D
@TheWaze
With like permission nodes to diffrent worlds. :)
@DarkMinerzzz
Yeeahh, Add that feature plz!
hey!
I got a server with this plugin, but can you make that you only have to do /[worldname]. like a world named 'PvP', then you only have to use the command /Pvp and you get tped to tha spawn of that world :D plz add that feature!
@NLBlackEagle
Hey if you have the problem that you cant go in to a World do /world load Worldname.
Is there a way of disabling the portal systems completely? I already have two plugins that are handling my portals, and My Worlds seems to be messing up my Nether portals.
@PsychoNavigator
Ahh, Thanks man.. I see now "Remove support for deprecated SpoutPlugin weather, add support for 1.6.4 "
But i've already tried this version, somehow it doesnt seems to work for me... Got a couple of servers, so Ima going to test it on a empty one to see if it works then.
Got the BKcommonLib 1.55 and myworlds 1.66 Maybe there is another plugin or the old files messing up
[Update]
Seems like the worlds file is messed up, this is due to the terraingenerators, Im trying to add them via a command since I've used TerrainControl to make Survival. So for all others out there, you can replace everything and update to 1.6.4 But change the line chunkGenerator: '' to default.
Thanks for the help, without that Hint I would have been waiting for quite a long time :)
[Bug found]
When trying to manualy put the line ChunkGenerator: 'terraincontrol' MyWorlds will not load at startup.
When trying to execute /world load [worldname]:[chunkgenerator] It gives a Internal error. Something is messed up with the chunkgenerator feature.
Oh! Just figured out this only happens with TerrainControl, not Voidgenerator & HothGenerator, seems like terraincontrol is the boogyplugin here
[Conclusion]: Seems like TerrainControl needed a Update, everything is working now!
@NLBlackEagle
Take a look on this page, dude. There's a newer build posted there and it appears to be working for me!
http://ci.dj-tcraft.nl/job/MyWorlds/
Make sure you got the latest bkcommonlib as well.
When will MyWorlds be updated to 1.6.4? A dev will do
@Mad__Hat
Well, I don't really want to just negate permission nodes (yes, I am aware of how these work). I'd prefer to full-on restrict plugins from a world (there are plugins that do this, but cannot do plugins that hae a getAllPlayers() event). Catch my drift?
@ericpret
It sounds more like you need a permissions plugin than a multi-world plugin for your job. Most commands require certain permissions to use them and a permission plugin should have the ability to assign permission on a per-world basis. I use PEX and I have it where my players can use certain WorldEdit commands when they are in the creative world.
I have an odd issue where if a player logs out in The End they will be teleported to same XYZ, but in the Overworld when they log back in. This doesn't happen when they logout in the Nether though. I've checked my config, forceMainWorldSpawn: is set to false and mainWorld: is empty. I'm not sure what else to check, but here is a pastebin of my worlds.yml and config.yml. I haven't seen any errors in the server log when this occurs.
Is there a way to limit commands on a per-world basis through this plugin? Trying to limit some commands in select worlds, but I see no configuration option for it... EDIT: If this isn't possible as of now, would it be too much to ask for it to be looked into as a possible feature? Would be extremely useful!
@NLBlackEagle
Ok, thanks!
I just figured out something so I dont really need to use this plugin :3 Fixed a "bug" in my own plugin!
@RainoBoy97
It wont unload automaticly when it's empty but there is a option wich even does this better by restarting on empty, then only the spawn will be loaded.
If im correct you are asking to ''automaticly unload worlds on empty" But ask yourself what will happen when a player teleports to it? It will need to run a script wich pings to the world asking it when its spawn-ready do you want your players to wait 3-4 minutes? and may even get bugs, chunk errors etc. Ask yourself the question, do I have a server to have as much free ram space is possibile or do I have a server with Ram to get those plugins work smooth and nice?
But just in case I misunderstanded your question, worlds can be unloaded manualy. The commands can be viewed in the commands section on this page.
Anyway, I know one thing for sure, multiverse has 1.6.4 out already but yet I wait for this plugin to update since this plugin doesnt bounds your server to the plugin (Like *example if you remove multiverse you also remove all player inventories)