4jcraft/Minecraft.World/Items/EnchantedBookItem.h
2026-03-21 16:39:12 -05:00

31 lines
1.3 KiB
C++

#pragma once
#include "Item.h"
class EnchantmentInstance;
class EnchantedBookItem : public Item {
public:
static const std::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,
std::vector<HtmlString>* lines, bool advanced);
void addEnchantment(std::shared_ptr<ItemInstance> item,
EnchantmentInstance* enchantment);
std::shared_ptr<ItemInstance> createForEnchantment(
EnchantmentInstance* enchant);
void createForEnchantment(
Enchantment* enchant,
std::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);
};