Expiration
Listing expiry configuration — listing-expiry-days, 30 min timer, outbox and pending-returns.
Compatible with: GrzybcioRynek 1.0.3Minecraft 26.2Web 0.1.0
Based on GrzybcioRynek 1.0.3 and web 0.1.0 source.
Only lifetime key:
yaml
settings:
listing-expiry-days: 7| Type | int |
| Default | 7 |
| Effect | Listing expires when now - timestamp > N days. |
When checked
MarketPlace.onEnable(after managers are assembled)- every 30 minutes (
20 * 60 * 30ticks) - after
/market reload//market admin reload
Reserved listings (purchase in progress) are skipped.
Item path
- Entry
expiry-outbox.<id>inlistings.yml(seller, item, price,reason: expired) - Remove listing + clear favorites
processExpiryOutbox:- online + space → inventory,
expiry.returned - otherwise →
MailboxService.deposit(expired) orpending-returnswhen mailbox off
- online + space → inventory,
/market admin forceexpire <id> forces the same reason expired immediately.
Mailbox dependency
mailbox.enabled | Offline seller |
|---|---|
true | market-data.yml mailbox |
false | listings.yml pending-returns.<uuid> |
What is missing
- Per-listing timer (one global scheduler).
- Extending a listing via command.
- A “warn X hours before expiry” key.