GroupeZ Docs
Development

Services

zAuctionHouse service-based architecture

zAuctionHouse uses a service-based architecture where each major operation has its own dedicated service.

Service Overview

ServicePurpose
AuctionSellServiceHandle item listing
AuctionPurchaseServiceHandle item purchases
AuctionRemoveServiceHandle item removal
AuctionExpireServiceHandle item expiration
AuctionHistoryServiceAccess transaction history
AuctionClaimServiceHandle money claims from sales

AuctionSellService

Handles all item listing operations. Allows selling items, validating sales, and managing listing limits.

public interface AuctionSellService {

    void sellAuctionItems(Player player, BigDecimal price, long expiredAt, Map<Integer, ItemStack> slotItems, AuctionEconomy auctionEconomy);

    void openSellCommandInventory(Player player, BigDecimal price, AuctionEconomy auctionEconomy);
}

AuctionPurchaseService

Handles item purchases. Validates buyer funds, processes transactions, and transfers items.

public interface AuctionPurchaseService {

    CompletableFuture<Void> purchaseItem(Player player, Item item);
}

AuctionRemoveService

Handles item removal from listings, expired items, and purchased items. Returns items to players.

public interface AuctionRemoveService {

    CompletableFuture<Void> removeListedItem(Player player, Item item);

    CompletableFuture<Void> removeSellingItem(Player player, Item item);

    CompletableFuture<Void> removeExpiredItem(Player player, Item item);

    CompletableFuture<Void> removePurchasedItem(Player player, Item item);

}

AuctionExpireService

Handles automatic and manual expiration of items. Moves items from active listings to expired state.

public interface AuctionExpireService {

    void processExpiredItem(Item item, StorageType storageType);

    void processExpiredItems(List<Item> items, StorageType storageType);

}

AuctionHistoryService

Provides access to transaction history and player statistics. Retrieves past sales and purchases.

public interface AuctionHistoryService {

    CompletableFuture<List<ItemLog>> getSalesHistory(UUID playerUniqueId);

    CompletableFuture<List<LogDTO>> getUnreadSales(UUID playerUniqueId);

    CompletableFuture<Void> markSalesAsRead(List<Integer> logIds);

    void handlePlayerJoin(Player player);

    void openHistoryInventory(Player player);

    void openHistoryInventory(Player player, int page);
}

AuctionClaimService

Handles money claims from completed sales. Players receive money when their items are sold.

public interface AuctionClaimService {

    CompletableFuture<ClaimResult> claim(Player player);

    CompletableFuture<ClaimResult> claim(Player player, AuctionEconomy economy);

    double getPendingAmount(UUID playerUuid);

    Map<AuctionEconomy, Double> getPendingAmounts(UUID playerUuid);

    boolean hasPendingClaims(UUID playerUuid);
}

On this page

GroupeZ MCP

Documentation in your AI

MCP lets your AI search GroupeZ documentation and read current examples to help you configure your plugins.

Read-only · No documentation API key needed

1. Copy the server URL

Transport: HTTP (Streamable HTTP). Authentication: none. Your tool uses its own model and subscription limits.

  1. Open Plugins in ChatGPT on the web, then + → Add custom MCP server.
  2. Name it ‘GroupeZ Documentation’, paste the URL above and choose ‘No authentication’. Create and install the plugin.
  3. In a conversation, type @ and select the plugin before asking. If needed, enable search, get_page and list_pages in its settings.
Official setup guide

3. Ask a question

Use GroupeZ MCP to help me create a zMenu inventory. Search relevant pages, read the examples and cite your sources.
Other clients and troubleshooting

For clients using mcpServers, adapt this example to their format:

{
  "mcpServers": {
    "groupez-docs": {
      "url": ""
    }
  }
}

Available tools are search, get_page and list_pages. Refresh the connector’s tools after updates. If your AI cannot access them, check that the connector is enabled in the conversation and your account allows custom MCP servers. Opening the URL in a browser is not an MCP test.