4jcraft/Minecraft.World/Containers/Merchant.h
2026-03-13 17:06:56 -05:00

19 lines
602 B
C++

#pragma once
class MerchantRecipeList;
class MerchantRecipe;
class Player;
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 int getDisplayName() = 0;
};