Price Alerts
Alerty cenowe — match nowej oferty (cena ≤ max, ItemSearchUtil, nie własna), tylko online, bez auto-usuwania.
Na podstawie kodu GrzybcioRynek 1.0.3 i web 0.1.0.
Alert: fraza + maksymalna cena. Serwis: AlertService.checkListing po utworzeniu oferty. Dane: market-data.yml → alerts.<uuid>.
market.alerts z plugin.yml nie jest sprawdzane w Javie.
Konfiguracja
price-alerts:
enabled: true
max-per-player: 10enabled: false → /market alerts i przycisk browse (slot 50) dają alerts.disabled. checkListing wtedy nic nie robi.
Limit przy addAlert — przekroczenie: alerts.limit ({limit}).
Tworzenie
/market alerts add diamentowy miecz 5000
Ostatni argument = max cena. Reszta między add a ceną = fraza (spacje dozwolone).
Sukces: alerts.created ({query}, {price}). Klik istniejącego alertu w GUI = usunięcie (alerts.removed).
Kiedy strzela
Po sellItem, na nowej ofercie, dla każdego alertu:
listing.price <= alert.maxPriceItemSearchUtil.matches(listing, alert.query)- sprzedawca ≠ właściciel alertu (własne oferty nie pingują)
- właściciel alertu jest online
Komunikat: alerts.triggered ({item}, {price}, {max}).
Alert nie jest usuwany po strzale. Offline gracz nie dostaje zaległego powiadomienia po wejściu.
GUI
54 sloty. Dodaj 49. Paginacja 48/50, strona na 53, wstecz 45. Puste: gui.alerts.empty.
Czego nie ma
- Alertów na spadek ceny istniejącej oferty (tylko nowe listingi).
- Kolejkowania dla offline.
- Auto-remove po triggerze.