mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-24 05:13:37 +00:00
40 lines
1.3 KiB
C++
40 lines
1.3 KiB
C++
#pragma once
|
|
|
|
class MerchantRecipe {
|
|
private:
|
|
std::shared_ptr<ItemInstance> buyA;
|
|
std::shared_ptr<ItemInstance> buyB;
|
|
std::shared_ptr<ItemInstance> sell;
|
|
int uses;
|
|
int maxUses;
|
|
|
|
void _init(std::shared_ptr<ItemInstance> buyA,
|
|
std::shared_ptr<ItemInstance> buyB,
|
|
std::shared_ptr<ItemInstance> sell);
|
|
|
|
public:
|
|
MerchantRecipe(CompoundTag* tag);
|
|
MerchantRecipe(std::shared_ptr<ItemInstance> buyA,
|
|
std::shared_ptr<ItemInstance> buyB,
|
|
std::shared_ptr<ItemInstance> sell, int uses = 0,
|
|
int maxUses = 7);
|
|
MerchantRecipe(std::shared_ptr<ItemInstance> buy,
|
|
std::shared_ptr<ItemInstance> sell);
|
|
MerchantRecipe(std::shared_ptr<ItemInstance> buy, Item* sell);
|
|
MerchantRecipe(std::shared_ptr<ItemInstance> buy, Tile* sell);
|
|
|
|
std::shared_ptr<ItemInstance> getBuyAItem();
|
|
std::shared_ptr<ItemInstance> getBuyBItem();
|
|
bool hasSecondaryBuyItem();
|
|
std::shared_ptr<ItemInstance> getSellItem();
|
|
bool isSame(MerchantRecipe* other);
|
|
bool isSameSameButBetter(MerchantRecipe* other);
|
|
int getUses();
|
|
int getMaxUses();
|
|
void increaseUses();
|
|
void increaseMaxUses(int amount);
|
|
bool isDeprecated();
|
|
void enforceDeprecated();
|
|
void load(CompoundTag* tag);
|
|
CompoundTag* createTag();
|
|
}; |