21 enum class Activation :
int {
29 enum class CompatibilityID :
int {
39 enum class Frequency :
int {
46 enum class Slot : uint {
61 FishingRod = 1u << 12,
62 CarrotStick = 1u << 13,
67 CosmeticHead = 1u << 18,
69 MushroomStick = 1u << 20,
71 HeavyWeapon = 1u << 22,
72 MeleeSpear = 1u << 23,
73 GArmor = ArmorHead | ArmorTorso | ArmorFeet | ArmorLegs,
74 GDigging = Hoe | Axe | Pickaxe | Shovel,
75 GTool = Hoe | Shears | Flintsteel | Shield,
79 enum class Type : uchar {
84 ProjectileProtection = 4,
91 BaneOfArthropods = 11,
108 CurseOfVanishing = 28,
122 NumEnchantments = 42,
123 InvalidEnchantment = 43,
126 enum class VillagerTrading :
int {
134 ::ll::TypedStorage<1, 1, ::Enchant::Type const> mEnchantType;
135 ::ll::TypedStorage<4, 4, ::Enchant::Frequency const> mFrequency;
136 ::ll::TypedStorage<1, 1, bool const> mIsAvailableInVillagerTrading;
137 ::ll::TypedStorage<4, 4, int const> mPrimarySlots;
138 ::ll::TypedStorage<4, 4, int const> mSecondarySlots;
139 ::ll::TypedStorage<4, 4, int const> mCompatibility;
140 ::ll::TypedStorage<8, 32, ::std::string const> mDescription;
141 ::ll::TypedStorage<8, 48, ::HashedString const> mStringId;
142 ::ll::TypedStorage<8, 48, ::HashedString const> mScriptStringId;
143 ::ll::TypedStorage<1, 1, bool> mIsDisabled;
155 virtual bool isCompatibleWith(::Enchant::Type type)
const;
157 virtual int getMinCost(
int level)
const;
159 virtual int getMaxCost(
int level)
const;
161 virtual int getMinLevel()
const;
163 virtual int getMaxLevel()
const;
167 virtual float getAfterBreachArmorFraction(
int,
float)
const;
169 virtual float getDamageBonus(
int,
::Actor const&,
::Actor const&)
const;
173 virtual void doPostPiercingAttack(
::Actor&,
int)
const;
179 virtual bool isMeleeDamageEnchant()
const;
181 virtual bool isProtectionEnchant()
const;
183 virtual bool isTreasureOnly()
const;
185 virtual bool isDiscoverable()
const;
187 virtual bool _isValidEnchantmentTypeForCategory(::Enchant::Type)
const;
194 ::Enchant::Type type,
195 ::Enchant::Frequency frequency,
196 ::std::string_view stringId,
197 ::std::string_view scriptStringId,
198 ::std::string_view description,
199 ::Enchant::VillagerTrading isAvailableForVillagerTraining,
208 MCAPI static ::Enchant::Slot enchantSlotFromString(::std::string_view str);
212 MCAPI static ::std::string stringFromEnchantSlot(::Enchant::Slot
const& enchantSlot);
218 MCAPI static ::std::unordered_map<::HashedString, ::Enchant::Type>& mEnchantNameToType();
221 unordered_map<::Enchant::Slot, ::std::string, ::EnchantSlotEnumHasher, ::std::equal_to<::Enchant::Slot>>&
222 mEnchantSlotTypeEnumToStringMap();
224 MCAPI static ::std::unordered_map<::std::string, ::Enchant::Slot>& mEnchantSlotTypeNameToEnumMap();
226 MCAPI static ::std::vector<::std::unique_ptr<::Enchant>>& mEnchants();
233 ::Enchant::Type type,
234 ::Enchant::Frequency frequency,
235 ::std::string_view stringId,
236 ::std::string_view scriptStringId,
237 ::std::string_view description,
238 ::Enchant::VillagerTrading isAvailableForVillagerTraining,
253 MCAPI
bool $isCompatibleWith(::Enchant::Type type)
const;
255 MCAPI
int $getMinCost(
int level)
const;
257 MCAPI
int $getMaxCost(
int level)
const;
259 MCFOLD
int $getMinLevel()
const;
261 MCFOLD
int $getMaxLevel()
const;
265 MCFOLD
float $getAfterBreachArmorFraction(
int,
float)
const;
267 MCFOLD
float $getDamageBonus(
int,
::Actor const&,
::Actor const&)
const;
271 MCFOLD
void $doPostPiercingAttack(
::Actor&,
int)
const;
277 MCFOLD
bool $isMeleeDamageEnchant()
const;
279 MCFOLD
bool $isProtectionEnchant()
const;
281 MCFOLD
bool $isTreasureOnly()
const;
283 MCFOLD
bool $isDiscoverable()
const;
285 MCFOLD
bool $_isValidEnchantmentTypeForCategory(::Enchant::Type)
const;
293 MCAPI
static void** $vftable();