Files
MinecraftConsoles/Minecraft.World/EnchantedBookItem.h
void_17 7074f35e4b shared_ptr -> std::shared_ptr
This is one of the first commits in a plan to remove all `using namespace std;` lines in the entire codebase as it is considered anti-pattern today.
2026-03-02 15:58:20 +07:00

25 lines
1.1 KiB
C++

#pragma once
#include "Item.h"
class EnchantmentInstance;
class EnchantedBookItem : public Item
{
public:
static const wstring TAG_STORED_ENCHANTMENTS;
EnchantedBookItem(int id);
bool isFoil(std::shared_ptr<ItemInstance> itemInstance);
bool isEnchantable(std::shared_ptr<ItemInstance> itemInstance);
const Rarity *getRarity(std::shared_ptr<ItemInstance> itemInstance);
ListTag<CompoundTag> *getEnchantments(std::shared_ptr<ItemInstance> item);
void appendHoverText(std::shared_ptr<ItemInstance> itemInstance, std::shared_ptr<Player> player, vector<wstring> *lines, bool advanced, vector<wstring> &unformattedStrings);
void addEnchantment(std::shared_ptr<ItemInstance> item, EnchantmentInstance *enchantment);
std::shared_ptr<ItemInstance> createForEnchantment(EnchantmentInstance *enchant);
void createForEnchantment(Enchantment *enchant, vector<std::shared_ptr<ItemInstance> > *items);
std::shared_ptr<ItemInstance> createForRandomLoot(Random *random);
WeighedTreasure *createForRandomTreasure(Random *random);
WeighedTreasure *createForRandomTreasure(Random *random, int minCount, int maxCount, int weight);
};