Git Product home page Git Product logo

openinv's People

Contributors

billygalbreath avatar byteflux avatar darkceptor44 avatar fysac avatar hummer12007 avatar jacobmartin0 avatar jikoo avatar lishid avatar mfnalex avatar notmyfault avatar phoenix616 avatar shadowranger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openinv's Issues

OpenInv Not Loading with PaperSpigot (1.12.1)

6:22:53 AM [INFO] [OpenInv] Enabling OpenInv v3.3.1-SNAPSHOT
6:22:53 AM [INFO] [OpenInv] Your version of CraftBukkit (v1_12_R1) is not supported.
6:22:53 AM [INFO] [OpenInv] If this version is a recent release, check for an update.
6:22:53 AM [INFO] [OpenInv] If this is an older version, ensure that you've downloaded the legacy support version.
6:22:53 AM [INFO] [OpenInv] Disabling OpenInv v3.3.1-SNAPSHOT

Console error Paper 1.11

[09:37:44] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to OpenInv v3.1.0
java.lang.NoSuchMethodError: net.minecraft.server.v1_11_R1.World.a(Lnet/minecraft/server/v1_11_R1/AxisAlignedBB;)Z
	at com.lishid.openinv.internal.v1_11_R1.AnySilentContainer.isBlockedShulkerBox(AnySilentContainer.java:125) ~[?:?]
	at com.lishid.openinv.internal.v1_11_R1.AnySilentContainer.isAnyContainerNeeded(AnySilentContainer.java:73) ~[?:?]
	at com.lishid.openinv.listeners.PlayerListener.onPlayerInteract(PlayerListener.java:66) ~[?:?]
	at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor188.execute(Unknown Source) ~[?:?]
	at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:44) ~[patched_1.11.jar:git-Paper-976]
	at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) ~[patched_1.11.jar:git-Paper-976]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.11.jar:git-Paper-976]
	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.11.jar:git-Paper-976]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [patched_1.11.jar:git-Paper-976]
	at org.bukkit.craftbukkit.v1_11_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:233) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.PlayerInteractManager.a(PlayerInteractManager.java:444) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:899) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:5) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:13) [patched_1.11.jar:git-Paper-976]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
	at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:817) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:403) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:749) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:648) [patched_1.11.jar:git-Paper-976]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
[09:37:45] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to OpenInv v3.1.0
java.lang.NoSuchMethodError: net.minecraft.server.v1_11_R1.World.a(Lnet/minecraft/server/v1_11_R1/AxisAlignedBB;)Z
	at com.lishid.openinv.internal.v1_11_R1.AnySilentContainer.isBlockedShulkerBox(AnySilentContainer.java:125) ~[?:?]
	at com.lishid.openinv.internal.v1_11_R1.AnySilentContainer.isAnyContainerNeeded(AnySilentContainer.java:73) ~[?:?]
	at com.lishid.openinv.listeners.PlayerListener.onPlayerInteract(PlayerListener.java:66) ~[?:?]
	at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor188.execute(Unknown Source) ~[?:?]
	at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:44) ~[patched_1.11.jar:git-Paper-976]
	at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) ~[patched_1.11.jar:git-Paper-976]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.11.jar:git-Paper-976]
	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.11.jar:git-Paper-976]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [patched_1.11.jar:git-Paper-976]
	at org.bukkit.craftbukkit.v1_11_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:233) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.PlayerInteractManager.a(PlayerInteractManager.java:444) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:899) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:5) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:13) [patched_1.11.jar:git-Paper-976]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
	at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:817) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:403) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:749) [patched_1.11.jar:git-Paper-976]
	at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:648) [patched_1.11.jar:git-Paper-976]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]

crash events

[20:58:36] [Server thread/ERROR]: Could not pass event PlayerChangedWorldEvent to OpenInv v3.3.0
org.bukkit.event.EventException: null
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [spigot.jar:git-Spigot-8cbfc85-202da97]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.PlayerList.moveToWorld(PlayerList.java:707) [spigot.jar:git-Spigot-8cbfc85-202da97]
at org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer.teleport(CraftPlayer.java:509) [spigot.jar:git-Spigot-8cbfc85-202da97]
at com.earth2me.essentials.Teleport.now(Teleport.java:127) [EssentialsX-2.0.1.jar:?]
at com.earth2me.essentials.Teleport.teleport(Teleport.java:198) [EssentialsX-2.0.1.jar:?]
at com.earth2me.essentials.Teleport.back(Teleport.java:264) [EssentialsX-2.0.1.jar:?]
at com.earth2me.essentials.commands.Commandback.run(Commandback.java:25) [EssentialsX-2.0.1.jar:?]
at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsCommand.java:157) [EssentialsX-2.0.1.jar:?]
at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:511) [EssentialsX-2.0.1.jar:?]
at com.earth2me.essentials.Essentials.onCommand(Essentials.java:424) [EssentialsX-2.0.1.jar:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [spigot.jar:git-Spigot-8cbfc85-202da97]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot.jar:git-Spigot-8cbfc85-202da97]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:644) [spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1385) [spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1220) [spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-8cbfc85-202da97]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_111]
at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:747) [spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) [spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-8cbfc85-202da97]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: java.util.ConcurrentModificationException
at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1211) ~[?:1.8.0_111]
at java.util.TreeMap$EntryIterator.next(TreeMap.java:1247) ~[?:1.8.0_111]
at java.util.TreeMap$EntryIterator.next(TreeMap.java:1242) ~[?:1.8.0_111]
at com.google.common.collect.AbstractMapBasedMultimap$Itr.next(AbstractMapBasedMultimap.java:1177) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at com.lishid.openinv.util.Cache.lazyCheck(Cache.java:149) ~[?:?]
at com.lishid.openinv.util.Cache.containsKey(Cache.java:91) ~[?:?]
at com.lishid.openinv.OpenInv.changeWorld(OpenInv.java:130) ~[?:?]
at com.lishid.openinv.listeners.PlayerListener.onWorldChange(PlayerListener.java:53) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
... 28 more
[20:58:40] [Server thread/INFO]: Erenil issued server command: /vanish
[20:58:40] [Server thread/INFO]: [VanishNoPacket] Erenil reappeared.
[20:58:41] [Server thread/INFO]: Erenil issued server command: /vanish
[20:58:41] [Server thread/INFO]: [VanishNoPacket] Erenil disappeared.
[20:58:53] [Server thread/INFO]: Erenil issued server command: //paste -a
[20:58:58] [Server thread/INFO]: Erenil issued server command: //undo
[20:58:59] [Server thread/ERROR]: Encountered an unexpected exception
net.minecraft.server.v1_12_R1.ReportedException: Ticking entity
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:825) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-8cbfc85-202da97]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: java.lang.NullPointerException
at simplepets.brainsynder.nms.entities.v1_12_R1.EntityPet.getOwner(EntityPet.java:118) ~[?:?]
at simplepets.brainsynder.pet.PetMoveEvent.(PetMoveEvent.java:33) ~[?:?]
at simplepets.brainsynder.nms.entities.v1_12_R1.EntityPet.move(EntityPet.java:408) ~[?:?]
at net.minecraft.server.v1_12_R1.EntityLiving.a(EntityLiving.java:1805) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at simplepets.brainsynder.nms.entities.v1_12_R1.EntityPet.a(EntityPet.java:334) ~[?:?]
at net.minecraft.server.v1_12_R1.EntityLiving.n(EntityLiving.java:2116) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.EntityInsentient.n(EntityInsentient.java:505) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.EntityLiving.B_(EntityLiving.java:1938) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.EntityInsentient.B_(EntityInsentient.java:244) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.World.entityJoinedWorld(World.java:1638) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.World.h(World.java:1608) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.World.tickEntities(World.java:1434) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.WorldServer.tickEntities(WorldServer.java:665) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:814) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
... 4 more
[20:58:59] [Server thread/ERROR]: Cause of unexpected exception was
java.lang.NullPointerException: null
at simplepets.brainsynder.nms.entities.v1_12_R1.EntityPet.getOwner(EntityPet.java:118) ~[?:?]
at simplepets.brainsynder.pet.PetMoveEvent.(PetMoveEvent.java:33) ~[?:?]
at simplepets.brainsynder.nms.entities.v1_12_R1.EntityPet.move(EntityPet.java:408) ~[?:?]
at net.minecraft.server.v1_12_R1.EntityLiving.a(EntityLiving.java:1805) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at simplepets.brainsynder.nms.entities.v1_12_R1.EntityPet.a(EntityPet.java:334) ~[?:?]
at net.minecraft.server.v1_12_R1.EntityLiving.n(EntityLiving.java:2116) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.EntityInsentient.n(EntityInsentient.java:505) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.EntityLiving.B_(EntityLiving.java:1938) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.EntityInsentient.B_(EntityInsentient.java:244) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.World.entityJoinedWorld(World.java:1638) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.World.h(World.java:1608) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.World.tickEntities(World.java:1434) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.WorldServer.tickEntities(WorldServer.java:665) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:814) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) ~[spigot.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(

Disable drop item in 1 and 2 slots

I use customJoinItems and openinv, i don't know why, but this plugin blocked drop item in 1 and 2 slots in inventory. Latest build paper spigot 1.8.8, latest version openinv and customjoinitems, in console no errors.

Expand offline manipulation; include fancy GUI

After having to figure out offline teleportation and gamemode/potion modification back in 1.9 I've been toying on and off with adding it to OpenInv.

If it is, there's a lot of room for expansion:
Display-only: ID (UUID for supported versions, name for older), IP if online, seen date
Editable: gamemode, location, health and hunger, potion effects, and experience

This issue is pretty much the same as #5 - is it within the scope of OpenInv to add additional offline player manipulation? I could just as easily make it an addon plugin instead, there's no need to add the features directly to OpenInv. Bloat is not a concern - support for 19(!) versions is more bloat than another command and a little inventory monitoring code piggybacking on our existing listeners could possibly cause. OpenInv 3.0.3 for 1.4.5-1.11 is 248KB while 1.11 alone is 27KB. A conditional to check if a feature is enabled is nanoseconds in the wind. Would this be useful, or is it just feature creep?

At the very least, it makes sense to add a wrapper for the CraftPlayer we load that properly supports all operations; we now officially have a public API for retrieving a Player object from an OfflinePlayer.

Improper caching causing dupes for offline players

Jikoo#10

This is a rare case. The Player loaded by the PlayerDataManager is a new object for SpecialEnderChest and SpecialPlayerInventory.

To replicate dupe/overwrite issues:

  1. Open an offline player's inventory to cache it
  2. Open the offline player's ender chest to cache it
  3. Edit both inventories
  4. Restart server to clear cached inventories (cached inventories only clear when players go offline - some retention policy would be good, the current state is bad)
  5. Reopen inventories to see whichever was closed first reverted to previous state

The root cause is that the ISpecialEnderChest and ISpecialPlayerInventory implementations do not use the same Player object. That means that whichever saves last causes the other inventory to revert to its previous state, provided the actual Player does not log in before the server is restarted.

/silent protects the chest when enabled

I have been trying to figure out why I couldn't use my Axe to break a chest and realized I open them silently since I open chests a lot and didn't want to hear the sounds. So after using /silent I can open any chest silently and it works fine.

However, with Minecraft Client 1.12, BungeeCord Server 1.12 & Spigot Server 1.12 with OpenInv v3.2.1, the /silent command is also protecting the chest from breakage. Turn silent off and like magic I can break the chest again. I could break the chest with just an empty hand, but no axe, pickaxe, sword or other tool can break the chest. Holding down the left mouse to break doesn't send the repeating event to enable breaking it. I did not have this issue in 1.11.2, so this is a regression issue for 1.12.

multiverse support?

can you add multiverse support?? i have not found a plugin that has multiverse support woth openinv

Issue with 1.8 on player join

09:25:04 [INFO] Abraxas000 [/70.10.70.155:55461] logged in with entity id 25755 at ([Serenity] -18.03125, 68.0, -176.8125)
09:25:04 [SEVERE] Could not pass event PLAYER_JOIN to OpenInv
java.lang.NoSuchMethodError: net.minecraft.server.InventoryPlayer.j()Lnet/minecraft/server/ItemStack;
at lishid.openinv.utils.PlayerInventoryChest.(PlayerInventoryChest.java:16)
at lishid.openinv.OpenInv.ReplaceInv(OpenInv.java:67)
at lishid.openinv.OpenInvPlayerListener.onPlayerJoin(OpenInvPlayerListener.java:24)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:244)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:126)
at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:110)
at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:34)
at net.minecraft.server.NetworkListenThread.a(SourceFile:94)
at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:464)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)

1.8.3 support

It seems the latest spigot update to 1.8.3 has broken OpenInv. Many people would like an update to fix the issues that are preventing us from using this great plugin.

Console Error on 3.3.1

08.11.2017 14:00:59 [SEVERE] Could not pass event PlayerInteractEvent to OpenInv v3.3.1
08.11.2017 14:00:59 org.bukkit.event.EventException: null
08.11.2017 14:00:59 at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:00:59 at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:00:59 at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:00:59 at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:00:59 at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:234) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:00:59 at net.minecraft.server.v1_12_R1.PlayerInteractManager.a(PlayerInteractManager.java:458) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:00:59 at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:951) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:00:59 at net.minecraft.server.v1_12_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:00:59 at net.minecraft.server.v1_12_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:1) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:00:59 at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:00:59 at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_144]
08.11.2017 14:00:59 at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_144]
08.11.2017 14:00:59 at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:00:59 at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:00:59 at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:01:00 at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:01:00 at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:01:00 at java.lang.Thread.run(Unknown Source) [?:1.8.0_144]
08.11.2017 14:01:00 Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.lishid.openinv.util.Permissions
08.11.2017 14:01:00 at com.lishid.openinv.listeners.PlayerListener.onPlayerInteract(PlayerListener.java:65) ~[?:?]
08.11.2017 14:01:00 at sun.reflect.GeneratedMethodAccessor316.invoke(Unknown Source) ~[?:?]
08.11.2017 14:01:00 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
08.11.2017 14:01:00 at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
08.11.2017 14:01:00 at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
08.11.2017 14:01:00 ... 17 more

console commands

this is not an "issue" per say but most commands should be usable from console. openinv should work from the console but stuff would be listed as text instead of showing the gui.

1.11 update

Error occurred while enabling OpenInv v2.3.9 (Is it up to date?) java.lang.NoClassDefFoundError: net/minecraft/server/v1_10_R1/World at com.lishid.openinv.OpenInv.onEnable(OpenInv.java:66) ~[?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:271) ~[spigot-1.11.jar:git-Spigot-d60de0a-54450b7] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) [spigot-1.11.jar:git-Spigot-d60de0a-54450b7] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot-1.11.jar:git-Spigot-d60de0a-54450b7] at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugin(CraftServer.java:373) [spigot-1.11.jar:git-Spigot-d60de0a-54450b7] at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugins(CraftServer.java:323) [spigot-1.11.jar:git-Spigot-d60de0a-54450b7] at net.minecraft.server.v1_11_R1.MinecraftServer.t(MinecraftServer.java:419) [spigot-1.11.jar:git-Spigot-d60de0a-54450b7] at net.minecraft.server.v1_11_R1.MinecraftServer.l(MinecraftServer.java:380) [spigot-1.11.jar:git-Spigot-d60de0a-54450b7] at net.minecraft.server.v1_11_R1.MinecraftServer.a(MinecraftServer.java:335) [spigot-1.11.jar:git-Spigot-d60de0a-54450b7] at net.minecraft.server.v1_11_R1.DedicatedServer.init(DedicatedServer.java:272) [spigot-1.11.jar:git-Spigot-d60de0a-54450b7] at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:542) [spigot-1.11.jar:git-Spigot-d60de0a-54450b7] at java.lang.Thread.run(Unknown Source) [?:1.8.0_102] Caused by: java.lang.ClassNotFoundException: net.minecraft.server.v1_10_R1.World at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:91) ~[spigot-1.11.jar:git-Spigot-d60de0a-54450b7] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot-1.11.jar:git-Spigot-d60de0a-54450b7] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_102] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_102] ... 12 more

concurrent modification exception

[02:22:42] [Server thread/WARN]: java.util.ConcurrentModificationException
[02:22:42] [Server thread/WARN]:    at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1211)
[02:22:42] [Server thread/WARN]:    at java.util.TreeMap$EntryIterator.next(TreeMap.java:1247)
[02:22:42] [Server thread/WARN]:    at java.util.TreeMap$EntryIterator.next(TreeMap.java:1242)
[02:22:42] [Server thread/WARN]:    at com.google.common.collect.AbstractMapBasedMultimap$Itr.next(AbstractMapBasedMultimap.java:1177)
[02:22:42] [Server thread/WARN]:    at com.lishid.openinv.util.Cache.lazyCheck(Cache.java:149)
[02:22:42] [Server thread/WARN]:    at com.lishid.openinv.util.Cache.invalidate(Cache.java:105)
[02:22:42] [Server thread/WARN]:    at com.lishid.openinv.util.Cache.put(Cache.java:60)
[02:22:42] [Server thread/WARN]:    at com.lishid.openinv.OpenInv.getSpecialInventory(OpenInv.java:309)
[02:22:42] [Server thread/WARN]:    at com.lishid.openinv.commands.OpenInvPluginCommand.openInventory(OpenInvPluginCommand.java:148)
[02:22:42] [Server thread/WARN]:    at com.lishid.openinv.commands.OpenInvPluginCommand.access$100(OpenInvPluginCommand.java:33)
[02:22:42] [Server thread/WARN]:    at com.lishid.openinv.commands.OpenInvPluginCommand$1$1.run(OpenInvPluginCommand.java:89)
[02:22:42] [Server thread/WARN]:    at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:58)
[02:22:42] [Server thread/WARN]:    at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:356)
[02:22:42] [Server thread/WARN]:    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:832)
[02:22:42] [Server thread/WARN]:    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423)
[02:22:42] [Server thread/WARN]:    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:766)
[02:22:42] [Server thread/WARN]:    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:664)
[02:22:42] [Server thread/WARN]:    at java.lang.Thread.run(Thread.java:745)

Internal Error for Offline Players on 1.7.10

There is an error when using OpenInv on OfflinePlayers.

I am using Spigot 1.7.10 Build #1585

[18:19:59 ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'oi' in plugin OpenInv v2.1.9 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot-1.7.10.jar:git-Spigot-1585] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[spigot-1.7.10.jar:git-Spigot-1585] at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:767) ~[spigot-1.7.10.jar:git-Spigot-1585] at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerConnection.java:1013) [spigot-1.7.10.jar:git-Spigot-1585] at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:850) [spigot-1.7.10.jar:git-Spigot-1585] at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java:28) [spigot-1.7.10.jar:git-Spigot-1585] at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat.java:65) [spigot-1.7.10.jar:git-Spigot-1585] at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:184) [spigot-1.7.10.jar:git-Spigot-1585] at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [spigot-1.7.10.jar:git-Spigot-1585] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:731) [spigot-1.7.10.jar:git-Spigot-1585] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [spigot-1.7.10.jar:git-Spigot-1585] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot-1.7.10.jar:git-Spigot-1585] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot-1.7.10.jar:git-Spigot-1585] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot-1.7.10.jar:git-Spigot-1585] Caused by: java.lang.NullPointerException at com.lishid.openinv.commands.OpenInvPluginCommand.onCommand(OpenInvPluginCommand.java:84) ~[?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot-1.7.10.jar:git-Spigot-1585] ... 13 more

Suggestion: Versioning

I really love the changes you guys are adding but can I make a suggestion. You havent versioned your work...ever...with the introduction of an api - I would have thought it a good idea. Once other plugin makers start using the api they are going to want to advertise a supported version and while it might be the case that the api will always work with version 1.0. As you add new end points etc that would I assume change....

Also do you host or publish the api to a maven repo? there is nothing in the POM. To automate maven its nice to host somewhere - I currently self publish to our maven repo we run but an official repo would be nice.

Narimm
AddstarMC
jenkins.addstar.com.au
Artifactory

Port to Forge

Hi!

I know this is a silly question, but are there any plans to port this very useful plugin to Forge?

I think only permissions should be different: just op/non-op.

Thanks in advance!

SilentChest crashes client on Cauldron/Kauldron

http://pastebin.com/iUzLpAyG

The issue seems to be that the packet updating the Player's inventory is sending the wrong size list. It's likely due to mods that add additional player inventory slots, and I don't think there's much we can do about it. The only thing that springs to mind is using reflection to add the slot listener and manually sending the inventory contents packet so as to avoid sending the packet to update the player's inventory contents.

The real problem is that it's inconsistent. Initially I was able to crash my client immediately, but later on I was not able to reproduce it. There's more, too. Initially, AnyChest worked perfectly. Now SilentChest works, but every single chest is detecting itself as being blocked, so AnyChest is required. The only change I made was installing Essentials and adding a command that updates your inventory. I uninstalled Essentials and reverted the change, and it still works the same way.

I'll leave this open for a little because it does bother me that things aren't working right, but I think the end conclusion is gonna be that Cauldron is flat out buggy and NMS-based plugins can't be expected to function properly.

java.lang.NoSuchFieldException

Paper/Spigot 1.12, OpenInv 3.2.0, when I type /inv [online player]

[2017-06-09 17:26:34 | Server thread] java.lang.NoSuchFieldException: g
[2017-06-09 17:26:34 | Server thread] 	at java.lang.Class.getDeclaredField(Unknown Source)
[2017-06-09 17:26:34 | Server thread] 	at com.lishid.openinv.internal.v1_12_R1.SpecialPlayerInventory.setItemArrays(SpecialPlayerInventory.java:169)
[2017-06-09 17:26:34 | Server thread] 	at com.lishid.openinv.internal.v1_12_R1.SpecialPlayerInventory.<init>(SpecialPlayerInventory.java:38)
[2017-06-09 17:26:34 | Server thread] 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[2017-06-09 17:26:34 | Server thread] 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
[2017-06-09 17:26:34 | Server thread] 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
[2017-06-09 17:26:34 | Server thread] 	at java.lang.reflect.Constructor.newInstance(Unknown Source)
[2017-06-09 17:26:34 | Server thread] 	at com.lishid.openinv.util.InternalAccessor.createObject(InternalAccessor.java:103)
[2017-06-09 17:26:34 | Server thread] 	at com.lishid.openinv.util.InternalAccessor.newSpecialPlayerInventory(InternalAccessor.java:212)
[2017-06-09 17:26:34 | Server thread] 	at com.lishid.openinv.OpenInv.getSpecialInventory(OpenInv.java:306)
[2017-06-09 17:26:34 | Server thread] 	at com.lishid.openinv.commands.OpenInvPluginCommand.openInventory(OpenInvPluginCommand.java:148)
[2017-06-09 17:26:34 | Server thread] 	at com.lishid.openinv.commands.OpenInvPluginCommand.access$100(OpenInvPluginCommand.java:33)
[2017-06-09 17:26:34 | Server thread] 	at com.lishid.openinv.commands.OpenInvPluginCommand$1$1.run(OpenInvPluginCommand.java:89)
[2017-06-09 17:26:34 | Server thread] 	at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:58)
[2017-06-09 17:26:34 | Server thread] 	at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:356)
[2017-06-09 17:26:34 | Server thread] 	at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:829)
[2017-06-09 17:26:34 | Server thread] 	at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:409)
[2017-06-09 17:26:34 | Server thread] 	at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:763)
[2017-06-09 17:26:34 | Server thread] 	at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:661)
[2017-06-09 17:26:34 | Server thread] 	at java.lang.Thread.run(Unknown Source)

Getting this issue

Dont know what has caused it but im getting this error:

19:08:09org.bukkit.event.EventException: null
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:72) ~[patched_1.12.2.jar:git-Paper-1209]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.12.2.jar:git-Paper-1209]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.12.2.jar:git-Paper-1209]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:514) [patched_1.12.2.jar:git-Paper-1209]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) [patched_1.12.2.jar:git-Paper-1209]
at net.minecraft.server.v1_12_R1.PlayerList.disconnect(PlayerList.java:423) [patched_1.12.2.jar:git-Paper-1209]
at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1111) [patched_1.12.2.jar:git-Paper-1209]
at net.minecraft.server.v1_12_R1.NetworkManager.handleDisconnection(NetworkManager.java:290) [patched_1.12.2.jar:git-Paper-1209]
at net.minecraft.server.v1_12_R1.ServerConnection.c(ServerConnection.java:184) [patched_1.12.2.jar:git-Paper-1209]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:940) [patched_1.12.2.jar:git-Paper-1209]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:424) [patched_1.12.2.jar:git-Paper-1209]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:767) [patched_1.12.2.jar:git-Paper-1209]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:665) [patched_1.12.2.jar:git-Paper-1209]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]
Caused by: java.util.ConcurrentModificationException
at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1207) ~[?:1.8.0_91]
at java.util.TreeMap$EntryIterator.next(TreeMap.java:1243) ~[?:1.8.0_91]
at java.util.TreeMap$EntryIterator.next(TreeMap.java:1238) ~[?:1.8.0_91]
at com.google.common.collect.AbstractMapBasedMultimap$Itr.next(AbstractMapBasedMultimap.java:1177) ~[patched_1.12.2.jar:git-Paper-1209]
at com.lishid.openinv.util.Cache.lazyCheck(Cache.java:149) ~[OpenInv.jar:?]
at com.lishid.openinv.util.Cache.containsKey(Cache.java:91) ~[OpenInv.jar:?]
at com.lishid.openinv.OpenInv.setPlayerOffline(OpenInv.java:567) ~[OpenInv.jar:?]
at com.lishid.openinv.listeners.PlayerListener.onPlayerQuit(PlayerListener.java:48) ~[OpenInv.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor164.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[patched_1.12.2.jar:git-Paper-1209]
... 13 more

OpenInv.exempt doesn't work when the player is offline

My moderator group has the permissions to open others inventories, but at the same time has the OpenInv.exempt so they can't open each other inventories. This works perfectly fine when the target is online, but when it is offline OpenInv.exempt doesn't work. I don't know if Im doing something wrong.
Using paperspigot 1.12.1.
Thank you.

API for offline players doesn't work

I'm trying to get inventory of online and offline players using OpenInv API, but it only works for online players. When I'm trying to get inventory of offline player I'm getting null :/

(getting openinv instance in main plugin class)

 openinv = (OpenInv) getServer().getPluginManager().getPlugin("OpenInv");

{trying to get player inv by uuid)

UUID uuid = UUID.fromString(uuid_string);
Player player = Bukkit.getOfflinePlayer(uuid).getPlayer();

ISpecialPlayerInventory openinv_inv = openinv.getSpecialInventory(player, player.isOnline()); //null point exeption
Inventory inv = openinv_inv.getBukkitInventory();

Note: opeinv.getInventory() also works only for online players

(probably not related, because this code works for online players, but I'm executing it as async task)

Bukkit.getScheduler().runTaskAsynchronously(this, new Runnable() {
    @Override
    public void run() {
        //code
    }
});

Since you are able to get into the .dat file when players are offline, while your there, could you allow us to change the position of a player?

I am interested in being able to change the position of an offline player in game. I know this is an inventory plugin, but you are already in the .dat file and the command could be /openinv position 'name' 0 64 0 (Or maybe just 'here')

This would be useful for a couple times i wiped the players .dat file to fix their location in the server. So in a way it relates to the inventory not getting wiped.. haha
(that was after I found a .dat file editor and was able to upload the file to my pc, then fix it, then reupload to the server. A long process to change 3 numbers)

It might be best to set it only to be able to be used if the player is offline, then it cannot mess with current online players.

But I do think it would be a god feature!

getContents bug

Hey i have found a bug :S

 @Override
public ItemStack[] getContents() {
ItemStack[] C = new ItemStack[getSize()];
System.arraycopy(items, 0, C, 0, items.length);
System.arraycopy(items, 0, C, items.length, armor.length);
return C;
}

Should it not look like:
System.arraycopy(armor, 0, C, items.length, armor.length);

1.8 compatibility

Hi guys,

Comment section and PM don't work, so i create a ticket to request an update with the compatibility in 1.8 :)

MegaNarwhal
May 11, 2016 at 00:54 - 0 likes Like

@JohOply: Go

http://dev.bukkit.org/bukkit-plugins/openinv/files/66-open-inv-2-3-4/

Or use OpenInv 2.3.0 if you need support for 1.8.0.

Currently i use it (2.3.0), but there is a recently fixed bug about enderchest, i thought it was possible to have latest version of plugin compatible with 1.8 :)

Thank you for reading

Automated building?

At the moment, it's somewhat difficult for others to build Openinv, due to the large number of CraftBukkit versions it depends on. Perhaps we could introduce a system such as Gradle in order to make things easier?

Offline Player on horse

When player logout on horse and somebody changing him inventory, the horse will be disappear.

PlayerChangedWorldEvent Exception

This has happened three times, twice directly after teleports (cannot confirm if the world was changed) and once without apparent reason. I wasn't able to reproduce the issue anymore after that, even trying some more scenarios out. In the teleport cases two players were teleported on the same tick.

2017-02-12 16:05:35 [ERROR] Could not pass event PlayerChangedWorldEvent to OpenInv v3.1.1
org.bukkit.event.EventException
	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot.jar:git-Spigot-65a0347-a552117]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-65a0347-a552117]
	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-65a0347-a552117]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-65a0347-a552117]
	at net.minecraft.server.v1_11_R1.PlayerList.moveToWorld(PlayerList.java:682) [spigot.jar:git-Spigot-65a0347-a552117]
	at org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer.teleport(CraftPlayer.java:506) [spigot.jar:git-Spigot-65a0347-a552117]
	at com.earth2me.essentials.Teleport.now(Teleport.java:134) [EssentialsX.jar:?]
	at com.earth2me.essentials.TimedTeleport$1DelayedTeleportTask.run(TimedTeleport.java:109) [EssentialsX.jar:?]
	at org.bukkit.craftbukkit.v1_11_R1.scheduler.CraftTask.run(CraftTask.java:71) [spigot.jar:git-Spigot-65a0347-a552117]
	at org.bukkit.craftbukkit.v1_11_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:353) [spigot.jar:git-Spigot-65a0347-a552117]
	at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:738) [spigot.jar:git-Spigot-65a0347-a552117]
	at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) [spigot.jar:git-Spigot-65a0347-a552117]
	at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-65a0347-a552117]
	at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-65a0347-a552117]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]
Caused by: java.util.ConcurrentModificationException
	at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1211) ~[?:1.8.0_101]
	at java.util.TreeMap$EntryIterator.next(TreeMap.java:1247) ~[?:1.8.0_101]
	at java.util.TreeMap$EntryIterator.next(TreeMap.java:1242) ~[?:1.8.0_101]
	at com.lishid.openinv.util.Cache.lazyCheck(Cache.java:137) ~[?:?]
	at com.google.common.collect.AbstractMapBasedMultimap$Itr.next(AbstractMapBasedMultimap.java:1145) ~[spigot.jar:git-Spigot-65a0347-a552117]
	at com.lishid.openinv.util.Cache.containsKey(Cache.java:87) ~[?:?]
	at com.lishid.openinv.OpenInv.changeWorld(OpenInv.java:630) ~[?:?]
	at com.lishid.openinv.listeners.PlayerListener.onWorldChange(PlayerListener.java:53) ~[?:?]
	at sun.reflect.GeneratedMethodAccessor415.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101]
	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-65a0347-a552117]
	... 14 more

After it happened I reloaded the plugin and the issue hasn't occurred since then, however this stacktrace popped up;

2017-02-12 16:25:28 [ERROR] Error occurred while disabling OpenInv v3.1.1 (Is it up to date?)
java.util.ConcurrentModificationException
	at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901) ~[?:1.8.0_101]
	at java.util.ArrayList$Itr.next(ArrayList.java:851) ~[?:1.8.0_101]
	at com.lishid.openinv.OpenInv$2.run(OpenInv.java:95) ~[?:?]
	at com.lishid.openinv.OpenInv$2.run(OpenInv.java:87) ~[?:?]
	at com.lishid.openinv.util.Cache.invalidateAll(Cache.java:123) ~[?:?]
	at com.lishid.openinv.OpenInv.onDisable(OpenInv.java:166) ~[?:?]
	at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:273) ~[spigot.jar:git-Spigot-65a0347-a552117]
	at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:361) [spigot.jar:git-Spigot-65a0347-a552117]
	at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:424) [spigot.jar:git-Spigot-65a0347-a552117]
	at com.rylinaux.plugman.util.PluginUtil.unload(PluginUtil.java:415) [PlugMan.jar:?]
	at com.rylinaux.plugman.util.PluginUtil.reload(PluginUtil.java:376) [PlugMan.jar:?]
	at com.rylinaux.plugman.command.ReloadCommand.execute(ReloadCommand.java:122) [PlugMan.jar:?]
	at com.rylinaux.plugman.PlugManCommandHandler.onCommand(PlugManCommandHandler.java:95) [PlugMan.jar:?]
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [spigot.jar:git-Spigot-65a0347-a552117]
	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot.jar:git-Spigot-65a0347-a552117]
	at org.bukkit.craftbukkit.v1_11_R1.CraftServer.dispatchCommand(CraftServer.java:650) [spigot.jar:git-Spigot-65a0347-a552117]
	at net.minecraft.server.v1_11_R1.PlayerConnection.handleCommand(PlayerConnection.java:1344) [spigot.jar:git-Spigot-65a0347-a552117]
	at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:1179) [spigot.jar:git-Spigot-65a0347-a552117]
	at net.minecraft.server.v1_11_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot.jar:git-Spigot-65a0347-a552117]
	at net.minecraft.server.v1_11_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot.jar:git-Spigot-65a0347-a552117]
	at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-65a0347-a552117]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_101]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_101]
	at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [spigot.jar:git-Spigot-65a0347-a552117]
	at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:747) [spigot.jar:git-Spigot-65a0347-a552117]
	at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) [spigot.jar:git-Spigot-65a0347-a552117]
	at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-65a0347-a552117]
	at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-65a0347-a552117]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]

Player loading & Advancements memory leak

Not sure if this was an issue with achievements, but advancements load each time a player is loaded, then never get garbage collected. Need to look into the logout process more to complete cleanup. Shouldn't present an issue to the average user, takes 1000+ player loads to make a real impact.

Spigot 1.9 incompatibility - plugin does not start

@lishid @ShadowRanger

Hi, looks like OpenInv is not loading under Spigot 1.9 - error is below:

[14:08:40] [Server thread/INFO]: [OpenInv] Enabling OpenInv v2.2.9                                                                                            
[14:08:40] [Server thread/INFO]: [OpenInv] Your version of CraftBukkit is not supported.                                                                      
[14:08:40] [Server thread/INFO]: [OpenInv] Please look for an updated version of OpenInv.                                                                     
[14:08:40] [Server thread/INFO]: [OpenInv] Disabling OpenInv v2.2.9   

Thanks!

Permission bug

Player without permission to change other inventory can change it in some moment.
After lengthy attempts to take items from the inventory, protection is disabled and the player can edit the other inventory.
Maybe it's more a problem of the kernel (KCouldron).

Data not stored / duplication glitch

Finally found it. Was driving me nuts figuring this out.
Once you open a players inventory and thus the player.dat file won't be saved properly. When the player logs out, whatever he does in the meantime, will result in keeping the data on login that was stored before the player logged in. This can be used to duplicate entire inventories. You don't even have to have inventory editing permissions, viewing is enough.

To reproduce:

  1. Spec players inv, close it
  2. Teleport him away, do something with him, log out, move items from your inventory into a chest to dupe
  3. On login, his inventory and location will be restored to the state it had before his last login.

This issue existed a very long time, I just never figured out where it came from. Right now I'm on spigot 1.9. I was able to reproduce this on a empty Spigot with only Openinv installed. I wonder how nobody noticed this already.

Stacktrace on join

Following stacktrace happened randomly on join once, didn't seem to cause any further issues though.

[2017-07-03 18:15:42 ERROR] Could not pass event PlayerJoinEvent to OpenInv v3.2.1
org.bukkit.event.EventException: null
	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot.jar:git-Spigot-23b6354-0481ae9]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-23b6354-0481ae9]
	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [spigot.jar:git-Spigot-23b6354-0481ae9]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [spigot.jar:git-Spigot-23b6354-0481ae9]
	at net.minecraft.server.v1_12_R1.PlayerList.onPlayerJoin(PlayerList.java:342) [spigot.jar:git-Spigot-23b6354-0481ae9]
	at net.minecraft.server.v1_12_R1.PlayerList.a(PlayerList.java:162) [spigot.jar:git-Spigot-23b6354-0481ae9]
	at net.minecraft.server.v1_12_R1.LoginListener.b(LoginListener.java:159) [spigot.jar:git-Spigot-23b6354-0481ae9]
	at net.minecraft.server.v1_12_R1.LoginListener.e(LoginListener.java:57) [spigot.jar:git-Spigot-23b6354-0481ae9]
	at net.minecraft.server.v1_12_R1.NetworkManager.a(NetworkManager.java:233) [spigot.jar:git-Spigot-23b6354-0481ae9]
	at net.minecraft.server.v1_12_R1.ServerConnection.c(ServerConnection.java:140) [spigot.jar:git-Spigot-23b6354-0481ae9]
	at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:842) [spigot.jar:git-Spigot-23b6354-0481ae9]
	at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) [spigot.jar:git-Spigot-23b6354-0481ae9]
	at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-23b6354-0481ae9]
	at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-23b6354-0481ae9]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Caused by: java.util.ConcurrentModificationException
	at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1211) ~[?:1.8.0_131]
	at java.util.TreeMap$EntryIterator.next(TreeMap.java:1247) ~[?:1.8.0_131]
	at java.util.TreeMap$EntryIterator.next(TreeMap.java:1242) ~[?:1.8.0_131]
	at com.google.common.collect.AbstractMapBasedMultimap$Itr.next(AbstractMapBasedMultimap.java:1177) ~[spigot.jar:git-Spigot-23b6354-0481ae9]
	at com.lishid.openinv.util.Cache.lazyCheck(Cache.java:147) ~[?:?]
	at com.lishid.openinv.util.Cache.containsKey(Cache.java:92) ~[?:?]
	at com.lishid.openinv.OpenInv.setPlayerOnline(OpenInv.java:589) ~[?:?]
	at com.lishid.openinv.listeners.PlayerListener.onPlayerJoin(PlayerListener.java:43) ~[?:?]
	at sun.reflect.GeneratedMethodAccessor419.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-23b6354-0481ae9]
	... 14 more

OpenInv is Overriding too Many Commands

Hello,

I installed OpenInv a long time ago, but when I try to do /ac or /sc for other commands like stuff in Essentials it this plugin overrides it and therefore cool features from other plugins cannot be used because OpenInv overrides every other plugin.
My solution is to do something like this in the config.
CompatibilityOptions:
# The event priority which OpenInv should use for the specific event.
# If another plugin overrides SV's join/leave settings, setting the priorities to MONITOR can help.
# Allowed values: LOWEST, LOW, NORMAL, HIGH, HIGHEST, MONITOR
CommandImput: HIGH # <- Set this to "HIGH" if you use Essentials to modify stuff
CommandImput: NORMAL

Item Dupe

I saw you where going to be possibly updating for 1.8 can you address this issue please. If you open your own inventory you can shift click from the bottom slots up to the openinv gui and it will actually dupe the items.

Memory Leak

I noticed that there are maps using Player objects here:
https://github.com/lishid/OpenInv/blob/master/src/main/java/com/lishid/openinv/commands/OpenInvPluginCommand.java#L36
and
https://github.com/lishid/OpenInv/blob/master/src/main/java/com/lishid/openinv/commands/OpenEnderPluginCommand.java#L36

Please switch this to UUID as using the Player object causes incredible memory leaks as it appears these values are not cleaned up on logout.

The memory leaks caused by Player objects are massive.

/searchinv

When I try to use /searchinv it says that an internal error occurred. I contacted my server client and they said it was because you're using outdated code. If you could fix that ASAP that'd be great.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.