aboutsummaryrefslogtreecommitdiff
path: root/build/util.js
diff options
context:
space:
mode:
Diffstat (limited to 'build/util.js')
-rw-r--r--build/util.js78
1 files changed, 78 insertions, 0 deletions
diff --git a/build/util.js b/build/util.js
new file mode 100644
index 0000000..4c7fe64
--- /dev/null
+++ b/build/util.js
@@ -0,0 +1,78 @@
+"use strict";
+/* Utility functions (not related to Hypixel) */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.colorCodeFromName = exports.minecraftColorCodes = exports.shuffle = exports.jsonToQuery = exports.queryToJson = exports.undashUuid = void 0;
+function undashUuid(uuid) {
+ return uuid.replace(/-/g, '');
+}
+exports.undashUuid = undashUuid;
+function queryToJson(queryString) {
+ var query = {};
+ var pairs = (queryString[0] === '?' ? queryString.substr(1) : queryString).split('&');
+ for (var i = 0; i < pairs.length; i++) {
+ var pair = pairs[i].split('=');
+ query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');
+ }
+ return query;
+}
+exports.queryToJson = queryToJson;
+function jsonToQuery(data) {
+ return Object.entries(data || {}).map(e => e.join('=')).join('&');
+}
+exports.jsonToQuery = jsonToQuery;
+function shuffle(a) {
+ for (let i = a.length - 1; i > 0; i--) {
+ const j = Math.floor(Math.random() * (i + 1));
+ [a[i], a[j]] = [a[j], a[i]];
+ }
+ return a;
+}
+exports.shuffle = shuffle;
+exports.minecraftColorCodes = {
+ '0': '#000000',
+ '1': '#0000be',
+ '2': '#00be00',
+ '3': '#00bebe',
+ '4': '#be0000',
+ '5': '#be00be',
+ '6': '#ffaa00',
+ '7': '#bebebe',
+ '8': '#3f3f3f',
+ '9': '#3f3ffe',
+ 'a': '#3ffe3f',
+ 'b': '#3ffefe',
+ 'c': '#fe3f3f',
+ 'd': '#fe3ffe',
+ 'e': '#fefe3f',
+ 'f': '#ffffff',
+ 'black': '#000000',
+ 'dark_blue': '#0000be',
+ 'dark_green': '#00be00',
+ 'dark_aqua': '#00bebe',
+ 'dark_red': '#be0000',
+ 'dark_purple': '#be00be',
+ 'gold': '#ffaa00',
+ 'gray': '#bebebe',
+ 'dark_gray': '#3f3f3f',
+ 'blue': '#3f3ffe',
+ 'green': '#3ffe3f',
+ 'aqua': '#3ffefe',
+ 'red': '#fe3f3f',
+ 'light_purple': '#fe3ffe',
+ 'yellow': '#fefe3f',
+ 'white': '#ffffff',
+};
+/**
+ * Converts a color name to the code
+ * For example: blue -> 9
+ * @param colorName The name of the color (blue, red, aqua, etc)
+ */
+function colorCodeFromName(colorName) {
+ const hexColor = exports.minecraftColorCodes[colorName.toLowerCase()];
+ for (const key in exports.minecraftColorCodes) {
+ const value = exports.minecraftColorCodes[key];
+ if (key.length === 1 && value === hexColor)
+ return key;
+ }
+}
+exports.colorCodeFromName = colorCodeFromName;