Botcraft 1.21.4
Loading...
Searching...
No Matches
Botcraft::Utilities Namespace Reference

Classes

class  AnyParser
 
struct  EnumMapperRange
 
class  OnEndScope
 A class to execute a callback when destroyed. More...
 
class  ScopeLockedWrapper
 Mutex protected reference, will be locked until destroyed. More...
 

Functions

std::string Demangle (const std::string &name, const bool simplify_output)
 Demangle a class name.
 
template<auto V>
constexpr auto enum_value_name () noexcept
 
template<class Enum >
constexpr std::underlying_type_t< Enum > to_underlying (const Enum e) noexcept
 
template<class Enum , Enum... pack>
constexpr std::array< std::pair< Enum, std::string_view >, sizeof...(pack)> GetNamedEnum ()
 
std::string_view EnchantmentToString (const Botcraft::Enchantment enchantment)
 
short GetEnchantmentLvl (const ProtocolCraft::Slot &item, const Botcraft::Enchantment enchantment)
 
int GetDamageCount (const ProtocolCraft::Slot &item)
 
void SleepUntil (const std::chrono::steady_clock::time_point &end)
 
template<class _Rep , class _Period >
void SleepFor (const std::chrono::duration< _Rep, _Period > &time)
 
bool WaitForCondition (const std::function< bool()> &condition, const long long int timeout_ms=0, const long long int check_interval_ms=10)
 
bool YieldForCondition (const std::function< bool()> &condition, BehaviourClient &client, const long long int timeout_ms=0)
 
bool StartsWith (const std::string &mainStr, const std::string &toMatch)
 
bool EndsWith (const std::string &mainStr, const std::string &toMatch)
 
bool Contains (const std::string &mainStr, const std::string &toFind)
 
std::vector< std::string > SplitString (const std::string &s, const char delimiter)
 
std::vector< std::string > SplitString (const std::string &s, const std::string &delimiter)
 
std::vector< unsigned char > DecodeBase64 (const std::string &s)
 
std::vector< unsigned char > RSAToBytes (const std::string &s)
 
long long int TimestampMilliFromISO8601 (const std::string &s)
 
template<class T >
std::string SimpleToString (const std::any &v)
 
template<class T >
std::string SimpleStreamOperatorToString (const std::any &v)
 
std::string CraftInputs (const std::any &v)
 
int IsLeap (const int year)
 
int DaysFrom0 (const int year)
 
int DaysFrom1970 (int32_t year)
 
int DaysFrom1Jan (const int year, const int month, const int day)
 

Function Documentation

◆ Contains()

bool Botcraft::Utilities::Contains ( const std::string &  mainStr,
const std::string &  toFind 
)

Definition at line 27 of file StringUtilities.cpp.

Referenced by Botcraft::Blockstate::MatchCondition().

◆ CraftInputs()

std::string Botcraft::Utilities::CraftInputs ( const std::any &  v)

Definition at line 27 of file StdAnyUtilities.cpp.

◆ DaysFrom0()

int Botcraft::Utilities::DaysFrom0 ( const int  year)

Definition at line 148 of file StringUtilities.cpp.

Referenced by DaysFrom1970().

◆ DaysFrom1970()

int Botcraft::Utilities::DaysFrom1970 ( int32_t  year)

Definition at line 153 of file StringUtilities.cpp.

References DaysFrom0().

Referenced by TimestampMilliFromISO8601().

◆ DaysFrom1Jan()

int Botcraft::Utilities::DaysFrom1Jan ( const int  year,
const int  month,
const int  day 
)

Definition at line 158 of file StringUtilities.cpp.

References IsLeap().

Referenced by TimestampMilliFromISO8601().

◆ DecodeBase64()

std::vector< unsigned char > Botcraft::Utilities::DecodeBase64 ( const std::string &  s)

◆ Demangle()

std::string Botcraft::Utilities::Demangle ( const std::string &  name,
const bool  simplify_output 
)

Demangle a class name.

Parameters
nameRaw output of typeid().name()
simplify_outputIf true, will simplify the name to get only the class name without any template parameters or namespace prefix
Returns
Demangled name

Definition at line 11 of file DemanglingUtilities.cpp.

Referenced by Botcraft::Node< SimpleBehaviourClient >::BaseNode(), and Botcraft::Utilities::AnyParser::DefaultToString().

◆ EnchantmentToString()

◆ EndsWith()

bool Botcraft::Utilities::EndsWith ( const std::string &  mainStr,
const std::string &  toMatch 
)

◆ enum_value_name()

template<auto V>
constexpr auto Botcraft::Utilities::enum_value_name ( )
constexprnoexcept

Definition at line 13 of file EnumUtilities.hpp.

◆ GetDamageCount()

◆ GetEnchantmentLvl()

◆ GetNamedEnum()

template<class Enum , Enum... pack>
constexpr std::array< std::pair< Enum, std::string_view >, sizeof...(pack)> Botcraft::Utilities::GetNamedEnum ( )
constexpr

Definition at line 62 of file EnumUtilities.hpp.

◆ IsLeap()

int Botcraft::Utilities::IsLeap ( const int  year)

Definition at line 131 of file StringUtilities.cpp.

Referenced by DaysFrom1Jan().

◆ RSAToBytes()

std::vector< unsigned char > Botcraft::Utilities::RSAToBytes ( const std::string &  s)

◆ SimpleStreamOperatorToString()

template<class T >
std::string Botcraft::Utilities::SimpleStreamOperatorToString ( const std::any &  v)

Definition at line 20 of file StdAnyUtilities.cpp.

◆ SimpleToString()

template<class T >
std::string Botcraft::Utilities::SimpleToString ( const std::any &  v)

Definition at line 14 of file StdAnyUtilities.cpp.

◆ SleepFor()

template<class _Rep , class _Period >
void Botcraft::Utilities::SleepFor ( const std::chrono::duration< _Rep, _Period > &  time)

◆ SleepUntil()

◆ SplitString() [1/2]

◆ SplitString() [2/2]

std::vector< std::string > Botcraft::Utilities::SplitString ( const std::string &  s,
const std::string &  delimiter 
)

Definition at line 44 of file StringUtilities.cpp.

◆ StartsWith()

bool Botcraft::Utilities::StartsWith ( const std::string &  mainStr,
const std::string &  toMatch 
)

◆ TimestampMilliFromISO8601()

long long int Botcraft::Utilities::TimestampMilliFromISO8601 ( const std::string &  s)

◆ to_underlying()

template<class Enum >
constexpr std::underlying_type_t< Enum > Botcraft::Utilities::to_underlying ( const Enum  e)
constexprnoexcept

Definition at line 37 of file EnumUtilities.hpp.

◆ WaitForCondition()

bool Botcraft::Utilities::WaitForCondition ( const std::function< bool()> &  condition,
const long long int  timeout_ms = 0,
const long long int  check_interval_ms = 10 
)

◆ YieldForCondition()

bool Botcraft::Utilities::YieldForCondition ( const std::function< bool()> &  condition,
BehaviourClient client,
const long long int  timeout_ms = 0 
)