Per World Inventory
The way this plugin stores data is fundamentally different from MultiVerse-Inventories. Like MV-I, this plugin saves data in a .json format, but that is where the similarities end. Not only does this save your inventory, it saves your stats as well! This includes things like active potion effects, exp, level, economy balance, and more. These all can be configured on a per-item basis, should you not want all of these saved. See the Configuration section below for these. All commands can be seen ingame with the '/pwi help' command.
> Configuration
########################################## # PerWorldInventory configuration file # # # # If new values are added to the # # config, they will not automatically # # be added here. They will default to # # false if not present. # ########################################## # Version of the config. DO NOT CHANGE!!!!! config-version: 3 # If true, the plugin will change player's gamemodes when entering a world # The gamemode set is configured in the worlds.yml file manage-gamemodes: false # If true, players will have different inventories for each gamemode separate-gamemode-inventories: true # All settings for players are here: player: # Save and Load players' economy balances. Requires Vault! economy: false # Load players' ender chests ender-chest: true # Load players' inventory inventory: true # All options for player stats are here: stats: # Load if a player is able to fly can-fly: true # Load the player's display name display-name: false # Load a player's exhaustion level exhaustion: true # Load how much exp a player has exp: true # Load a player's hunger level food: true # Load if a player is flying flying: true # Load what gamemode a player is in. This is shadow-set to false if # 'manage-gamemodes' is true, to stop infinite loop gamemode: true # Load how much health a player has health: true # Load what level the player is level: true # Load all the potion effects of the player potion-effects: true # Load the saturation level of the player saturation: true # Load a player's fall distance fall-distance: true # Load the fire ticks a player has fire-ticks: true # Load the maximum amount of air a player can have max-air: true # Load the current remaining air a player has remaining-air: true # Config Version 2 below this line # # Configure the amount of time between saves, in seconds # Default is 5 minutes (300 seconds) save-interval: 300 # Config Version 3 Additions below this line # # Attempt to figure out which world a player last logged off in # and save/load the correct data if that world is different. # REQUIRES MC 1.9.2 OR NEWER load-data-on-join: false # Print out debug messages to the console for every event that happens in PWI debug-mode: false
Pretty straightforward, turning the options to false will cause that item to not be loaded on world change. The option 'manage-gamemodes' is set to false by default to not interfere with other plugins that you may have to manage GameModes.
groups: world1: worlds: - world1 - world1_nether - world1_the_end default-gamemode: SURVIVAL world_2: worlds: - world_2 default-gamemode: CREATIVE
This is where you configure your world groups. Follow the default or above example to get the format. If you have 'manage-gamemodes' set to false in your main config, the 'default-gamemode' option here does nothing, and can be safely removed. Worlds in the same group will all share the same inventory and stats.
Once you have made your desired changes, simply type /pwi reload.
A default inventory loadout is provided for each configured group, as well as for a server fallback, if for some reason a world isn't in any group. These can be set ingame by using the '/pwi setworlddefault [group]' command, where group is a configured group name, or 'default'. If no group is specified, it will set the loadout for the group that you are currently standing in. This does not require a reload.
> Permissions and Commands
Permissions:
- - perworldinventory.admin: Defaults to Ops, grants all other permissions
- - perworldinventory.convert: Allows user to convert data from other plugins
- - perworldinventory.reload: Allows user to reload configs and world groups
- - perworldinventory.setdefaults: Allows user to set the default inventory loadout for a group
- - perworldinventory.notify: Users with this permission will be notified if the config is out of date
- - perworldinventory.bypass.*: Users that have this will keep their inventory when changing worlds or gamemode
- - perworldinventory.bypass.gamemode: Users that have this will keep their inventory when changing gamemode
- - perworldinventory.bypass.world: Users that have this will keep their inventory when changing worlds
Commands:
- /pwi help: Shows the help page
- /pwi convert: Converts data from MultiVerse-Inventories; see below
- /pwi reload: Reloads the config file and worlds file
- /pwi setWorldDefault [default | <group_name>]: Sets the default inventory loadout for the specified group, or server default. If no parameter is given, it will sets the loadout for the group you are currently standing in.
> Conversion
If you are converting from MV-I, simply run the "/pwi convert multiverse" command and the plugin will take care of everything. You must have MV-I running for this. Keep in mind, converting only works with MV-I version 2.5, it will not work on 2.4. When MV-I is updated from 2.4 to 2.5, it switches from yml to json files, but does not convert the data until it is used. Be sure to keep your MV-I data around, just in case something does go wrong.
A converter from MultiInv is still in the works. There is a beginning framework as of version 1.4.0; do not use it! It is not fully operational yet, and will result in errors.
> Miscellaneous
Support If you have an issue, please go here. Include your configs and relevant logs!
> Other
The code repository can be found on both Github and BitBucket.
4/5 This plugin works perfectly in-game, however I get spammed in console with errors like every 10 minutes... Please help...
https://pastebin.com/nR326GnU
Great Plugin! you should update to 1.12 versions
In reply to AssasinHD67:
https://www.spigotmc.org/resources/per-world-inventory.4482/
Yeah! Perfectly work!
It doesn't even work! what is wrong!?
it says the balances and inventories are different in each world.. but they are the same for me. someone please help
In reply to thebibleman:
everytime I try to make another group, it tells me it's wrong and even if I did it right, it doesn't work.
Hi I have problem I have loaded this plugin but it doesn't do anything! Here's an error in console. null org.bukkit.command.CommandException: Unhandled exception executing command 'pwi' in plugin PerWorldInventory v1.7.5 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) [minecraft_server.jar:git-Bukkit-e1ebe52]
at me.incomprehendable.dev.pwp.FakeSimpleCommandMap.dispatch(FakeSimpleCommandMap.java:98) [?:?] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:620) [minecraft_server.jar:git-Bukkit-e1ebe52]
at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1106) [minecraft_server.jar:git-Bukkit-e1ebe52]
at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:966) [minecraft_server.jar:git-Bukkit-e1ebe52]
at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:37) [minecraft_server.jar:git-Bukkit-e1ebe52]
at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:9) [minecraft_server.jar:git-Bukkit-e1ebe52]
at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [minecraft_server.jar:git-Bukkit-e1ebe52]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_74] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_74] at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [minecraft_server.jar:git-Bukkit-e1ebe52]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:673) [minecraft_server.jar:git-Bukkit-e1ebe52]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:335) [minecraft_server.jar:git-Bukkit-e1ebe52]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:629) [minecraft_server.jar:git-Bukkit-e1ebe52]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:537) [minecraft_server.jar:git-Bukkit-e1ebe52]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74] Caused by: java.lang.NullPointerException at me.gnat008.perworldinventory.commands.PerWorldInventoryCommand.setWorldDefault(PerWorldInventoryCommand.java:355) [?:?] at me.gnat008.perworldinventory.commands.PerWorldInventoryCommand.onCommand(PerWorldInventoryCommand.java:189) [?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [minecraft_server.jar:git-Bukkit-e1ebe52]
My plugins are: WorldEdit, Questioner, Essentials, PerWorldPlugins, ClearLag, PluginManagerReloaded, AutoMessage, AdvancedBan, WorldGuard, KitAdder, EssentialsProtect, EssentialsChat, EssentialsAntiBuild, PermissionsEx, LagMeter, mcMMO, PartlyFancy, MotdManager-Reloaded, Vault, EssentialsSpawn, ChatManager, FakaHedaMinequery, MassiveCore, CompatNoCheatPlus, Jobs, PerWorldInventory, LWC, CrateReloaded, SilkSpawners, NoCheatPlus, ASkyBlock, ChestCommands, Residence, Parkour, CraftBay, Multiverse-Core, Shopkeepers, MultiWorldMoney, AuthMe, Towny, HolographicDisplays, TownyNameUpdater
CraftBukkit 1.8.8
Please help me to fix it
Hey I'm trying to make a hub like spawn area and to do i have installed chest commands and are attempting to use this plugin to have a set item for it to use but i cant seem t make a set inventory with the item in that players cant change, is there a way to do this with this mod?
Hello, I have a problem with this plugin, i use version 1.7.6 of spigot, i have the new config to. My problem is that my inventory clear if i come back in that world or it copy from my first to my second world. Notting what i do works, pls help me. Can you sent me a answer on Skype if its possible, my name is SkyWiFiNLD.
(I'm sorry for my english :) )
Hello,
Is there a way to prevent players from glitching inventories? Some of mine have figured out a way to take things from one world and transfer them to another.
Whenever someone changes world it does nothing at all, I've gone through the config and messed around a lot and nothing has come of it
Thanks for update :)
I have a problem each time I logout from my server I get a huge error in the console :
org.bukkit.event.EventException at me.incomprehendable.dev.pwp.transparentlisteners.PerWorldPluginLoader$1.execute(PerWorldPluginLoader.java:118) [?:?] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at me.incomprehendable.dev.pwp.transparentlisteners.PWPRegisteredListener.callEvent(PWPRegisteredListener.java:28) [PerWorldPlugins.jar:?] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at net.minecraft.server.v1_8_R3.PlayerList.disconnect(PlayerList.java:332) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:813) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at net.minecraft.server.v1_8_R3.NetworkManager.l(NetworkManager.java:302) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at net.minecraft.server.v1_8_R3.ServerConnection.c(SourceFile:165) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:748) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:335) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:632) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:540) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_72] Caused by: java.lang.NullPointerException: null key in entry: null=1 at com.google.common.collect.CollectPreconditions.checkEntryNotNull(CollectPreconditions.java:31) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at com.google.common.collect.ImmutableMap.entryOf(ImmutableMap.java:135) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at com.google.common.collect.ImmutableMap$Builder.put(ImmutableMap.java:206) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at org.bukkit.craftbukkit.v1_8_R3.inventory.CraftMetaItem.serializeEnchantments(CraftMetaItem.java:746) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at org.bukkit.craftbukkit.v1_8_R3.inventory.CraftMetaItem.serialize(CraftMetaItem.java:703) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at org.bukkit.craftbukkit.v1_8_R3.inventory.CraftMetaItem.serialize(CraftMetaItem.java:689) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at org.bukkit.util.io.Wrapper.newWrapper(Wrapper.java:17) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at org.bukkit.util.io.BukkitObjectOutputStream.replaceObject(BukkitObjectOutputStream.java:47) [craftbukkit-1.8.7.jar:git-Bukkit-994b2aa] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1144) [?:1.8.0_72] at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1378) [?:1.8.0_72] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) [?:1.8.0_72] at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) [?:1.8.0_72] at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) [?:1.8.0_72] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) [?:1.8.0_72] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) [?:1.8.0_72] at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) [?:1.8.0_72] at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) [?:1.8.0_72] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) [?:1.8.0_72] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) [?:1.8.0_72] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) [?:1.8.0_72] at com.kill3rtaco.tacoserialization.SingleItemSerialization.serializeItem(SingleItemSerialization.java:174) [?:?] at com.kill3rtaco.tacoserialization.SingleItemSerialization.serializeItemInInventory(SingleItemSerialization.java:146) [?:?] at com.kill3rtaco.tacoserialization.InventorySerialization.serializeInventory(InventorySerialization.java:42) [?:?] at com.kill3rtaco.tacoserialization.InventorySerialization.serializePlayerInventory(InventorySerialization.java:58) [?:?] at com.kill3rtaco.tacoserialization.PlayerSerialization.serializePlayer(PlayerSerialization.java:40) [?:?] at me.gnat008.perworldinventory.listeners.PlayerQuitListener.onPlayerQuit(PlayerQuitListener.java:49) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_72] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [?:1.8.0_72] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_72] at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_72] at me.incomprehendable.dev.pwp.transparentlisteners.PerWorldPluginLoader$1.execute(PerWorldPluginLoader.java:116) [?:?] ... 13 more
As a note, I haven't been on this site on many many months, I pretty much just use the Spigot site now.
@DrkOreoGuy
its a 1.8.9 server
i;m been having trouble setting this up on my server, for some odd reason my server dont have /pwi anything my worlds are groups: default: worlds: - world - world_nether - world_the_end - TheSurvivingWorld - Hardcore - Decrane - Space - Shados default-gamemode: SURVIVAL creative: worlds: - skyisland - sand_box default-gamemode: CREATIVE skyblock: worlds: - ASkyBlock - AskyBlock_Nether - default-gamemode: SURVIVAL portals: worlds: - sev-cal default-gamemode: CREATIVE
my configs are
API Please
URLHead will are likely to Steve in the World movement. Can not you fix it? It is the page that I am using. http://heads.freshcoal.com/maincollection.php I'm sorry in the Google translation.
Great plugin man, just one question though. I'm in the worlds file trying to set a separate world not like default: worlds: - world - world_nether - world_the_end default-gamemode: SURVIVAL But I have a world called CFlat and I'm doing the worlds config like default: CFlat: - CFlat default-gamemode: CREATIVE Creative cause its that kinda world, is there some other name you need to put? P.S I'm using Multi-Verse for multi-world support