3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/world/item/enchanting/Enchant.h"
7#include "mc/world/item/enchanting/EquipmentFilter.h"
26namespace EnchantUtils {
29MCAPI
bool applyEnchant(::ItemStackBase& out, ::Enchant::Type type,
int level,
bool allowNonVanilla);
31MCAPI
int applyEnchant(::ItemStackBase& out, ::ItemEnchants
const& enchants,
bool allowNonVanilla);
34calculateAfterBreachArmorFraction(::ActorUniqueID
const& attackerID, ::Mob
const& target,
float armorFraction);
37combineEnchantedItems(::ItemStack
const& first, ::ItemStack
const& second, ::ItemStack& out,
bool bookEnchant);
39MCAPI
void doPostHurtEffects(::Mob& victim, ::Mob& attacker);
41MCAPI
void doPostPiercingAttackEffects(::Actor& attacker);
43MCAPI
void doPreDamageEffects(::Actor& victim, ::Actor& attacker);
45MCAPI ::ItemInstance generateEnchantedBook(::EnchantmentInstance
const& enchant);
47MCAPI ::std::vector<::std::pair<::EnchantmentInstance, int>>
48getAvailableEnchantmentResults(::Item
const* item,
int value,
bool treasure);
50MCAPI ::std::vector<::Vec3> getBookCasePositions(::BlockSource& source, ::Vec3
const& pos);
52MCAPI
void getCurses(::ItemStackBase
const& item, ::std::vector<::EnchantmentInstance>& outputCurses);
54MCAPI
float getDamageReduction(::ActorDamageSource
const& source, ::Mob
const& target);
56MCAPI ::std::vector<int> getEnchantCosts(::ItemStackBase
const& itemInst,
int bookcaseCount);
58MCAPI
int getEnchantLevel(::Enchant::Type enchantType, ::ItemStackBase
const& stack);
60MCAPI ::std::string getEnchantNameAndLevel(::Enchant::Type
id,
int level);
62MCAPI ::std::vector<::Vec3> getEnchantingTablePositions(::BlockSource& source, ::Vec3
const& pos);
64MCAPI ::Enchant::Type getEnchantmentId(::HashedString
const& stringId);
66MCAPI ::std::string getLevelString(
int level);
68MCAPI
float getMeleeDamageBonus(::Actor
const& victim, ::Actor
const& attacker);
70MCAPI ::ItemStack
const& getRandomDamagedItemWithMending(::Mob
const& equipped);
72MCAPI ::ItemStack
const& getRandomItemWith(::Enchant::Type type, ::Mob
const& equipped, ::EquipmentFilter filter);
74MCAPI
bool hasEnchant(::Enchant::Type enchantType, ::ItemStackBase
const& item);
76MCAPI ::ItemEnchants selectEnchantments(::Item
const* item,
int enchantCost,
int valueBuff,
bool treasure);
Definition ActorDamageSource.h:18
Definition BlockSource.h:68
Definition EnchantmentInstance.h:8
Definition HashedString.h:5
Definition ItemEnchants.h:17
Definition ItemInstance.h:15
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition ActorUniqueID.h:5