Fees
Prowizja wystawienia i sprzedaży — wzór, min/max, sink-account i co się dzieje przy błędzie.
Na podstawie kodu GrzybcioRynek 1.0.3 i web 0.1.0.
Sekcja market-fee w config.yml. Wyliczanie: ConfigManager.calculateListingFee / calculateSaleFee. Wynik zaokrąglany do 2 miejsc: Math.round(fee * 100.0) / 100.0.
Wzór
fee = price * (percent / 100)
jeśli fee < minimum-fee → minimum-fee
jeśli maximum-fee > 0 i fee > maximum-fee → maximum-fee
jeśli enabled == false → 0
maximum-fee: 0 oznacza brak capu, nie „fee = 0”.
Default
market-fee:
enabled: true
listing-fee-percent: 0.0
sale-fee-percent: 5.0
minimum-fee: 0.0
maximum-fee: 0.0
sink-account: ""Przy defaultach: wystawienie darmowe, sprzedaż 5%, brak min/max, prowizja spalana.
Prowizja wystawienia
Pobierana od wystawiającego zanim oferta trafi do YAML. Brak środków: item zostaje w ręce, fee.not-enough-listing. Sukces: fee.listing.
Listing-fee nie jest wpłacane na sink-account — znika z konta gracza (Vault withdraw). Przy wyjątku tworzenia oferty: item wraca, fee jest deponowane z powrotem.
Prowizja sprzedaży
Kupujący płaci pełną price. Sprzedawca dostaje max(0, round(price - fee, 2)).
Podgląd: Confirm (gui.confirm.fee, gui.confirm.seller-net) oraz fee.sale-preview w lore Detail.
Sink
sink-account: "skarbiec"Puste / whitespace = fee sprzedaży nie idzie nigdzie (spalenie). Niepuste: VaultHook.depositAccount(sink, fee) po SELLER_PAID. Nieudany sink = warning w logu, TX i tak idzie do COMPLETED.
Konto musi istnieć w pluginie ekonomii (Vault). Plugin nie tworzy konta.
Wyłączenie
enabled: false zeruje obie prowizje bez ruszania procentów w YAML.
Przykład 10% z capem
market-fee:
enabled: true
listing-fee-percent: 0.0
sale-fee-percent: 10.0
minimum-fee: 1.0
maximum-fee: 250.0
sink-account: "serwer"Oferta za 100 → fee 10 (powyżej min 1). Oferta za 10000 → fee 250 (cap).