This is a discussion topic for the Ore project, Fake Inventories. View the full project on Ore for downloads and more information.
Fake Inventories
This plugin is a developer library that allow other plugins to create fake inventories.
Due to technical limitations, this works by placing a fake chest near the player (only the player who will see the inventory will see it, the chest is not real), and forcing the player to open it by game packets.
The content of the chest is define by the plugin that is using it.
Author
SupremeMortal
Note
I’m not a maintainer of the plugin but I can help if you have issues using it with PowerNukkit.
I have Seen Issues with Fakeinventorys
In Nukkit, all works great but all Plugins Like "Invsee, Enderchest, Auction, Craft (You can find all at Cloudburst) have Problems with DataPacketSendEvent.
m[1;31mERROR[m[m] Das Event "cn.nukkit.event.server.DataPacketSendEvent" konnte nicht zu "FakeInventories v1.0.3": null in Zeile com.nukkitx.fakeinventories.FakeInventoriesListener weitergegeben werden
cn.nukkit.utils.EventException: null
at cn.nukkit.plugin.MethodEventExecutor.execute(MethodEventExecutor.java:35) ~[nukkit-stable.jar:?]
at cn.nukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:60) ~[nukkit-stable.jar:?]
at cn.nukkit.plugin.PluginManager.callEvent(PluginManager.java:572) ~[nukkit-stable.jar:?]
at cn.nukkit.Player.dataPacket(Player.java:1171) ~[nukkit-stable.jar:?]
at com.nukkitx.fakeinventories.inventory.FakeInventory.lambda$onClose$0(FakeInventory.java:94) ~[?:?]
at cn.nukkit.scheduler.TaskHandler.run(TaskHandler.java:100) [nukkit-stable.jar:?]
at cn.nukkit.scheduler.ServerScheduler.runTasks(ServerScheduler.java:298) [nukkit-stable.jar:?]
at cn.nukkit.scheduler.ServerScheduler.mainThreadHeartbeat(ServerScheduler.java:279) [nukkit-stable.jar:?]
at cn.nukkit.Server.tick(Server.java:1371) [nukkit-stable.jar:?]
at cn.nukkit.Server.tickProcessor(Server.java:1146) [nukkit-stable.jar:?]
at cn.nukkit.Server.start(Server.java:1106) [nukkit-stable.jar:?]
at cn.nukkit.Server.(Server.java:778) [nukkit-stable.jar:?]
at cn.nukkit.Nukkit.main(Nukkit.java:200) [nukkit-stable.jar:?]
Caused by: java.lang.IllegalAccessError: tried to access field com.nukkitx.fakeinventories.inventory.FakeInventory.open from class com.nukkitx.fakeinventories.inventory.FakeInventories
at com.nukkitx.fakeinventories.inventory.FakeInventories.getFakeInventoryPositions(FakeInventories.java:11) ~[?:?]
at com.nukkitx.fakeinventories.FakeInventoriesListener.onPacketSend(FakeInventoriesListener.java:32) ~[?:?]
at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_212]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_212]
at cn.nukkit.plugin.MethodEventExecutor.execute(MethodEventExecutor.java:30) ~[nukkit-stable.jar:?]
Looks like you are using a broken version of FakeInventories in your server, check if you haven’t added it more than once or multiple versions of it in the plugin folder.
If you are sure that it is not added more than once, then I’m going to need the plugin list to try to find which one is inserting the broken class com/nukkitx/fakeinventories/inventory/FakeInventory.class in its jar file.
Have you tried to use the jar provided in this release?
I read the DM but I’m afraid I won’t be able to check all plugins there because the plugin list is very large, so I suggest you to create a temporary test server adding only FakeInventories and Auction and check if it works, if it works, then add some more plugins, restart and check if Auction still works, if it stopped working, then remove some of the added plugins and recheck until you find the offending plugin.
I confirmed that the first one breaks FakeInventories, I reproduced the issue when I installed it and tried to use Auction, you can fix it by opening its jar and deleting the com folder.