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/util/BidirectionalUnorderedMap.h"
14namespace Json {
class Value; }
20MCNAPI
void _breakIntoWordsAndFindProfanity(
22 ::std::vector<::std::pair<int, int>>
const& originalStrIndexes,
23 ::std::unordered_set<char>
const& escapeChars,
24 ::std::set<::std::pair<int, int>>& profanityLocations,
25 ::std::unordered_map<::std::string, int>
const& exactMap,
26 ::std::unordered_set<::std::string>
const& containsSet
29MCNAPI
void _logIfValidLogArea(::LogArea logArea, ::std::string
const& msg);
31MCNAPI
void _recordProfanityLocationInWord(
32 ::std::string
const& word,
33 ::std::vector<::std::pair<int, int>>
const& originalStrIndexes,
36 ::std::set<::std::pair<int, int>>& profanityLocations,
37 ::std::unordered_map<::std::string, int>
const& exactMap,
38 ::std::unordered_set<::std::string>
const& containsSet
41MCNAPI ::std::string base64_decode(::std::string
const& encoded_string);
43MCNAPI ::std::string base64_encode(uchar
const* bytes_to_encode, uint64 in_len,
bool pad);
45MCNAPI ::std::string base64url_decode(::std::string encoded);
47MCNAPI ::std::string base64url_encode(::std::string str);
49MCNAPI
bool compareNoCase(::std::string_view lhs, ::std::string_view rhs);
51MCNAPI ::std::string ensureNamespace(::std::string
const&
id, ::std::string_view defaultNamespace);
53MCNAPI ::std::string filterProfanityFromString(
54 ::std::string
const& inputStr,
55 ::std::unordered_map<::std::string, int>
const& profanityExactMap,
56 ::std::unordered_set<::std::string>
const& profanityContainsSet
59MCNAPI ::std::set<::std::pair<int, int>> findProfanityInString(
60 ::std::string
const& inputStr,
61 ::std::unordered_map<::std::string, int>
const& exactMap,
62 ::std::unordered_set<::std::string>
const& containsSet
65MCNAPI ::std::string formatTickDuration(
int ticks);
67MCNAPI ::std::string fromHex(::std::string_view input);
69MCNAPI ::BidirectionalUnorderedMap<int, uint64> generateHashMapFromListTag(
::ListTag const& enumValues);
71MCNAPI ::std::string generateRandomId(
int modifier);
73MCNAPI ::std::string getNameWithoutNamespace(::std::string
const& name);
75MCNAPI ::std::string getNamespace(::std::string
const& name);
77MCNAPI
bool isValidNamespaceFormat(::std::string
const& name);
79MCNAPI
bool isValidUTF8(::std::string
const& content);
81MCNAPI
bool isVanillaNamespace(::std::string
const& identifier);
85MCNAPI
void normalizeLineEndings(::std::string& str);
87MCNAPI ::std::string removeChars(::std::string str, ::std::string
const& characters);
89MCNAPI ::std::string removeIllegalChars(::std::string str);
91MCNAPI ::std::string removeTrailingSpaces(::std::string
const& str);
93MCNAPI ::std::istream& safeGetline(::std::istream& inputStream, ::std::string& outString);
95MCNAPI ::std::vector<::std::string> split(::std::string_view view,
char delim);
97MCNAPI ::std::vector<::std::string> splitAndDiscardEmpty(::std::string
const& str,
char delim);
99MCNAPI ::std::vector<::std::string> splitLines(
100 ::std::string
const& str,
101 ::std::vector<::std::string>
const& delims,
102 bool includeDelimCharsInResult,
103 bool includeEmptyLines,
104 ::std::istream& (*fnGetline)(::std::istream&, ::std::string&)
107MCNAPI ::std::vector<::std::string>& splitString(::std::string_view s,
char delim, ::std::vector<::std::string>& elems);
109MCNAPI ::std::vector<::std::string_view>&
110splitStringAsViews(::std::string_view s,
char delim, ::std::vector<::std::string_view>& elems);
112MCNAPI ::std::vector<::std::string_view> splitToViews(::std::string_view view,
char delim);
114MCNAPI
bool startsWith(::std::string_view s, ::std::string_view start);
116MCNAPI ::std::string& stringReplace(::std::string& s, ::std::string
const& src, ::std::string
const& dst,
int maxCount);
119stringReplaceCopy(::std::string
const& s, ::std::string
const& src, ::std::string
const& dst,
int maxCount);
121MCNAPI ::std::string stringTrim(::std::string
const& s);
123MCNAPI ::std::string stringTrim(::std::string
const& s, ::std::string
const& chars);
125MCNAPI
bool toBool(::std::string
const& input,
bool& destination);
127MCNAPI ::std::string toCamelCase(::std::string
const& src,
char delimiter);
129MCNAPI ::Util::NumberConversionResult toIntWithMinMax(::std::string_view inputStr,
int& destination,
int min,
int max);
131MCNAPI ::std::string toLower(
char const* inString);
133MCNAPI ::std::string toLower(::std::string_view inString);
135MCNAPI ::std::string toStringWithPaddedZeroes(uint number, uchar digitCount);
137MCNAPI
int utf8len(::std::string_view str);
139MCNAPI ::std::string utf8substring(::std::string
const& str,
int startIndex,
int endIndex);
141MCNAPI
bool validateIdentifier(
142 ::std::string
const&
id,
144 bool allowMinecraftNamespace,
145 ::std::pair<::std::string, ::std::string>* idNameOut
148MCNAPI
bool validateIdentifierChunk(::std::string
const& chunk, ::LogArea logArea);
153MCNAPI ::std::string
const& EMPTY_GUID();
155MCNAPI ::std::string
const& EMPTY_STRING();
157MCNAPI ::std::string
const& HEX_CHARS();
159MCNAPI ::std::string
const& NEW_LINE();
Definition SemVersion.h:15