Files
MinecraftConsoles/Minecraft.World/MerchantRecipe.h

35 lines
1.1 KiB
C
Raw Normal View History

2026-03-01 12:16:08 +08:00
#pragma once
class MerchantRecipe
{
private:
shared_ptr<ItemInstance> buyA;
shared_ptr<ItemInstance> buyB;
shared_ptr<ItemInstance> sell;
2026-03-01 12:16:08 +08:00
int uses;
int maxUses;
void _init(shared_ptr<ItemInstance> buyA, shared_ptr<ItemInstance> buyB, shared_ptr<ItemInstance> sell);
2026-03-01 12:16:08 +08:00
public:
MerchantRecipe(CompoundTag *tag);
MerchantRecipe(shared_ptr<ItemInstance> buyA, shared_ptr<ItemInstance> buyB, shared_ptr<ItemInstance> sell, int uses = 0, int maxUses = 7);
MerchantRecipe(shared_ptr<ItemInstance> buy, shared_ptr<ItemInstance> sell);
MerchantRecipe(shared_ptr<ItemInstance> buy, Item *sell);
MerchantRecipe(shared_ptr<ItemInstance> buy, Tile *sell);
2026-03-01 12:16:08 +08:00
shared_ptr<ItemInstance> getBuyAItem();
shared_ptr<ItemInstance> getBuyBItem();
2026-03-01 12:16:08 +08:00
bool hasSecondaryBuyItem();
shared_ptr<ItemInstance> getSellItem();
2026-03-01 12:16:08 +08:00
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();
};