Project Inventories

New problem: I have 2 worlds, 1 survival, 1 creative. I’ve used “/inventory set” to make the survival world use the “default” Inventory and the creative one a new inventory called “Creative”. All the commands responded successfully, and I see the Creative inventory in the config file, but I don’t see the world SETtings.

When telporting from survival to creative, the inventory does not change, but from creative to survival, it does - EDIT: Scratch that. Every time I test, it’s different.

The more I test, the more confused I get. The behavior is not consistent at all, and I can’t seem to get the same result twice - very strange.

What are you using to teleport?

I’ve used signs as well as the /world teleport command. However, I could use a button or anything - do some types work better than others?

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?