Skip to content

Cannot cancel listing when selling full inventory + hotbar: “not enough inventory space” soft-lock #1

@Jhiynn

Description

@Jhiynn

Description

When a player sells their entire inventory including the hotbar via EcotaleMarketplace, the player can end up unable to cancel / retrieve the items from the marketplace.

On cancel/retrieve, the plugin checks for available inventory space and rejects the action with something like “not enough space in inventory”. Since the listing may contain more items than can fit (or exactly fills all slots), the player is effectively soft-locked: they cannot retrieve the listing unless they somehow create enough free space, which may be impossible depending on context and plugin flow.

Steps to Reproduce

  1. Fill inventory + hotbar completely (all slots used).
  2. Use the marketplace sell function to list everything (inventory + hotbar).
  3. Attempt to cancel the listing / retrieve items back from the market.
  4. Plugin denies with “not enough inventory space”.

Expected Behavior

Player should be able to cancel/retrieve a listing safely without getting stuck, even if the listing contains more items than currently fit in inventory.

Actual Behavior

Cancel/retrieve fails due to strict “must fit all items” check, preventing any partial retrieval or safe fallback, which can trap the items in the marketplace.

Impact

  • Items can become effectively stuck in the marketplace
  • Players can lose access to their items or need admin intervention
  • Feels like a bug/exploit risk and ruins UX

Suggested Fix / Improvements

Any of these would solve it (best is a combination):

Option A: Partial cancel/retrieve

  • Let player choose how many items to cancel/retrieve (e.g. “Cancel 10 / 64 / All”)
  • Or automatically retrieve as much as fits and leave the rest listed

Option B: Prevent listing more than can be safely retrieved

  • Disallow listing items beyond available inventory capacity for cancellation scenarios
  • At minimum: block selling “inventory + hotbar all at once” unless there’s a recovery mechanism

Option C: Overflow delivery fallback

On cancel, send overflow items to one of the following (configurable):

  • Temporary “claim” storage GUI
Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions