Multiverse-Inventories

878k Downloads

Inventories are shared across ALL worlds regardless of group setup in 1.16.1

Shuba-Shuba opened this issue ยท 24 comments

commented

I have a few groups setup for multiverse, but inventories are shared across my entire server, even when the worlds don't even have any of the same groups. I did not manually edit any multiverse config file, and I am using Spigot 1.16.1. Other stats are also shared across every world. I have default_ungrouped_worlds set to false.

commented

I've had the problem with economy not splitting between groups from the beginning (which was back in 1.12) to now (1.16.5). Whatever has been done between then and now has had no effect on this - the original - issue in this ticket. Leave config file alone (or edit it as some users have stated), create worlds, create groups, add different worlds to second group, ensure both groups share "all" to each other internally (this would include economy): note matching eco balance when warping between a world from one group and a world from the other.

commented

This problem was fixed for me, but not someone else on the server, which makes me confused because they have the exact same permissions as I do. I'll try and see if other people on my server are having this problem to see if it's just me who has it fixed or just them who doesn't. I'm using LuckPerms for permissions.

commented

There is one person in my server that this has been happening to since I updated to Paper 1.16.1, I had to disabled my creative world in the meantime until this is fixed.

commented

Same problem right here with multiverse-inventories 3.0.0 and Paper 1.16.1 Build 88, sometime my stuff is shared with another group world when I through it.

commented

I have noticed that the game mode profiles mess up various things with inventory separation with MVI 3.0.0 on 1.16.1. If you have that enabled in config try disabling and see if that helps you.

commented

I've been able to fix this problem before, but was never quite sure what fixed it. The problem keeps occurring specifically after I delete a world. I even switched from spigot to paper to try and fix it.

commented

I can't reproduce this. If someone has easy steps to reproduce this, that would make it much easier to understand what is wrong.

commented

It happened after I tried to import a world created in the 1.16 snapshots, updated to 1.16.1 using a singleplayer world, and it didn't import properly. After removing the world from the server inventory separation hasn't worked at all on my server.

commented

I have the same issue. But, I also did something dumb.

I manually edited my config file. After realizing I goofed up however, I reset my server to the latest backup and added the new world in again (giving it it's own group) and that is when the issue occurred.

I hope this doesn't put me into the "no support" category of having edited the config, as it should be unedited because it is a backup from before I edited the config.

commented

I'm having the exact same issue. I haven't edited the config directly and I'm using the latest dev builds of inventories and core as well as build 113 of paper (1.16.1)

I am also getting this error: https://ibb.co/WnQVNNt

commented

I am having the issue of inventories and game modes being shared across worlds regardless of groups. I have noticed that it is isolated to new players - none of my older players who have been playing since before updating to 1.16 have any issues so it must have something to do with new players data.

commented

Please check your server logs for stack traces. I suspect in all instances of this happening you'll see a stack trace very similar to this one:

[12:22:07 ERROR]: Could not pass event PlayerChangedWorldEvent to Multiverse-Inventories v4.0.0-SNAPSHOT-bUNKNOWN
java.lang.NullPointerException: null
        at org.bukkit.craftbukkit.v1_16_R1.entity.CraftPlayer.getBedSpawnLocation(CraftPlayer.java:884) ~[patched_1.16.1.jar:git-Paper-116]
        at com.onarandombox.multiverseinventories.share.Sharables$16.updateProfile(Sharables.java:484) ~[?:?]
        at com.onarandombox.multiverseinventories.ShareHandler.updateProfile(ShareHandler.java:113) ~[?:?]
        at com.onarandombox.multiverseinventories.ShareHandler.completeSharing(ShareHandler.java:85) ~[?:?]
        at com.onarandombox.multiverseinventories.ShareHandler.handleSharing(ShareHandler.java:59) ~[?:?]
        at com.onarandombox.multiverseinventories.InventoriesListener.playerChangedWorld(InventoriesListener.java:209) ~[?:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor578.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.1.jar:git-Paper-116]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.1.jar:git-Paper-116]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.1.jar:git-Paper-116]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.1.jar:git-Paper-116]
        at net.minecraft.server.v1_16_R1.PlayerList.moveToWorld(PlayerList.java:879) ~[patched_1.16.1.jar:git-Paper-116]
        at org.bukkit.craftbukkit.v1_16_R1.entity.CraftPlayer.teleport(CraftPlayer.java:819) ~[patched_1.16.1.jar:git-Paper-116]
        at org.bukkit.craftbukkit.v1_16_R1.entity.CraftEntity.teleport(CraftEntity.java:522) ~[patched_1.16.1.jar:git-Paper-116]
        at me.ConnorEfc.Join.Main.onJoin(Main.java:138) ~[?:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor167.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.1.jar:git-Paper-116]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.1.jar:git-Paper-116]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.1.jar:git-Paper-116]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.1.jar:git-Paper-116]
        at net.minecraft.server.v1_16_R1.PlayerList.postChunkLoadJoin(PlayerList.java:273) ~[patched_1.16.1.jar:git-Paper-116]
        at net.minecraft.server.v1_16_R1.PlayerList.lambda$null$1(PlayerList.java:220) ~[patched_1.16.1.jar:git-Paper-116]
        at net.minecraft.server.v1_16_R1.PlayerConnection.tick(PlayerConnection.java:150) ~[patched_1.16.1.jar:git-Paper-116]
        at net.minecraft.server.v1_16_R1.NetworkManager.a(NetworkManager.java:373) ~[patched_1.16.1.jar:git-Paper-116]
        at net.minecraft.server.v1_16_R1.ServerConnection.c(ServerConnection.java:142) ~[patched_1.16.1.jar:git-Paper-116]
        at net.minecraft.server.v1_16_R1.MinecraftServer.b(MinecraftServer.java:1378) ~[patched_1.16.1.jar:git-Paper-116]
        at net.minecraft.server.v1_16_R1.DedicatedServer.b(DedicatedServer.java:377) ~[patched_1.16.1.jar:git-Paper-116]
        at net.minecraft.server.v1_16_R1.MinecraftServer.a(MinecraftServer.java:1212) ~[patched_1.16.1.jar:git-Paper-116]
        at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:1000) ~[patched_1.16.1.jar:git-Paper-116]
        at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.1.jar:git-Paper-116]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]

It really kind of seems like Paper has broken something to do with getting bed spawns and that maybe the difference between the players experiencing this problem and not experiencing it is entirely related to bed spawn locations.

commented

i am having the same problem, i tryed another plugin that SHOULD do a similar thing but, still nothing i have the same inventory's between worlds and, when i go between worlds i get a long error code

commented

also, i started the server in 1.16.1

commented

i just tryed spigot to no avail, still have the same inventorys

commented

Having a similar issue on Spigot 1.16.1

[12:35:00] [Server thread/ERROR]: Could not pass event PlayerChangedWorldEvent to Multiverse-Inventories v4.0.0-SNAPSHOT-b469
org.bukkit.event.EventException: null
	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:319) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:589) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:576) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at net.minecraft.server.v1_16_R1.PlayerList.moveToWorld(PlayerList.java:740) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at org.bukkit.craftbukkit.v1_16_R1.entity.CraftPlayer.teleport(CraftPlayer.java:676) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at org.bukkit.craftbukkit.v1_16_R1.entity.CraftEntity.teleport(CraftEntity.java:462) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at fun.lewisdev.deluxehub.module.modules.world.LobbySpawn.onPlayerJoin(LobbySpawn.java:50) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_252]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_252]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_252]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_252]
	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:315) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:589) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:576) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at net.minecraft.server.v1_16_R1.PlayerList.a(PlayerList.java:200) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at net.minecraft.server.v1_16_R1.LoginListener.c(LoginListener.java:153) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at net.minecraft.server.v1_16_R1.LoginListener.tick(LoginListener.java:52) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at net.minecraft.server.v1_16_R1.NetworkManager.a(NetworkManager.java:219) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at net.minecraft.server.v1_16_R1.ServerConnection.c(ServerConnection.java:128) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at net.minecraft.server.v1_16_R1.MinecraftServer.b(MinecraftServer.java:1128) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at net.minecraft.server.v1_16_R1.DedicatedServer.b(DedicatedServer.java:354) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at net.minecraft.server.v1_16_R1.MinecraftServer.a(MinecraftServer.java:1009) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:848) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
Caused by: java.lang.NullPointerException
	at org.bukkit.craftbukkit.v1_16_R1.entity.CraftPlayer.getBedSpawnLocation(CraftPlayer.java:730) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	at com.onarandombox.multiverseinventories.share.Sharables$16.updateProfile(Sharables.java:484) ~[?:?]
	at com.onarandombox.multiverseinventories.ShareHandler.updateProfile(ShareHandler.java:113) ~[?:?]
	at com.onarandombox.multiverseinventories.ShareHandler.completeSharing(ShareHandler.java:85) ~[?:?]
	at com.onarandombox.multiverseinventories.ShareHandler.handleSharing(ShareHandler.java:59) ~[?:?]
	at com.onarandombox.multiverseinventories.InventoriesListener.playerChangedWorld(InventoriesListener.java:209) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_252]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_252]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_252]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_252]
	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:315) ~[spigot_1.16.1.jar:git-Spigot-9639cf7-7c03d25]
	... 26 more

I should add that this only seems to happen with new players that haven't slept in a bed yet.

commented

Also having this issue on Paper 1.16.1, Build 130.

[12:35:04 ERROR]: Could not pass event PlayerChangedWorldEvent to Multiverse-Inventories v3.0.0-b459
java.lang.NullPointerException: null
at org.bukkit.craftbukkit.v1_16_R1.entity.CraftPlayer.getBedSpawnLocation(CraftPlayer.java:884) ~[patched_1.16.1.jar:git-Paper-130]
at com.onarandombox.multiverseinventories.share.Sharables$16.updateProfile(Sharables.java:475) ~[?:?]
at com.onarandombox.multiverseinventories.ShareHandler.updateProfile(ShareHandler.java:113) ~[?:?]
at com.onarandombox.multiverseinventories.ShareHandler.completeSharing(ShareHandler.java:85) ~[?:?]
at com.onarandombox.multiverseinventories.ShareHandler.handleSharing(ShareHandler.java:59) ~[?:?]
at com.onarandombox.multiverseinventories.InventoriesListener.playerChangedWorld(InventoriesListener.java:209) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor454.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.1.jar:git-Paper-130]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.1.jar:git-Paper-130]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.1.jar:git-Paper-130]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.PlayerList.moveToWorld(PlayerList.java:879) ~[patched_1.16.1.jar:git-Paper-130]
at org.bukkit.craftbukkit.v1_16_R1.entity.CraftPlayer.teleport(CraftPlayer.java:819) ~[patched_1.16.1.jar:git-Paper-130]
at org.bukkit.craftbukkit.v1_16_R1.entity.CraftEntity.teleport(CraftEntity.java:522) ~[patched_1.16.1.jar:git-Paper-130]
at com.onarandombox.MultiverseCore.utils.SimpleSafeTTeleporter.safelyTeleport(SimpleSafeTTeleporter.java:215) ~[?:?]
at com.onarandombox.MultiverseCore.utils.SimpleSafeTTeleporter.teleport(SimpleSafeTTeleporter.java:335) ~[?:?]
at com.onarandombox.MultiverseCore.commands.TeleportCommand.runCommand(TeleportCommand.java:163) ~[?:?]
at com.onarandombox.commandhandler.CommandHandler.checkAndRunCommand(CommandHandler.java:296) ~[?:?]
at com.onarandombox.commandhandler.CommandHandler.processFoundCommands(CommandHandler.java:143) ~[?:?]
at com.onarandombox.commandhandler.CommandHandler.locateAndRunCommand(CommandHandler.java:93) ~[?:?]
at com.onarandombox.MultiverseCore.MultiverseCore.onCommand(MultiverseCore.java:910) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[patched_1.16.1.jar:git-Paper-130]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:159) ~[patched_1.16.1.jar:git-Paper-130]
at org.bukkit.craftbukkit.v1_16_R1.CraftServer.dispatchCommand(CraftServer.java:794) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.PlayerConnection.handleCommand(PlayerConnection.java:1912) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.PlayerConnection.a(PlayerConnection.java:1723) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.PacketPlayInChat.a(PacketPlayInChat.java:47) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.PacketPlayInChat.a(PacketPlayInChat.java:5) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:23) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.TickTask.run(SourceFile:18) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.MinecraftServer.aZ(MinecraftServer.java:1137) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.MinecraftServer.executeNext(MinecraftServer.java:1130) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.IAsyncTaskHandler.executeAll(IAsyncTaskHandler.java:95) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.MinecraftServer.a(MinecraftServer.java:1260) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:1001) ~[patched_1.16.1.jar:git-Paper-130]
at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.1.jar:git-Paper-130]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_262]

commented

A temporary fix for this issue has been added in http://ci.onarandombox.com/view/Multiverse/job/Multiverse-Inventories/471/ though as that build failed you can pick it up in http://ci.onarandombox.com/view/Multiverse/job/Multiverse-Inventories/472/

Note: You will still see stack traces in the console but it should not prevent inventories from changing over.

commented

Hopefully we can get some solid reproduction steps so that we can report this bug to Spigot/Paper and I intend to leave this issue open until that happens.

commented

I produced by making a world, deleting it, then making another world with the same name and loading it.

commented

I have issue with player balances instead of inventories:
"I did disable economy from multiverse inventories, but sadly the balance didn't sync for only the worlds I wanted, I believe I do need a plugin for that, so i renabled economy syncing in multiverse inventories, and guess what? 3mins later the issue happens to a random player again, his balance was 5k it kept getting doubled exactly until it reached 24mil: check the balance of moist panda for example in this log: https://pastebin.com/LMsSMTzA

commented

This may or may not be relevant to this discussion, but Paper just fixed an NPE in getBedSpawnLocation. PaperMC/Paper#4238

commented

I've opened a ticket for Spigot to fix this bug, sorry it took so long.

https://hub.spigotmc.org/jira/browse/SPIGOT-6168

commented

It's been marked as fixed, meaning Multiverse-Inventories 3.0.0 is now safe to use on 1.16.3, as long as you've got the latest build.