17 enum class PotionType :
int {
24 enum class PotionVariant :
int {
61 ::ll::TypedStorage<4, 4, int> mId;
62 ::ll::TypedStorage<8, 32, ::std::string> mNameId;
63 ::ll::TypedStorage<8, 32, ::std::string> mPrefix;
64 ::ll::TypedStorage<8, 24, ::std::vector<::MobEffectInstance>> mEffects;
65 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mDescriptionIds;
66 ::ll::TypedStorage<4, 4, ::Potion::PotionVariant> mVar;
76 MCAPI
explicit Potion(::std::string_view nameId);
79 ::std::string_view nameId,
80 ::std::string_view descriptionID,
82 ::Potion::PotionVariant var
86 ::std::string_view nameId,
87 ::std::vector<::std::string> descriptionIDs,
88 ::std::vector<::MobEffectInstance> mobEffects,
89 ::Potion::PotionVariant var
92 MCAPI ::std::string _getDescriptionIdCombiningStrings(::Potion::PotionType potiontype)
const;
94 MCAPI ::std::string _getDescriptionIdSingleString(::Potion::PotionType potionType)
const;
96 MCAPI
void appendFormattedPotionText(
98 ::Potion::PotionType potionType,
99 ::Potion::PotionVariant potionVariant,
104 MCAPI ::std::string getDescriptionId(::Potion::PotionType potionType)
const;
106 MCAPI ::std::string getPotencyDescription(::Potion::PotionType potionType,
float timeMod)
const;
114 MCAPI
static void addPotion(::std::shared_ptr<::Potion const> potion);
116 MCAPI
static void appendMobEffectText(
118 ::Potion::PotionVariant potionVariant,
124 MCAPI static ::std::string
125 effectDurationToString(::Potion::PotionType potionType,
float timeMod,
::MobEffectInstance const& effect);
129 MCAPI static ::std::string getBasePotion(::Potion::PotionType type);
131 MCAPI static ::std::string getPotencyDescription(
132 ::Potion::PotionType potionType,
134 ::std::string_view descID,
138 MCAPI static ::std::shared_ptr<::Potion const> getPotion(::std::string_view potionNameId);
140 MCAPI static ::std::vector<::std::shared_ptr<::Potion const>> getPotions();
148 MCAPI static ::std::shared_ptr<::Potion const>
const& Awkward();
150 MCAPI static ::std::shared_ptr<::Potion const>
const& FireResistance();
152 MCAPI static ::std::shared_ptr<::Potion const>
const& Harming();
154 MCAPI static ::std::shared_ptr<::Potion const>
const& Healing();
156 MCAPI static ::std::shared_ptr<::Potion const>
const& Infested();
158 MCAPI static ::std::shared_ptr<::Potion const>
const& Invisibility();
160 MCAPI static ::std::shared_ptr<::Potion const>
const& Leaping();
162 MCAPI static ::std::shared_ptr<::Potion const>
const& LongFireResistance();
164 MCAPI static ::std::shared_ptr<::Potion const>
const& LongInvisibility();
166 MCAPI static ::std::shared_ptr<::Potion const>
const& LongLeaping();
168 MCAPI static ::std::shared_ptr<::Potion const>
const& LongMundane();
170 MCAPI static ::std::shared_ptr<::Potion const>
const& LongNightvision();
172 MCAPI static ::std::shared_ptr<::Potion const>
const& LongPoison();
174 MCAPI static ::std::shared_ptr<::Potion const>
const& LongRegeneration();
176 MCAPI static ::std::shared_ptr<::Potion const>
const& LongSlowFalling();
178 MCAPI static ::std::shared_ptr<::Potion const>
const& LongSlowness();
180 MCAPI static ::std::shared_ptr<::Potion const>
const& LongStrength();
182 MCAPI static ::std::shared_ptr<::Potion const>
const& LongSwiftness();
184 MCAPI static ::std::shared_ptr<::Potion const>
const& LongTurtleMaster();
186 MCAPI static ::std::shared_ptr<::Potion const>
const& LongWaterBreathing();
188 MCAPI static ::std::shared_ptr<::Potion const>
const& LongWeakness();
190 MCAPI static ::std::shared_ptr<::Potion const>
const& Mundane();
192 MCAPI static ::std::shared_ptr<::Potion const>
const& Nightvision();
194 MCAPI static ::std::shared_ptr<::Potion const>
const& Oozing();
196 MCAPI static ::std::shared_ptr<::Potion const>
const& Poison();
198 MCAPI static ::std::shared_ptr<::Potion const>
const& Regeneration();
200 MCAPI static ::std::shared_ptr<::Potion const>
const& SlowFalling();
202 MCAPI static ::std::shared_ptr<::Potion const>
const& Slowness();
204 MCAPI static ::std::shared_ptr<::Potion const>
const& Strength();
206 MCAPI static ::std::shared_ptr<::Potion const>
const& StrongHarming();
208 MCAPI static ::std::shared_ptr<::Potion const>
const& StrongHealing();
210 MCAPI static ::std::shared_ptr<::Potion const>
const& StrongLeaping();
212 MCAPI static ::std::shared_ptr<::Potion const>
const& StrongPoison();
214 MCAPI static ::std::shared_ptr<::Potion const>
const& StrongRegeneration();
216 MCAPI static ::std::shared_ptr<::Potion const>
const& StrongSlowness();
218 MCAPI static ::std::shared_ptr<::Potion const>
const& StrongStrength();
220 MCAPI static ::std::shared_ptr<::Potion const>
const& StrongSwiftness();
222 MCAPI static ::std::shared_ptr<::Potion const>
const& StrongTurtleMaster();
224 MCAPI static ::std::shared_ptr<::Potion const>
const& Swiftness();
226 MCAPI static ::std::shared_ptr<::Potion const>
const& Thick();
228 MCAPI static ::std::shared_ptr<::Potion const>
const& TurtleMaster();
230 MCAPI static ::std::shared_ptr<::Potion const>
const& Water();
232 MCAPI static ::std::shared_ptr<::Potion const>
const& WaterBreathing();
234 MCAPI static ::std::shared_ptr<::Potion const>
const& Weakness();
236 MCAPI static ::std::shared_ptr<::Potion const>
const& Weaving();
238 MCAPI static ::std::shared_ptr<::Potion const>
const& WindCharged();
240 MCAPI static ::std::shared_ptr<::Potion const>
const& Wither();
242 MCAPI
static int& mLastId();
244 MCAPI static ::std::add_lvalue_reference_t<::std::shared_ptr<::Potion const>[]> mPotionsById();
246 MCAPI static ::std::unordered_map<::std::string, int>& mPotionsByName();
252 MCAPI
void* $ctor(::std::string_view nameId);
255 ::std::string_view nameId,
256 ::std::string_view descriptionID,
258 ::Potion::PotionVariant var
262 ::std::string_view nameId,
263 ::std::vector<::std::string> descriptionIDs,
264 ::std::vector<::MobEffectInstance> mobEffects,
265 ::Potion::PotionVariant var