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
-
View User Profile
-
Send Message
Posted Oct 8, 2012I'm getting lag from this plugin when multiinv does world checks, and when players change worlds. Any help/fix?
-
View User Profile
-
Send Message
Posted Oct 8, 2012@fatpancake
Memory leak? lag? are those things even related? Did you read the description? yes, it does have mysql support. I can definitely look for a memory leak or what's causing lag, but I use it on my server with no problems as well though.
-
View User Profile
-
Send Message
Posted Oct 8, 2012Please could you look for memory leak because it killed my server with lag and does this have mySQL support?
-
View User Profile
-
Send Message
Posted Oct 7, 2012@Nenestar
Yes, there are world groups in the groups.yml file which defines which worlds share the same inventory. If a world is not in a group it's inventory is separate.
-
View User Profile
-
Send Message
Posted Oct 7, 2012Hey tux sorry i know you are a very busy as i seem to see you posting everywhere i go these days including enjin :P I do have a quick question though.... i understand how the plugin separates the creative inventories from the survival inventories when players going to to either a creative or survival world but is there an actual way to separate the survival world inventories as well ? Thanks for your time Cheers
-
View User Profile
-
Send Message
Posted Oct 6, 2012When i go through the portal to a different world it keeps the same inventory and if i go through again it deletes the item? Whats going on here?
-
View User Profile
-
Send Message
Posted Oct 5, 2012@keto23
@LiLChris06
Use the API I have provided in MultiInv to insert the diamonds into the world's inventory that you want them to go to. This should work for offline or online players as well.
-
View User Profile
-
Send Message
Posted Oct 4, 2012@keto23
That would be great, as I have Skyblock and Faction worlds.
I don't want those in the sky getting diamonds, i rather them get dirt. :D
-
View User Profile
-
Send Message
Posted Oct 4, 2012@Kepler_
This exploit has been fixed in the most recent version! http://dev.bukkit.org/server-mods/multiinv/files/19-v3-1-4/
-
View User Profile
-
Send Message
Posted Oct 1, 2012I found an exploit that allows you to carry items from a creative world group to a survival world group. Basically you need to suffocate/drown yourself in survival, and right as you die (or immediately before you die), tp to creative. When you tp back to survival, you will immediately die and drop all of the items that were in your creative inventory. More information on this exploit can be found in ticket 118.
http://dev.bukkit.org/server-mods/multiinv/tickets/118-major-exploit-bring-items-between-world-groups/
Please fix this if you can, people on my server are getting loads of free items xD
-
View User Profile
-
Send Message
Posted Sep 26, 2012Is it possible for a voting script to insert the diamonds into a players inventory for 1 world but not touch the other one using mysql? If possible could you please give me a better idea on how to do it.
-
View User Profile
-
Send Message
Posted Sep 24, 2012[EDIT] at bottom of comment
i have an error that i need help with. probably something stupid. whenever players go between worlds with the multiworld command "/goto [world]" or use the lapisportals plugin to go between worlds i get this error in the console:
21:01:41 [SEVERE] java.io.IOException: The filename, directory name, or volume l abel syntax is incorrect 21:01:41 [SEVERE] at java.io.WinNTFileSystem.canonicalize0(Native Method) 21:01:41 [SEVERE] at java.io.Win32FileSystem.canonicalize(Unknown Source) 21:01:41 [SEVERE] at java.io.File.getCanonicalPath(Unknown Source) 21:01:41 [SEVERE] at java.io.File.getCanonicalFile(Unknown Source) 21:01:41 [SEVERE] at com.google.common.io.Files.createParentDirs(Files.jav a:450) 21:01:41 [SEVERE] at org.bukkit.configuration.file.FileConfiguration.save( FileConfiguration.java:52) 21:01:41 [SEVERE] at uk.co.tggl.pluckerpluck.multiinv.player.MIPlayerFile. save(MIPlayerFile.java:56) 21:01:41 [SEVERE] at uk.co.tggl.pluckerpluck.multiinv.player.MIPlayerFile. load(MIPlayerFile.java:50) 21:01:41 [SEVERE] at uk.co.tggl.pluckerpluck.multiinv.player.MIPlayerFile. <init>(MIPlayerFile.java:29) 21:01:41 [SEVERE] at uk.co.tggl.pluckerpluck.multiinv.player.MIPlayer.load Inventory(MIPlayer.java:52) 21:01:41 [SEVERE] at uk.co.tggl.pluckerpluck.multiinv.listener.MIPlayerLis tener.onPlayerGameModeChange(MIPlayerListener.java:198) 21:01:41 [SEVERE] at sun.reflect.GeneratedMethodAccessor134.invoke(Unknown Source) 21:01:41 [SEVERE] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) 21:01:42 [SEVERE] at java.lang.reflect.Method.invoke(Unknown Source) 21:01:42 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(Jav aPluginLoader.java:339) 21:01:42 [SEVERE] at org.bukkit.plugin.RegisteredListener.callEvent(Regist eredListener.java:62) 21:01:42 [SEVERE] at org.bukkit.plugin.SimplePluginManager.fireEvent(Simpl ePluginManager.java:477) 21:01:42 [SEVERE] at org.bukkit.plugin.SimplePluginManager.callEvent(Simpl ePluginManager.java:462) 21:01:42 [SEVERE] at org.bukkit.craftbukkit.entity.CraftPlayer.setGameMode (CraftPlayer.java:522) 21:01:42 [SEVERE] at multiworld.addons.GameModeAddon.removePlayerAction(Ga meModeAddon.java:125) 21:01:42 [SEVERE] at multiworld.addons.GameModeAddon.removePlayer(GameMode Addon.java:109) 21:01:42 [SEVERE] at multiworld.addons.GameModeAddon.reloadPlayer(GameMode Addon.java:194) 21:01:42 [SEVERE] at multiworld.addons.GameModeAddon.onPlayerChanceWorld(G ameModeAddon.java:94) 21:01:42 [SEVERE] at sun.reflect.GeneratedMethodAccessor131.invoke(Unknown Source) 21:01:42 [SEVERE] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) 21:01:42 [SEVERE] at java.lang.reflect.Method.invoke(Unknown Source) 21:01:42 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(Jav aPluginLoader.java:339) 21:01:42 [SEVERE] at org.bukkit.plugin.RegisteredListener.callEvent(Regist eredListener.java:62) 21:01:42 [SEVERE] at org.bukkit.plugin.SimplePluginManager.fireEvent(Simpl ePluginManager.java:477) 21:01:42 [SEVERE] at org.bukkit.plugin.SimplePluginManager.callEvent(Simpl ePluginManager.java:462) 21:01:42 [SEVERE] at net.minecraft.server.ServerConfigurationManagerAbstra ct.moveToWorld(ServerConfigurationManagerAbstract.java:412) 21:01:42 [SEVERE] at org.bukkit.craftbukkit.entity.CraftPlayer.teleport(Cr aftPlayer.java:378) 21:01:42 [SEVERE] at com.earth2me.essentials.Teleport.now(Teleport.java:25 8) 21:01:42 [SEVERE] at com.earth2me.essentials.Teleport.teleport(Teleport.ja va:236) 21:01:42 [SEVERE] at com.earth2me.essentials.Teleport.teleport(Teleport.ja va:221) 21:01:42 [SEVERE] at com.earth2me.essentials.commands.Commandtp.run(Comman dtp.java:41) 21:01:42 [SEVERE] at com.earth2me.essentials.commands.EssentialsCommand.ru n(EssentialsCommand.java:96) 21:01:42 [SEVERE] at com.earth2me.essentials.Essentials.onCommandEssential s(Essentials.java:383) 21:01:42 [SEVERE] at com.earth2me.essentials.Essentials.onCommand(Essentia ls.java:301) 21:01:42 [SEVERE] at org.bukkit.command.PluginCommand.execute(PluginComman d.java:40) 21:01:42 [SEVERE] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCo mmandMap.java:168) 21:01:42 [SEVERE] at org.bukkit.craftbukkit.CraftServer.dispatchCommand(Cr aftServer.java:492) 21:01:42 [SEVERE] at net.minecraft.server.NetServerHandler.handleCommand(N etServerHandler.java:880) 21:01:42 [SEVERE] at net.minecraft.server.NetServerHandler.chat(NetServerH andler.java:826) 21:01:42 [SEVERE] at net.minecraft.server.NetServerHandler.a(NetServerHand ler.java:808) 21:01:42 [SEVERE] at net.minecraft.server.Packet3Chat.handle(Packet3Chat.j ava:44) 21:01:42 [SEVERE] at net.minecraft.server.NetworkManager.b(NetworkManager. java:276) 21:01:42 [SEVERE] at net.minecraft.server.NetServerHandler.d(NetServerHand ler.java:109) 21:01:42 [SEVERE] at net.minecraft.server.ServerConnection.b(SourceFile:35 ) 21:01:42 [SEVERE] at net.minecraft.server.DedicatedServerConnection.b(Sour ceFile:30) 21:01:42 [SEVERE] at net.minecraft.server.MinecraftServer.q(MinecraftServe r.java:578) 21:01:42 [SEVERE] at net.minecraft.server.DedicatedServer.q(DedicatedServe r.java:213) 21:01:42 [SEVERE] at net.minecraft.server.MinecraftServer.p(MinecraftServe r.java:474) 21:01:42 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftSer ver.java:406) 21:01:42 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(Sour ceFile:539)
[EDIT} i solved it by taking another look at the group.yml
my group had an extra ":" on the end so it read:
default::
instead of
default:
hope this will help others who may get this error
-
View User Profile
-
Send Message
Posted Sep 24, 2012Thanks for the quick reply Tux2! I am on 1.2.5. Running a tekkit server. Will give it a try now. Makes sense :p
-
View User Profile
-
Send Message
Posted Sep 24, 2012@stanicle
You must still be on 1.2.5. Please instal a version that states that it has support for your bukkit version.
-
View User Profile
-
Send Message
Posted Sep 24, 2012getting this error. any help please?
16:27:19 CONSOLE: [SEVERE] Could not pass event InventoryCloseEvent to MultiInv 16:27:19 CONSOLE: java.lang.NoSuchFieldError: ENDER_CHEST
-
View User Profile
-
Send Message
Posted Sep 24, 2012Hi Tux :) Having a few glitches with the plugin .. I currently have two players with 2 different glitches The first one is when a player places tnt down on the ground it automatically pops back into his inventory bar... this not happening for anyone else (even though they all wish it did lol ;) The second is when the player dies in a pvp battle he is respawning with a full survival inventory (exact same each time) even though its not the one he just lost in battle. He is currently having to use /ci everytime.... again this not happening to anyone else Any ideas at all ? Everyone else is working perfectly I just love this plugin its awesome :)
-
View User Profile
-
Send Message
Posted Sep 18, 2012@Blacksmithkazuma
The groups are actually internal to the plugin. When I refer to groups I mean world groups. Not your PEX groups. If you need any help just let me know.
-
View User Profile
-
Send Message
Posted Sep 18, 2012This plug in was recommended by a good player on my server, I was using AntiShare but was too conflicting. I was looking for something basic and easy as I have just one creative world to keep the inventories separate from as compared to a Towny, Factions, Survival, Plots, and Wilderness world including two nether worlds and two ends. This really seems it could do what I need to and is light weight, my problem is none of the documentation I've read has told me how to set it up. You have your examples and such but with me using PEX and have over 12 groups. I have no idea at all on how to configure this to fit my server. Any help would be great as I am having a very rough time policing my donators with taking stacks of items back into the Survival worlds and giving them or selling them to other players, creating a very unbalanced and unfair server... Thank any one ahead of time for any advice that is given.
-
View User Profile
-
Send Message
Posted Sep 18, 2012@Tux2
Thank you!
But there is always many ways to get between worlds. hmm
Its CommandSigns and its using the command build in Multiverse "/mvtp <worldname>"
-
View User Profile
-
Send Message
Posted Sep 17, 2012@mds818
The duping bug can be solved by installing proper portals and not using warp signs to different worlds. Please contact the author of your warp plugin to see about getting that fixed as that isn't something I can fix on my end.
The flying bug is a NoCheat/Essentials issue, please contact them.