Skip to content

WildStacker API 2025.1 setItemStack() didn't work #1088

@steodec

Description

@steodec

Minecraft's Version

  • Papper: 1.21.4-R0.1-SNAPSHOT

Plugin's Version

  • WildStacker: version 2025.1-b165
  • WildStackerAPI: version 2025.1

Describe the bug

class ItemPickupListener : Listener {
    @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
    fun onPickup(event: EntityPickupItemEvent) {
        val entity = event.entity
        val item: Item = event.item
        if (entity is Player) {
            val playerData = PlayerDataImpl.get(entity.uniqueId)
            if (!playerData.activated) return
            if (playerData.bag == "INVENTORY") return
            val bagIndex = playerData.bag.toIntOrNull() ?: return
            val itemStackCopy = item.itemStack.clone()
            val stackedItem = WildStackerAPI.getStackedItem(item)
            if (stackedItem != null) {
                stackedItem.itemStack = null
            } else {
                item.remove()
            }
            IslandChestsApi.addToBag(entity, itemStackCopy, bagIndex)
        }
    }
}

Hello,
I'm experiencing an issue with the method WildStackerAPI.getStackedItem(item).
No matter what I do, the returned itemStack is always the same, even if I set it to null or Material.AIR.
This makes it impossible to properly manage stacked items, as I can't detect when the stack is empty or removed.

To Reproduce

Steps to reproduce:

Get a stacked item using WildStackerAPI.getStackedItem(item)
Try to set its itemStack to null or Material.AIR
Observe that the returned value does not change
Expected behavior:
Set the item stack of the item. If null or air, the remove method will be called.

Additional Information

No response

Metadata

Metadata

Assignees

Labels

😴 No responseReports that haven't received a respond for over a week

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions