4jcraft/targets/minecraft/world/item/trading/Merchant.h
2026-04-01 13:27:58 -05:00

22 lines
667 B
C++

#pragma once
#include <memory>
#include <string>
class MerchantRecipeList;
class MerchantRecipe;
class Player;
class ItemInstance;
class Merchant {
public:
virtual ~Merchant() {}
virtual void setTradingPlayer(std::shared_ptr<Player> player) = 0;
virtual std::shared_ptr<Player> getTradingPlayer() = 0;
virtual MerchantRecipeList* getOffers(
std::shared_ptr<Player> forPlayer) = 0;
virtual void overrideOffers(MerchantRecipeList* recipeList) = 0;
virtual void notifyTrade(MerchantRecipe* activeRecipe) = 0;
virtual void notifyTradeUpdated(std::shared_ptr<ItemInstance> item) = 0;
virtual std::wstring getDisplayName() = 0;
};