Jannyboy11 / InvSee-plus-plus

A bukkit plugin for manipulating player inventories
Other
93 stars 17 forks source link

PWI integration not working #5

Closed malpkakefirek closed 3 years ago

malpkakefirek commented 3 years ago

no matter what settings I use in the command, the inventories of offline players appear empty. My server is on 1.17 spigot

Jannyboy11 commented 3 years ago

I'm not really sure how to reproduce this. Did you check whether there was actually any items in PWI's save data? When testing I had load-data-on-join set to true in PerWorldInventory's config.

malpkakefirek commented 3 years ago

It works with load-data-on-join set to true. I had it on false previously (PWI was working normally with it being false). You should state it somewhere that it needs to be true for the integration to work.

Jannyboy11 commented 3 years ago

Ideally I want it to also work when it's false, but I'll have to investigate whether this can be supported. I'll re-open the issue for now. In the meantime, I'll add the extra instruction to the README and overview page on SpigotMC.

Edit: commit that addressed this issue: https://github.com/Jannyboy11/InvSee-plus-plus/commit/a20000385af284e07152a8af6a2cd96a87961279

Jannyboy11 commented 3 years ago

Okay I think this can be done. What happens when PWI's load-data-on-join is false, is that it uses the vanilla loading process to load player data. The player's inventory is only loaded from PWI's storage when a player switches to a world that belongs to a different group. So what needs to happen to support this is that when editing an inventory using InvSee++, the updated inventory needs to be stored in vanilla's saved player data if the world matches the world where the player last logged out.

Jannyboy11 commented 3 years ago

Due to a bug in PerWorldInventory's code that checks whether a world is part of a group, I could only fix this partially. If the load-data-on-join setting is false, then InvSee++ will always save the inventory to the vanilla player data file.

Feel free to re-open the issue or create a new one if this does not work for you.

I'll close this issue and mark it as fixed as of https://github.com/Jannyboy11/InvSee-plus-plus/commit/402640d4eca4ecc2c1d5b0d0a28c6625e715c456