RockinChaos / ItemJoin

Get custom items on join.
https://www.craftationgaming.com/
GNU Lesser General Public License v3.0
137 stars 35 forks source link

On Death Duping Inventory - Keep Inventory On. #579

Open thedannymojo opened 6 months ago

thedannymojo commented 6 months ago

Server Version

PaperSpigot - 196 - 1.20.1

Resource Version

ItemJoin 6.0.5

Dump Information

https://ci.craftationgaming.com/dump?id=iroyaqiyec

Describe The Problem

I need help figuring out how to make it so that no multiple instances of an item are possible. The IJ item opens a menu of goodies. As it is a survival server, I made it so that KeepInventory is set to TRUE. This is because I want players to be able to collect their "Soul" to reclaim their items. This is a must setting for this to work.

The conflict is this: Upon death, the player should get their soul back, along with their items. One of which is the IJ item (I believe that KeepInventory interferes with the death-drop item flag.)

Once the player collects their soul, they will have 2 instances of the said IJ Item. I dont want this.

Is there a workaround this?

Triggers: Join. Item Flags: Self-Drops, Inventory-Modify, DEATH-KEEP.

PS: I have seen that this was a prior issue, but I was not able to see discord convos for solution.

Additional Context

2024-02-21_09 47 06 2024-02-21_09 47 25

Checklist

RockinChaos commented 6 months ago

Quick aside before I bug test; is there a particular reason to use death-keep and/or death-drops itemflag(s)?

If GameRule KeepInventory is set to true then these flags are pointless from my viewpoint since that GameRule already prevents the dropping of items on death and restores the inventory upon respawn.

thedannymojo commented 6 months ago

The only reason why KeepInventory is set to TRUE is to ensure that the Vanilla Refresh datapack "Soul Links" works. Some plugins online also require KeepInventory On.

I was thinking that maybe there was a way to add an item-flag that destroys all dupe instances in inventory. If that is possible.

RockinChaos commented 5 months ago

Apologies for the long delay, I have made some changes to how ItemJoin functions when KeepInventory is on.

Furthermore, I changed the functionality of death-keep so it should resolve any issues.

Link; https://ci.craftationgaming.com/downloads Remember to remove your old ItemJoin.jar file