Project Inventories

I just tested with buttons, with similarly confusing results.

It seems peoples results have been as you put it inconsistent. My tests, I’ve only had issues with signs and it took me an hour to get it to break, while others say there is problems with warps…and so on. I’m pretty sure I know why but I can’t do anything about it until a teleport or world change event is implemented. I think the results might be effected by server performance and that’s why the results so widely vary.

That seems like a valid theory. If it helps at all, I noticed some lag while testing and discovered this in my log:
[Server thread/WARN] [mixin/]: Method overwrite conflict for getSlotProvider in mixins.common.core.json:item.inventory.TraitInventoryAdapter, previously written by org.spongepowered.common.mixin.core.entity.player.MixinInventoryPlayer. Skipping method.

Yeah I’m not sure what that is. I’d have to ask @mumfrey

As always, thanks for all your hard work and I look forward to those events in Sponge getting implemented. Please let me know if there is more testing I can do to help. :relaxed:

Goodnews…

The firing of the teleport event is what we need I think and it looks like it will be there soon.

Hello, When someone logs on my server I will message in the console.

[08:55:00] [Server thread/INFO]: Nashous[/81.64.71.50:50046] logged in with entity id 27515 in Spawn(0) at (-759.0, 7.0, -1256.0) [08:55:00] [Server thread/ERROR] [Sponge]: Could not pass PlayerLoggedInEvent to Plugin{id=PJI, name=Project Inventories, version=0.4.4} java.lang.IllegalStateException at com.google.common.base.Preconditions.checkState(Preconditions.java:161) ~[minecraft_server.1.8.9.jar:?] at org.spongepowered.api.item.inventory.transaction.InventoryTransactionResult$Builder.build(InventoryTransactionResult.java:182) ~[InventoryTransactionResult$Builder.class:1.8.9-1691-3.1.0-BETA-1046] at org.spongepowered.common.item.inventory.adapter.impl.slots.SlotAdapter.offer(SlotAdapter.java:176) ~[SlotAdapter.class:1.8.9-1691-3.1.0-BETA-1046] at com.gmail.trentech.pji.data.InventoryPlayer.setInventory(InventoryPlayer.java:46) ~[InventoryPlayer.class:?] at com.gmail.trentech.pji.EventManager.ClientConnectionEventJoin(EventManager.java:32) ~[EventManager.class:?] at org.spongepowered.common.event.listener.JoinListener_EventManager_ClientConnectionEventJoin75.handle(Unknown Source) ~[?:?] at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:86) ~[RegisteredListener.class:1.8.9-1691-3.1.0-BETA-1046] at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:233) [SpongeModEventManager.class:1.8.9-1691-3.1.0-BETA-1046] at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:193) [SpongeModEventManager.class:1.8.9-1691-3.1.0-BETA-1046] at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:273) [SpongeModEventManager.class:1.8.9-1691-3.1.0-BETA-1046] at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:245) [SpongeModEventManager.class:1.8.9-1691-3.1.0-BETA-1046] at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:146) [SpongeImpl.class:1.8.9-1691-3.1.0-BETA-1046] at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:311) [lx.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:239) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.access$100(NetworkDispatcher.java:54) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher$1.func_73660_a(NetworkDispatcher.java:190) [NetworkDispatcher$1.class:?] at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:289) [ek.class:?] at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:189) [ll.class:?] at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:724) [MinecraftServer.class:?] at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:344) [ko.class:?] at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:605) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:481) [MinecraftServer.class:?] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45-internal] [08:55:00] [Server thread/INFO]: Nashous vient de se connecter sur MCMurigny

Do you know where the problem ?

cordially

Update: v0.6.0

Release: Download Here

!!!NOT COMPATIBLE WITH OLD VERSIONS. MUST DELETE OLD DATABASE BEFORE UPDATING!!!

Notable Changes:

  • Update teleportation implementation for Latest Sponge API
  • Inventories now stored as Containers
  • Some bug fixes

@TrenTech

i would like to request a feature for this Project Inventories:

please add an ability where it can carry health, experience, durability of the tools, and inventories from one server to another server through BungeeCord?

please do same for Project Portals where i can connect portal to a server (not a world) through bungeecord as well

um…they already do all that. All player information is saved, and Project Inventories utilizes MySQL so cross server support can be accomplished with or without BungeeCord.

Project Portals already has Bungee support through the use of the -b flag when creating portals.

can you tell me a bit more about that. i want to know how it works… I can’t figure it out how to make it work because there is no instruction on how to set it up.

Well you’ll need a SQL server setup. There are plenty of tutorials for that on google. In the Project Inventories config.conf enable MySQL and input the server database name, host, username and password. On your Minecraft server setup create your inventories with /inv create and assign them to the desired worlds with /inv set. Once this is done, on any other Minecraft server, in the config point it to the same database. Because the inventories have already been created all thats needed is to assign the previously created inventories to the desired worlds. Repeat with each server.

As far as Project Portals goes, You’ll need SpongyCord plugin installed and as previously stated when creating a portal, in the destination argument enter the bungee server name, and add the -b flag at the end.

@TrenTech

thank you, it all make sense now… you should mention it in the instruction… just make a short instruction on what you need to do for anyone who dont know. thats all. Keep up the work. :smile:

about time! i get to play

Yeah my documentation is less than impressive. Eventually I’d like to create wiki pages for all my plugins.

I have a problem.
When some player lost connect
Enter the server again
Or use bungecord transfer

Some times Inventory is empty

using project-inventores-v0.6.1
spongeforge-1.8.9-1890-4.2.0-BETA-1634

When Player joined
setInventory() is player.getInventory().clear(); and inventory build is not completed
World is saving and saveInventory()

save the empty inventory? Possible?

I found that the player’s network is relatively poor when it is easy to empty inventory

join and leave
Almost at the same time

please forgive my terrible english

Hi TrenTech. I think I found a bug in PJI. Items held in the off hand (such as torches for placing while mining, or shields), are not saved on exiting the server. They disappear.

I wouldn’t call it a bug, I just haven’t implemented it yet. Honestly I forgot all about it.

Fair enough. Thought it should be pointed out though! Thanks.