LeviLamina
Loading...
Searching...
No Matches
Enchant Class Reference
Inheritance diagram for Enchant:

Public Types

enum class  Activation : int {
  Equipped = 0 , Held = 1 , Self = 2 , NumActivations = 3 ,
  Invalid = 4
}
enum class  CompatibilityID : int {
  NonConflict = 0 , Damage = 1 , Gathering = 2 , Protection = 3 ,
  FrostStrider = 4 , MendingInfinity = 5 , LoyaltyRiptide = 6
}
enum class  Frequency : int { Common = 30 , Uncommon = 10 , Rare = 3 , VeryRare = 1 }
enum class  Slot : uint {
  None = 0 , ArmorHead = 1u << 0 , ArmorTorso = 1u << 1 , ArmorFeet = 1u << 2 ,
  ArmorLegs = 1u << 3 , Sword = 1u << 4 , Bow = 1u << 5 , Hoe = 1u << 6 ,
  Shears = 1u << 7 , Flintsteel = 1u << 8 , Axe = 1u << 9 , Pickaxe = 1u << 10 ,
  Shovel = 1u << 11 , FishingRod = 1u << 12 , CarrotStick = 1u << 13 , Elytra = 1u << 14 ,
  Spear = 1u << 15 , Crossbow = 1u << 16 , Shield = 1u << 17 , CosmeticHead = 1u << 18 ,
  Compass = 1u << 19 , MushroomStick = 1u << 20 , Brush = 1u << 21 , HeavyWeapon = 1u << 22 ,
  MeleeSpear = 1u << 23 , GArmor = ArmorHead | ArmorTorso | ArmorFeet | ArmorLegs , GDigging = Hoe | Axe | Pickaxe | Shovel , GTool = Hoe | Shears | Flintsteel | Shield ,
  All = 4294967295
}
enum class  Type : uchar {
  Protection = 0 , FireProtection = 1 , FeatherFalling = 2 , BlastProtection = 3 ,
  ProjectileProtection = 4 , Thorns = 5 , Respiration = 6 , DepthStrider = 7 ,
  AquaAffinity = 8 , Sharpness = 9 , Smite = 10 , BaneOfArthropods = 11 ,
  Knockback = 12 , FireAspect = 13 , Looting = 14 , Efficiency = 15 ,
  SilkTouch = 16 , Unbreaking = 17 , Fortune = 18 , Power = 19 ,
  Punch = 20 , Flame = 21 , Infinity = 22 , LuckOfTheSea = 23 ,
  Lure = 24 , FrostWalker = 25 , Mending = 26 , CurseOfBinding = 27 ,
  CurseOfVanishing = 28 , Impaling = 29 , Riptide = 30 , Loyalty = 31 ,
  Channeling = 32 , Multishot = 33 , Piercing = 34 , QuickCharge = 35 ,
  SoulSpeed = 36 , SwiftSneak = 37 , WindBurst = 38 , Density = 39 ,
  Breach = 40 , Lunge = 41 , NumEnchantments = 42 , InvalidEnchantment = 43
}
enum class  VillagerTrading : int { NotAvailable = 0 , Available = 1 }

Public Member Functions

virtual bool isCompatibleWith (::Enchant::Type type) const
virtual int getMinCost (int level) const
virtual int getMaxCost (int level) const
virtual int getMinLevel () const
virtual int getMaxLevel () const
virtual int getDamageProtection (int, ::ActorDamageSource const &) const
virtual float getAfterBreachArmorFraction (int, float) const
virtual float getDamageBonus (int, ::Actor const &, ::Actor const &) const
virtual void doPostAttack (::Actor &, ::Actor &, int) const
virtual void doPostPiercingAttack (::Actor &, int) const
virtual void doPostItemHurtActor (::Actor &, ::Actor &, int) const
virtual void doPostHurt (::ItemInstance &, ::Actor &, ::Actor &, int) const
virtual bool isMeleeDamageEnchant () const
virtual bool isProtectionEnchant () const
virtual bool isTreasureOnly () const
virtual bool isDiscoverable () const
virtual bool _isValidEnchantmentTypeForCategory (::Enchant::Type) const
MCAPI Enchant (::Enchant::Type type, ::Enchant::Frequency frequency, ::std::string_view stringId, ::std::string_view scriptStringId, ::std::string_view description, ::Enchant::VillagerTrading isAvailableForVillagerTraining, int primarySlots, int secondarySlots)
MCAPI void * $ctor (::Enchant::Type type, ::Enchant::Frequency frequency, ::std::string_view stringId, ::std::string_view scriptStringId, ::std::string_view description, ::Enchant::VillagerTrading isAvailableForVillagerTraining, int primarySlots, int secondarySlots)
MCAPI void $dtor ()
MCAPI bool $isCompatibleWith (::Enchant::Type type) const
MCAPI int $getMinCost (int level) const
MCAPI int $getMaxCost (int level) const
MCFOLD int $getMinLevel () const
MCFOLD int $getMaxLevel () const
MCFOLD int $getDamageProtection (int, ::ActorDamageSource const &) const
MCFOLD float $getAfterBreachArmorFraction (int, float) const
MCFOLD float $getDamageBonus (int, ::Actor const &, ::Actor const &) const
MCFOLD void $doPostAttack (::Actor &, ::Actor &, int) const
MCFOLD void $doPostPiercingAttack (::Actor &, int) const
MCFOLD void $doPostItemHurtActor (::Actor &, ::Actor &, int) const
MCFOLD void $doPostHurt (::ItemInstance &, ::Actor &, ::Actor &, int) const
MCFOLD bool $isMeleeDamageEnchant () const
MCFOLD bool $isProtectionEnchant () const
MCFOLD bool $isTreasureOnly () const
MCFOLD bool $isDiscoverable () const
MCFOLD bool $_isValidEnchantmentTypeForCategory (::Enchant::Type) const

Static Public Member Functions

static MCAPI ::Enchant::Slot enchantSlotFromString (::std::string_view str)
static MCAPI void initEnchants (::BaseGameVersion const &baseGameVersion, ::Experiments const &experiments)
static MCAPI ::std::string stringFromEnchantSlot (::Enchant::Slot const &enchantSlot)
static MCAPI ::std::unordered_map<::HashedString, ::Enchant::Type > & mEnchantNameToType ()
static MCAPI ::std::unordered_map<::Enchant::Slot, ::std::string, ::EnchantSlotEnumHasher, ::std::equal_to<::Enchant::Slot > > & mEnchantSlotTypeEnumToStringMap ()
static MCAPI ::std::unordered_map<::std::string, ::Enchant::Slot > & mEnchantSlotTypeNameToEnumMap ()
static MCAPI ::std::vector<::std::unique_ptr<::Enchant > > & mEnchants ()
static MCAPI void ** $vftable ()

Public Attributes

::ll::TypedStorage< 1, 1, ::Enchant::Type const > mEnchantType
::ll::TypedStorage< 4, 4, ::Enchant::Frequency const > mFrequency
::ll::TypedStorage< 1, 1, bool const > mIsAvailableInVillagerTrading
::ll::TypedStorage< 4, 4, int const > mPrimarySlots
::ll::TypedStorage< 4, 4, int const > mSecondarySlots
::ll::TypedStorage< 4, 4, int const > mCompatibility
::ll::TypedStorage< 8, 32, ::std::string const > mDescription
::ll::TypedStorage< 8, 48, ::HashedString const > mStringId
::ll::TypedStorage< 8, 48, ::HashedString const > mScriptStringId
::ll::TypedStorage< 1, 1, bool > mIsDisabled

The documentation for this class was generated from the following file: