Files
2026-02-18 05:13:49 -05:00

102 lines
2.0 KiB
Java

package noppes.npcs.api.handler.data;
import noppes.npcs.api.item.IItemStack;
/**
* Represents an auction claim (item or currency to be collected).
*/
public interface IAuctionClaim {
/**
* Get the unique claim ID.
*/
String getId();
/**
* Get the player's UUID who can claim this.
*/
String getPlayerUUID();
/**
* Get the player's display name.
*/
String getPlayerName();
/**
* Get the related listing ID.
*/
String getListingId();
/**
* Get the claim type.
*
* @return 0 = Item, 1 = Currency (sale proceeds), 2 = Refund (outbid)
*/
int getType();
/**
* Check if this is an item claim.
*/
boolean isItemClaim();
/**
* Check if this is a currency claim (sale proceeds or refund).
*/
boolean isCurrencyClaim();
/**
* Check if this is a refund claim (outbid).
*/
boolean isRefundClaim();
/**
* Get the item to claim (for item claims only).
*
* @return The item, or null for currency claims
*/
IItemStack getItem();
/**
* Get the item display name (for currency/refund claims tooltip).
*/
String getItemName();
/**
* Get the currency amount (for currency/refund claims).
*/
long getCurrency();
/**
* Get the other player's name involved.
* For currency claims: the buyer's name.
* For refund claims: the player who outbid.
*/
String getOtherPlayerName();
/**
* Get when this claim was created (Unix timestamp in ms).
*/
long getCreatedTime();
/**
* Check if this claim has been claimed.
*/
boolean isClaimed();
/**
* Check if this is a returned item (expired/cancelled listing) vs won item.
* Only relevant for item claims.
*/
boolean isReturnedItem();
/**
* Get days until this claim expires.
*/
long getDaysUntilExpiration();
/**
* Check if this claim has expired.
*/
boolean isExpired();
}