2026-03-01 12:16:08 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "Item.h"
|
|
|
|
|
|
|
|
|
|
class EnchantmentInstance;
|
|
|
|
|
|
|
|
|
|
class EnchantedBookItem : public Item
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
static const wstring TAG_STORED_ENCHANTMENTS;
|
|
|
|
|
|
|
|
|
|
EnchantedBookItem(int id);
|
|
|
|
|
|
2026-03-02 17:37:16 +07:00
|
|
|
bool isFoil(shared_ptr<ItemInstance> itemInstance);
|
|
|
|
|
bool isEnchantable(shared_ptr<ItemInstance> itemInstance);
|
|
|
|
|
const Rarity *getRarity(shared_ptr<ItemInstance> itemInstance);
|
|
|
|
|
ListTag<CompoundTag> *getEnchantments(shared_ptr<ItemInstance> item);
|
2026-03-03 03:04:10 +08:00
|
|
|
void appendHoverText(shared_ptr<ItemInstance> itemInstance, shared_ptr<Player> player, vector<HtmlString> *lines, bool advanced);
|
2026-03-02 17:37:16 +07:00
|
|
|
void addEnchantment(shared_ptr<ItemInstance> item, EnchantmentInstance *enchantment);
|
|
|
|
|
shared_ptr<ItemInstance> createForEnchantment(EnchantmentInstance *enchant);
|
|
|
|
|
void createForEnchantment(Enchantment *enchant, vector<shared_ptr<ItemInstance> > *items);
|
|
|
|
|
shared_ptr<ItemInstance> createForRandomLoot(Random *random);
|
2026-03-01 12:16:08 +08:00
|
|
|
WeighedTreasure *createForRandomTreasure(Random *random);
|
|
|
|
|
WeighedTreasure *createForRandomTreasure(Random *random, int minCount, int maxCount, int weight);
|
|
|
|
|
};
|