3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/debug/log/LogArea.h"
7#include "mc/deps/core/utility/NumberConversionResult.h"
8#include "mc/deps/core/utility/buffer_span.h"
9#include "mc/platform/brstd/flat_set.h"
10#include "mc/util/BidirectionalUnorderedMap.h"
18namespace Json {
class Value; }
25MCNAPI_C
void _breakIntoWordsAndFindProfanity(
26 ::std::string_view str,
27 ::std::vector<::std::pair<int, int>>
const& originalStrIndexes,
28 ::brstd::flat_set<
char, ::std::less<char>, ::std::vector<char>>
const& escapeChars,
29 ::std::set<::std::pair<int, int>>& profanityLocations,
30 ::std::unordered_map<::std::string,
int, ::Util::string_hash, ::std::equal_to<void>>
const& exactMap,
31 ::std::unordered_set<::std::string, ::Util::string_hash, ::std::equal_to<void>>
const& containsSet
34MCNAPI_C
void _recordProfanityLocationInWord(
35 ::std::string_view word,
36 ::std::vector<::std::pair<int, int>>
const& originalStrIndexes,
39 ::std::set<::std::pair<int, int>>& profanityLocations,
40 ::std::unordered_map<::std::string,
int, ::Util::string_hash, ::std::equal_to<void>>
const& exactMap,
41 ::std::unordered_set<::std::string, ::Util::string_hash, ::std::equal_to<void>>
const& containsSet
44MCNAPI ::std::string base64_decode(::std::string
const& encoded_string);
46MCNAPI ::std::string base64_encode(uchar
const* bytes_to_encode, uint64 in_len,
bool pad);
48MCNAPI ::std::string base64url_decode(::std::string encoded);
50MCNAPI ::std::string base64url_encode(::std::string str);
52MCNAPI_C ::std::string caseFold(::std::string_view str);
54MCNAPI_C
bool containsUnicodeChar(::std::string
const& str);
56MCNAPI_C uint64 createObfuscated64BitIntegerFromXboxLiveID(::std::string
const& input);
58MCNAPI ::std::string ensureNamespace(::std::string
const&
id, ::std::string_view defaultNamespace);
60MCNAPI
bool equalIgnoreCase(::std::string_view lhs, ::std::string_view rhs);
62MCNAPI_C ::std::string filterProfanityFromString(
63 ::std::string_view inputStr,
64 ::std::unordered_map<::std::string,
int, ::Util::string_hash, ::std::equal_to<void>>
const& profanityExactMap,
65 ::std::unordered_set<::std::string, ::Util::string_hash, ::std::equal_to<void>>
const& profanityContainsSet
68MCNAPI_C ::std::string findLastColorCode(::std::string_view s,
bool includeResetCode);
70MCNAPI_C ::std::set<::std::pair<int, int>> findProfanityInString(
71 ::std::string_view inputStr,
72 ::std::unordered_map<::std::string,
int, ::Util::string_hash, ::std::equal_to<void>>
const& exactMap,
73 ::std::unordered_set<::std::string, ::Util::string_hash, ::std::equal_to<void>>
const& containsSet
76MCNAPI ::std::string formatTickDuration(
int ticks);
78MCNAPI ::std::string fromHex(::std::string_view input);
80MCNAPI ::BidirectionalUnorderedMap<int, uint64> generateHashMapFromListTag(::ListTag
const& enumValues);
82MCNAPI ::std::string generateRandomId(
int modifier);
84MCNAPI_C ::std::string getActiveFormattingCodes(::std::string
const& str);
86MCNAPI_C ::std::string getFilesizeString(uint64 filesize);
88MCNAPI_C ::std::string getFilesizeString(uint64 filesize, ::I18n& loc);
90MCNAPI ::std::string_view getNameWithoutNamespace(::std::string_view name);
92MCNAPI_C ::std::string getPackDataDownloadProgressString(
93 uint64 downloadedDataSize,
94 uint64 totalDownloadDataSize,
95 ::std::string (*getFileSizeString)(uint64)
98MCNAPI_C ::std::string getPackDownloadProgressString(uint64 downloadedPacks, uint64 packsToDownload);
100MCNAPI_C ::std::string getVirtualCurrencyStringTTS(uint amount);
102MCNAPI
bool isValidNamespaceFormat(::std::string_view name);
104MCNAPI
bool isValidUTF8(::std::string_view content);
106MCNAPI
bool isVanillaNamespace(::std::string
const& identifier);
108MCNAPI_C
void loadGameVersion(::GameVersion& version, ::Json::Value
const& versionNode);
110MCNAPI
void loadGameVersion(::SemVersion& version, ::Json::Value
const& versionNode);
112MCNAPI
void normalizeLineEndings(::std::string& str);
114MCNAPI ::std::string removeChars(::std::string str, ::std::string
const& characters);
116MCNAPI_C ::std::string removeFormattingAndColorCodes(::std::string
const& input,
bool redactObfuscatedText);
118MCNAPI ::std::string removeIllegalChars(::std::string str);
120MCNAPI_S ::std::string removeTrailingSpaces(::std::string
const& str);
122MCNAPI_C
void replaceUtf8CharactersWithAscii(
123 ::std::string& target,
124 ::std::vector<::std::pair<::std::string, char>>
const& translateMap
127MCNAPI ::std::istream& safeGetline(::std::istream& inputStream, ::std::string& outString);
129MCNAPI_C ::std::string safeString(
char const* text);
131MCNAPI_C ::std::string simpleFormat(::std::string
const& format, ::std::vector<::std::string>
const& parameters);
133MCNAPI ::std::vector<::std::string> split(::std::string_view view,
char delim);
135MCNAPI ::std::vector<::std::string> splitAndDiscardEmpty(::std::string
const& str,
char delim);
137MCNAPI_C ::std::vector<::std::string> splitAndDiscardEmpty(
138 ::std::string
const& str,
139 ::std::vector<::std::string>
const& delims,
140 bool includeDelimCharsInResult
143MCNAPI_C ::std::vector<::std::string>
144splitLines(::std::string
const& content, ::std::istream& (*fnGetline)(::std::istream&, ::std::string&));
146MCNAPI ::std::vector<::std::string> splitLines(
147 ::std::string
const& str,
148 ::std::vector<::std::string>
const& delims,
149 bool includeDelimCharsInResult,
150 bool includeEmptyLines,
151 ::std::istream& (*fnGetline)(::std::istream&, ::std::string&)
154MCNAPI ::std::vector<::std::string>& splitString(::std::string_view s,
char delim, ::std::vector<::std::string>& elems);
156MCNAPI ::std::vector<::std::string_view>&
157splitStringAsViews(::std::string_view s,
char delim, ::std::vector<::std::string_view>& elems);
159MCNAPI ::std::vector<::std::string_view> splitToViews(::std::string_view view,
char delim);
161MCNAPI_C
bool startsWith(::std::string_view str, ::std::string_view starts);
163MCNAPI
bool stringContains(::std::string
const& s,
char character);
165MCNAPI_C
bool stringIsInVector(::std::vector<::std::string>
const& stringVector, ::std::string
const& searchString);
167MCNAPI_C ::std::string
168stringReplace(::std::string str, ::buffer_span<::std::pair<::std::string_view, ::std::string_view>> replacements);
170MCNAPI ::std::string& stringReplace(::std::string& s, ::std::string
const& src, ::std::string
const& dst,
int maxCount);
173stringReplaceCopy(::std::string
const& s, ::std::string
const& src, ::std::string
const& dst,
int maxCount);
175MCNAPI ::std::string stringTrim(::std::string
const& s);
177MCNAPI ::std::string stringTrim(::std::string
const& s, ::std::string
const& chars);
179MCNAPI_C ::std::string stringUTF16ToUTF8(::std::basic_string_view<
wchar_t, ::std::char_traits<wchar_t>> inputStr);
181MCNAPI
bool toBool(::std::string
const& input,
bool& destination);
183MCNAPI ::std::string toCamelCase(::std::string
const& src,
char delimiter);
185MCNAPI_C ::std::string toHex(::std::string_view input);
187MCNAPI ::Util::NumberConversionResult toIntWithMinMax(::std::string_view inputStr,
int& destination,
int min,
int max);
189MCNAPI_C ::std::string toLocalizedString(
float f,
int precision);
191MCNAPI_C ::std::string toLocalizedString(
194 ::std::string
const& digitGroupSeparator,
195 ::std::string
const& decimalSeparator
198MCNAPI_C ::std::string toLower(
char const* inString);
200MCNAPI ::std::string toLower(::std::string_view inString);
202MCNAPI_C
bool toSafeNumber(::std::string
const& str, uint& output);
204MCNAPI ::std::string toString(::std::basic_string_view<
wchar_t, ::std::char_traits<wchar_t>> inputStr);
206MCNAPI ::std::string toStringWithPaddedZeroes(uint number, uchar digitCount);
208MCNAPI
int utf8len(::std::string_view str);
210MCNAPI_C
int utf8lenNoColorCodes(::std::string
const& str);
212MCNAPI ::std::string utf8substring(::std::string
const& str,
int startIndex,
int endIndex);
214MCNAPI_C ::std::vector<::std::string> utf8substringCharacters(::std::string
const& str,
int startIndex,
int endIndex);
216MCNAPI
bool validateIdentifier(
217 ::std::string
const&
id,
219 bool allowMinecraftNamespace,
220 ::std::pair<::std::string, ::std::string>* idNameOut
223MCNAPI
bool validateIdentifierChunk(::std::string
const& chunk, ::LogArea logArea);
228MCNAPI ::std::string
const& EMPTY_GUID();
230MCNAPI ::std::string
const& EMPTY_STRING();
232MCNAPI ::std::string
const& HEX_CHARS();
234MCNAPI ::std::string
const& NEW_LINE();
Definition GameVersion.h:10
Definition SemVersion.h:15
Definition string_hash.h:7