MultiInv
What is MultiInv
MultiInv is a plugin that gives players a separate inventory for every different world running on the server. You can share inventories over chosen worlds and some players can be ignored entirely. With this power it is possible to have multiple worlds running on one server, but keeping them totally segregated from one another.
MultiInv can also separate health over certain worlds allowing for total separations of a world on a server.
If MultiInv refuses to work and you can't change inventories, it's because you have the wrong version of the TuxTwoLib or forgot to deny yourself the permission multiinv.exempt!
Update for UUIDs and 1.7.9 (there will be no support for 1.7.8 or below due to game breaking bugs) are here! Download will be available as soon as Bukkit Dev approves it.
MultiInv and MobArena are currently not compatible! Make sure users can only join a mob arena from the same world group!
Starting with MultiInv 3.2.1 we now require the library TuxTwoLib to maintain compatibility across various minecraft versions
Video Tutorial
Features
- Separate world inventories
- Create groups of worlds where the inventory is shared between them
- Separates XP, food, health, potion effects, and EnderChest inventory per world/group of worlds.
- Option to ignore certain players completely (permissions based)
- Can import Multiverse-Inventories/WorldInventories saved inventories.
- Option to use mySQL instead of flat files.
Forums/Problems
The forums for this plugin (at the top of the page) are the best place to go if you have any questions that aren't just general comments (such as "I hat you" or "I love you"). There I can see which problems have been replied too and who still needs help.
Using MultiInv with BungeeCord
Since BungeeCord requires servers to be in offline mode it's sometimes hard to acquire a reliable UUID if Spigot/BungeeCord isn't configured correctly. Here are the settings you will need to change:
In the BungeeCord config.yml make sure ip_forward is set to true
On the server in the spigot.yml make sure bungeecord is set to true
By setting these two options BungeeCord will be able to pass the correct UUID to the servers. Please note that if you are sharing inventories across multiple servers that this feature is still in beta and may not always work.
Commands
- /multiinv reload - Reloads config files.
- /multiinv import - Imports flat files into a mysql database.
- /multiinv mvimport - Imports Multiverse-Inventories into MultiInv, with the database that you have selected. (You will need to have the Multiverse-Inventories plugin installed when doing the import, just make sure to remove it afterwards)
- /multiinv miimport - Imports WorldInventories into MultiInv.
- /multiinv mcimport - Import Minecraft player files into MultiInv. (Only useful when you've got existing player data and you are enabling the SaveInventoryOnQuit option)
- /multiinv mcexport - Exports MultiInv player data for the default world into the default world in Minecraft format.
Permissions
- multiinv.reload - Permission to use the reload command
- multiinv.import - Permission to use the import command
- multiinv.mvimport - Permission to use the mvimport command
- multiinv.mcimport - Permission to use the mcimport command
- multiinv.mcexport - Permission to use the mcexport command
- multiinv.exempt - Exempts player from inventory switch (If your inventory is not changing, deny yourself this permission in your permissions manager!!!!)
Configuration
^That's a link up there
Updating from MultiInv 2.x to 3.x
- Delete your old config.yml file in the plugins/MultiInv directory
- Start the server with the new plugin
- Rename the Worlds folder to Groups under the plugins/MultiInv directory.
- Rename shares.yml to groups.yml
- Cut the creativeGroups section out of groups.yml and paste it at the end of config.yml
- Edit the config.yml to your prefrences
- do: /multiinv reload
- If you are moving to the mysql database do: /multiinv import
- You're done, enjoy!
Links
When, Where, and How are the Inventories Saved?
Old forum page (Includes old version links)
Development builds of this project can be acquired at the provided continuous integration server.
These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Jenkins Dev Builds
Source Code
Please note, that while I (Tux2) am maintaining this plugin you must file bug reports under the tickets section. If you're having a problem, try replicating it in the latest version of MultiInv as it could already be fixed! Also, if you want your problem to be addressed please make sure to include the MultiInv version, the TuxTwoLib version, your config.yml and groups.yml files contents as well, (even if it is a comment asking for help) If you do not follow these guidelines your comment may be deleted without warning!
Stats provided by Plugin Metrics
@Legendrunner
That's strange. The bug only happens with game mode changes or world changes as well?
@deleted_7554077
I'm currently studying for an exam on Friday. Currently the config is empty because it's not working. If I get some free time before the exam I'll release 3.0.1 which make gameModes not switch inventories though. It would be quick to change but I'm on a new laptop and need time to set it up again.
Incredible buggy release (3.0.0)
Switching from gamemode has a chance to wipe inventory or bar+inventory. This way we are loosing stuff all the time when moderators are switching.
Please fix this? Make switching gamemode not switch inventory, just let it be shared.
So is version 3.0.0 safe? Who has it in use?
I still use Pluckerplucks original 2.4.2 Version and don't dare to switch...
The option for in MultiInv for managin gamemodes messed everything up. But only with gamemodes. Survival was creative and creative survival. And 3.0.0 config isn't generated. The gamemode management option should be off on default.
He should also explain the config a bit more :D
Thanks. Works good
Anyone test this with Heroes? I've been too busy
@swatcats
Are you converting from Tux2's version or my old one... I'm guessing Tux2's as I don't think my old one worked.
I'm trying to fix this but I'm seriously out of time right now. I'd either make a full switch to mine or continue using Tux2's until I have time to finish this (or someone else does)
@silencshadow
yeah, I'll do that shortly. It's not there because I haven't implemented the config yet. But it's hard for me at the moment as I'm moving to uni.
If anyone want to look at the source and add a potential fix I'm planning on checking for a "MultiInv.ignore" permission and then, when a player logs in, set the ignore flag on the MIPlayer to true. Then in the listener I check for that before doing anything.
So it'll be permissions based rather than list based because it's easier for a quick fix. I may add the list again later if people want it.
Also, when I get time I'll add commands to let people get ignored and I wanted to add an optional spoutPlugin gui.... But with spout not splitting from bukkit I'm not so sure.
Hey Guy, the old version got a config.yml ... your new is empty ... can u build in the "ignored player" again plz? :S
@roandr
Yes, that is correct. Also, once pluckerpluck gets the importing working to convert my format into his new one I will stop maintaining my version. (although it's pretty much stable right now anyways)
@Tux2
Just to be sure, you are talking about builds from this URL, right? http:mfav.me:8080/job/MultiInv/
@roandr
The latest version of mine is stable. Pluckerpluck and I were talking about a previous commit I had made. Also, yes, you are using an older version. I have the newest version on my server and it is working without any issues.
@Tux2
The version that wiped my players inventories was 2.4.5 (At least that is the version CraftBukkit throws at me when starting the server). I've not tried any versions after that.
By reading the posts between you and pluckerpluck I think I'll just wait a little bit. Seems there could be some more nasties...
how can i turn off when i change creative to normal and back that the same inv is used. when ur in the same world. i dont want that. i have Bspace and peeps will die if they dont wear armor. and if someones in creative they do die because they cant set their armor.
is this possible to turn off?
For some reason it is not converting our old inv to the new ones. Everyone is starting with blank inv.
@Pluckerpluck
Well, basic rundown is at the end of the item if it has enchantments I just keep storing the enchantments so the first four numbers are the ones you did I just continue it with more: next would be enchantment ID, then the one after that would be enchantment level, and I just repeat that until there is no more enchantments for the item.
EDIT: I'd fix it myself and submit a pull request but unfortunately I have to eat and run off to go do something. If you haven't done it by the time I get back though I will definitely look through the new code and see about adding conversion support for my version as well.
@Tux2
Erm no... forgot about your version (and that you added enchantments) !!! Hm... now what to do...
This'll cause problems... anyone who tries to use your version and convert back to mine may explode...
@Pluckerpluck
Yay! Does it copy over the enchantments from my version. (too lazy to look at the moment)
Also, yes, learned not to affect inventories on log on. :)
... I failed to upload the new version I'd made... I'll try that again...
It uses a new system but it should auto-convert from the old. Just make sure you backup your work to be sure as it's hard for me to test that myself.
@Tux2
I see you learned to not affect inventories on log on :) Caused too many problems.
@roandr
Which version did it do that? Also, it shouldn't wipe any player's inventory upon install anymore though. I've been tinkering with the code and it only changes inventory on world change now, no more updating the inventory when you log on (unless a plugin teleports you when you are logging in)
@Tux2
Ding. I've been following the thread and I did not notice. Oh well. Thanks!
By the way, when I used the plugin earlier it wiped all players inventories on install (or when they first logged in). Is this by design? Is there a way to prevent this?